From 59a4164ab5de802ba64c2de472f9988716450bbb Mon Sep 17 00:00:00 2001 From: 12emin34 Date: Sat, 11 Jan 2025 19:01:29 -0800 Subject: [PATCH] Make anvil cumulative cost configurable --- ...e-anvil-cumulative-cost-configurable.patch | 39 ------------------- .../world/inventory/AnvilMenu.java.patch | 9 +++++ .../org/purpurmc/purpur/PurpurConfig.java | 2 + 3 files changed, 11 insertions(+), 39 deletions(-) delete mode 100644 patches/server/0164-Make-anvil-cumulative-cost-configurable.patch diff --git a/patches/server/0164-Make-anvil-cumulative-cost-configurable.patch b/patches/server/0164-Make-anvil-cumulative-cost-configurable.patch deleted file mode 100644 index 2d76c1361..000000000 --- a/patches/server/0164-Make-anvil-cumulative-cost-configurable.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: 12emin34 -Date: Fri, 21 May 2021 16:58:45 +0200 -Subject: [PATCH] Make anvil cumulative cost configurable - - -diff --git a/net/minecraft/world/inventory/AnvilMenu.java b/net/minecraft/world/inventory/AnvilMenu.java -index 346681cf9c3c9ff5274f63236b0cc7c4eec76492..5959e1df9374bcb889be1726abb83b8c58962d05 100644 ---- a/net/minecraft/world/inventory/AnvilMenu.java -+++ b/net/minecraft/world/inventory/AnvilMenu.java -@@ -406,7 +406,7 @@ public class AnvilMenu extends ItemCombinerMenu { - } - - public static int calculateIncreasedRepairCost(int cost) { -- return (int) Math.min((long) cost * 2L + 1L, 2147483647L); -+ return org.purpurmc.purpur.PurpurConfig.anvilCumulativeCost ? (int) Math.min((long) cost * 2L + 1L, 2147483647L) : 0; // Purpur - Make anvil cumulative cost configurable - } - - public boolean setItemName(String newItemName) { -diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index d3c58ccd12ee56ac0a086c54f2f589b6728bab54..52a8a0b6b78dae42c717cd8c34268d631eb3c1fe 100644 ---- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java -+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -272,6 +272,7 @@ public class PurpurConfig { - public static boolean enderChestPermissionRows = false; - public static boolean cryingObsidianValidForPortalFrame = false; - public static int beeInsideBeeHive = 3; -+ public static boolean anvilCumulativeCost = true; - private static void blockSettings() { - if (version < 3) { - boolean oldValue = getBoolean("settings.barrel.packed-barrels", true); -@@ -304,6 +305,7 @@ public class PurpurConfig { - enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); - cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame); - beeInsideBeeHive = getInt("settings.blocks.beehive.max-bees-inside", beeInsideBeeHive); -+ anvilCumulativeCost = getBoolean("settings.blocks.anvil.cumulative-cost", anvilCumulativeCost); - } - - public static boolean allowInapplicableEnchants = false; diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/world/inventory/AnvilMenu.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/world/inventory/AnvilMenu.java.patch index fd44c47d0..71cd41ca4 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/world/inventory/AnvilMenu.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/world/inventory/AnvilMenu.java.patch @@ -189,3 +189,12 @@ } else { org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(this.getBukkitView(), ItemStack.EMPTY); // CraftBukkit this.cost.set(AnvilMenu.DEFAULT_DENIED_COST); // CraftBukkit - use a variable for set a cost for denied item +@@ -288,7 +_,7 @@ + } + + public static int calculateIncreasedRepairCost(int oldRepairCost) { +- return (int)Math.min(oldRepairCost * 2L + 1L, 2147483647L); ++ return org.purpurmc.purpur.PurpurConfig.anvilCumulativeCost ? (int)Math.min(oldRepairCost * 2L + 1L, 2147483647L) : 0; // Purpur - Make anvil cumulative cost configurable + } + + public boolean setItemName(String itemName) { diff --git a/purpur-server/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/purpur-server/src/main/java/org/purpurmc/purpur/PurpurConfig.java index 722476f43..bc30a0325 100644 --- a/purpur-server/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/purpur-server/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -257,6 +257,7 @@ public class PurpurConfig { public static boolean enderChestPermissionRows = false; public static boolean cryingObsidianValidForPortalFrame = false; public static int beeInsideBeeHive = 3; + public static boolean anvilCumulativeCost = true; private static void blockSettings() { if (version < 3) { boolean oldValue = getBoolean("settings.barrel.packed-barrels", true); @@ -289,6 +290,7 @@ public class PurpurConfig { enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame); beeInsideBeeHive = getInt("settings.blocks.beehive.max-bees-inside", beeInsideBeeHive); + anvilCumulativeCost = getBoolean("settings.blocks.anvil.cumulative-cost", anvilCumulativeCost); } public static boolean allowInapplicableEnchants = false;