mojira.dev
MC-54026

Blocks attached to slime blocks can create ghost blocks

16w39c reproduction case in MC-108310.


Blocks that are attached to slime blocks can create ghosts blocks if a piston that's receiving a 1-tick pulse pushes the slime block
This very short video explains everything:
https://www.youtube.com/watch?v=HH_FlU6wZW0


To reproduce, download the attached test world (

[media]

), press the button to let the machine go up, and then press the upper button for it to go down. Repeat until ghost blocks occur.

World with example contraption provided. It may be necessary to increase the height of the thing to get it to bug out. I've only ever seen it occur on the way down.

There is a button on the bottom for it to go up as well as at the top to make it go down. Movement is triggered by block updates so if you do something to block its path and it stops moving, just place and break a block near the BUD switch and it will start moving again.

— Matt D. on SPIGOT-3015


Suggested fix by @unknown can be found in

[media]

; explanation can be found in this comment

Related issues

MC-54030 14w18a Duplication bug (duplicate of MC-54026) MC-54101 piston texture bug + duplacation glitch MC-54149 Duplication Glitch MC-54379 Duplicating sticky pistons with redstone. MC-54819 Using Slime Blocks to create multiple block duplicates MC-55016 Specifically timed pistons with slime block create ghost copies of blocks MC-55150 Top half slabs duplicate when attached to slime block shifting floor MC-55264 slime blocks clone MC-56034 Slime blocks and sticky pistons create fake phantom blocks MC-59585 Slime Block Duplication MC-59780 slime block bug in 14w26c MC-67109 sticky piston duplicator MC-68221 Proliferation bug of slime block MC-70385 Slime block duplication still exists in 1.8 MC-70880 Blockduplication MC-70977 Block Duplication with fast moving slime blocks MC-71191 Piston Duplication MC-71384 Block duplication in server version MC-71503 So I was making a slime block launcher for ender pearls using pistons, a fen anced a pressure plate when I accidentally created a ghost block generator. The ghost blocks block the player but yield nothing when mined and will disappear when right clicked. MC-72859 Duplicating Pistons MC-73482 Duplicating Sticky Pistons MC-78388 Block duplication using pistons and slime blocks MC-79577 Fake block added + lost fake block MC-92434 Slime block piston arrangement duplicates sticky piston MC-93155 piston dup MC-95528 Sand ghost blocks using pistons MC-100082 weird ghost blocks MC-100999 duplication glich MC-107928 Block Duplication MC-107976 Observer Block Duplication Glitch MC-108310 One Tick Piston Slime Block Duplication MC-109919 Ghost Blocks In 1.11 MC-110829 [Client] Pistons moving slime blocks create temporary ghost blocks MC-110838 When I made a elevator using double piston extenders, and I activate it to push slime blocks up, the slime blocks and some sticky pistons got duplicated and it happens randomly every time. MC-111162 issue over ghost blocks MC-111843 Up-down slime block elevator clones half-slabs temporary, and slime blocks deal damage while moving down MC-111949 Ghost blocks appear from fast actions MC-112026 Minecraft Duplication glitch MC-112603 Sticky-piston Duplicator MC-112652 Ghostblocks MC-113267 observer's image manufacturing MC-113761 dupe glitch MC-114839 Ghost Blocks created by Pistons MC-115551 slimeblock/observer flying machine duplication MC-116052 Observer duplication glitch MC-116196 Block duplication with slime blocks, observers, and pistons MC-116559 Duplication of blocks from flying machines MC-117049 slime duplication MC-118395 Duplication Bug using Observer based momentary switch. MC-118874 Piston-Slime Block "Flying Machine" causing occasional block duplication MC-118881 Duplicate blocks using desired block, sticky piston, slimeblock and lever/redstone MC-118931 Visual duplication bug (doesn't actually duplicate items) MC-119239 Block Duplication Glitch MC-119246 Ghost blocks appearing using flying machines in multiplayer MC-119367 Piston Clones when creating a double piston extender MC-119373 Slime Block Elevator Bug MC-119820 Using sticky pistons and slime blocks blocks ghost blocks are sometimes generated MC-119846 Duplication Glitch MC-120014 Block duplication with observer flying machine MC-120243 Stone slab duplication glitch with redstone elevator MC-120412 Use Observer Block And Piston To Dupe Blocks MC-120624 Duplication of observers and red stone lamps (Ghost Blocks) MC-120680 Flying machine causing attached blocks to leave fake duplicates MC-120755 Observer Elevator Block Duplication Bug MC-121025 Strange duplicating observers MC-121383 ghost blocks MC-122945 duplication glitch MC-123477 duplicate block when piston move slime block too fast MC-123907 Ghost blocks still exist even after the fix in snapshot 17w50a MC-124563 Block Copying creation MC-124811 Ghost blocks while using flying machine MC-124866 Flying machine duplicates itself in a STUPID MANNER MC-125939 Blocks wont update when i tab out for a second. MC-126425 Moving blocks cloning MC-127281 Flying Machine Duplicator MC-127978 Flying machine glitch MC-130864 Piston and slimeblock duplication MC-135932 terracotta copy bug MC-144912 Creating a slime bridge creates artifact blocks. MC-157352 Minecraft piston and slime duping bug MC-163884 Block Duplicates to create a pantom block when connected to honey being pushed by two pistons constantly MC-168122 Observer duplication MC-175543 Block Duplication In Slime Block Elevators

Attachments

Comments

migrated
[media][media][media][media][media][media][media]
migrated

If you look closely you can see a piston block with invalid ID popping up. This could potentially also be a transmutation bug.

