mojira.dev
MC-82010

Moving blocks do not tick past the world border, causing them to stay offset when pushed by a piston

The bug

Moving_Block do not tick past the worldborder causing them to stay offset / create a ghost block when pushed by a piston.

This seems like a regression of MC-54366

Pistons still try to push blocks through the worldborder, however they stay at the position they were as some kind of "ghost" blocks (very likely the piston_extension block, which the client still renders, however it doesn't exist anymore, /testforblock returns air). After reloading this area they are gone.

Code analysis

Based on 1.11 decompiled using MCP 9.35 rc1

The method net.minecraft.block.BlockPistonBase.canPush(IBlockState, World, BlockPos, EnumFacing, boolean) only tests if the position of the block to move is inside the worldborder, but not if the new position is inside it as well.

The reason why the piston_extension tile entity is not removed is because the method net.minecraft.world.World.updateEntities() removes only invalid tile entities inside the worldborder.

Linked issues

MC-74543 Ghost Blocks Resolved MC-74702 Block and sticky piston fuse at world border Resolved MC-82327 Blocks glitch screen if pushed by piston (world border) Resolved MC-92573 Border Bug? Resolved MC-95342 Worldborder Causing 2 blocks in the same block space Resolved

Attachments

Comments 16

Dlawso the Really Lucky Rabbit

Pistons fail pushing blocks trough worldborder

Pistons can somehow still push blocks trough the worldborder

Your summary and description contradict each other.

I changed the description

Confirmed.

Confirmed for 1.9

Still in 16w15b

6 more comments

Not sure if this helps, but the block will disappear if tnt tries to explode it.

 

Just saying.

It is not a ghost blocks. It is a "moving_block". When a piston push a block, it creates a "moving block" outside of the worldborder.

Can confirm in 1.17.1

That was already marked as affected.

I would like to ask that we rename this bug report from: Pistons fail pushing blocks through worldborder, creating ghost blocks to Moving_Block's do not tick past the world border causing them to stay offset when pushed by a piston

Cause the current title is completely inaccurate

marcono1234

(Unassigned)

Confirmed

Platform

Low

Block states, Rendering

moving_piston, piston, world-border

Minecraft 1.8.7, Minecraft 15w47c, Minecraft 15w51b, Minecraft 1.9, Minecraft 1.9.2, ..., 1.20.4, 24w12a, 1.20.6, 24w18a, 1.21.1

Retrieved