From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Tue, 4 Aug 2020 22:08:23 -0500 Subject: [PATCH] Allow anvil colors diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java index 3751ce065a38cb55b0800f000e33b2b32c7e0f5d..c8b6c5c65a4cd3a53b300358513f96acdaaba449 100644 --- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java @@ -2,6 +2,9 @@ package net.minecraft.world.inventory; import java.util.Iterator; import java.util.Map; + +import io.papermc.paper.adventure.PaperAdventure; +import net.kyori.adventure.text.format.TextDecoration; import net.minecraft.nbt.IntTag; import net.minecraft.network.chat.TextComponent; import net.minecraft.network.protocol.game.ClientboundContainerSetDataPacket; @@ -276,6 +279,17 @@ public class AnvilMenu extends ItemCombinerMenu { } else if (!this.itemName.equals(itemstack.getHoverName().getString())) { b1 = 1; i += b1; + // Purpur start + if (player != null && player.level.purpurConfig.anvilAllowColors && player.getBukkitEntity().hasPermission("purpur.anvil.color")) { + final net.kyori.adventure.text.Component renameTextComponent; + if (itemName.startsWith("&r") && player.getBukkitEntity().hasPermission("purpur.anvil.remove_italics")) { + renameTextComponent = PaperAdventure.LEGACY_AMPERSAND.deserialize(itemName.substring(2)).decoration(TextDecoration.ITALIC, false); + } else { + renameTextComponent = PaperAdventure.LEGACY_AMPERSAND.deserialize(itemName); + } + itemstack1.setHoverName(PaperAdventure.asVanilla(renameTextComponent)); + } else + // Purpur end itemstack1.setHoverName(new TextComponent(this.itemName)); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java index bad29754e48433e211b5c163c270fafaeb6794f4..7bc99c280d16aa22f083c5d644c4ee3bec0bae49 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -301,6 +301,11 @@ public class PurpurWorldConfig { voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); } + public boolean anvilAllowColors = false; + private void anvilSettings() { + anvilAllowColors = getBoolean("blocks.anvil.allow-colors", anvilAllowColors); + } + public boolean bedExplode = true; public double bedExplosionPower = 5.0D; public boolean bedExplosionFire = true;