unsync Blockstate bug fix
Minepig opened this issue ยท 2 comments
Some Blockstate changes are not sent to client.
Related blocks are: cactus, sugar cane, saplings, hopper, dispenser and dropper.
For dispenser and dropper, the triggered
state does not change when it is powered/depowered.
For hopper, the enable
state does not change when it is powered/depowered.
For cactus and sugar cane, the age
state does not change when it is growing.
For sapling, the stage
state does not change when it is growing.
This is because the setBlockState()
method (net.minecraft.world.World.setBlockState()
, in 1.14.4 forge) is called with a flag of 4, so the changes are not sent to clients, since the 0x2 bit is 0.
This issue doesn't affect the gameplay, but it makes creating a resourcepack to display these blockstates impossible. As a technical player, I like using some kinds of "blockstate displaying resourcepack", but because of this issue, the visualization of these Blockstates is messed.
Mojang don't consider it as a bug, by the way. It will be good if this issue is fixed in carpet mod. With a separated setting, just like other bug fix features.
Bug report link: https://bugs.mojang.com/browse/MC-70127
My initial guess was exactly what grumm responded - that these are internals that should not worry the clients (like lots of sugarcane growing causing increased network traffic). Since its an intended behaviour, I woudn't call it a fix, but feel free to make a PR to carpet-extra yourself if you can do that, or wait until one of us sits down to it.