-
Bug
-
Resolution: Invalid
-
None
-
Minecraft 1.5.1, Minecraft 1.5.2
-
Windows 7, Java 6
-
Unconfirmed
-
Survival
Block splipperiness is multiplied by 0.98 before effecting entity velocities, such as items.
This multiplication means that a slipperiness value of 1.0 is not, in fact, frictionless as one would expect it to be.
Perfect frictionless is actually ~1.02040816 (exactly 1 / 0.98).
The bug is in EntityItem line 134 inside the onUpdate function.
var2 = Block.blocksList[var3].slipperiness * 0.98F;
should be
var2 = Block.blocksList[var3].slipperiness;
Likewise EntityXPOrb line 161.
The difference would be about 2 blocks worth of slide. Ice slipperiness could be reduce to 0.96 to compensate.
EntityLiving and EntityAIControlledByPlayer bot use a multiplier of 0.91F instead, which I suspect is to give living entities greater control on slippery surfaces. These values could stay unchanged.