mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-19 15:09:15 +00:00
添加新版本使用nbt的支持
This commit is contained in:
@@ -554,12 +554,10 @@ public abstract class AbstractItemManager<I> 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<String, Object> data = MiscUtils.castToMap(obj, false);
|
||||
return new TagsModifier<>(data);
|
||||
}, "tags", "tag", "nbt");
|
||||
}
|
||||
registerDataType((object -> {
|
||||
MutableInt mutableInt = new MutableInt(0);
|
||||
List<AttributeModifier> attributeModifiers = ResourceConfigUtils.parseConfigAsList(object, (map) -> {
|
||||
|
||||
@@ -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,6 +42,14 @@ public class TagsModifier<I> implements ItemDataModifier<I> {
|
||||
// TODO NOT PERFECT
|
||||
@Override
|
||||
public Item<I> prepareNetworkItem(Item<I> item, ItemBuildContext context, CompoundTag networkData) {
|
||||
if (VersionHelper.isOrAbove1_20_5()) {
|
||||
Tag previous = item.getSparrowNBTComponent(ComponentKeys.CUSTOM_DATA);
|
||||
if (previous != null) {
|
||||
networkData.put(ComponentKeys.CUSTOM_DATA.asString(), NetworkItemHandler.pack(NetworkItemHandler.Operation.ADD, previous));
|
||||
} else {
|
||||
networkData.put(ComponentKeys.CUSTOM_DATA.asString(), NetworkItemHandler.pack(NetworkItemHandler.Operation.REMOVE));
|
||||
}
|
||||
} else {
|
||||
for (Map.Entry<String, Object> entry : this.arguments.entrySet()) {
|
||||
Tag previous = item.getTag(entry.getKey());
|
||||
if (previous != null) {
|
||||
@@ -48,6 +58,7 @@ public class TagsModifier<I> implements ItemDataModifier<I> {
|
||||
networkData.put(entry.getKey(), NetworkItemHandler.pack(NetworkItemHandler.Operation.REMOVE));
|
||||
}
|
||||
}
|
||||
}
|
||||
return item;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user