summaryrefslogtreecommitdiffstats
path: root/nms-patches/ContainerAnvil.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/ContainerAnvil.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/ContainerAnvil.patch')
-rw-r--r--nms-patches/ContainerAnvil.patch61
1 files changed, 52 insertions, 9 deletions
diff --git a/nms-patches/ContainerAnvil.patch b/nms-patches/ContainerAnvil.patch
index 003cc500..55856177 100644
--- a/nms-patches/ContainerAnvil.patch
+++ b/nms-patches/ContainerAnvil.patch
@@ -1,15 +1,19 @@
--- a/net/minecraft/server/ContainerAnvil.java
+++ b/net/minecraft/server/ContainerAnvil.java
-@@ -6,6 +6,8 @@
+@@ -6,6 +6,12 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-+import org.bukkit.craftbukkit.inventory.CraftInventoryView; // CraftBukkit
++ // CraftBukkit start
++import org.bukkit.craftbukkit.inventory.CraftInventoryView;
++import org.bukkit.craftbukkit.inventory.CraftItemStack;
++import org.bukkit.event.inventory.PrepareAnvilEvent;
++// CraftBukkit end
+
public class ContainerAnvil extends Container {
private static final Logger f = LogManager.getLogger();
-@@ -22,8 +24,13 @@
+@@ -22,8 +28,13 @@
private int k;
private String l;
private final EntityHuman m;
@@ -23,7 +27,43 @@
this.j = blockposition;
this.i = world;
this.m = entityhuman;
-@@ -317,6 +324,7 @@
+@@ -109,7 +120,7 @@
+ byte b1 = 0;
+
+ if (itemstack == null) {
+- this.g.setItem(0, (ItemStack) null);
++ org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(getBukkitView(), null); // CraftBukkit
+ this.a = 0;
+ } else {
+ ItemStack itemstack1 = itemstack.cloneItemStack();
+@@ -127,7 +138,7 @@
+ if (itemstack1.e() && itemstack1.getItem().a(itemstack, itemstack2)) {
+ k = Math.min(itemstack1.h(), itemstack1.j() / 4);
+ if (k <= 0) {
+- this.g.setItem(0, (ItemStack) null);
++ org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(getBukkitView(), null); // CraftBukkit
+ this.a = 0;
+ return;
+ }
+@@ -142,7 +153,7 @@
+ this.k = l;
+ } else {
+ if (!flag && (itemstack1.getItem() != itemstack2.getItem() || !itemstack1.e())) {
+- this.g.setItem(0, (ItemStack) null);
++ org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(getBukkitView(), null); // CraftBukkit
+ this.a = 0;
+ return;
+ }
+@@ -269,7 +280,7 @@
+ EnchantmentManager.a(map, itemstack1);
+ }
+
+- this.g.setItem(0, itemstack1);
++ org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(getBukkitView(), itemstack1); // CraftBukkit
+ this.b();
+ }
+ }
+@@ -294,6 +305,7 @@
}
public boolean a(EntityHuman entityhuman) {
@@ -31,11 +71,10 @@
return this.i.getType(this.j).getBlock() != Blocks.ANVIL ? false : entityhuman.e((double) this.j.getX() + 0.5D, (double) this.j.getY() + 0.5D, (double) this.j.getZ() + 0.5D) <= 64.0D;
}
-@@ -372,4 +380,17 @@
-
+@@ -350,6 +362,20 @@
this.e();
}
-+
+
+ // CraftBukkit start
+ @Override
+ public CraftInventoryView getBukkitView() {
@@ -43,9 +82,13 @@
+ return bukkitEntity;
+ }
+
-+ org.bukkit.craftbukkit.inventory.CraftInventory inventory = new org.bukkit.craftbukkit.inventory.CraftInventoryAnvil(this.h, this.g);
++ org.bukkit.craftbukkit.inventory.CraftInventory inventory = new org.bukkit.craftbukkit.inventory.CraftInventoryAnvil(
++ new org.bukkit.Location(i.getWorld(), j.getX(), j.getY(), j.getZ()), this.h, this.g);
+ bukkitEntity = new CraftInventoryView(this.player.player.getBukkitEntity(), inventory, this);
+ return bukkitEntity;
+ }
+ // CraftBukkit end
- }
++
+ static class SyntheticClass_1 {
+
+ static final int[] a = new int[Enchantment.Rarity.values().length];