Commits

Parker Hawke authored and md_5 committed 226db0eae7b
Add BlockDispenseArmorEvent
No tags

nms-patches/ItemArmor.patch

Modified
1 1 --- a/net/minecraft/server/ItemArmor.java
2 2 +++ b/net/minecraft/server/ItemArmor.java
3 3 @@ -4,6 +4,11 @@
4 4 import java.util.List;
5 5 import java.util.UUID;
6 6
7 7 +// CraftBukkit start
8 8 +import org.bukkit.craftbukkit.inventory.CraftItemStack;
9 -+import org.bukkit.event.block.BlockDispenseEvent;
9 ++import org.bukkit.event.block.BlockDispenseArmorEvent;
10 10 +// CraftBukkit end
11 11 +
12 12 public class ItemArmor extends Item {
13 13
14 14 private static final UUID[] k = new UUID[] { UUID.fromString("845DB27C-C624-495F-8C9F-6020A9A58B6B"), UUID.fromString("D8499B04-0E66-4726-AB29-64469D734E0D"), UUID.fromString("9F3D476D-C118-4544-8365-64846904B48E"), UUID.fromString("2AD3F246-FEE1-4E67-B886-69FD380BB150")};
15 15 @@ -29,6 +34,32 @@
16 16 EntityLiving entityliving = (EntityLiving) list.get(0);
17 17 EnumItemSlot enumitemslot = EntityInsentient.e(itemstack);
18 18 ItemStack itemstack1 = itemstack.cloneAndSubtract(1);
19 19 + // CraftBukkit start
20 20 + World world = isourceblock.getWorld();
21 21 + org.bukkit.block.Block block = world.getWorld().getBlockAt(isourceblock.getBlockPosition().getX(), isourceblock.getBlockPosition().getY(), isourceblock.getBlockPosition().getZ());
22 22 + CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack1);
23 23 +
24 -+ BlockDispenseEvent event = new BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector(0, 0, 0));
24 ++ BlockDispenseArmorEvent event = new BlockDispenseArmorEvent(block, craftItem.clone(), (org.bukkit.craftbukkit.entity.CraftLivingEntity) entityliving.bukkitEntity);
25 25 + if (!BlockDispenser.eventFired) {
26 26 + world.getServer().getPluginManager().callEvent(event);
27 27 + }
28 28 +
29 29 + if (event.isCancelled()) {
30 30 + itemstack.add(1);
31 31 + return itemstack;
32 32 + }
33 33 +
34 34 + if (!event.getItem().equals(craftItem)) {

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut