Fix anvils bug - Fixes #3802
This commit is contained in:
parent
4793f774c8
commit
e0cae289c4
|
@ -107,21 +107,24 @@ index 270bf7f3e6ca15891419f1ce3e88d9aff094bee6..ce63c715e4920ad272e7c3dffb8f3279
|
||||||
|
|
||||||
private void a(IInventory iinventory, ItemStack itemstack) {
|
private void a(IInventory iinventory, ItemStack itemstack) {
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||||
index 6c5036b23a41769167fd53b8cc5454e5e747598e..7a55bc4796317976e05eb53535eb420eed51e9c6 100644
|
index 6c5036b23a41769167fd53b8cc5454e5e747598e..3e51d78b5b6b6b78381c36ca45a5166cd474df75 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||||
@@ -1548,12 +1548,30 @@ public class CraftEventFactory {
|
@@ -1548,12 +1548,31 @@ public class CraftEventFactory {
|
||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
|
|
||||||
- public static PrepareAnvilEvent callPrepareAnvilEvent(InventoryView view, ItemStack item) {
|
- public static PrepareAnvilEvent callPrepareAnvilEvent(InventoryView view, ItemStack item) {
|
||||||
|
- PrepareAnvilEvent event = new PrepareAnvilEvent(view, CraftItemStack.asCraftMirror(item).clone());
|
||||||
|
- event.getView().getPlayer().getServer().getPluginManager().callEvent(event);
|
||||||
|
+ // Paper start - disable this method, handled below
|
||||||
+ public static void callPrepareAnvilEvent(InventoryView view, ItemStack item) { // Paper - verify nothing uses return - handled below in PrepareResult
|
+ public static void callPrepareAnvilEvent(InventoryView view, ItemStack item) { // Paper - verify nothing uses return - handled below in PrepareResult
|
||||||
+ if (true) return; // Paper - nothing
|
+ PrepareAnvilEvent event = new PrepareAnvilEvent(view, CraftItemStack.asCraftMirror(item)); // Paper - remove clone
|
||||||
PrepareAnvilEvent event = new PrepareAnvilEvent(view, CraftItemStack.asCraftMirror(item).clone());
|
+ //event.getView().getPlayer().getServer().getPluginManager().callEvent(event); // disable event
|
||||||
event.getView().getPlayer().getServer().getPluginManager().callEvent(event);
|
|
||||||
event.getInventory().setItem(2, event.getResult());
|
event.getInventory().setItem(2, event.getResult());
|
||||||
+ //return event; // Paper
|
+ //return event; // Paper
|
||||||
+ }
|
+ }
|
||||||
|
+ // Paper end
|
||||||
+
|
+
|
||||||
+ // Paper start - support specific overrides for prepare result
|
+ // Paper start - support specific overrides for prepare result
|
||||||
+ public static com.destroystokyo.paper.event.inventory.PrepareResultEvent callPrepareResultEvent(InventoryView view, ItemStack item, int resultSlot) {
|
+ public static com.destroystokyo.paper.event.inventory.PrepareResultEvent callPrepareResultEvent(InventoryView view, ItemStack item, int resultSlot) {
|
||||||
|
|
Loading…
Reference in New Issue