Architectury API (Fabric/Forge/NeoForge)

Architectury API (Fabric/Forge/NeoForge)

158M Downloads

BlockEvent.PLACE is fired after the block has been placed on Fabric, cancellation causes problems

TropheusJ opened this issue ยท 1 comments

commented

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.
image
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.

commented

There's actually a PR open for this: #395