This is based on a decompiled version of Minecraft 1.8 using MCP. All method and class names are names used in the decompiled version.
When a player with the name "Notch" dies he used to drop an apple. This is no longer the case in 1.8 because the method public void onDeath(DamageSource cause) of the class net.minecraft.entity.player.EntityPlayer is not called anymore. This creates unused code in this class as well as in the public EntityItem func_146097_a(ItemStack p_146097_1_, boolean p_146097_2_, boolean p_146097_3_) method which is used for dropping items.
This method has the parameter boolean p_146097_2_ to determine whether the player died and the items should not be thrown.
Because this method was only called with this parameter set to true by the public void onDeath(DamageSource cause) method of the net.minecraft.entity.player.EntityPlayer class, this piece of code is no longer needed.
- Copy the latest version folder in the .minecraft\versions directory and append _custom to the copied name, resulting in for example 1.12-pre5_custom
- Delete the .jar file inside the folder
- Append _custom to the version .json file name as well
- Replace the content of the version .json file with the following
- Replace all occurences of #VERSION# with the version id you created a copy of, for example 1.12-pre5
- Select this version in the launcher and start the game