Panda4994

It is not really a dublication bug.
The additional pistons you see there are only client side. If you right click them they will disappear.

Still something that has to be address though.

migrated

Confirmed.

migrated

1.8.1 pre3 - not fixed and here is video of me repeating bug few times :
https://www.youtube.com/watch?v=hRFDQVtfakY&feature=youtu.be

marcono1234

Can you still reproduce it in 15w47c?

kumasasa

According to the newest duplicates the 1.9 snapshots are afffected too

migrated

For what reason?

migrated
migrated

So, does this cause duplication issues with rails/carpet on multiplayer servers? Many of the "duplicate" tickets talk about duplication issues, while this ticket is just about "ghost" blocks that are client-side.

migrated

This is only related to ghost blocks, rails are a different issue.

migrated

Confirmed for 1.10, probably 1.11.

migrated

worse than ever before in 1.11.2

KevinTheDruid

Related to MC-631
As you can see from the attached screenshot this is not just a visual glitch. Although the blocks cannot be mined, you can stand on them and cannot move through them. Also if standing on them in Survival mode, the player is kicked with the message "Flyng is not enabled on this server".

migrated

Here's an example in 17w06a: https://gfycat.com/BetterTemptingBubblefish

pokechu22

Worth noting: this wasn't an issue in 13w13a (but returned in 13w13b). Block models didn't render then (MC-114881), which would include that for 36 (the block being moved by piston block). Might indicate part of the cause.

migrated

confirmed for 1.12 sad to see that this is still not fixed

migrated

From what I am reading, this is a client-side glitch that doesn't really break anything. I have flying machines that completely get wrecked due to server-side block duping at chunk boundaries. It's ugly but the client-side ghosts are not a huge problem.

The problem here is probably related to the various other client/server communication issues that create client-side ghosts like this, server-side ghosts like when insta-mining, and problems I've more recently encountered where mining a block can take multiple tries because they just keep reappearing. The connection between client and server is TCP/IP, so I really don't understand how these messages get lost, but it seems like client/server sync really needs a serious overhaul. Since Java, console, and pocket editions are being unified (or so I hear), they will require a common protocol, and maybe it's time that this gets done correctly.

pokechu22

It's not so much a case of messages getting lost, as there not being a message in the first place. For... reasons... the piston motion animation is performed entirely clientside (meaning the client is told "this piston just extended", and needs to figure out what blocks are changed). (insta-mining is a different issue, but IIRC it's also a case of a block removal being rejected without telling the client)

migrated

I added a comment on MC-5694 that may be relevant to what Pokechu22 said.

However, to be clear, MC-54026 relates to client-side ghosts, blocks that appear on the client but which do not exist on the server. MC-5694 is the opposite: Blocks that exist on the server but which are not visible on the client.

gnembon

suggested fix for the bug added to the Attachments. Since Client and Server can end up disagreeing about the status of the piston extensions, updating the client about the blocks left behind removes this dissynchronization.

migrated

Suggested fix in picture BzqwEv7 shows the most simple solution to fixing ghost blocks client side. It causes blinking effects that can be fixed as well. But the suggested fix fixes the ghost blocks.

violine1101

@unknown, we know that the issue is three years old and that there's a dodgy fix. It's going to be fixed as soon as the developers decide to fix it (which they still decide for themselves).
Please stop commenting until you have some new and important discoveries about the issue. This is not a discussion forum. That's why your comments have been removed, not because we think it's been less than three years since the bug has been discovered.

migrated

After MrGrim pointed out the flaw of all the current suggestions he helped improve the fix for ghost blocks. A simple modification to the BlockPistonBase.java is needed to remove the ghost blocks for both server and client. The fix is to simply check the block in front of the pistons that is being grabbed. If the block in front is a moving block 36 then all sticky pistons will ignore pulling any block on the client. This is achieved by adding an extra meta data in one of the parameters on the server and send it to the client. If said meta data contains the property that it can't pull the block in front then it will ignore any pulling of blocks resulting in a perfect synchronized behaviour to how the server behaves. This fixes the ghost blocks in the most efficient and lag friendly way with minimal intrusion to the current code.

These are the 2 code suggestions that shows the changes that was made to fix ghost blocks created by pistons.
This part of the code is for the server making sure to add a meta check if the pulling blocks aren't moving
https://i.imgur.com/FmMnjKX.png
This part of the code if for the client making sure the blocks in front can't be pulled if the server doesn't pull them.
https://i.imgur.com/7mPPFoS.png

MCweb

Just confirmed in 17w50a.

MCweb

Also in 18w02a.

MCweb

And in 18w05a.

MCweb

18w07b too.

MCweb

18w07c

MCweb

18w08a

MCweb

18w08b

MCweb

18w10a

migrated

This issue is showing as postponed, just wondering if that's because its a difficult fix or if its been scheduled in with others. Also can we please get a rough estimate on a time frame for a fix?

migrated

1.13-pre1

migrated

I have tried my best to reproduce this, followin the examples in both this ticket and in MC-108310 without success. Closing this as Cannot reproduce.

See attached level "New World" for how i tried. 

migrated

(Unassigned)

Confirmed

(Unassigned)

ghost-block, piston, slime_block

Minecraft 14w18a, Minecraft 14w21b, Minecraft 1.8, Minecraft 1.8.1-pre3, Minecraft 1.8.8, ..., Minecraft 18w08b, Minecraft 18w10a, Minecraft 18w10d, Minecraft 1.13-pre1, Minecraft 1.13-pre3

Retrieved