From 4b7ac41bdcf8c5980966fd1cbc5cf42501b8d764 Mon Sep 17 00:00:00 2001 From: IzzelAliz Date: Wed, 26 Jan 2022 17:40:40 +0800 Subject: [PATCH] Update extend tags --- .../mixin/bukkit/CraftMetaItemMixin.java | 48 ++++++++----------- 1 file changed, 20 insertions(+), 28 deletions(-) diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/CraftMetaItemMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/CraftMetaItemMixin.java index 13bd6a0e..52842000 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/CraftMetaItemMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/CraftMetaItemMixin.java @@ -19,6 +19,7 @@ import org.spongepowered.asm.mixin.injection.callback.LocalCapture; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; +import java.util.HashSet; import java.util.Map; import java.util.Set; import net.minecraft.nbt.CompoundTag; @@ -29,36 +30,27 @@ import net.minecraft.nbt.Tag; public class CraftMetaItemMixin implements ItemMetaBridge { // @formatter:off - @Shadow(remap = false) @Final private Map unhandledTags; + @Shadow @Final Map unhandledTags; + @Shadow @Final private static Set HANDLED_TAGS; // @formatter:on - private static final Set EXTEND_TAGS = ImmutableSet.of( - "map_is_scaling", - "map", - "CustomPotionEffects", - "Potion", - "CustomPotionColor", - "SkullOwner", - "SkullProfile", - "EntityTag", - "BlockEntityTag", - "title", - "author", - "pages", - "resolved", - "generation", - "Fireworks", - "StoredEnchantments", - "Explosion", - "Recipes", - "BucketVariantTag", - "Charged", - "ChargedProjectiles", - "Effects", - "LodestoneDimension", - "LodestonePos", - "LodestoneTracked" - ); + private static final Set EXTEND_TAGS; + + static { + EXTEND_TAGS = new HashSet<>(HANDLED_TAGS); + EXTEND_TAGS.removeAll(Set.of( + "display", + "CustomModelData", + "BlockStateTag", + "RepairCost", + "Enchantments", + "HideFlags", + "Unbreakable", + "Damage", + "PublicBukkitValues", + "AttributeModifiers" + )); + } @ModifyVariable(method = "(Lnet/minecraft/nbt/CompoundTag;)V", at = @At(value = "INVOKE", target = "Lorg/bukkit/UnsafeValues;getDataVersion()I")) private CompoundTag arclight$provideTag(CompoundTag tag) {