mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-20 18:07:43 +01:00
Fix up secret anvil controls a bit more
This commit is contained in:
@@ -1,15 +1,15 @@
|
|||||||
From ce8a02f259fb4f0a02d036c03f84af8fe2334399 Mon Sep 17 00:00:00 2001
|
From 43aa8b97055c288e41c3c0a0924b99752559c53a Mon Sep 17 00:00:00 2001
|
||||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||||
Date: Sun, 19 Apr 2020 00:17:56 -0500
|
Date: Sun, 19 Apr 2020 00:17:56 -0500
|
||||||
Subject: [PATCH] More anvil controls
|
Subject: [PATCH] More anvil controls
|
||||||
|
|
||||||
---
|
---
|
||||||
.../net/minecraft/server/ContainerAnvil.java | 25 ++++++++++++++++---
|
.../net/minecraft/server/ContainerAnvil.java | 31 +++++++++++++++++--
|
||||||
.../inventory/CraftInventoryAnvil.java | 22 ++++++++++++++++
|
.../inventory/CraftInventoryAnvil.java | 24 +++++++++++++-
|
||||||
2 files changed, 43 insertions(+), 4 deletions(-)
|
2 files changed, 51 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/ContainerAnvil.java b/src/main/java/net/minecraft/server/ContainerAnvil.java
|
diff --git a/src/main/java/net/minecraft/server/ContainerAnvil.java b/src/main/java/net/minecraft/server/ContainerAnvil.java
|
||||||
index 286b930ddb..c34f1e02cb 100644
|
index 286b930ddb..d418c04414 100644
|
||||||
--- a/src/main/java/net/minecraft/server/ContainerAnvil.java
|
--- a/src/main/java/net/minecraft/server/ContainerAnvil.java
|
||||||
+++ b/src/main/java/net/minecraft/server/ContainerAnvil.java
|
+++ b/src/main/java/net/minecraft/server/ContainerAnvil.java
|
||||||
@@ -8,6 +8,7 @@ import org.apache.logging.log4j.Logger;
|
@@ -8,6 +8,7 @@ import org.apache.logging.log4j.Logger;
|
||||||
@@ -76,15 +76,22 @@ index 286b930ddb..c34f1e02cb 100644
|
|||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -310,12 +321,18 @@ public class ContainerAnvil extends Container {
|
@@ -295,6 +306,13 @@ public class ContainerAnvil extends Container {
|
||||||
k2 = d(k2);
|
this.levelCost.set(maximumRepairCost - 1); // CraftBukkit
|
||||||
}
|
|
||||||
|
|
||||||
- itemstack1.setRepairCost(k2);
|
|
||||||
+ if (!bypassCost) itemstack1.setRepairCost(k2); // Purpur
|
|
||||||
EnchantmentManager.a(map, itemstack1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
+ // Purpur start
|
||||||
|
+ if (bypassCost && levelCost.get() >= maximumRepairCost) {
|
||||||
|
+ itemstack.getOrCreateTagAndSet("Purpur.realCost", NBTTagInt.a(levelCost.get()));
|
||||||
|
+ levelCost.set(maximumRepairCost - 1);
|
||||||
|
+ }
|
||||||
|
+ // Purpur end
|
||||||
|
+
|
||||||
|
if (this.levelCost.get() >= maximumRepairCost && !this.player.abilities.canInstantlyBuild) { // CraftBukkit
|
||||||
|
itemstack1 = ItemStack.a;
|
||||||
|
}
|
||||||
|
@@ -316,6 +334,12 @@ public class ContainerAnvil extends Container {
|
||||||
|
|
||||||
org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(getBukkitView(), itemstack1); // CraftBukkit
|
org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(getBukkitView(), itemstack1); // CraftBukkit
|
||||||
this.c();
|
this.c();
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
@@ -96,10 +103,27 @@ index 286b930ddb..c34f1e02cb 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -349,6 +373,7 @@ public class ContainerAnvil extends Container {
|
||||||
|
|
||||||
|
itemstack = itemstack1.cloneItemStack();
|
||||||
|
if (i == 2) {
|
||||||
|
+ if (net.pl3x.purpur.event.inventory.AnvilTakeResultEvent.getHandlerList().getRegisteredListeners().length > 0) new net.pl3x.purpur.event.inventory.AnvilTakeResultEvent(entityhuman.getBukkitEntity(), getBukkitView(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack)).callEvent(); // Purpur
|
||||||
|
if (!this.a(itemstack1, 3, 39, true)) {
|
||||||
|
return ItemStack.a;
|
||||||
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryAnvil.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryAnvil.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryAnvil.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryAnvil.java
|
||||||
index 9374c27061..db5e4f2bd1 100644
|
index 9374c27061..d45f356be3 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryAnvil.java
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryAnvil.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryAnvil.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryAnvil.java
|
||||||
|
@@ -9,7 +9,7 @@ import org.bukkit.inventory.AnvilInventory;
|
||||||
|
public class CraftInventoryAnvil extends CraftResultInventory implements AnvilInventory {
|
||||||
|
|
||||||
|
private final Location location;
|
||||||
|
- private final ContainerAnvil container;
|
||||||
|
+ public final ContainerAnvil container; // Purpur - private -> public
|
||||||
|
|
||||||
|
public CraftInventoryAnvil(Location location, IInventory inventory, IInventory resultInventory, ContainerAnvil container) {
|
||||||
|
super(inventory, resultInventory);
|
||||||
@@ -47,4 +47,26 @@ public class CraftInventoryAnvil extends CraftResultInventory implements AnvilIn
|
@@ -47,4 +47,26 @@ public class CraftInventoryAnvil extends CraftResultInventory implements AnvilIn
|
||||||
Preconditions.checkArgument(levels >= 0, "Maximum repair cost must be positive (or 0)");
|
Preconditions.checkArgument(levels >= 0, "Maximum repair cost must be positive (or 0)");
|
||||||
container.maximumRepairCost = levels;
|
container.maximumRepairCost = levels;
|
||||||
@@ -128,5 +152,5 @@ index 9374c27061..db5e4f2bd1 100644
|
|||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
--
|
--
|
||||||
2.24.0
|
2.26.2
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user