Video is from a friend's perspective of the situation. Whenever a block placement is cancelled, it causes a desync on the client side, causing a ghost item to appear when clicking the empty slot. I'm not sure how to fix this.
Current script: ```js
BlockEvents.placed(event => {
if (event.player.persistentData.withinClaim > 0) {
event.cancel()
let item = event.block.item.copy()
event.player.give(item)
}
})
