diff options
Diffstat (limited to 'patches/server/0516-Implement-PlayerFlowerPotManipulateEvent.patch')
-rw-r--r-- | patches/server/0516-Implement-PlayerFlowerPotManipulateEvent.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/patches/server/0516-Implement-PlayerFlowerPotManipulateEvent.patch b/patches/server/0516-Implement-PlayerFlowerPotManipulateEvent.patch new file mode 100644 index 0000000000..8f512f54d6 --- /dev/null +++ b/patches/server/0516-Implement-PlayerFlowerPotManipulateEvent.patch @@ -0,0 +1,37 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: MisterVector <[email protected]> +Date: Tue, 13 Aug 2019 19:45:06 -0700 +Subject: [PATCH] Implement PlayerFlowerPotManipulateEvent + + +diff --git a/src/main/java/net/minecraft/world/level/block/FlowerPotBlock.java b/src/main/java/net/minecraft/world/level/block/FlowerPotBlock.java +index 9a8fc69de43fcfeebcb31c895fa4b5868952fa0a..db05c1ea847d60ad45d33cd798cb34ad3f5cfd75 100644 +--- a/src/main/java/net/minecraft/world/level/block/FlowerPotBlock.java ++++ b/src/main/java/net/minecraft/world/level/block/FlowerPotBlock.java +@@ -52,6 +52,26 @@ public class FlowerPotBlock extends Block { + boolean bl = blockState.is(Blocks.AIR); + boolean bl2 = this.isEmpty(); + if (bl != bl2) { ++ // Paper start ++ org.bukkit.entity.Player player1 = (org.bukkit.entity.Player) player.getBukkitEntity(); ++ boolean placing = bl2; ++ org.bukkit.block.Block bukkitblock = org.bukkit.craftbukkit.block.CraftBlock.at(world, pos); ++ org.bukkit.inventory.ItemStack bukkititemstack = org.bukkit.craftbukkit.inventory.CraftItemStack.asBukkitCopy(itemStack); ++ org.bukkit.Material mat = org.bukkit.craftbukkit.util.CraftMagicNumbers.getMaterial(content); ++ org.bukkit.inventory.ItemStack bukkititemstack1 = new org.bukkit.inventory.ItemStack(mat, 1); ++ org.bukkit.inventory.ItemStack whichitem = placing ? bukkititemstack : bukkititemstack1; ++ ++ io.papermc.paper.event.player.PlayerFlowerPotManipulateEvent event = new io.papermc.paper.event.player.PlayerFlowerPotManipulateEvent(player1, bukkitblock, whichitem, placing); ++ player1.getServer().getPluginManager().callEvent(event); ++ ++ if (event.isCancelled()) { ++ // Update client ++ player1.sendBlockChange(bukkitblock.getLocation(), bukkitblock.getBlockData()); ++ player1.updateInventory(); ++ ++ return InteractionResult.PASS; ++ } ++ // Paper end + if (bl2) { + world.setBlock(pos, blockState, 3); + player.awardStat(Stats.POT_FLOWER); |