|
97 | 97 | if (action == ServerboundPlayerActionPacket.Action.START_DESTROY_BLOCK) {
|
98 | 98 | if (!this.level.mayInteract(this.player, pos)) {
|
99 | 99 | + // CraftBukkit start - fire PlayerInteractEvent
|
100 |
| -+ org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(this.player, org.bukkit.event.block.Action.LEFT_CLICK_BLOCK, pos, face, this.player.getInventory().getSelected(), InteractionHand.MAIN_HAND); |
| 100 | ++ org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(this.player, org.bukkit.event.block.Action.LEFT_CLICK_BLOCK, pos, face, this.player.getInventory().getSelectedItem(), InteractionHand.MAIN_HAND); |
101 | 101 | this.player.connection.send(new ClientboundBlockUpdatePacket(pos, this.level.getBlockState(pos)));
|
102 | 102 | this.debugLogging(pos, false, sequence, "may not interact");
|
103 | 103 | - return;
|
|
109 | 109 | + }
|
110 | 110 | +
|
111 | 111 | + // CraftBukkit start
|
112 |
| -+ org.bukkit.event.player.PlayerInteractEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(this.player, org.bukkit.event.block.Action.LEFT_CLICK_BLOCK, pos, face, this.player.getInventory().getSelected(), InteractionHand.MAIN_HAND); |
| 112 | ++ org.bukkit.event.player.PlayerInteractEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(this.player, org.bukkit.event.block.Action.LEFT_CLICK_BLOCK, pos, face, this.player.getInventory().getSelectedItem(), InteractionHand.MAIN_HAND); |
113 | 113 | + if (event.isCancelled()) {
|
114 | 114 | + // Let the client know the block still exists
|
115 | 115 | + // this.player.connection.send(new ClientboundBlockUpdatePacket(this.level, pos)); // Paper - Don't resync blocks
|
|
153 | 153 | + return;
|
154 | 154 | + }
|
155 | 155 | +
|
156 |
| -+ org.bukkit.event.block.BlockDamageEvent blockEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callBlockDamageEvent(this.player, pos, face, this.player.getInventory().getSelected(), f >= 1.0f); // Paper - Add BlockFace to BlockDamageEvent |
| 156 | ++ org.bukkit.event.block.BlockDamageEvent blockEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callBlockDamageEvent(this.player, pos, face, this.player.getInventory().getSelectedItem(), f >= 1.0f); // Paper - Add BlockFace to BlockDamageEvent |
157 | 157 | +
|
158 | 158 | + if (blockEvent.isCancelled()) {
|
159 | 159 | + return;
|
|
188 | 188 | this.level.destroyBlockProgress(this.player.getId(), pos, -1);
|
189 | 189 | this.debugLogging(pos, true, sequence, "aborted destroying");
|
190 | 190 | +
|
191 |
| -+ org.bukkit.craftbukkit.event.CraftEventFactory.callBlockDamageAbortEvent(this.player, pos, this.player.getInventory().getSelected()); // CraftBukkit |
| 191 | ++ org.bukkit.craftbukkit.event.CraftEventFactory.callBlockDamageAbortEvent(this.player, pos, this.player.getInventory().getSelectedItem()); // CraftBukkit |
192 | 192 | }
|
193 | 193 | }
|
194 | 194 | }
|
|
0 commit comments