Add option to remove name and lore attributes

This commit is contained in:
Encode42
2022-01-17 19:43:11 -05:00
parent 90f8beddd4
commit 8e495db90e
4 changed files with 21 additions and 13 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config for grindstones
diff --git a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
index 0bdf874ddb951daf8d469575a44144504472d12d..14128f5b2eb7daf0cc7868e90533acd8a0d54935 100644
index 0bdf874ddb951daf8d469575a44144504472d12d..855ff86696d27f7029ec8bd2558207078a62525b 100644
--- a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
@@ -130,7 +130,7 @@ public class GrindstoneMenu extends AbstractContainerMenu {
@@ -35,23 +35,29 @@ index 0bdf874ddb951daf8d469575a44144504472d12d..14128f5b2eb7daf0cc7868e90533acd8
}).collect(Collectors.toMap(Entry::getKey, Entry::getValue));
EnchantmentHelper.setEnchantments(map, itemstack1);
@@ -267,6 +267,14 @@ public class GrindstoneMenu extends AbstractContainerMenu {
@@ -267,6 +267,20 @@ 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);
+ if (!key.equals("display")) {
+ itemstack1.getTag().remove(key);
+ }
+ }
+ }
+
+ if (org.purpurmc.purpur.PurpurConfig.grindstoneRemoveDisplay && itemstack1.getTag() != null) {
+ itemstack1.getTag().remove("display");
+ }
+ // 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 258ef634bac087710c77abff0a52954aa591ddd2..c21e12f1a3e61a3813e678f74e3919a17a662222 100644
index 258ef634bac087710c77abff0a52954aa591ddd2..adeb257d6c7ec0fc3e390d17820a2ee42b684150 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -4,9 +4,13 @@ import co.aikar.timings.TimingsManager;
@@ -81,16 +87,17 @@ index 258ef634bac087710c77abff0a52954aa591ddd2..c21e12f1a3e61a3813e678f74e3919a1
import java.util.logging.Level;
@SuppressWarnings("unused")
@@ -300,6 +307,8 @@ public class PurpurConfig {
@@ -300,6 +307,9 @@ public class PurpurConfig {
public static int beeInsideBeeHive = 3;
public static boolean anvilCumulativeCost = true;
public static int lightningRodRange = 128;
+ public static Set<Enchantment> grindstoneIgnoredEnchants = new HashSet<>();
+ public static boolean grindstoneRemoveAttributes = false;
+ public static boolean grindstoneRemoveDisplay = false;
private static void blockSettings() {
if (version < 3) {
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
@@ -334,6 +343,18 @@ public class PurpurConfig {
@@ -334,6 +344,19 @@ public class PurpurConfig {
beeInsideBeeHive = getInt("settings.blocks.beehive.max-bees-inside", beeInsideBeeHive);
anvilCumulativeCost = getBoolean("settings.blocks.anvil.cumulative-cost", anvilCumulativeCost);
lightningRodRange = getInt("settings.blocks.lightning_rod.range", lightningRodRange);
@@ -106,6 +113,7 @@ index 258ef634bac087710c77abff0a52954aa591ddd2..c21e12f1a3e61a3813e678f74e3919a1
+ grindstoneIgnoredEnchants.add(enchantment);
+ });
+ grindstoneRemoveAttributes = getBoolean("settings.blocks.grindstone.remove-attributes", grindstoneRemoveAttributes);
+ grindstoneRemoveDisplay = getBoolean("settings.blocks.grindstone.remove-name-and-lore", grindstoneRemoveDisplay);
}
public static boolean allowInfinityMending = false;