mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-09 03:43:40 +01:00
24 lines
1.4 KiB
Diff
24 lines
1.4 KiB
Diff
--- a/net/minecraft/world/item/StandingAndWallBlockItem.java
|
|
+++ b/net/minecraft/world/item/StandingAndWallBlockItem.java
|
|
@@ -42,7 +_,20 @@
|
|
}
|
|
}
|
|
|
|
- return blockState != null && level.isUnobstructed(blockState, clickedPos, CollisionContext.empty()) ? blockState : null;
|
|
+ // return blockState != null && level.isUnobstructed(blockState, clickedPos, CollisionContext.empty()) ? blockState : null;
|
|
+ // CraftBukkit start
|
|
+ if (blockState != null) {
|
|
+ boolean defaultReturn = level.isUnobstructed(blockState, clickedPos, CollisionContext.empty());
|
|
+ org.bukkit.entity.Player player = (context.getPlayer() instanceof net.minecraft.server.level.ServerPlayer) ? (org.bukkit.entity.Player) context.getPlayer().getBukkitEntity() : null;
|
|
+
|
|
+ org.bukkit.event.block.BlockCanBuildEvent event = new org.bukkit.event.block.BlockCanBuildEvent(org.bukkit.craftbukkit.block.CraftBlock.at(context.getLevel(), clickedPos), player, org.bukkit.craftbukkit.block.data.CraftBlockData.fromData(blockState), defaultReturn, org.bukkit.craftbukkit.CraftEquipmentSlot.getHand(context.getHand())); // Paper - Expose hand in BlockCanBuildEvent
|
|
+ context.getLevel().getCraftServer().getPluginManager().callEvent(event);
|
|
+
|
|
+ return (event.isBuildable()) ? blockState : null;
|
|
+ } else {
|
|
+ return null;
|
|
+ }
|
|
+ // CraftBukkit end
|
|
}
|
|
|
|
@Override
|