From 92a00b8bf35351722602678d6babffd5fee2e3ba Mon Sep 17 00:00:00 2001 From: Encode42 Date: Wed, 29 Sep 2021 13:38:39 -0400 Subject: [PATCH] Config for Grindstones ignoring curses --- ...nfig-for-Grindstones-ignoring-curses.patch | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 patches/server/0259-Config-for-Grindstones-ignoring-curses.patch diff --git a/patches/server/0259-Config-for-Grindstones-ignoring-curses.patch b/patches/server/0259-Config-for-Grindstones-ignoring-curses.patch new file mode 100644 index 000000000..ae313c0e6 --- /dev/null +++ b/patches/server/0259-Config-for-Grindstones-ignoring-curses.patch @@ -0,0 +1,57 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Encode42 +Date: Wed, 29 Sep 2021 13:37:57 -0400 +Subject: [PATCH] Config for Grindstones ignoring curses + + +diff --git a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java +index 51f3650bc19bddc71731c0cb36e600cc8d16a495..12f6a8cb3df14a457d6618ed02237391529b3c22 100644 +--- a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java ++++ b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java +@@ -131,7 +131,7 @@ public class GrindstoneMenu extends AbstractContainerMenu { + Enchantment enchantment = (Enchantment) entry.getKey(); + Integer integer = (Integer) entry.getValue(); + +- if (!enchantment.isCurse()) { ++ if (!net.pl3x.purpur.PurpurConfig.grindstoneIgnoreCurses || !enchantment.isCurse()) { // Purpur + j += enchantment.getMinCost(integer); + } + } +@@ -231,7 +231,7 @@ public class GrindstoneMenu extends AbstractContainerMenu { + Entry entry = (Entry) iterator.next(); + Enchantment enchantment = (Enchantment) entry.getKey(); + +- if (!enchantment.isCurse() || EnchantmentHelper.getItemEnchantmentLevel(enchantment, itemstack2) == 0) { ++ if (!net.pl3x.purpur.PurpurConfig.grindstoneIgnoreCurses || !enchantment.isCurse() || EnchantmentHelper.getItemEnchantmentLevel(enchantment, itemstack2) == 0) { // Purpur + itemstack2.enchant(enchantment, (Integer) entry.getValue()); + } + } +@@ -252,7 +252,7 @@ public class GrindstoneMenu extends AbstractContainerMenu { + + itemstack1.setCount(amount); + Map map = (Map) EnchantmentHelper.getEnchantments(item).entrySet().stream().filter((entry) -> { +- return ((Enchantment) entry.getKey()).isCurse(); ++ return net.pl3x.purpur.PurpurConfig.grindstoneIgnoreCurses && ((Enchantment) entry.getKey()).isCurse(); // Purpur + }).collect(Collectors.toMap(Entry::getKey, Entry::getValue)); + + EnchantmentHelper.setEnchantments(map, itemstack1); +diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java +index 15963a7d4d721f3a8b665c1917cd5f2860814a62..df12c714aaa2817b653a5fe6278e0dc39aada34d 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java +@@ -307,6 +307,7 @@ public class PurpurConfig { + public static boolean anvilCumulativeCost = true; + public static int lightningRodRange = 128; + public static boolean fixBedRespawns = false; ++ public static boolean grindstoneIgnoreCurses = true; + private static void blockSettings() { + if (version < 3) { + boolean oldValue = getBoolean("settings.barrel.packed-barrels", true); +@@ -342,6 +343,7 @@ public class PurpurConfig { + anvilCumulativeCost = getBoolean("settings.blocks.anvil.cumulative-cost", anvilCumulativeCost); + lightningRodRange = getInt("settings.blocks.lightning_rod.range", lightningRodRange); + fixBedRespawns = getBoolean("settings.blocks.bed.fix-spigot-5988", fixBedRespawns); ++ grindstoneIgnoreCurses = getBoolean("settings.blocks.grindstone.ignore-curses", grindstoneIgnoreCurses); + } + + public static boolean allowInfinityMending = false;