Affects Version/s: Snapshot 13w04a, Minecraft 1.7.4, Minecraft 14w08a, Minecraft 1.7.5, Minecraft 14w32d, Minecraft 1.8, Minecraft 1.8.1-pre3, Minecraft 1.8.1, Minecraft 1.8.2-pre4, Minecraft 1.8.2-pre5, Minecraft 1.8.2-pre6, Minecraft 1.8.2-pre7, Minecraft 1.8.2, Minecraft 1.8.7, Minecraft 1.8.8, Minecraft 15w32a, Minecraft 16w04a, Minecraft 16w05a, Minecraft 16w05b, Minecraft 1.9 Pre-Release 1, Minecraft 1.9 Pre-Release 2, Minecraft 1.9 Pre-Release 3, Minecraft 1.9 Pre-Release 4, Minecraft 1.9, Minecraft 1.9.1, Minecraft 1.9.2, Minecraft 16w14a, Minecraft 16w15a, Minecraft 1.9.4, Minecraft 16w20a, Minecraft 1.10.2, Minecraft 16w42a, Minecraft 1.11, Minecraft 17w06a
Sometimes blocks cannot be placed on a block you directly standing next to. When you place them they appear for a short moment (client-side) but directly afterwards disappear.
- Dig a 1 block deep hole
- Move up against any side or corner of the hole
- Attempt to place a repeater or comparator on the block you moved towards
→ The repeater will appear and disappear immediately, as if the server thinks you are occupying the space and cannot place a block.
If you cannot reproduce the bug, try sprinting against the block.
The cause seems to be that the server thinks the player is intersecting with the collision box of the block to be placed while the client thinks he is not.
However, it is interesting that the server let the client move inside the block in the first place.
Based on 1.11.2 decompiled using MCP 9.35 rc1
The reason why the method net.minecraft.network.NetHandlerPlayServer.processPlayer(CPacketPlayer) did not prevent the movement then is because it contracts the player bounding box by 0.0625. Removing this might solve the problem as well, but could result in the player being teleported back when running with the speed effect against a wall or similar.
Edit: Code analysis was partwise wrong. The actual reason is not quite clear.