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