diff --git a/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/ItemAttribute.java b/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/ItemAttribute.java index ad5966b2c6..039f9384d1 100644 --- a/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/ItemAttribute.java +++ b/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/ItemAttribute.java @@ -25,7 +25,7 @@ public interface ItemAttribute { if (id == null) throw new IllegalArgumentException("Cannot get " + attribute.getType() + "as it does not exist in AllRegistries.ITEM_ATTRIBUTE_TYPES"); - nbt.putString("id", id.toString()); + nbt.putString("attributeId", id.toString()); attribute.save(nbt); return nbt; } diff --git a/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/attributes/AddedByAttribute.java b/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/attributes/AddedByAttribute.java index 53a32a1e95..13afe30149 100644 --- a/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/attributes/AddedByAttribute.java +++ b/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/attributes/AddedByAttribute.java @@ -48,12 +48,12 @@ public class AddedByAttribute implements ItemAttribute { @Override public void save(CompoundTag nbt) { - nbt.putString("id", modId); + nbt.putString("modId", modId); } @Override public void load(CompoundTag nbt) { - modId = nbt.getString("id"); + modId = nbt.getString("modId"); } @Override diff --git a/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/attributes/ColorAttribute.java b/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/attributes/ColorAttribute.java index 95c543b073..44ae12164b 100644 --- a/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/attributes/ColorAttribute.java +++ b/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/attributes/ColorAttribute.java @@ -85,13 +85,13 @@ public class ColorAttribute implements ItemAttribute { @Override public void save(CompoundTag nbt) { - nbt.putInt("id", color.getId()); + nbt.putInt("color", color.getId()); } @Override public void load(CompoundTag nbt) { - if (nbt.contains("id")) { - color = DyeColor.byId(nbt.getInt("id")); + if (nbt.contains("color")) { + color = DyeColor.byId(nbt.getInt("color")); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/attributes/FluidContentsAttribute.java b/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/attributes/FluidContentsAttribute.java index 5c79cd08ec..50ba59a484 100644 --- a/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/attributes/FluidContentsAttribute.java +++ b/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/attributes/FluidContentsAttribute.java @@ -72,13 +72,13 @@ public class FluidContentsAttribute implements ItemAttribute { ResourceLocation id = ForgeRegistries.FLUIDS.getKey(fluid); if (id == null) return; - nbt.putString("id", id.toString()); + nbt.putString("fluidId", id.toString()); } @Override public void load(CompoundTag nbt) { - if (nbt.contains("id")) { - fluid = ForgeRegistries.FLUIDS.getValue(ResourceLocation.tryParse(nbt.getString("id"))); + if (nbt.contains("fluidId")) { + fluid = ForgeRegistries.FLUIDS.getValue(ResourceLocation.tryParse(nbt.getString("fluidId"))); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/attributes/ShulkerFillLevelAttribute.java b/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/attributes/ShulkerFillLevelAttribute.java index 9ba0ac01fb..b581562b9d 100644 --- a/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/attributes/ShulkerFillLevelAttribute.java +++ b/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/attributes/ShulkerFillLevelAttribute.java @@ -55,17 +55,17 @@ public class ShulkerFillLevelAttribute implements ItemAttribute { @Override public void save(CompoundTag nbt) { if (levels != null) - nbt.putString("id", levels.key); + nbt.putString("level", levels.key); } @Override public void load(CompoundTag nbt) { - if (nbt.contains("id")) { - levels = ShulkerLevels.fromKey(nbt.getString("id")); + if (nbt.contains("level")) { + levels = ShulkerLevels.fromKey(nbt.getString("level")); } } - enum ShulkerLevels { + public enum ShulkerLevels { EMPTY("empty", amount -> amount == 0), PARTIAL("partial", amount -> amount > 0 && amount < Integer.MAX_VALUE), FULL("full", amount -> amount == Integer.MAX_VALUE); diff --git a/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/legacydeserializers/AllItemAttributeLegacyDeserializers.java b/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/legacydeserializers/AllItemAttributeLegacyDeserializers.java index 84a11cf1f1..36758feb2d 100644 --- a/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/legacydeserializers/AllItemAttributeLegacyDeserializers.java +++ b/src/main/java/com/simibubi/create/content/logistics/item/filter/attribute/legacydeserializers/AllItemAttributeLegacyDeserializers.java @@ -8,13 +8,19 @@ import org.jetbrains.annotations.ApiStatus; import com.simibubi.create.content.logistics.item.filter.attribute.AllItemAttributeTypes; import com.simibubi.create.content.logistics.item.filter.attribute.ItemAttribute; import com.simibubi.create.content.logistics.item.filter.attribute.ItemAttributeType; +import com.simibubi.create.content.logistics.item.filter.attribute.attributes.AddedByAttribute; +import com.simibubi.create.content.logistics.item.filter.attribute.attributes.ColorAttribute; import com.simibubi.create.content.logistics.item.filter.attribute.attributes.EnchantAttribute; +import com.simibubi.create.content.logistics.item.filter.attribute.attributes.FluidContentsAttribute; import com.simibubi.create.content.logistics.item.filter.attribute.attributes.InTagAttribute; +import com.simibubi.create.content.logistics.item.filter.attribute.attributes.ShulkerFillLevelAttribute; +import com.simibubi.create.content.logistics.item.filter.attribute.attributes.ShulkerFillLevelAttribute.ShulkerLevels; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.ItemTags; +import net.minecraft.world.item.DyeColor; @SuppressWarnings("deprecation") public class AllItemAttributeLegacyDeserializers { @@ -28,12 +34,16 @@ public class AllItemAttributeLegacyDeserializers { ))) ); createLegacyDeserializer("in_item_group", AllItemAttributeTypes.IN_ITEM_GROUP); - createLegacyDeserializer("added_by", AllItemAttributeTypes.ADDED_BY); + createLegacyDeserializer("added_by", tag -> + new AddedByAttribute(tag.getString("id"))); createLegacyDeserializer("has_enchant", tag -> new EnchantAttribute(BuiltInRegistries.ENCHANTMENT.get(ResourceLocation.tryParse(tag.getString("id"))))); - createLegacyDeserializer("shulker_fill_level", AllItemAttributeTypes.SHULKER_FILL_LEVEL); - createLegacyDeserializer("has_color", AllItemAttributeTypes.HAS_COLOR); - createLegacyDeserializer("has_fluid", AllItemAttributeTypes.HAS_FLUID); + createLegacyDeserializer("shulker_fill_level", tag -> + new ShulkerFillLevelAttribute(ShulkerLevels.fromKey(tag.getString("id")))); + createLegacyDeserializer("has_color", tag -> + new ColorAttribute(DyeColor.byId(tag.getInt("id")))); + createLegacyDeserializer("has_fluid", tag -> + new FluidContentsAttribute(BuiltInRegistries.FLUID.get(ResourceLocation.tryParse(tag.getString("id"))))); createLegacyDeserializer("has_name", AllItemAttributeTypes.HAS_NAME); createLegacyDeserializer("book_author", AllItemAttributeTypes.BOOK_AUTHOR); createLegacyDeserializer("book_copy", AllItemAttributeTypes.BOOK_COPY);