From 668afcb754e5a30ee332e30270bd940fe2221ddd Mon Sep 17 00:00:00 2001 From: jhqwqmc Date: Sun, 28 Dec 2025 20:10:54 +0800 Subject: [PATCH 1/2] dev --- .../papi/CraftEngineExpansion.java | 84 ++++++++++++ .../papi/PlaceholderAPIUtils.java | 1 + .../bukkit/item/BukkitCustomItem.java | 18 +-- .../bukkit/item/LegacyNetworkItemHandler.java | 4 +- .../bukkit/item/ModernNetworkItemHandler.java | 4 +- .../core/item/AbstractCustomItem.java | 12 +- .../craftengine/core/item/CustomItem.java | 12 +- .../craftengine/core/item/Item.java | 2 +- .../craftengine/core/item/ItemSettings.java | 8 +- .../equipment/ComponentBasedEquipment.java | 2 +- .../core/item/equipment/Equipment.java | 2 +- .../item/equipment/TrimBasedEquipment.java | 2 +- .../item/processor/ArgumentsProcessor.java | 4 +- .../AttributeModifiersProcessor.java | 2 +- .../item/processor/BlockStateProcessor.java | 2 +- .../item/processor/ComponentsProcessor.java | 4 +- .../item/processor/ConditionalProcessor.java | 16 +-- .../processor/CustomModelDataProcessor.java | 2 +- .../item/processor/CustomNameProcessor.java | 2 +- .../item/processor/DyedColorProcessor.java | 2 +- .../item/processor/EnchantmentsProcessor.java | 2 +- .../processor/EquippableAssetIdProcessor.java | 2 +- .../item/processor/EquippableProcessor.java | 2 +- .../processor/ExternalSourceProcessor.java | 4 +- .../core/item/processor/FoodProcessor.java | 2 +- .../item/processor/HideTooltipProcessor.java | 4 +- .../item/processor/ItemModelProcessor.java | 2 +- .../item/processor/ItemNameProcessor.java | 2 +- .../core/item/processor/ItemProcessors.java | 4 +- .../item/processor/ItemVersionProcessor.java | 2 +- .../item/processor/JukeboxSongProcessor.java | 4 +- .../item/processor/MaxDamageProcessor.java | 2 +- .../OverwritableCustomModelDataProcessor.java | 2 +- .../OverwritableItemModelProcessor.java | 2 +- .../OverwritableItemNameProcessor.java | 2 +- .../core/item/processor/PDCProcessor.java | 4 +- .../processor/RemoveComponentProcessor.java | 4 +- .../processor/SimpleNetworkItemProcessor.java | 2 +- .../core/item/processor/TagsProcessor.java | 4 +- .../item/processor/TooltipStyleProcessor.java | 2 +- .../core/item/processor/TrimProcessor.java | 2 +- .../item/processor/UnbreakableProcessor.java | 2 +- .../processor/lore/DynamicLoreProcessor.java | 2 +- .../core/item/processor/lore/LoreFactory.java | 2 +- .../lore/OverwritableLoreProcessor.java | 2 +- .../result/ApplyItemDataPostProcessor.java | 8 +- .../item/updater/impl/ApplyDataOperation.java | 10 +- .../core/loot/function/ApplyDataFunction.java | 6 +- .../core/plugin/context/CooldownData.java | 4 + .../core/util/CountdownFormatter.java | 125 ++++++++++++++++++ 50 files changed, 308 insertions(+), 94 deletions(-) create mode 100644 bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/papi/CraftEngineExpansion.java create mode 100644 core/src/main/java/net/momirealms/craftengine/core/util/CountdownFormatter.java diff --git a/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/papi/CraftEngineExpansion.java b/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/papi/CraftEngineExpansion.java new file mode 100644 index 000000000..e6c0866ed --- /dev/null +++ b/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/papi/CraftEngineExpansion.java @@ -0,0 +1,84 @@ +package net.momirealms.craftengine.bukkit.compatibility.papi; + +import me.clip.placeholderapi.expansion.PlaceholderExpansion; +import net.momirealms.craftengine.bukkit.api.BukkitAdaptors; +import net.momirealms.craftengine.bukkit.plugin.user.BukkitServerPlayer; +import net.momirealms.craftengine.core.plugin.CraftEngine; +import net.momirealms.craftengine.core.plugin.context.CooldownData; +import net.momirealms.craftengine.core.util.CountdownFormatter; +import org.bukkit.entity.Player; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public class CraftEngineExpansion extends PlaceholderExpansion { + private final CraftEngine plugin; + + public CraftEngineExpansion(CraftEngine plugin) { + this.plugin = plugin; + } + + @NotNull + @Override + public String getIdentifier() { + return "ce"; + } + + @NotNull + @Override + public String getAuthor() { + return "jhqwqmc"; + } + + @NotNull + @Override + public String getVersion() { + return "1.0"; + } + + /** + * 用法:(小括号括起来的为必填,中括号括起来的为选填) + *

+ * %ce_cd_(key)|[format]% + */ + @Override + public @Nullable String onPlaceholderRequest(Player bukkitPlayer, @NotNull String params) { + BukkitServerPlayer player = bukkitPlayer != null ? BukkitAdaptors.adapt(bukkitPlayer) : null; + int index = params.indexOf('_'); + String action = index > 0 ? params.substring(0, index) : params; + String[] param; + if (index > 0) { + String substring = params.substring(index + 1); + int i = substring.indexOf('|'); + if (i > 0) { + param = new String[]{substring.substring(0, i), substring.substring(i + 1)}; + } else { + param = new String[]{substring}; + } + } else { + param = new String[0]; + } + return switch (action) { + case "cd", "cooldown" -> handleCooldown(player, param); + default -> null; + }; + } + + @Nullable + private static String handleCooldown(@Nullable BukkitServerPlayer player, String[] param) { + if (player == null || param.length < 1) { + return null; + } + CooldownData cooldown = player.cooldown(); + if (cooldown == null) { + return null; + } + Long ms = cooldown.getCooldown(param[0]); + if (ms == null) { + return null; + } + if (param.length >= 2) { + return CountdownFormatter.of(param[1]).format(ms); + } + return String.valueOf(ms); + } +} diff --git a/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/papi/PlaceholderAPIUtils.java b/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/papi/PlaceholderAPIUtils.java index 9f4dce361..fbfe15550 100644 --- a/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/papi/PlaceholderAPIUtils.java +++ b/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/papi/PlaceholderAPIUtils.java @@ -21,5 +21,6 @@ public class PlaceholderAPIUtils { new ImageExpansion(plugin).register(); new ShiftExpansion(plugin).register(); new CheckItemExpansion(plugin).register(); + new CraftEngineExpansion(plugin).register(); } } diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/BukkitCustomItem.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/BukkitCustomItem.java index c7839cb4a..cb8844f28 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/BukkitCustomItem.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/BukkitCustomItem.java @@ -24,7 +24,7 @@ public class BukkitCustomItem extends AbstractCustomItem { public BukkitCustomItem(boolean isVanillaItem, UniqueKey id, Object item, Object clientItem, Key materialKey, Key clientBoundMaterialKey, List behaviors, - List> modifiers, List> clientBoundModifiers, + List modifiers, List clientBoundModifiers, ItemSettings settings, Map>> events, ItemUpdateConfig updater) { @@ -37,7 +37,7 @@ public class BukkitCustomItem extends AbstractCustomItem { public ItemStack buildItemStack(ItemBuildContext context, int count) { ItemStack item = FastNMS.INSTANCE.method$CraftItemStack$asCraftMirror(FastNMS.INSTANCE.constructor$ItemStack(this.item, count)); Item wrapped = BukkitCraftEngine.instance().itemManager().wrap(item); - for (ItemProcessor modifier : this.modifiers) { + for (ItemProcessor modifier : this.modifiers) { modifier.apply(wrapped, context); } return wrapped.getItem(); @@ -47,7 +47,7 @@ public class BukkitCustomItem extends AbstractCustomItem { public Item buildItem(ItemBuildContext context, int count) { ItemStack item = FastNMS.INSTANCE.method$CraftItemStack$asCraftMirror(FastNMS.INSTANCE.constructor$ItemStack(this.item, count)); Item wrapped = BukkitCraftEngine.instance().itemManager().wrap(item); - for (ItemProcessor modifier : dataModifiers()) { + for (ItemProcessor modifier : dataModifiers()) { modifier.apply(wrapped, context); } return wrapped; @@ -78,8 +78,8 @@ public class BukkitCustomItem extends AbstractCustomItem { private final Object clientBoundItem; private final Map>> events = new EnumMap<>(EventTrigger.class); private final List behaviors = new ArrayList<>(4); - private final List> modifiers = new ArrayList<>(4); - private final List> clientBoundModifiers = new ArrayList<>(4); + private final List modifiers = new ArrayList<>(4); + private final List clientBoundModifiers = new ArrayList<>(4); private ItemSettings settings; private ItemUpdateConfig updater; @@ -113,25 +113,25 @@ public class BukkitCustomItem extends AbstractCustomItem { } @Override - public Builder dataModifier(ItemProcessor modifier) { + public Builder dataModifier(ItemProcessor modifier) { this.modifiers.add(modifier); return this; } @Override - public Builder dataModifiers(List> modifiers) { + public Builder dataModifiers(List modifiers) { this.modifiers.addAll(modifiers); return this; } @Override - public Builder clientBoundDataModifier(ItemProcessor modifier) { + public Builder clientBoundDataModifier(ItemProcessor modifier) { this.clientBoundModifiers.add(modifier); return this; } @Override - public Builder clientBoundDataModifiers(List> modifiers) { + public Builder clientBoundDataModifiers(List modifiers) { this.clientBoundModifiers.addAll(modifiers); return null; } diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/LegacyNetworkItemHandler.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/LegacyNetworkItemHandler.java index 0fa36b196..129991750 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/LegacyNetworkItemHandler.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/LegacyNetworkItemHandler.java @@ -221,11 +221,11 @@ public final class LegacyNetworkItemHandler implements NetworkItemHandler modifier : customItem.clientBoundDataModifiers()) { + for (ItemProcessor modifier : customItem.clientBoundDataModifiers()) { modifier.prepareNetworkItem(wrapped, context, tag); } // 应用阶段 - for (ItemProcessor modifier : customItem.clientBoundDataModifiers()) { + for (ItemProcessor modifier : customItem.clientBoundDataModifiers()) { modifier.apply(wrapped, context); } // 如果拦截物品的描述名称等 diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/ModernNetworkItemHandler.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/ModernNetworkItemHandler.java index 8e66fdc14..64e19022b 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/ModernNetworkItemHandler.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/ModernNetworkItemHandler.java @@ -198,11 +198,11 @@ public final class ModernNetworkItemHandler implements NetworkItemHandler modifier : customItem.clientBoundDataModifiers()) { + for (ItemProcessor modifier : customItem.clientBoundDataModifiers()) { modifier.prepareNetworkItem(original, context, tag); } // 应用阶段 - for (ItemProcessor modifier : customItem.clientBoundDataModifiers()) { + for (ItemProcessor modifier : customItem.clientBoundDataModifiers()) { modifier.apply(wrapped, context); } // 如果拦截物品的描述名称等 diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/AbstractCustomItem.java b/core/src/main/java/net/momirealms/craftengine/core/item/AbstractCustomItem.java index a4c4a524d..2c32dda5a 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/AbstractCustomItem.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/AbstractCustomItem.java @@ -20,8 +20,8 @@ public abstract class AbstractCustomItem implements CustomItem { protected final UniqueKey id; protected final Key material; protected final Key clientBoundMaterial; - protected final ItemProcessor[] modifiers; - protected final ItemProcessor[] clientBoundModifiers; + protected final ItemProcessor[] modifiers; + protected final ItemProcessor[] clientBoundModifiers; protected final List behaviors; protected final ItemSettings settings; protected final Map>> events; @@ -30,8 +30,8 @@ public abstract class AbstractCustomItem implements CustomItem { @SuppressWarnings("unchecked") public AbstractCustomItem(boolean isVanillaItem, UniqueKey id, Key material, Key clientBoundMaterial, List behaviors, - List> modifiers, - List> clientBoundModifiers, + List modifiers, + List clientBoundModifiers, ItemSettings settings, Map>> events, ItemUpdateConfig updater) { @@ -82,7 +82,7 @@ public abstract class AbstractCustomItem implements CustomItem { } @Override - public ItemProcessor[] dataModifiers() { + public ItemProcessor[] dataModifiers() { return this.modifiers; } @@ -97,7 +97,7 @@ public abstract class AbstractCustomItem implements CustomItem { } @Override - public ItemProcessor[] clientBoundDataModifiers() { + public ItemProcessor[] clientBoundDataModifiers() { return this.clientBoundModifiers; } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/CustomItem.java b/core/src/main/java/net/momirealms/craftengine/core/item/CustomItem.java index d7b1c595f..abc47a7d7 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/CustomItem.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/CustomItem.java @@ -35,11 +35,11 @@ public interface CustomItem extends BuildableItem { Key clientBoundMaterial(); - ItemProcessor[] dataModifiers(); + ItemProcessor[] dataModifiers(); boolean hasClientBoundDataModifier(); - ItemProcessor[] clientBoundDataModifiers(); + ItemProcessor[] clientBoundDataModifiers(); ItemSettings settings(); @@ -63,13 +63,13 @@ public interface CustomItem extends BuildableItem { Builder material(Key material); - Builder dataModifier(ItemProcessor modifier); + Builder dataModifier(ItemProcessor modifier); - Builder dataModifiers(List> modifiers); + Builder dataModifiers(List modifiers); - Builder clientBoundDataModifier(ItemProcessor modifier); + Builder clientBoundDataModifier(ItemProcessor modifier); - Builder clientBoundDataModifiers(List> modifiers); + Builder clientBoundDataModifiers(List modifiers); Builder behavior(ItemBehavior behavior); diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/Item.java b/core/src/main/java/net/momirealms/craftengine/core/item/Item.java index 53c40643d..5ebe25443 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/Item.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/Item.java @@ -228,7 +228,7 @@ public interface Item { void merge(Item another); - default Item apply(ItemProcessor modifier, ItemBuildContext context) { + default Item apply(ItemProcessor modifier, ItemBuildContext context) { return modifier.apply(this, context); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/ItemSettings.java b/core/src/main/java/net/momirealms/craftengine/core/item/ItemSettings.java index e3c8f9c50..e16bd9593 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/ItemSettings.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/ItemSettings.java @@ -58,8 +58,8 @@ public class ItemSettings { private ItemSettings() {} - public List> modifiers() { - ArrayList> modifiers = new ArrayList<>(); + public List modifiers() { + ArrayList modifiers = new ArrayList<>(); if (this.equipment != null) { EquipmentData data = this.equipment.equipmentData(); if (data != null) { @@ -75,8 +75,8 @@ public class ItemSettings { return modifiers; } - public List> clientBoundModifiers() { - ArrayList> modifiers = new ArrayList<>(); + public List clientBoundModifiers() { + ArrayList modifiers = new ArrayList<>(); if (this.equipment != null) { if (this.equipment.clientBoundModel().asBoolean(Config.globalClientboundModel())) { modifiers.addAll(this.equipment.equipment().modifiers()); diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/equipment/ComponentBasedEquipment.java b/core/src/main/java/net/momirealms/craftengine/core/item/equipment/ComponentBasedEquipment.java index 67cbe79ba..899d202ba 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/equipment/ComponentBasedEquipment.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/equipment/ComponentBasedEquipment.java @@ -26,7 +26,7 @@ public final class ComponentBasedEquipment extends AbstractEquipment implements } @Override - public List> modifiers() { + public List modifiers() { return List.of(new EquippableAssetIdProcessor<>(this.assetId)); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/equipment/Equipment.java b/core/src/main/java/net/momirealms/craftengine/core/item/equipment/Equipment.java index 36f9ed8df..68dece052 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/equipment/Equipment.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/equipment/Equipment.java @@ -9,5 +9,5 @@ public interface Equipment { Key assetId(); - List> modifiers(); + List modifiers(); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/equipment/TrimBasedEquipment.java b/core/src/main/java/net/momirealms/craftengine/core/item/equipment/TrimBasedEquipment.java index 93afd0287..cb3b2770a 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/equipment/TrimBasedEquipment.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/equipment/TrimBasedEquipment.java @@ -34,7 +34,7 @@ public final class TrimBasedEquipment extends AbstractEquipment { } @Override - public List> modifiers() { + public List modifiers() { return List.of( new TrimProcessor<>(Key.of(AbstractPackManager.NEW_TRIM_MATERIAL), this.assetId), new HideTooltipProcessor<>(List.of(DataComponentKeys.TRIM)) diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ArgumentsProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ArgumentsProcessor.java index 17af73946..23d1b2e82 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ArgumentsProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ArgumentsProcessor.java @@ -15,7 +15,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Optional; -public class ArgumentsProcessor implements ItemProcessor { +public class ArgumentsProcessor implements ItemProcessor { public static final ItemProcessorFactory FACTORY = new Factory<>(); public static final String ARGUMENTS_TAG = "craftengine:arguments"; private final Map arguments; @@ -51,7 +51,7 @@ public class ArgumentsProcessor implements ItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map data = ResourceConfigUtils.getAsMap(arg, "arguments"); Map arguments = new HashMap<>(); for (Map.Entry entry : data.entrySet()) { diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/AttributeModifiersProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/AttributeModifiersProcessor.java index 49a28c4f9..4b820a5cb 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/AttributeModifiersProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/AttributeModifiersProcessor.java @@ -155,7 +155,7 @@ public class AttributeModifiersProcessor implements SimpleNetworkItemProcesso private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { List attributeModifiers = ResourceConfigUtils.parseConfigAsList(arg, (map) -> { String type = ResourceConfigUtils.requireNonEmptyStringOrThrow(map.get("type"), "warning.config.item.data.attribute_modifiers.missing_type"); Key nativeType = AttributeModifiersProcessor.getNativeAttributeName(Key.of(type)); diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/BlockStateProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/BlockStateProcessor.java index df0f249aa..26e7d883b 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/BlockStateProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/BlockStateProcessor.java @@ -48,7 +48,7 @@ public class BlockStateProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { if (arg instanceof Map map) { Map properties = new HashMap<>(); for (Map.Entry entry : map.entrySet()) { diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ComponentsProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ComponentsProcessor.java index a4ee18698..4e74046e4 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ComponentsProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ComponentsProcessor.java @@ -12,7 +12,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -public class ComponentsProcessor implements ItemProcessor { +public class ComponentsProcessor implements ItemProcessor { public static final ItemProcessorFactory FACTORY = new Factory<>(); private final List> arguments; private CompoundTag customData = null; @@ -85,7 +85,7 @@ public class ComponentsProcessor implements ItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map data = ResourceConfigUtils.getAsMap(arg, "components"); return new ComponentsProcessor<>(data); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ConditionalProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ConditionalProcessor.java index 5bc8e3f9b..a31d32f42 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ConditionalProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ConditionalProcessor.java @@ -15,12 +15,12 @@ import java.util.List; import java.util.Map; import java.util.function.Predicate; -public class ConditionalProcessor implements ItemProcessor { +public class ConditionalProcessor implements ItemProcessor { public static final ItemProcessorFactory FACTORY = new Factory<>(); private final Predicate condition; - private final ItemProcessor[] modifiers; + private final ItemProcessor[] modifiers; - public ConditionalProcessor(Predicate condition, ItemProcessor[] modifiers) { + public ConditionalProcessor(Predicate condition, ItemProcessor[] modifiers) { this.modifiers = modifiers; this.condition = condition; } @@ -28,7 +28,7 @@ public class ConditionalProcessor implements ItemProcessor { @Override public Item apply(Item item, ItemBuildContext context) { if (this.condition.test(context)) { - for (ItemProcessor m : this.modifiers) { + for (ItemProcessor m : this.modifiers) { item = item.apply(m, context); } } @@ -38,7 +38,7 @@ public class ConditionalProcessor implements ItemProcessor { @Override public Item prepareNetworkItem(Item item, ItemBuildContext context, CompoundTag networkData) { if (this.condition.test(context)) { - for (ItemProcessor m : this.modifiers) { + for (ItemProcessor m : this.modifiers) { item = m.prepareNetworkItem(item, context, networkData); } } @@ -49,11 +49,11 @@ public class ConditionalProcessor implements ItemProcessor { @SuppressWarnings("unchecked") @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map conditionalData = ResourceConfigUtils.getAsMap(arg, "conditional"); List> conditions = ResourceConfigUtils.parseConfigAsList(conditionalData.get("conditions"), CommonConditions::fromMap); - List> modifiers = new ArrayList<>(); - ItemProcessors.applyDataModifiers(ResourceConfigUtils.getAsMap(conditionalData.get("data"), "conditional.data"), m -> modifiers.add((ItemProcessor) m)); + List modifiers = new ArrayList<>(); + ItemProcessors.applyDataModifiers(ResourceConfigUtils.getAsMap(conditionalData.get("data"), "conditional.data"), m -> modifiers.add((ItemProcessor) m)); return new ConditionalProcessor<>(MiscUtils.allOf(conditions), modifiers.toArray(new ItemProcessor[0])); } } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/CustomModelDataProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/CustomModelDataProcessor.java index d088c85eb..f7b4d3c51 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/CustomModelDataProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/CustomModelDataProcessor.java @@ -44,7 +44,7 @@ public class CustomModelDataProcessor implements SimpleNetworkItemProcessor implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { int customModelData = ResourceConfigUtils.getAsInt(arg, "custom-model-data"); return new CustomModelDataProcessor<>(customModelData); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/CustomNameProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/CustomNameProcessor.java index df7cc1e8f..c5a978782 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/CustomNameProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/CustomNameProcessor.java @@ -56,7 +56,7 @@ public class CustomNameProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { String name = arg.toString(); return new CustomNameProcessor<>(name); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/DyedColorProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/DyedColorProcessor.java index 7455455b2..9d09e2f4e 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/DyedColorProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/DyedColorProcessor.java @@ -46,7 +46,7 @@ public class DyedColorProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { if (arg instanceof Integer integer) { return new DyedColorProcessor<>(Color.fromDecimal(integer)); } else { diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/EnchantmentsProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/EnchantmentsProcessor.java index 1a665ae07..eaa1e90c8 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/EnchantmentsProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/EnchantmentsProcessor.java @@ -90,7 +90,7 @@ public class EnchantmentsProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map enchantData = ResourceConfigUtils.getAsMap(arg, "enchantments"); List enchantments = new ArrayList<>(); boolean merge = false; diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/EquippableAssetIdProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/EquippableAssetIdProcessor.java index 9924e3033..046041ea8 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/EquippableAssetIdProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/EquippableAssetIdProcessor.java @@ -45,7 +45,7 @@ public class EquippableAssetIdProcessor implements SimpleNetworkItemProcessor private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { String id = arg.toString(); return new EquippableAssetIdProcessor<>(Key.of(id)); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/EquippableProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/EquippableProcessor.java index bc8686bcc..dd6d32c13 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/EquippableProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/EquippableProcessor.java @@ -36,7 +36,7 @@ public class EquippableProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map data = ResourceConfigUtils.getAsMap(arg, "equippable"); return new EquippableProcessor<>(EquipmentData.fromMap(data)); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ExternalSourceProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ExternalSourceProcessor.java index 711e2c4d6..ddd450fca 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ExternalSourceProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ExternalSourceProcessor.java @@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull; import java.util.*; -public class ExternalSourceProcessor implements ItemProcessor { +public class ExternalSourceProcessor implements ItemProcessor { public static final ItemProcessorFactory FACTORY = new Factory<>(); private static final ThreadLocal> BUILD_STACK = ThreadLocal.withInitial(LinkedHashSet::new); private final String id; @@ -68,7 +68,7 @@ public class ExternalSourceProcessor implements ItemProcessor { @SuppressWarnings("unchecked") @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map data = ResourceConfigUtils.getAsMap(arg, "external"); String plugin = ResourceConfigUtils.requireNonEmptyStringOrThrow(ResourceConfigUtils.get(data, "plugin", "source"), "warning.config.item.data.external.missing_source"); String id = ResourceConfigUtils.requireNonEmptyStringOrThrow(data.get("id"), "warning.config.item.data.external.missing_id"); diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/FoodProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/FoodProcessor.java index 6eed073f8..b3493e884 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/FoodProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/FoodProcessor.java @@ -52,7 +52,7 @@ public class FoodProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map data = ResourceConfigUtils.getAsMap(arg, "food"); int nutrition = ResourceConfigUtils.getAsInt(data.get("nutrition"), "nutrition"); float saturation = ResourceConfigUtils.getAsFloat(data.get("saturation"), "saturation"); diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/HideTooltipProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/HideTooltipProcessor.java index 4cd9e8f09..96da4adab 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/HideTooltipProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/HideTooltipProcessor.java @@ -15,7 +15,7 @@ import java.util.Map; import java.util.stream.Collectors; import java.util.stream.Stream; -public class HideTooltipProcessor implements ItemProcessor { +public class HideTooltipProcessor implements ItemProcessor { public static final ItemProcessorFactory FACTORY = new Factory<>(); public static final Map TO_LEGACY; public static final List COMPONENTS = List.of( @@ -230,7 +230,7 @@ public class HideTooltipProcessor implements ItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { List components = MiscUtils.getAsStringList(arg).stream().map(Key::of).toList(); return new HideTooltipProcessor<>(components); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemModelProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemModelProcessor.java index a213e679c..2d2fdf315 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemModelProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemModelProcessor.java @@ -32,7 +32,7 @@ public class ItemModelProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { String id = arg.toString(); return new ItemModelProcessor<>(Key.of(id)); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemNameProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemNameProcessor.java index 6092770b6..1be6c1243 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemNameProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemNameProcessor.java @@ -47,7 +47,7 @@ public class ItemNameProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { String name = arg.toString(); return new ItemNameProcessor<>(name); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemProcessors.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemProcessors.java index 7c493b85b..16f68de0d 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemProcessors.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemProcessors.java @@ -71,7 +71,7 @@ public final class ItemProcessors { } @SuppressWarnings("unchecked") - public static void applyDataModifiers(Map dataSection, Consumer> callback) { + public static void applyDataModifiers(Map dataSection, Consumer callback) { ExceptionCollector errorCollector = new ExceptionCollector<>(); if (dataSection != null) { for (Map.Entry dataEntry : dataSection.entrySet()) { @@ -82,7 +82,7 @@ public final class ItemProcessors { try { ItemProcessorFactory factory = processorType.factory(); if (factory != null) { - callback.accept((ItemProcessor) factory.create(value)); + callback.accept((ItemProcessor) factory.create(value)); } } catch (LocalizedResourceConfigException e) { errorCollector.add(e); diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemVersionProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemVersionProcessor.java index a90cc0665..a7f48bd20 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemVersionProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemVersionProcessor.java @@ -8,7 +8,7 @@ import net.momirealms.sparrow.nbt.CompoundTag; import java.util.Optional; -public class ItemVersionProcessor implements ItemProcessor { +public class ItemVersionProcessor implements ItemProcessor { public static final String VERSION_TAG = "craftengine:version"; private final int version; diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/JukeboxSongProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/JukeboxSongProcessor.java index 9c3666d6e..66aa8f7b2 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/JukeboxSongProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/JukeboxSongProcessor.java @@ -5,7 +5,7 @@ import net.momirealms.craftengine.core.item.ItemBuildContext; import net.momirealms.craftengine.core.item.ItemProcessorFactory; import net.momirealms.craftengine.core.item.data.JukeboxPlayable; -public class JukeboxSongProcessor implements ItemProcessor { +public class JukeboxSongProcessor implements ItemProcessor { public static final ItemProcessorFactory FACTORY = new Factory<>(); private final JukeboxPlayable song; @@ -26,7 +26,7 @@ public class JukeboxSongProcessor implements ItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { String song = arg.toString(); return new JukeboxSongProcessor<>(new JukeboxPlayable(song, true)); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/MaxDamageProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/MaxDamageProcessor.java index 9490346e9..020b12995 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/MaxDamageProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/MaxDamageProcessor.java @@ -31,7 +31,7 @@ public class MaxDamageProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { NumberProvider numberProvider = NumberProviders.fromObject(arg); return new MaxDamageProcessor<>(numberProvider); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableCustomModelDataProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableCustomModelDataProcessor.java index 23b0dd9f6..3d3b2b6bf 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableCustomModelDataProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableCustomModelDataProcessor.java @@ -45,7 +45,7 @@ public class OverwritableCustomModelDataProcessor implements SimpleNetworkIte private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { int customModelData = ResourceConfigUtils.getAsInt(arg, "custom-model-data"); return new OverwritableCustomModelDataProcessor<>(customModelData); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableItemModelProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableItemModelProcessor.java index d2a00b927..e4ae99518 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableItemModelProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableItemModelProcessor.java @@ -33,7 +33,7 @@ public class OverwritableItemModelProcessor implements SimpleNetworkItemProce private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { String id = arg.toString(); return new OverwritableItemModelProcessor<>(Key.of(id)); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableItemNameProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableItemNameProcessor.java index 11af0d1ce..c985b0d52 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableItemNameProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableItemNameProcessor.java @@ -48,7 +48,7 @@ public class OverwritableItemNameProcessor implements SimpleNetworkItemProces private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { return new OverwritableItemNameProcessor<>(arg.toString()); } } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/PDCProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/PDCProcessor.java index 8e544bedd..7943ece02 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/PDCProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/PDCProcessor.java @@ -12,7 +12,7 @@ import net.momirealms.sparrow.nbt.CompoundTag; import java.util.Map; import java.util.Optional; -public class PDCProcessor implements ItemProcessor { +public class PDCProcessor implements ItemProcessor { public static final String BUKKIT_PDC = "PublicBukkitValues"; public static final ItemProcessorFactory FACTORY = new Factory<>(); private final CompoundTag data; @@ -36,7 +36,7 @@ public class PDCProcessor implements ItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map data = ResourceConfigUtils.getAsMap(arg, "pdc"); CompoundTag tag = (CompoundTag) CraftEngine.instance().platform().javaToSparrowNBT(data); return new PDCProcessor<>(tag); diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/RemoveComponentProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/RemoveComponentProcessor.java index 4f4e67e32..fa5d7b10a 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/RemoveComponentProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/RemoveComponentProcessor.java @@ -11,7 +11,7 @@ import net.momirealms.sparrow.nbt.Tag; import java.util.Collections; import java.util.List; -public class RemoveComponentProcessor implements ItemProcessor { +public class RemoveComponentProcessor implements ItemProcessor { public static final ItemProcessorFactory FACTORY = new Factory<>(); private final List arguments; @@ -45,7 +45,7 @@ public class RemoveComponentProcessor implements ItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { List data = MiscUtils.getAsStringList(arg); return new RemoveComponentProcessor<>(data); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/SimpleNetworkItemProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/SimpleNetworkItemProcessor.java index 208d2a3bc..fed670471 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/SimpleNetworkItemProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/SimpleNetworkItemProcessor.java @@ -9,7 +9,7 @@ import net.momirealms.sparrow.nbt.CompoundTag; import net.momirealms.sparrow.nbt.Tag; import org.jetbrains.annotations.Nullable; -public interface SimpleNetworkItemProcessor extends ItemProcessor { +public interface SimpleNetworkItemProcessor extends ItemProcessor { @Override default Item prepareNetworkItem(Item item, ItemBuildContext context, CompoundTag networkData) { diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/TagsProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/TagsProcessor.java index 0975e4cd5..15f26b829 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/TagsProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/TagsProcessor.java @@ -11,7 +11,7 @@ import net.momirealms.sparrow.nbt.Tag; import java.util.LinkedHashMap; import java.util.Map; -public class TagsProcessor implements ItemProcessor { +public class TagsProcessor implements ItemProcessor { public static final ItemProcessorFactory FACTORY = new Factory<>(); private final Map arguments; @@ -132,7 +132,7 @@ public class TagsProcessor implements ItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map data = ResourceConfigUtils.getAsMap(arg, "nbt"); return new TagsProcessor<>(data); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/TooltipStyleProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/TooltipStyleProcessor.java index 586b8b955..510fd1c84 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/TooltipStyleProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/TooltipStyleProcessor.java @@ -33,7 +33,7 @@ public class TooltipStyleProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { String id = arg.toString(); return new TooltipStyleProcessor<>(Key.of(id)); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/TrimProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/TrimProcessor.java index df2469563..a2e222a8a 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/TrimProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/TrimProcessor.java @@ -54,7 +54,7 @@ public class TrimProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map data = ResourceConfigUtils.getAsMap(arg, "trim"); String material = data.get("material").toString().toLowerCase(Locale.ENGLISH); String pattern = data.get("pattern").toString().toLowerCase(Locale.ENGLISH); diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/UnbreakableProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/UnbreakableProcessor.java index abc1265a2..fa8b20dd0 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/UnbreakableProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/UnbreakableProcessor.java @@ -45,7 +45,7 @@ public class UnbreakableProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { boolean value = ResourceConfigUtils.getAsBoolean(arg, "unbreakable"); return new UnbreakableProcessor<>(value); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/DynamicLoreProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/DynamicLoreProcessor.java index 15e73e603..4d63c3b30 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/DynamicLoreProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/DynamicLoreProcessor.java @@ -54,7 +54,7 @@ public final class DynamicLoreProcessor implements SimpleNetworkItemProcessor private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map> dynamicLore = new LinkedHashMap<>(); if (arg instanceof Map map) { for (Map.Entry entry : map.entrySet()) { diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/LoreFactory.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/LoreFactory.java index aa0ec3460..54839099d 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/LoreFactory.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/LoreFactory.java @@ -5,7 +5,7 @@ import net.momirealms.craftengine.core.item.processor.ItemProcessor; class LoreFactory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { return LoreProcessor.createLoreModifier(arg); } } \ No newline at end of file diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/OverwritableLoreProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/OverwritableLoreProcessor.java index a7ee17938..45d653076 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/OverwritableLoreProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/OverwritableLoreProcessor.java @@ -49,7 +49,7 @@ public final class OverwritableLoreProcessor implements SimpleNetworkItemProc private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { LoreProcessor lore = LoreProcessor.createLoreModifier(arg); return new OverwritableLoreProcessor<>(lore); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/recipe/result/ApplyItemDataPostProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/recipe/result/ApplyItemDataPostProcessor.java index 39c9354b8..65b71c342 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/recipe/result/ApplyItemDataPostProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/recipe/result/ApplyItemDataPostProcessor.java @@ -12,15 +12,15 @@ import java.util.Map; public class ApplyItemDataPostProcessor implements PostProcessor { public static final PostProcessorFactory FACTORY = new Factory<>(); - private final ItemProcessor[] modifiers; + private final ItemProcessor[] modifiers; - public ApplyItemDataPostProcessor(ItemProcessor[] modifiers) { + public ApplyItemDataPostProcessor(ItemProcessor[] modifiers) { this.modifiers = modifiers; } @Override public Item process(Item item, ItemBuildContext context) { - for (ItemProcessor modifier : this.modifiers) { + for (ItemProcessor modifier : this.modifiers) { item.apply(modifier, context); } return item; @@ -31,7 +31,7 @@ public class ApplyItemDataPostProcessor implements PostProcessor { @SuppressWarnings("unchecked") @Override public PostProcessor create(Map args) { - List> modifiers = new ArrayList<>(); + List modifiers = new ArrayList<>(); Map data = ResourceConfigUtils.getAsMap(args.get("data"), "data"); ItemProcessors.applyDataModifiers(data, modifiers::add); return new ApplyItemDataPostProcessor<>(modifiers.toArray(new ItemProcessor[0])); diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/updater/impl/ApplyDataOperation.java b/core/src/main/java/net/momirealms/craftengine/core/item/updater/impl/ApplyDataOperation.java index a046161d8..aa6b3dab1 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/updater/impl/ApplyDataOperation.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/updater/impl/ApplyDataOperation.java @@ -15,16 +15,16 @@ import java.util.Map; public final class ApplyDataOperation implements ItemUpdater { public static final ItemUpdaterFactory FACTORY = new Factory<>(); - private final List> modifiers; + private final List modifiers; - public ApplyDataOperation(List> modifiers) { + public ApplyDataOperation(List modifiers) { this.modifiers = modifiers; } @Override public Item update(Item item, ItemBuildContext context) { if (this.modifiers != null) { - for (ItemProcessor modifier : this.modifiers) { + for (ItemProcessor modifier : this.modifiers) { modifier.apply(item, context); } } @@ -36,10 +36,10 @@ public final class ApplyDataOperation implements ItemUpdater { @SuppressWarnings("unchecked") @Override public ItemUpdater create(Key item, Map args) { - List> modifiers = new ArrayList<>(); + List modifiers = new ArrayList<>(); Map data = ResourceConfigUtils.getAsMap(args.get("data"), "data"); ItemProcessors.applyDataModifiers(data, m -> { - modifiers.add((ItemProcessor) m); + modifiers.add((ItemProcessor) m); }); return new ApplyDataOperation<>(modifiers); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/loot/function/ApplyDataFunction.java b/core/src/main/java/net/momirealms/craftengine/core/loot/function/ApplyDataFunction.java index 7f837a69f..692c14a38 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/loot/function/ApplyDataFunction.java +++ b/core/src/main/java/net/momirealms/craftengine/core/loot/function/ApplyDataFunction.java @@ -15,9 +15,9 @@ import java.util.Map; public final class ApplyDataFunction extends AbstractLootConditionalFunction { public static final LootFunctionFactory FACTORY = new Factory<>(); - private final ItemProcessor[] modifiers; + private final ItemProcessor[] modifiers; - public ApplyDataFunction(List> conditions, ItemProcessor[] modifiers) { + public ApplyDataFunction(List> conditions, ItemProcessor[] modifiers) { super(conditions); this.modifiers = modifiers; } @@ -36,7 +36,7 @@ public final class ApplyDataFunction extends AbstractLootConditionalFunction< @Override public LootFunction create(Map arguments) { - List> modifiers = new ArrayList<>(); + List modifiers = new ArrayList<>(); Map data = ResourceConfigUtils.getAsMap(ResourceConfigUtils.requireNonNullOrThrow(arguments.get("data"), "warning.config.loot_table.function.apply_data.missing_data"), "data"); ItemProcessors.applyDataModifiers(data, modifiers::add); List> conditions = ResourceConfigUtils.parseConfigAsList(arguments.get("conditions"), CommonConditions::fromMap); diff --git a/core/src/main/java/net/momirealms/craftengine/core/plugin/context/CooldownData.java b/core/src/main/java/net/momirealms/craftengine/core/plugin/context/CooldownData.java index 7ac74b314..88e7184cc 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/plugin/context/CooldownData.java +++ b/core/src/main/java/net/momirealms/craftengine/core/plugin/context/CooldownData.java @@ -44,6 +44,10 @@ public class CooldownData { this.cooldownMap.clear(); } + public Long getCooldown(String key) { + return this.cooldownMap.get(key); + } + public static byte[] toBytes(CooldownData data) throws IOException { CompoundTag tag = new CompoundTag(); long currentTime = System.currentTimeMillis(); diff --git a/core/src/main/java/net/momirealms/craftengine/core/util/CountdownFormatter.java b/core/src/main/java/net/momirealms/craftengine/core/util/CountdownFormatter.java new file mode 100644 index 000000000..d1657faa6 --- /dev/null +++ b/core/src/main/java/net/momirealms/craftengine/core/util/CountdownFormatter.java @@ -0,0 +1,125 @@ +package net.momirealms.craftengine.core.util; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public final class CountdownFormatter { + private static final Pattern YEAR_PATTERN = Pattern.compile("[Yy]+"); + private static final Pattern MONTH_PATTERN = Pattern.compile("M+"); + private static final Pattern DAY_PATTERN = Pattern.compile("[Dd]+"); + private static final Pattern HOUR_PATTERN = Pattern.compile("[Hh]+"); + private static final Pattern MINUTE_PATTERN = Pattern.compile("m+"); + private static final Pattern SECOND_PATTERN = Pattern.compile("s+"); + private static final Pattern MILLIS_PATTERN = Pattern.compile("S+"); + private final String pattern; + private final Matcher yearMatcher; + private final Matcher monthMatcher; + private final Matcher dayMatcher; + private final Matcher hourMatcher; + private final Matcher minuteMatcher; + private final Matcher secondMatcher; + private final Matcher millisMatcher; + private final boolean hasYear; + private final boolean hasMonth; + private final boolean hasDay; + private final boolean hasHour; + private final boolean hasMinute; + private final boolean hasSecond; + private final boolean hasMillis; + + private CountdownFormatter(String pattern) { + this.pattern = pattern; + this.yearMatcher = YEAR_PATTERN.matcher(pattern); + this.monthMatcher = MONTH_PATTERN.matcher(pattern); + this.dayMatcher = DAY_PATTERN.matcher(pattern); + this.hourMatcher = HOUR_PATTERN.matcher(pattern); + this.minuteMatcher = MINUTE_PATTERN.matcher(pattern); + this.secondMatcher = SECOND_PATTERN.matcher(pattern); + this.millisMatcher = MILLIS_PATTERN.matcher(pattern); + this.hasYear = yearMatcher.find(); + this.hasMonth = monthMatcher.find(); + this.hasDay = dayMatcher.find(); + this.hasHour = hourMatcher.find(); + this.hasMinute = minuteMatcher.find(); + this.hasSecond = secondMatcher.find(); + this.hasMillis = millisMatcher.find(); + } + + public static CountdownFormatter of(String pattern) { + return new CountdownFormatter(pattern); + } + + public String format(long millis) { + long years = 0, months = 0, days = 0, hours = 0, minutes = 0, seconds = 0; + + if (!hasMillis) { + seconds = millis / 1000; + millis = 0; + } + if (!hasSecond) { + minutes = seconds / 60; + seconds = 0; + } + if (!hasMinute) { + hours = minutes / 60; + minutes = 0; + } + if (!hasHour) { + days = hours / 24; + hours = 0; + } + if (!hasDay) { + months = days / 30; + days = 0; + } + if (!hasMonth) { + years = months / 12; + months = 0; + } + + if (hasMillis && hasSecond) { + seconds = millis / 1000; + millis %= 1000; + } + if (hasSecond && hasMinute) { + minutes = seconds / 60; + seconds %= 60; + } + if (hasMinute && hasHour) { + hours = minutes / 60; + minutes %= 60; + } + if (hasHour && hasDay) { + days = hours / 24; + hours %= 24; + } + if (hasDay && hasMonth) { + months = days / 30; + days %= 30; + } + if (hasMonth && hasYear) { + years = months / 12; + months %= 12; + } + + StringBuilder result = new StringBuilder(pattern); + replaceUnit(result, yearMatcher, years); + replaceUnit(result, monthMatcher, months); + replaceUnit(result, dayMatcher, days); + replaceUnit(result, hourMatcher, hours); + replaceUnit(result, minuteMatcher, minutes); + replaceUnit(result, secondMatcher, seconds); + replaceUnit(result, millisMatcher, millis); + + return result.toString(); + } + + private void replaceUnit(StringBuilder text, Matcher matcher, long value) { + matcher.reset(text); + if (matcher.find()) { + int length = matcher.group().length(); + String formatted = String.format("%0" + length + "d", value); + text.replace(matcher.start(), matcher.end(), formatted); + } + } +} From 8b87e025319a212e72d7b157fcf2a973aa4cac81 Mon Sep 17 00:00:00 2001 From: jhqwqmc Date: Sun, 28 Dec 2025 20:22:53 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=9B=9E=E6=BB=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bukkit/item/BukkitCustomItem.java | 18 +++++++++--------- .../bukkit/item/LegacyNetworkItemHandler.java | 4 ++-- .../bukkit/item/ModernNetworkItemHandler.java | 4 ++-- .../core/item/AbstractCustomItem.java | 12 ++++++------ .../core/item/AbstractItemManager.java | 2 +- .../craftengine/core/item/CustomItem.java | 12 ++++++------ .../momirealms/craftengine/core/item/Item.java | 2 +- .../core/item/ItemProcessorFactory.java | 4 ++-- .../craftengine/core/item/ItemSettings.java | 8 ++++---- .../equipment/ComponentBasedEquipment.java | 2 +- .../core/item/equipment/Equipment.java | 2 +- .../item/equipment/TrimBasedEquipment.java | 2 +- .../item/processor/ArgumentsProcessor.java | 4 ++-- .../processor/AttributeModifiersProcessor.java | 2 +- .../item/processor/BlockStateProcessor.java | 2 +- .../item/processor/ComponentsProcessor.java | 4 ++-- .../item/processor/ConditionalProcessor.java | 16 ++++++++-------- .../processor/CustomModelDataProcessor.java | 2 +- .../item/processor/CustomNameProcessor.java | 2 +- .../item/processor/DyedColorProcessor.java | 2 +- .../item/processor/EnchantmentsProcessor.java | 2 +- .../processor/EquippableAssetIdProcessor.java | 2 +- .../item/processor/EquippableProcessor.java | 2 +- .../processor/ExternalSourceProcessor.java | 4 ++-- .../core/item/processor/FoodProcessor.java | 2 +- .../item/processor/HideTooltipProcessor.java | 4 ++-- .../core/item/processor/IdProcessor.java | 12 ++++++------ .../item/processor/ItemModelProcessor.java | 2 +- .../core/item/processor/ItemNameProcessor.java | 2 +- .../core/item/processor/ItemProcessor.java | 6 +++--- .../core/item/processor/ItemProcessorType.java | 2 +- .../core/item/processor/ItemProcessors.java | 4 ++-- .../item/processor/ItemVersionProcessor.java | 2 +- .../item/processor/JukeboxSongProcessor.java | 4 ++-- .../item/processor/MaxDamageProcessor.java | 2 +- .../OverwritableCustomModelDataProcessor.java | 2 +- .../OverwritableItemModelProcessor.java | 2 +- .../OverwritableItemNameProcessor.java | 2 +- .../core/item/processor/PDCProcessor.java | 4 ++-- .../processor/RemoveComponentProcessor.java | 4 ++-- .../processor/SimpleNetworkItemProcessor.java | 2 +- .../core/item/processor/TagsProcessor.java | 4 ++-- .../item/processor/TooltipStyleProcessor.java | 2 +- .../core/item/processor/TrimProcessor.java | 2 +- .../item/processor/UnbreakableProcessor.java | 2 +- .../processor/lore/DynamicLoreProcessor.java | 2 +- .../core/item/processor/lore/LoreFactory.java | 2 +- .../lore/OverwritableLoreProcessor.java | 2 +- .../result/ApplyItemDataPostProcessor.java | 8 ++++---- .../item/updater/impl/ApplyDataOperation.java | 10 +++++----- .../core/loot/function/ApplyDataFunction.java | 6 +++--- .../core/registry/BuiltInRegistries.java | 3 +-- .../craftengine/core/registry/Registries.java | 3 +-- 53 files changed, 109 insertions(+), 111 deletions(-) diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/BukkitCustomItem.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/BukkitCustomItem.java index cb8844f28..c7839cb4a 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/BukkitCustomItem.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/BukkitCustomItem.java @@ -24,7 +24,7 @@ public class BukkitCustomItem extends AbstractCustomItem { public BukkitCustomItem(boolean isVanillaItem, UniqueKey id, Object item, Object clientItem, Key materialKey, Key clientBoundMaterialKey, List behaviors, - List modifiers, List clientBoundModifiers, + List> modifiers, List> clientBoundModifiers, ItemSettings settings, Map>> events, ItemUpdateConfig updater) { @@ -37,7 +37,7 @@ public class BukkitCustomItem extends AbstractCustomItem { public ItemStack buildItemStack(ItemBuildContext context, int count) { ItemStack item = FastNMS.INSTANCE.method$CraftItemStack$asCraftMirror(FastNMS.INSTANCE.constructor$ItemStack(this.item, count)); Item wrapped = BukkitCraftEngine.instance().itemManager().wrap(item); - for (ItemProcessor modifier : this.modifiers) { + for (ItemProcessor modifier : this.modifiers) { modifier.apply(wrapped, context); } return wrapped.getItem(); @@ -47,7 +47,7 @@ public class BukkitCustomItem extends AbstractCustomItem { public Item buildItem(ItemBuildContext context, int count) { ItemStack item = FastNMS.INSTANCE.method$CraftItemStack$asCraftMirror(FastNMS.INSTANCE.constructor$ItemStack(this.item, count)); Item wrapped = BukkitCraftEngine.instance().itemManager().wrap(item); - for (ItemProcessor modifier : dataModifiers()) { + for (ItemProcessor modifier : dataModifiers()) { modifier.apply(wrapped, context); } return wrapped; @@ -78,8 +78,8 @@ public class BukkitCustomItem extends AbstractCustomItem { private final Object clientBoundItem; private final Map>> events = new EnumMap<>(EventTrigger.class); private final List behaviors = new ArrayList<>(4); - private final List modifiers = new ArrayList<>(4); - private final List clientBoundModifiers = new ArrayList<>(4); + private final List> modifiers = new ArrayList<>(4); + private final List> clientBoundModifiers = new ArrayList<>(4); private ItemSettings settings; private ItemUpdateConfig updater; @@ -113,25 +113,25 @@ public class BukkitCustomItem extends AbstractCustomItem { } @Override - public Builder dataModifier(ItemProcessor modifier) { + public Builder dataModifier(ItemProcessor modifier) { this.modifiers.add(modifier); return this; } @Override - public Builder dataModifiers(List modifiers) { + public Builder dataModifiers(List> modifiers) { this.modifiers.addAll(modifiers); return this; } @Override - public Builder clientBoundDataModifier(ItemProcessor modifier) { + public Builder clientBoundDataModifier(ItemProcessor modifier) { this.clientBoundModifiers.add(modifier); return this; } @Override - public Builder clientBoundDataModifiers(List modifiers) { + public Builder clientBoundDataModifiers(List> modifiers) { this.clientBoundModifiers.addAll(modifiers); return null; } diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/LegacyNetworkItemHandler.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/LegacyNetworkItemHandler.java index 129991750..0fa36b196 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/LegacyNetworkItemHandler.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/LegacyNetworkItemHandler.java @@ -221,11 +221,11 @@ public final class LegacyNetworkItemHandler implements NetworkItemHandler modifier : customItem.clientBoundDataModifiers()) { modifier.prepareNetworkItem(wrapped, context, tag); } // 应用阶段 - for (ItemProcessor modifier : customItem.clientBoundDataModifiers()) { + for (ItemProcessor modifier : customItem.clientBoundDataModifiers()) { modifier.apply(wrapped, context); } // 如果拦截物品的描述名称等 diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/ModernNetworkItemHandler.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/ModernNetworkItemHandler.java index 64e19022b..8e66fdc14 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/ModernNetworkItemHandler.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/ModernNetworkItemHandler.java @@ -198,11 +198,11 @@ public final class ModernNetworkItemHandler implements NetworkItemHandler modifier : customItem.clientBoundDataModifiers()) { modifier.prepareNetworkItem(original, context, tag); } // 应用阶段 - for (ItemProcessor modifier : customItem.clientBoundDataModifiers()) { + for (ItemProcessor modifier : customItem.clientBoundDataModifiers()) { modifier.apply(wrapped, context); } // 如果拦截物品的描述名称等 diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/AbstractCustomItem.java b/core/src/main/java/net/momirealms/craftengine/core/item/AbstractCustomItem.java index 2c32dda5a..a4c4a524d 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/AbstractCustomItem.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/AbstractCustomItem.java @@ -20,8 +20,8 @@ public abstract class AbstractCustomItem implements CustomItem { protected final UniqueKey id; protected final Key material; protected final Key clientBoundMaterial; - protected final ItemProcessor[] modifiers; - protected final ItemProcessor[] clientBoundModifiers; + protected final ItemProcessor[] modifiers; + protected final ItemProcessor[] clientBoundModifiers; protected final List behaviors; protected final ItemSettings settings; protected final Map>> events; @@ -30,8 +30,8 @@ public abstract class AbstractCustomItem implements CustomItem { @SuppressWarnings("unchecked") public AbstractCustomItem(boolean isVanillaItem, UniqueKey id, Key material, Key clientBoundMaterial, List behaviors, - List modifiers, - List clientBoundModifiers, + List> modifiers, + List> clientBoundModifiers, ItemSettings settings, Map>> events, ItemUpdateConfig updater) { @@ -82,7 +82,7 @@ public abstract class AbstractCustomItem implements CustomItem { } @Override - public ItemProcessor[] dataModifiers() { + public ItemProcessor[] dataModifiers() { return this.modifiers; } @@ -97,7 +97,7 @@ public abstract class AbstractCustomItem implements CustomItem { } @Override - public ItemProcessor[] clientBoundDataModifiers() { + public ItemProcessor[] clientBoundDataModifiers() { return this.clientBoundModifiers; } 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 be5385367..3b6b2d0e3 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 @@ -603,7 +603,7 @@ public abstract class AbstractItemManager extends AbstractModelGenerator impl // 如果不是原版物品,那么加入ce的标识符 if (!isVanillaItem) - itemBuilder.dataModifier(new IdProcessor(id)); + itemBuilder.dataModifier(new IdProcessor<>(id)); // 事件 Map>> eventTriggerListMap; diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/CustomItem.java b/core/src/main/java/net/momirealms/craftengine/core/item/CustomItem.java index abc47a7d7..d7b1c595f 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/CustomItem.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/CustomItem.java @@ -35,11 +35,11 @@ public interface CustomItem extends BuildableItem { Key clientBoundMaterial(); - ItemProcessor[] dataModifiers(); + ItemProcessor[] dataModifiers(); boolean hasClientBoundDataModifier(); - ItemProcessor[] clientBoundDataModifiers(); + ItemProcessor[] clientBoundDataModifiers(); ItemSettings settings(); @@ -63,13 +63,13 @@ public interface CustomItem extends BuildableItem { Builder material(Key material); - Builder dataModifier(ItemProcessor modifier); + Builder dataModifier(ItemProcessor modifier); - Builder dataModifiers(List modifiers); + Builder dataModifiers(List> modifiers); - Builder clientBoundDataModifier(ItemProcessor modifier); + Builder clientBoundDataModifier(ItemProcessor modifier); - Builder clientBoundDataModifiers(List modifiers); + Builder clientBoundDataModifiers(List> modifiers); Builder behavior(ItemBehavior behavior); diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/Item.java b/core/src/main/java/net/momirealms/craftengine/core/item/Item.java index 5ebe25443..53c40643d 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/Item.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/Item.java @@ -228,7 +228,7 @@ public interface Item { void merge(Item another); - default Item apply(ItemProcessor modifier, ItemBuildContext context) { + default Item apply(ItemProcessor modifier, ItemBuildContext context) { return modifier.apply(this, context); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/ItemProcessorFactory.java b/core/src/main/java/net/momirealms/craftengine/core/item/ItemProcessorFactory.java index 52eb62df3..8e3aac5ab 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/ItemProcessorFactory.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/ItemProcessorFactory.java @@ -2,7 +2,7 @@ package net.momirealms.craftengine.core.item; import net.momirealms.craftengine.core.item.processor.ItemProcessor; -public interface ItemProcessorFactory { +public interface ItemProcessorFactory { - T create(Object arg); + ItemProcessor create(Object arg); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/ItemSettings.java b/core/src/main/java/net/momirealms/craftengine/core/item/ItemSettings.java index e16bd9593..e3c8f9c50 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/ItemSettings.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/ItemSettings.java @@ -58,8 +58,8 @@ public class ItemSettings { private ItemSettings() {} - public List modifiers() { - ArrayList modifiers = new ArrayList<>(); + public List> modifiers() { + ArrayList> modifiers = new ArrayList<>(); if (this.equipment != null) { EquipmentData data = this.equipment.equipmentData(); if (data != null) { @@ -75,8 +75,8 @@ public class ItemSettings { return modifiers; } - public List clientBoundModifiers() { - ArrayList modifiers = new ArrayList<>(); + public List> clientBoundModifiers() { + ArrayList> modifiers = new ArrayList<>(); if (this.equipment != null) { if (this.equipment.clientBoundModel().asBoolean(Config.globalClientboundModel())) { modifiers.addAll(this.equipment.equipment().modifiers()); diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/equipment/ComponentBasedEquipment.java b/core/src/main/java/net/momirealms/craftengine/core/item/equipment/ComponentBasedEquipment.java index 899d202ba..67cbe79ba 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/equipment/ComponentBasedEquipment.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/equipment/ComponentBasedEquipment.java @@ -26,7 +26,7 @@ public final class ComponentBasedEquipment extends AbstractEquipment implements } @Override - public List modifiers() { + public List> modifiers() { return List.of(new EquippableAssetIdProcessor<>(this.assetId)); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/equipment/Equipment.java b/core/src/main/java/net/momirealms/craftengine/core/item/equipment/Equipment.java index 68dece052..36f9ed8df 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/equipment/Equipment.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/equipment/Equipment.java @@ -9,5 +9,5 @@ public interface Equipment { Key assetId(); - List modifiers(); + List> modifiers(); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/equipment/TrimBasedEquipment.java b/core/src/main/java/net/momirealms/craftengine/core/item/equipment/TrimBasedEquipment.java index cb3b2770a..93afd0287 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/equipment/TrimBasedEquipment.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/equipment/TrimBasedEquipment.java @@ -34,7 +34,7 @@ public final class TrimBasedEquipment extends AbstractEquipment { } @Override - public List modifiers() { + public List> modifiers() { return List.of( new TrimProcessor<>(Key.of(AbstractPackManager.NEW_TRIM_MATERIAL), this.assetId), new HideTooltipProcessor<>(List.of(DataComponentKeys.TRIM)) diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ArgumentsProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ArgumentsProcessor.java index 23d1b2e82..17af73946 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ArgumentsProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ArgumentsProcessor.java @@ -15,7 +15,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Optional; -public class ArgumentsProcessor implements ItemProcessor { +public class ArgumentsProcessor implements ItemProcessor { public static final ItemProcessorFactory FACTORY = new Factory<>(); public static final String ARGUMENTS_TAG = "craftengine:arguments"; private final Map arguments; @@ -51,7 +51,7 @@ public class ArgumentsProcessor implements ItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map data = ResourceConfigUtils.getAsMap(arg, "arguments"); Map arguments = new HashMap<>(); for (Map.Entry entry : data.entrySet()) { diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/AttributeModifiersProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/AttributeModifiersProcessor.java index 4b820a5cb..49a28c4f9 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/AttributeModifiersProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/AttributeModifiersProcessor.java @@ -155,7 +155,7 @@ public class AttributeModifiersProcessor implements SimpleNetworkItemProcesso private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { List attributeModifiers = ResourceConfigUtils.parseConfigAsList(arg, (map) -> { String type = ResourceConfigUtils.requireNonEmptyStringOrThrow(map.get("type"), "warning.config.item.data.attribute_modifiers.missing_type"); Key nativeType = AttributeModifiersProcessor.getNativeAttributeName(Key.of(type)); diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/BlockStateProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/BlockStateProcessor.java index 26e7d883b..df0f249aa 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/BlockStateProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/BlockStateProcessor.java @@ -48,7 +48,7 @@ public class BlockStateProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { if (arg instanceof Map map) { Map properties = new HashMap<>(); for (Map.Entry entry : map.entrySet()) { diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ComponentsProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ComponentsProcessor.java index 4e74046e4..a4ee18698 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ComponentsProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ComponentsProcessor.java @@ -12,7 +12,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -public class ComponentsProcessor implements ItemProcessor { +public class ComponentsProcessor implements ItemProcessor { public static final ItemProcessorFactory FACTORY = new Factory<>(); private final List> arguments; private CompoundTag customData = null; @@ -85,7 +85,7 @@ public class ComponentsProcessor implements ItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map data = ResourceConfigUtils.getAsMap(arg, "components"); return new ComponentsProcessor<>(data); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ConditionalProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ConditionalProcessor.java index a31d32f42..5bc8e3f9b 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ConditionalProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ConditionalProcessor.java @@ -15,12 +15,12 @@ import java.util.List; import java.util.Map; import java.util.function.Predicate; -public class ConditionalProcessor implements ItemProcessor { +public class ConditionalProcessor implements ItemProcessor { public static final ItemProcessorFactory FACTORY = new Factory<>(); private final Predicate condition; - private final ItemProcessor[] modifiers; + private final ItemProcessor[] modifiers; - public ConditionalProcessor(Predicate condition, ItemProcessor[] modifiers) { + public ConditionalProcessor(Predicate condition, ItemProcessor[] modifiers) { this.modifiers = modifiers; this.condition = condition; } @@ -28,7 +28,7 @@ public class ConditionalProcessor implements ItemProcessor { @Override public Item apply(Item item, ItemBuildContext context) { if (this.condition.test(context)) { - for (ItemProcessor m : this.modifiers) { + for (ItemProcessor m : this.modifiers) { item = item.apply(m, context); } } @@ -38,7 +38,7 @@ public class ConditionalProcessor implements ItemProcessor { @Override public Item prepareNetworkItem(Item item, ItemBuildContext context, CompoundTag networkData) { if (this.condition.test(context)) { - for (ItemProcessor m : this.modifiers) { + for (ItemProcessor m : this.modifiers) { item = m.prepareNetworkItem(item, context, networkData); } } @@ -49,11 +49,11 @@ public class ConditionalProcessor implements ItemProcessor { @SuppressWarnings("unchecked") @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map conditionalData = ResourceConfigUtils.getAsMap(arg, "conditional"); List> conditions = ResourceConfigUtils.parseConfigAsList(conditionalData.get("conditions"), CommonConditions::fromMap); - List modifiers = new ArrayList<>(); - ItemProcessors.applyDataModifiers(ResourceConfigUtils.getAsMap(conditionalData.get("data"), "conditional.data"), m -> modifiers.add((ItemProcessor) m)); + List> modifiers = new ArrayList<>(); + ItemProcessors.applyDataModifiers(ResourceConfigUtils.getAsMap(conditionalData.get("data"), "conditional.data"), m -> modifiers.add((ItemProcessor) m)); return new ConditionalProcessor<>(MiscUtils.allOf(conditions), modifiers.toArray(new ItemProcessor[0])); } } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/CustomModelDataProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/CustomModelDataProcessor.java index f7b4d3c51..d088c85eb 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/CustomModelDataProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/CustomModelDataProcessor.java @@ -44,7 +44,7 @@ public class CustomModelDataProcessor implements SimpleNetworkItemProcessor implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { int customModelData = ResourceConfigUtils.getAsInt(arg, "custom-model-data"); return new CustomModelDataProcessor<>(customModelData); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/CustomNameProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/CustomNameProcessor.java index c5a978782..df7cc1e8f 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/CustomNameProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/CustomNameProcessor.java @@ -56,7 +56,7 @@ public class CustomNameProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { String name = arg.toString(); return new CustomNameProcessor<>(name); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/DyedColorProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/DyedColorProcessor.java index 9d09e2f4e..7455455b2 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/DyedColorProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/DyedColorProcessor.java @@ -46,7 +46,7 @@ public class DyedColorProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { if (arg instanceof Integer integer) { return new DyedColorProcessor<>(Color.fromDecimal(integer)); } else { diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/EnchantmentsProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/EnchantmentsProcessor.java index eaa1e90c8..1a665ae07 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/EnchantmentsProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/EnchantmentsProcessor.java @@ -90,7 +90,7 @@ public class EnchantmentsProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map enchantData = ResourceConfigUtils.getAsMap(arg, "enchantments"); List enchantments = new ArrayList<>(); boolean merge = false; diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/EquippableAssetIdProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/EquippableAssetIdProcessor.java index 046041ea8..9924e3033 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/EquippableAssetIdProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/EquippableAssetIdProcessor.java @@ -45,7 +45,7 @@ public class EquippableAssetIdProcessor implements SimpleNetworkItemProcessor private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { String id = arg.toString(); return new EquippableAssetIdProcessor<>(Key.of(id)); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/EquippableProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/EquippableProcessor.java index dd6d32c13..bc8686bcc 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/EquippableProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/EquippableProcessor.java @@ -36,7 +36,7 @@ public class EquippableProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map data = ResourceConfigUtils.getAsMap(arg, "equippable"); return new EquippableProcessor<>(EquipmentData.fromMap(data)); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ExternalSourceProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ExternalSourceProcessor.java index ddd450fca..711e2c4d6 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ExternalSourceProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ExternalSourceProcessor.java @@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull; import java.util.*; -public class ExternalSourceProcessor implements ItemProcessor { +public class ExternalSourceProcessor implements ItemProcessor { public static final ItemProcessorFactory FACTORY = new Factory<>(); private static final ThreadLocal> BUILD_STACK = ThreadLocal.withInitial(LinkedHashSet::new); private final String id; @@ -68,7 +68,7 @@ public class ExternalSourceProcessor implements ItemProcessor { @SuppressWarnings("unchecked") @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map data = ResourceConfigUtils.getAsMap(arg, "external"); String plugin = ResourceConfigUtils.requireNonEmptyStringOrThrow(ResourceConfigUtils.get(data, "plugin", "source"), "warning.config.item.data.external.missing_source"); String id = ResourceConfigUtils.requireNonEmptyStringOrThrow(data.get("id"), "warning.config.item.data.external.missing_id"); diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/FoodProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/FoodProcessor.java index b3493e884..6eed073f8 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/FoodProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/FoodProcessor.java @@ -52,7 +52,7 @@ public class FoodProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map data = ResourceConfigUtils.getAsMap(arg, "food"); int nutrition = ResourceConfigUtils.getAsInt(data.get("nutrition"), "nutrition"); float saturation = ResourceConfigUtils.getAsFloat(data.get("saturation"), "saturation"); diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/HideTooltipProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/HideTooltipProcessor.java index 96da4adab..4cd9e8f09 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/HideTooltipProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/HideTooltipProcessor.java @@ -15,7 +15,7 @@ import java.util.Map; import java.util.stream.Collectors; import java.util.stream.Stream; -public class HideTooltipProcessor implements ItemProcessor { +public class HideTooltipProcessor implements ItemProcessor { public static final ItemProcessorFactory FACTORY = new Factory<>(); public static final Map TO_LEGACY; public static final List COMPONENTS = List.of( @@ -230,7 +230,7 @@ public class HideTooltipProcessor implements ItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { List components = MiscUtils.getAsStringList(arg).stream().map(Key::of).toList(); return new HideTooltipProcessor<>(components); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/IdProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/IdProcessor.java index c5d3806b5..ac42c108b 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/IdProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/IdProcessor.java @@ -5,9 +5,9 @@ import net.momirealms.craftengine.core.item.ItemBuildContext; import net.momirealms.craftengine.core.item.ItemProcessorFactory; import net.momirealms.craftengine.core.util.Key; -public class IdProcessor implements ItemProcessor { +public class IdProcessor implements ItemProcessor { public static final String CRAFT_ENGINE_ID = "craftengine:id"; - public static final ItemProcessorFactory FACTORY = new Factory(); + public static final ItemProcessorFactory FACTORY = new Factory<>(); private final Key argument; public IdProcessor(Key argument) { @@ -19,17 +19,17 @@ public class IdProcessor implements ItemProcessor { } @Override - public Item apply(Item item, ItemBuildContext context) { + public Item apply(Item item, ItemBuildContext context) { item.customId(this.argument); return item; } - private static class Factory implements ItemProcessorFactory { + private static class Factory implements ItemProcessorFactory { @Override - public IdProcessor create(Object arg) { + public ItemProcessor create(Object arg) { String id = arg.toString(); - return new IdProcessor(Key.of(id)); + return new IdProcessor<>(Key.of(id)); } } } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemModelProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemModelProcessor.java index 2d2fdf315..a213e679c 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemModelProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemModelProcessor.java @@ -32,7 +32,7 @@ public class ItemModelProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { String id = arg.toString(); return new ItemModelProcessor<>(Key.of(id)); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemNameProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemNameProcessor.java index 1be6c1243..6092770b6 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemNameProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemNameProcessor.java @@ -47,7 +47,7 @@ public class ItemNameProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { String name = arg.toString(); return new ItemNameProcessor<>(name); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemProcessor.java index 661496897..6231646d0 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemProcessor.java @@ -4,11 +4,11 @@ import net.momirealms.craftengine.core.item.Item; import net.momirealms.craftengine.core.item.ItemBuildContext; import net.momirealms.sparrow.nbt.CompoundTag; -public interface ItemProcessor { +public interface ItemProcessor { - Item apply(Item item, ItemBuildContext context); + Item apply(Item item, ItemBuildContext context); - default Item prepareNetworkItem(Item item, ItemBuildContext context, CompoundTag networkData) { + default Item prepareNetworkItem(Item item, ItemBuildContext context, CompoundTag networkData) { return item; } } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemProcessorType.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemProcessorType.java index ef3657306..b5154e2e8 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemProcessorType.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemProcessorType.java @@ -3,5 +3,5 @@ package net.momirealms.craftengine.core.item.processor; import net.momirealms.craftengine.core.item.ItemProcessorFactory; import net.momirealms.craftengine.core.util.Key; -public record ItemProcessorType(Key id, ItemProcessorFactory factory) { +public record ItemProcessorType(Key id, ItemProcessorFactory factory) { } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemProcessors.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemProcessors.java index 16f68de0d..7c493b85b 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemProcessors.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemProcessors.java @@ -71,7 +71,7 @@ public final class ItemProcessors { } @SuppressWarnings("unchecked") - public static void applyDataModifiers(Map dataSection, Consumer callback) { + public static void applyDataModifiers(Map dataSection, Consumer> callback) { ExceptionCollector errorCollector = new ExceptionCollector<>(); if (dataSection != null) { for (Map.Entry dataEntry : dataSection.entrySet()) { @@ -82,7 +82,7 @@ public final class ItemProcessors { try { ItemProcessorFactory factory = processorType.factory(); if (factory != null) { - callback.accept((ItemProcessor) factory.create(value)); + callback.accept((ItemProcessor) factory.create(value)); } } catch (LocalizedResourceConfigException e) { errorCollector.add(e); diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemVersionProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemVersionProcessor.java index a7f48bd20..a90cc0665 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemVersionProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/ItemVersionProcessor.java @@ -8,7 +8,7 @@ import net.momirealms.sparrow.nbt.CompoundTag; import java.util.Optional; -public class ItemVersionProcessor implements ItemProcessor { +public class ItemVersionProcessor implements ItemProcessor { public static final String VERSION_TAG = "craftengine:version"; private final int version; diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/JukeboxSongProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/JukeboxSongProcessor.java index 66aa8f7b2..9c3666d6e 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/JukeboxSongProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/JukeboxSongProcessor.java @@ -5,7 +5,7 @@ import net.momirealms.craftengine.core.item.ItemBuildContext; import net.momirealms.craftengine.core.item.ItemProcessorFactory; import net.momirealms.craftengine.core.item.data.JukeboxPlayable; -public class JukeboxSongProcessor implements ItemProcessor { +public class JukeboxSongProcessor implements ItemProcessor { public static final ItemProcessorFactory FACTORY = new Factory<>(); private final JukeboxPlayable song; @@ -26,7 +26,7 @@ public class JukeboxSongProcessor implements ItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { String song = arg.toString(); return new JukeboxSongProcessor<>(new JukeboxPlayable(song, true)); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/MaxDamageProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/MaxDamageProcessor.java index 020b12995..9490346e9 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/MaxDamageProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/MaxDamageProcessor.java @@ -31,7 +31,7 @@ public class MaxDamageProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { NumberProvider numberProvider = NumberProviders.fromObject(arg); return new MaxDamageProcessor<>(numberProvider); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableCustomModelDataProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableCustomModelDataProcessor.java index 3d3b2b6bf..23b0dd9f6 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableCustomModelDataProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableCustomModelDataProcessor.java @@ -45,7 +45,7 @@ public class OverwritableCustomModelDataProcessor implements SimpleNetworkIte private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { int customModelData = ResourceConfigUtils.getAsInt(arg, "custom-model-data"); return new OverwritableCustomModelDataProcessor<>(customModelData); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableItemModelProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableItemModelProcessor.java index e4ae99518..d2a00b927 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableItemModelProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableItemModelProcessor.java @@ -33,7 +33,7 @@ public class OverwritableItemModelProcessor implements SimpleNetworkItemProce private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { String id = arg.toString(); return new OverwritableItemModelProcessor<>(Key.of(id)); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableItemNameProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableItemNameProcessor.java index c985b0d52..11af0d1ce 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableItemNameProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/OverwritableItemNameProcessor.java @@ -48,7 +48,7 @@ public class OverwritableItemNameProcessor implements SimpleNetworkItemProces private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { return new OverwritableItemNameProcessor<>(arg.toString()); } } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/PDCProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/PDCProcessor.java index 7943ece02..8e544bedd 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/PDCProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/PDCProcessor.java @@ -12,7 +12,7 @@ import net.momirealms.sparrow.nbt.CompoundTag; import java.util.Map; import java.util.Optional; -public class PDCProcessor implements ItemProcessor { +public class PDCProcessor implements ItemProcessor { public static final String BUKKIT_PDC = "PublicBukkitValues"; public static final ItemProcessorFactory FACTORY = new Factory<>(); private final CompoundTag data; @@ -36,7 +36,7 @@ public class PDCProcessor implements ItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map data = ResourceConfigUtils.getAsMap(arg, "pdc"); CompoundTag tag = (CompoundTag) CraftEngine.instance().platform().javaToSparrowNBT(data); return new PDCProcessor<>(tag); diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/RemoveComponentProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/RemoveComponentProcessor.java index fa5d7b10a..4f4e67e32 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/RemoveComponentProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/RemoveComponentProcessor.java @@ -11,7 +11,7 @@ import net.momirealms.sparrow.nbt.Tag; import java.util.Collections; import java.util.List; -public class RemoveComponentProcessor implements ItemProcessor { +public class RemoveComponentProcessor implements ItemProcessor { public static final ItemProcessorFactory FACTORY = new Factory<>(); private final List arguments; @@ -45,7 +45,7 @@ public class RemoveComponentProcessor implements ItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { List data = MiscUtils.getAsStringList(arg); return new RemoveComponentProcessor<>(data); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/SimpleNetworkItemProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/SimpleNetworkItemProcessor.java index fed670471..208d2a3bc 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/SimpleNetworkItemProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/SimpleNetworkItemProcessor.java @@ -9,7 +9,7 @@ import net.momirealms.sparrow.nbt.CompoundTag; import net.momirealms.sparrow.nbt.Tag; import org.jetbrains.annotations.Nullable; -public interface SimpleNetworkItemProcessor extends ItemProcessor { +public interface SimpleNetworkItemProcessor extends ItemProcessor { @Override default Item prepareNetworkItem(Item item, ItemBuildContext context, CompoundTag networkData) { diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/TagsProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/TagsProcessor.java index 15f26b829..0975e4cd5 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/TagsProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/TagsProcessor.java @@ -11,7 +11,7 @@ import net.momirealms.sparrow.nbt.Tag; import java.util.LinkedHashMap; import java.util.Map; -public class TagsProcessor implements ItemProcessor { +public class TagsProcessor implements ItemProcessor { public static final ItemProcessorFactory FACTORY = new Factory<>(); private final Map arguments; @@ -132,7 +132,7 @@ public class TagsProcessor implements ItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map data = ResourceConfigUtils.getAsMap(arg, "nbt"); return new TagsProcessor<>(data); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/TooltipStyleProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/TooltipStyleProcessor.java index 510fd1c84..586b8b955 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/TooltipStyleProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/TooltipStyleProcessor.java @@ -33,7 +33,7 @@ public class TooltipStyleProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { String id = arg.toString(); return new TooltipStyleProcessor<>(Key.of(id)); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/TrimProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/TrimProcessor.java index a2e222a8a..df2469563 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/TrimProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/TrimProcessor.java @@ -54,7 +54,7 @@ public class TrimProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map data = ResourceConfigUtils.getAsMap(arg, "trim"); String material = data.get("material").toString().toLowerCase(Locale.ENGLISH); String pattern = data.get("pattern").toString().toLowerCase(Locale.ENGLISH); diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/UnbreakableProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/UnbreakableProcessor.java index fa8b20dd0..abc1265a2 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/UnbreakableProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/UnbreakableProcessor.java @@ -45,7 +45,7 @@ public class UnbreakableProcessor implements SimpleNetworkItemProcessor { private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { boolean value = ResourceConfigUtils.getAsBoolean(arg, "unbreakable"); return new UnbreakableProcessor<>(value); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/DynamicLoreProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/DynamicLoreProcessor.java index 4d63c3b30..15e73e603 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/DynamicLoreProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/DynamicLoreProcessor.java @@ -54,7 +54,7 @@ public final class DynamicLoreProcessor implements SimpleNetworkItemProcessor private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { Map> dynamicLore = new LinkedHashMap<>(); if (arg instanceof Map map) { for (Map.Entry entry : map.entrySet()) { diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/LoreFactory.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/LoreFactory.java index 54839099d..aa0ec3460 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/LoreFactory.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/LoreFactory.java @@ -5,7 +5,7 @@ import net.momirealms.craftengine.core.item.processor.ItemProcessor; class LoreFactory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { return LoreProcessor.createLoreModifier(arg); } } \ No newline at end of file diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/OverwritableLoreProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/OverwritableLoreProcessor.java index 45d653076..a7ee17938 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/OverwritableLoreProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/processor/lore/OverwritableLoreProcessor.java @@ -49,7 +49,7 @@ public final class OverwritableLoreProcessor implements SimpleNetworkItemProc private static class Factory implements ItemProcessorFactory { @Override - public ItemProcessor create(Object arg) { + public ItemProcessor create(Object arg) { LoreProcessor lore = LoreProcessor.createLoreModifier(arg); return new OverwritableLoreProcessor<>(lore); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/recipe/result/ApplyItemDataPostProcessor.java b/core/src/main/java/net/momirealms/craftengine/core/item/recipe/result/ApplyItemDataPostProcessor.java index 65b71c342..39c9354b8 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/recipe/result/ApplyItemDataPostProcessor.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/recipe/result/ApplyItemDataPostProcessor.java @@ -12,15 +12,15 @@ import java.util.Map; public class ApplyItemDataPostProcessor implements PostProcessor { public static final PostProcessorFactory FACTORY = new Factory<>(); - private final ItemProcessor[] modifiers; + private final ItemProcessor[] modifiers; - public ApplyItemDataPostProcessor(ItemProcessor[] modifiers) { + public ApplyItemDataPostProcessor(ItemProcessor[] modifiers) { this.modifiers = modifiers; } @Override public Item process(Item item, ItemBuildContext context) { - for (ItemProcessor modifier : this.modifiers) { + for (ItemProcessor modifier : this.modifiers) { item.apply(modifier, context); } return item; @@ -31,7 +31,7 @@ public class ApplyItemDataPostProcessor implements PostProcessor { @SuppressWarnings("unchecked") @Override public PostProcessor create(Map args) { - List modifiers = new ArrayList<>(); + List> modifiers = new ArrayList<>(); Map data = ResourceConfigUtils.getAsMap(args.get("data"), "data"); ItemProcessors.applyDataModifiers(data, modifiers::add); return new ApplyItemDataPostProcessor<>(modifiers.toArray(new ItemProcessor[0])); diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/updater/impl/ApplyDataOperation.java b/core/src/main/java/net/momirealms/craftengine/core/item/updater/impl/ApplyDataOperation.java index aa6b3dab1..a046161d8 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/updater/impl/ApplyDataOperation.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/updater/impl/ApplyDataOperation.java @@ -15,16 +15,16 @@ import java.util.Map; public final class ApplyDataOperation implements ItemUpdater { public static final ItemUpdaterFactory FACTORY = new Factory<>(); - private final List modifiers; + private final List> modifiers; - public ApplyDataOperation(List modifiers) { + public ApplyDataOperation(List> modifiers) { this.modifiers = modifiers; } @Override public Item update(Item item, ItemBuildContext context) { if (this.modifiers != null) { - for (ItemProcessor modifier : this.modifiers) { + for (ItemProcessor modifier : this.modifiers) { modifier.apply(item, context); } } @@ -36,10 +36,10 @@ public final class ApplyDataOperation implements ItemUpdater { @SuppressWarnings("unchecked") @Override public ItemUpdater create(Key item, Map args) { - List modifiers = new ArrayList<>(); + List> modifiers = new ArrayList<>(); Map data = ResourceConfigUtils.getAsMap(args.get("data"), "data"); ItemProcessors.applyDataModifiers(data, m -> { - modifiers.add((ItemProcessor) m); + modifiers.add((ItemProcessor) m); }); return new ApplyDataOperation<>(modifiers); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/loot/function/ApplyDataFunction.java b/core/src/main/java/net/momirealms/craftengine/core/loot/function/ApplyDataFunction.java index 692c14a38..7f837a69f 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/loot/function/ApplyDataFunction.java +++ b/core/src/main/java/net/momirealms/craftengine/core/loot/function/ApplyDataFunction.java @@ -15,9 +15,9 @@ import java.util.Map; public final class ApplyDataFunction extends AbstractLootConditionalFunction { public static final LootFunctionFactory FACTORY = new Factory<>(); - private final ItemProcessor[] modifiers; + private final ItemProcessor[] modifiers; - public ApplyDataFunction(List> conditions, ItemProcessor[] modifiers) { + public ApplyDataFunction(List> conditions, ItemProcessor[] modifiers) { super(conditions); this.modifiers = modifiers; } @@ -36,7 +36,7 @@ public final class ApplyDataFunction extends AbstractLootConditionalFunction< @Override public LootFunction create(Map arguments) { - List modifiers = new ArrayList<>(); + List> modifiers = new ArrayList<>(); Map data = ResourceConfigUtils.getAsMap(ResourceConfigUtils.requireNonNullOrThrow(arguments.get("data"), "warning.config.loot_table.function.apply_data.missing_data"), "data"); ItemProcessors.applyDataModifiers(data, modifiers::add); List> conditions = ResourceConfigUtils.parseConfigAsList(arguments.get("conditions"), CommonConditions::fromMap); diff --git a/core/src/main/java/net/momirealms/craftengine/core/registry/BuiltInRegistries.java b/core/src/main/java/net/momirealms/craftengine/core/registry/BuiltInRegistries.java index 2aff93d1c..1f643f31d 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/registry/BuiltInRegistries.java +++ b/core/src/main/java/net/momirealms/craftengine/core/registry/BuiltInRegistries.java @@ -18,7 +18,6 @@ import net.momirealms.craftengine.core.item.behavior.ItemBehavior; import net.momirealms.craftengine.core.item.behavior.ItemBehaviorType; import net.momirealms.craftengine.core.item.equipment.Equipment; import net.momirealms.craftengine.core.item.equipment.EquipmentType; -import net.momirealms.craftengine.core.item.processor.ItemProcessor; import net.momirealms.craftengine.core.item.processor.ItemProcessorType; import net.momirealms.craftengine.core.item.recipe.CustomSmithingTransformRecipe; import net.momirealms.craftengine.core.item.recipe.Recipe; @@ -66,7 +65,7 @@ import net.momirealms.craftengine.core.util.ResourceKey; public final class BuiltInRegistries { public static final Registry BLOCK = createDynamicBoundRegistry(Registries.BLOCK, 512); public static final Registry> BLOCK_BEHAVIOR_TYPE = createConstantBoundRegistry(Registries.BLOCK_BEHAVIOR_TYPE, 64); - public static final Registry> ITEM_PROCESSOR_TYPE = createConstantBoundRegistry(Registries.ITEM_PROCESSOR_TYPE, 64); + public static final Registry> ITEM_PROCESSOR_TYPE = createConstantBoundRegistry(Registries.ITEM_PROCESSOR_TYPE, 64); public static final Registry> ITEM_BEHAVIOR_TYPE = createConstantBoundRegistry(Registries.ITEM_BEHAVIOR_TYPE, 64); public static final Registry>> PROPERTY_TYPE = createConstantBoundRegistry(Registries.PROPERTY_TYPE, 16); public static final Registry> LOOT_FUNCTION_TYPE = createConstantBoundRegistry(Registries.LOOT_FUNCTION_TYPE, 32); diff --git a/core/src/main/java/net/momirealms/craftengine/core/registry/Registries.java b/core/src/main/java/net/momirealms/craftengine/core/registry/Registries.java index f13ddf7f4..24ce76c49 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/registry/Registries.java +++ b/core/src/main/java/net/momirealms/craftengine/core/registry/Registries.java @@ -18,7 +18,6 @@ import net.momirealms.craftengine.core.item.behavior.ItemBehavior; import net.momirealms.craftengine.core.item.behavior.ItemBehaviorType; import net.momirealms.craftengine.core.item.equipment.Equipment; import net.momirealms.craftengine.core.item.equipment.EquipmentType; -import net.momirealms.craftengine.core.item.processor.ItemProcessor; import net.momirealms.craftengine.core.item.processor.ItemProcessorType; import net.momirealms.craftengine.core.item.recipe.CustomSmithingTransformRecipe; import net.momirealms.craftengine.core.item.recipe.Recipe; @@ -69,7 +68,7 @@ public final class Registries { public static final Key ROOT_REGISTRY = Key.withDefaultNamespace("root"); public static final ResourceKey> BLOCK = ResourceKey.create(ROOT_REGISTRY, Key.withDefaultNamespace("block")); - public static final ResourceKey>> ITEM_PROCESSOR_TYPE = ResourceKey.create(ROOT_REGISTRY, Key.withDefaultNamespace("item_processor_type")); + public static final ResourceKey>> ITEM_PROCESSOR_TYPE = ResourceKey.create(ROOT_REGISTRY, Key.withDefaultNamespace("item_processor_type")); public static final ResourceKey>>> PROPERTY_TYPE = ResourceKey.create(ROOT_REGISTRY, Key.withDefaultNamespace("property_type")); public static final ResourceKey>> BLOCK_BEHAVIOR_TYPE = ResourceKey.create(ROOT_REGISTRY, Key.withDefaultNamespace("block_behavior_type")); public static final ResourceKey>> ITEM_BEHAVIOR_TYPE = ResourceKey.create(ROOT_REGISTRY, Key.withDefaultNamespace("item_behavior_type"));