BlockEvent.PLACE is fired after the block has been placed on Fabric, cancellation causes problems
TropheusJ opened this issue ยท 1 comments
The place event is not called until after the block has been placed on Fabric.
It's invoked here, in BlockItem.place
, at the getClickedPos
call.
This code will only be run if a block is successfully placed.
This leads to discrepancies. If a mod cancels, an item will not be consumed, even though the block was placed.
An example of this is a Create Deployer in a chunk claimed by FTB Chunks. The deployer tries to place, but FTB Chunks cancels. No item is consumed since it failed. This results in duplicating blocks.
There's actually a PR open for this: #395