diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/AbstractItemManager.java b/core/src/main/java/net/momirealms/craftengine/core/item/AbstractItemManager.java index 0bb7a59cf..2635e6d7d 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/AbstractItemManager.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/AbstractItemManager.java @@ -554,12 +554,10 @@ public abstract class AbstractItemManager extends AbstractModelGenerator impl return new DyedColorModifier<>(0 << 24 /*不可省略*/ | MCUtils.fastFloor(vector3f.x) << 16 | MCUtils.fastFloor(vector3f.y) << 8 | MCUtils.fastFloor(vector3f.z)); } }, "dyed-color"); - if (!VersionHelper.isOrAbove1_21_5()) { - registerDataType((obj) -> { - Map data = MiscUtils.castToMap(obj, false); - return new TagsModifier<>(data); - }, "tags", "tag", "nbt"); - } + registerDataType((obj) -> { + Map data = MiscUtils.castToMap(obj, false); + return new TagsModifier<>(data); + }, "tags", "tag", "nbt"); registerDataType((object -> { MutableInt mutableInt = new MutableInt(0); List attributeModifiers = ResourceConfigUtils.parseConfigAsList(object, (map) -> { diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/modifier/TagsModifier.java b/core/src/main/java/net/momirealms/craftengine/core/item/modifier/TagsModifier.java index b264c9c33..16a8ec444 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/modifier/TagsModifier.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/modifier/TagsModifier.java @@ -1,10 +1,12 @@ package net.momirealms.craftengine.core.item.modifier; +import net.momirealms.craftengine.core.item.ComponentKeys; import net.momirealms.craftengine.core.item.Item; import net.momirealms.craftengine.core.item.ItemBuildContext; import net.momirealms.craftengine.core.item.NetworkItemHandler; import net.momirealms.craftengine.core.util.MiscUtils; import net.momirealms.craftengine.core.util.TypeUtils; +import net.momirealms.craftengine.core.util.VersionHelper; import net.momirealms.sparrow.nbt.CompoundTag; import net.momirealms.sparrow.nbt.Tag; @@ -40,12 +42,21 @@ public class TagsModifier implements ItemDataModifier { // TODO NOT PERFECT @Override public Item prepareNetworkItem(Item item, ItemBuildContext context, CompoundTag networkData) { - for (Map.Entry entry : this.arguments.entrySet()) { - Tag previous = item.getTag(entry.getKey()); + if (VersionHelper.isOrAbove1_20_5()) { + Tag previous = item.getSparrowNBTComponent(ComponentKeys.CUSTOM_DATA); if (previous != null) { - networkData.put(entry.getKey(), NetworkItemHandler.pack(NetworkItemHandler.Operation.ADD, previous)); + networkData.put(ComponentKeys.CUSTOM_DATA.asString(), NetworkItemHandler.pack(NetworkItemHandler.Operation.ADD, previous)); } else { - networkData.put(entry.getKey(), NetworkItemHandler.pack(NetworkItemHandler.Operation.REMOVE)); + networkData.put(ComponentKeys.CUSTOM_DATA.asString(), NetworkItemHandler.pack(NetworkItemHandler.Operation.REMOVE)); + } + } else { + for (Map.Entry entry : this.arguments.entrySet()) { + Tag previous = item.getTag(entry.getKey()); + if (previous != null) { + networkData.put(entry.getKey(), NetworkItemHandler.pack(NetworkItemHandler.Operation.ADD, previous)); + } else { + networkData.put(entry.getKey(), NetworkItemHandler.pack(NetworkItemHandler.Operation.REMOVE)); + } } } return item; diff --git a/gradle.properties b/gradle.properties index f9c9970e9..0975bcb33 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ org.gradle.jvmargs=-Xmx1G # Project settings # Rule: [major update].[feature update].[bug fix] -project_version=0.0.60.5 +project_version=0.0.60.6 config_version=43 lang_version=22 project_group=net.momirealms