Files
Purpur/patches/server/0260-Config-for-grindstones-to-remove-item-attributes.patch
2022-01-17 19:05:53 -05:00

46 lines
2.3 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Encode42 <me@encode42.dev>
Date: Sun, 16 Jan 2022 14:54:28 -0500
Subject: [PATCH] Config for grindstones to remove item attributes
diff --git a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
index f061ea886b8e87a5b24567f5f3f80187e711dc5b..a0d56616d099de0bfc28818dd4d106156fa074a4 100644
--- a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
@@ -268,6 +268,14 @@ public class GrindstoneMenu extends AbstractContainerMenu {
itemstack1.setRepairCost(AnvilMenu.calculateIncreasedRepairCost(itemstack1.getBaseRepairCost()));
}
+ // Purpur start
+ if (org.purpurmc.purpur.PurpurConfig.grindstoneRemoveAttributes && itemstack1.getTag() != null) {
+ for (String key : itemstack1.getTag().getAllKeys()) {
+ itemstack1.getTag().remove(key);
+ }
+ }
+ // Purpur end
+
return itemstack1;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 469f40bf9a31a254950e56b85605c5e729f22e16..f36632cc8a5f842d58922d1a6b2ff41f180897ec 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -308,6 +308,7 @@ public class PurpurConfig {
public static boolean anvilCumulativeCost = true;
public static int lightningRodRange = 128;
public static Set<Enchantment> grindstoneIgnoredEnchants = new HashSet<>();
+ public static boolean grindstoneRemoveAttributes = false;
private static void blockSettings() {
if (version < 3) {
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
@@ -353,6 +354,7 @@ public class PurpurConfig {
Enchantment enchantment = Registry.ENCHANTMENT.get(new ResourceLocation(key.toString()));
grindstoneIgnoredEnchants.add(enchantment);
});
+ grindstoneRemoveAttributes = getBoolean("settings.blocks.grindstone.remove-attributes", grindstoneRemoveAttributes);
}
public static boolean allowInfinityMending = false;