summaryrefslogtreecommitdiffstats
path: root/nms-patches/ItemArmor.patch
diff options
context:
space:
mode:
authormd_5 <git@md-5.net>2016-03-01 08:32:46 +1100
committermd_5 <git@md-5.net>2016-03-01 09:32:45 +1100
commitaa008dff0f9bedbe88e1fe79831776b0a52eb90a (patch)
treecb520e0f4cc5d683fb9b7fb95de37480a7443dfb /nms-patches/ItemArmor.patch
parente1ebe524a78e27f6a2829ed4574fded3779094e1 (diff)
downloadcraftbukkit-aa008dff0f9bedbe88e1fe79831776b0a52eb90a.tar
craftbukkit-aa008dff0f9bedbe88e1fe79831776b0a52eb90a.tar.gz
craftbukkit-aa008dff0f9bedbe88e1fe79831776b0a52eb90a.tar.lz
craftbukkit-aa008dff0f9bedbe88e1fe79831776b0a52eb90a.tar.xz
craftbukkit-aa008dff0f9bedbe88e1fe79831776b0a52eb90a.zip
Update to Minecraft 1.9
Diffstat (limited to 'nms-patches/ItemArmor.patch')
-rw-r--r--nms-patches/ItemArmor.patch81
1 files changed, 40 insertions, 41 deletions
diff --git a/nms-patches/ItemArmor.patch b/nms-patches/ItemArmor.patch
index e6beb5ee..4750c060 100644
--- a/nms-patches/ItemArmor.patch
+++ b/nms-patches/ItemArmor.patch
@@ -1,8 +1,8 @@
--- a/net/minecraft/server/ItemArmor.java
+++ b/net/minecraft/server/ItemArmor.java
-@@ -3,6 +3,11 @@
- import com.google.common.base.Predicates;
+@@ -5,6 +5,11 @@
import java.util.List;
+ import java.util.UUID;
+// CraftBukkit start
+import org.bukkit.craftbukkit.inventory.CraftItemStack;
@@ -11,49 +11,48 @@
+
public class ItemArmor extends Item {
- private static final int[] k = new int[] { 11, 16, 15, 13};
-@@ -20,7 +25,34 @@
- EntityLiving entityliving = (EntityLiving) list.get(0);
- int l = entityliving instanceof EntityHuman ? 1 : 0;
- int i1 = EntityInsentient.c(itemstack);
-- ItemStack itemstack1 = itemstack.cloneItemStack();
+ private static final int[] m = new int[] { 13, 15, 16, 11};
+@@ -35,7 +40,33 @@
+ } else {
+ EntityLiving entityliving = (EntityLiving) list.get(0);
+ EnumItemSlot enumitemslot = EntityInsentient.d(itemstack);
+- ItemStack itemstack1 = itemstack.cloneItemStack();
++ // CraftBukkit start
++ ItemStack itemstack1 = itemstack.cloneAndSubtract(1);
++ World world = isourceblock.getWorld();
++ org.bukkit.block.Block block = world.getWorld().getBlockAt(isourceblock.getBlockPosition().getX(), isourceblock.getBlockPosition().getY(), isourceblock.getBlockPosition().getZ());
++ CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack1);
+
-+ // CraftBukkit start
-+ ItemStack itemstack1 = itemstack.cloneAndSubtract(1);
-+ World world = isourceblock.getWorld();
-+ org.bukkit.block.Block block = world.getWorld().getBlockAt(isourceblock.getBlockPosition().getX(), isourceblock.getBlockPosition().getY(), isourceblock.getBlockPosition().getZ());
-+ CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemstack1);
++ BlockDispenseEvent event = new BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector(0, 0, 0));
++ if (!BlockDispenser.eventFired) {
++ world.getServer().getPluginManager().callEvent(event);
++ }
+
-+ BlockDispenseEvent event = new BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector(0, 0, 0));
-+ if (!BlockDispenser.eventFired) {
-+ world.getServer().getPluginManager().callEvent(event);
-+ }
++ if (event.isCancelled()) {
++ itemstack.count++;
++ return itemstack;
++ }
+
-+ if (event.isCancelled()) {
-+ itemstack.count++;
++ if (!event.getItem().equals(craftItem)) {
++ itemstack.count++;
++ // Chain to handler for new item
++ ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem());
++ IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.REGISTRY.get(eventStack.getItem());
++ if (idispensebehavior != IDispenseBehavior.NONE && idispensebehavior != ItemArmor.b) {
++ idispensebehavior.a(isourceblock, eventStack);
+ return itemstack;
+ }
-+
-+ if (!event.getItem().equals(craftItem)) {
-+ itemstack.count++;
-+ // Chain to handler for new item
-+ ItemStack eventStack = CraftItemStack.asNMSCopy(event.getItem());
-+ IDispenseBehavior idispensebehavior = (IDispenseBehavior) BlockDispenser.REGISTRY.get(eventStack.getItem());
-+ if (idispensebehavior != IDispenseBehavior.NONE && idispensebehavior != this) {
-+ idispensebehavior.a(isourceblock, eventStack);
-+ return itemstack;
-+ }
-+ }
-+ // CraftBukkit end
++ }
++ // CraftBukkit end
- itemstack1.count = 1;
- entityliving.setEquipment(i1 - l, itemstack1);
-@@ -28,7 +60,7 @@
- ((EntityInsentient) entityliving).a(i1, 2.0F);
- }
+ itemstack1.count = 1;
+ entityliving.setSlot(enumitemslot, itemstack1);
+@@ -43,7 +74,7 @@
+ ((EntityInsentient) entityliving).a(enumitemslot, 2.0F);
+ }
-- --itemstack.count;
-+ // --itemstack.count; // CraftBukkit - handled above
- return itemstack;
- } else {
- return super.b(isourceblock, itemstack);
+- --itemstack.count;
++ // --itemstack.count; // CraftBukkit - handled above
+ return itemstack;
+ }
+ }