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;