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));
|
return new DyedColorModifier<>(0 << 24 /*不可省略*/ | MCUtils.fastFloor(vector3f.x) << 16 | MCUtils.fastFloor(vector3f.y) << 8 | MCUtils.fastFloor(vector3f.z));
|
||||||
}
|
}
|
||||||
}, "dyed-color");
|
}, "dyed-color");
|
||||||
if (!VersionHelper.isOrAbove1_21_5()) {
|
registerDataType((obj) -> {
|
||||||
registerDataType((obj) -> {
|
Map<String, Object> data = MiscUtils.castToMap(obj, false);
|
||||||
Map<String, Object> data = MiscUtils.castToMap(obj, false);
|
return new TagsModifier<>(data);
|
||||||
return new TagsModifier<>(data);
|
}, "tags", "tag", "nbt");
|
||||||
}, "tags", "tag", "nbt");
|
|
||||||
}
|
|
||||||
registerDataType((object -> {
|
registerDataType((object -> {
|
||||||
MutableInt mutableInt = new MutableInt(0);
|
MutableInt mutableInt = new MutableInt(0);
|
||||||
List<AttributeModifier> attributeModifiers = ResourceConfigUtils.parseConfigAsList(object, (map) -> {
|
List<AttributeModifier> attributeModifiers = ResourceConfigUtils.parseConfigAsList(object, (map) -> {
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
package net.momirealms.craftengine.core.item.modifier;
|
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.Item;
|
||||||
import net.momirealms.craftengine.core.item.ItemBuildContext;
|
import net.momirealms.craftengine.core.item.ItemBuildContext;
|
||||||
import net.momirealms.craftengine.core.item.NetworkItemHandler;
|
import net.momirealms.craftengine.core.item.NetworkItemHandler;
|
||||||
import net.momirealms.craftengine.core.util.MiscUtils;
|
import net.momirealms.craftengine.core.util.MiscUtils;
|
||||||
import net.momirealms.craftengine.core.util.TypeUtils;
|
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.CompoundTag;
|
||||||
import net.momirealms.sparrow.nbt.Tag;
|
import net.momirealms.sparrow.nbt.Tag;
|
||||||
|
|
||||||
@@ -40,12 +42,21 @@ public class TagsModifier<I> implements ItemDataModifier<I> {
|
|||||||
// TODO NOT PERFECT
|
// TODO NOT PERFECT
|
||||||
@Override
|
@Override
|
||||||
public Item<I> prepareNetworkItem(Item<I> item, ItemBuildContext context, CompoundTag networkData) {
|
public Item<I> prepareNetworkItem(Item<I> item, ItemBuildContext context, CompoundTag networkData) {
|
||||||
for (Map.Entry<String, Object> entry : this.arguments.entrySet()) {
|
if (VersionHelper.isOrAbove1_20_5()) {
|
||||||
Tag previous = item.getTag(entry.getKey());
|
Tag previous = item.getSparrowNBTComponent(ComponentKeys.CUSTOM_DATA);
|
||||||
if (previous != null) {
|
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 {
|
} 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<String, Object> 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;
|
return item;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ org.gradle.jvmargs=-Xmx1G
|
|||||||
|
|
||||||
# Project settings
|
# Project settings
|
||||||
# Rule: [major update].[feature update].[bug fix]
|
# Rule: [major update].[feature update].[bug fix]
|
||||||
project_version=0.0.60.5
|
project_version=0.0.60.6
|
||||||
config_version=43
|
config_version=43
|
||||||
lang_version=22
|
lang_version=22
|
||||||
project_group=net.momirealms
|
project_group=net.momirealms
|
||||||
|
|||||||
Reference in New Issue
Block a user