mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-31 04:46:37 +00:00
回滚
This commit is contained in:
@@ -24,7 +24,7 @@ public class BukkitCustomItem extends AbstractCustomItem<ItemStack> {
|
||||
|
||||
public BukkitCustomItem(boolean isVanillaItem, UniqueKey id, Object item, Object clientItem, Key materialKey, Key clientBoundMaterialKey,
|
||||
List<ItemBehavior> behaviors,
|
||||
List<ItemProcessor> modifiers, List<ItemProcessor> clientBoundModifiers,
|
||||
List<ItemProcessor<ItemStack>> modifiers, List<ItemProcessor<ItemStack>> clientBoundModifiers,
|
||||
ItemSettings settings,
|
||||
Map<EventTrigger, List<Function<Context>>> events,
|
||||
ItemUpdateConfig updater) {
|
||||
@@ -37,7 +37,7 @@ public class BukkitCustomItem extends AbstractCustomItem<ItemStack> {
|
||||
public ItemStack buildItemStack(ItemBuildContext context, int count) {
|
||||
ItemStack item = FastNMS.INSTANCE.method$CraftItemStack$asCraftMirror(FastNMS.INSTANCE.constructor$ItemStack(this.item, count));
|
||||
Item<ItemStack> wrapped = BukkitCraftEngine.instance().itemManager().wrap(item);
|
||||
for (ItemProcessor modifier : this.modifiers) {
|
||||
for (ItemProcessor<ItemStack> modifier : this.modifiers) {
|
||||
modifier.apply(wrapped, context);
|
||||
}
|
||||
return wrapped.getItem();
|
||||
@@ -47,7 +47,7 @@ public class BukkitCustomItem extends AbstractCustomItem<ItemStack> {
|
||||
public Item<ItemStack> buildItem(ItemBuildContext context, int count) {
|
||||
ItemStack item = FastNMS.INSTANCE.method$CraftItemStack$asCraftMirror(FastNMS.INSTANCE.constructor$ItemStack(this.item, count));
|
||||
Item<ItemStack> wrapped = BukkitCraftEngine.instance().itemManager().wrap(item);
|
||||
for (ItemProcessor modifier : dataModifiers()) {
|
||||
for (ItemProcessor<ItemStack> modifier : dataModifiers()) {
|
||||
modifier.apply(wrapped, context);
|
||||
}
|
||||
return wrapped;
|
||||
@@ -78,8 +78,8 @@ public class BukkitCustomItem extends AbstractCustomItem<ItemStack> {
|
||||
private final Object clientBoundItem;
|
||||
private final Map<EventTrigger, List<Function<Context>>> events = new EnumMap<>(EventTrigger.class);
|
||||
private final List<ItemBehavior> behaviors = new ArrayList<>(4);
|
||||
private final List<ItemProcessor> modifiers = new ArrayList<>(4);
|
||||
private final List<ItemProcessor> clientBoundModifiers = new ArrayList<>(4);
|
||||
private final List<ItemProcessor<ItemStack>> modifiers = new ArrayList<>(4);
|
||||
private final List<ItemProcessor<ItemStack>> clientBoundModifiers = new ArrayList<>(4);
|
||||
private ItemSettings settings;
|
||||
private ItemUpdateConfig updater;
|
||||
|
||||
@@ -113,25 +113,25 @@ public class BukkitCustomItem extends AbstractCustomItem<ItemStack> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<ItemStack> dataModifier(ItemProcessor modifier) {
|
||||
public Builder<ItemStack> dataModifier(ItemProcessor<ItemStack> modifier) {
|
||||
this.modifiers.add(modifier);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<ItemStack> dataModifiers(List<ItemProcessor> modifiers) {
|
||||
public Builder<ItemStack> dataModifiers(List<ItemProcessor<ItemStack>> modifiers) {
|
||||
this.modifiers.addAll(modifiers);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<ItemStack> clientBoundDataModifier(ItemProcessor modifier) {
|
||||
public Builder<ItemStack> clientBoundDataModifier(ItemProcessor<ItemStack> modifier) {
|
||||
this.clientBoundModifiers.add(modifier);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<ItemStack> clientBoundDataModifiers(List<ItemProcessor> modifiers) {
|
||||
public Builder<ItemStack> clientBoundDataModifiers(List<ItemProcessor<ItemStack>> modifiers) {
|
||||
this.clientBoundModifiers.addAll(modifiers);
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -221,11 +221,11 @@ public final class LegacyNetworkItemHandler implements NetworkItemHandler<ItemSt
|
||||
context = NetworkItemBuildContext.of(player);
|
||||
}
|
||||
// 准备阶段
|
||||
for (ItemProcessor modifier : customItem.clientBoundDataModifiers()) {
|
||||
for (ItemProcessor<ItemStack> modifier : customItem.clientBoundDataModifiers()) {
|
||||
modifier.prepareNetworkItem(wrapped, context, tag);
|
||||
}
|
||||
// 应用阶段
|
||||
for (ItemProcessor modifier : customItem.clientBoundDataModifiers()) {
|
||||
for (ItemProcessor<ItemStack> modifier : customItem.clientBoundDataModifiers()) {
|
||||
modifier.apply(wrapped, context);
|
||||
}
|
||||
// 如果拦截物品的描述名称等
|
||||
|
||||
@@ -198,11 +198,11 @@ public final class ModernNetworkItemHandler implements NetworkItemHandler<ItemSt
|
||||
}
|
||||
// 准备阶段
|
||||
CompoundTag tag = new CompoundTag();
|
||||
for (ItemProcessor modifier : customItem.clientBoundDataModifiers()) {
|
||||
for (ItemProcessor<ItemStack> modifier : customItem.clientBoundDataModifiers()) {
|
||||
modifier.prepareNetworkItem(original, context, tag);
|
||||
}
|
||||
// 应用阶段
|
||||
for (ItemProcessor modifier : customItem.clientBoundDataModifiers()) {
|
||||
for (ItemProcessor<ItemStack> modifier : customItem.clientBoundDataModifiers()) {
|
||||
modifier.apply(wrapped, context);
|
||||
}
|
||||
// 如果拦截物品的描述名称等
|
||||
|
||||
@@ -20,8 +20,8 @@ public abstract class AbstractCustomItem<I> implements CustomItem<I> {
|
||||
protected final UniqueKey id;
|
||||
protected final Key material;
|
||||
protected final Key clientBoundMaterial;
|
||||
protected final ItemProcessor[] modifiers;
|
||||
protected final ItemProcessor[] clientBoundModifiers;
|
||||
protected final ItemProcessor<I>[] modifiers;
|
||||
protected final ItemProcessor<I>[] clientBoundModifiers;
|
||||
protected final List<ItemBehavior> behaviors;
|
||||
protected final ItemSettings settings;
|
||||
protected final Map<EventTrigger, List<Function<Context>>> events;
|
||||
@@ -30,8 +30,8 @@ public abstract class AbstractCustomItem<I> implements CustomItem<I> {
|
||||
@SuppressWarnings("unchecked")
|
||||
public AbstractCustomItem(boolean isVanillaItem, UniqueKey id, Key material, Key clientBoundMaterial,
|
||||
List<ItemBehavior> behaviors,
|
||||
List<ItemProcessor> modifiers,
|
||||
List<ItemProcessor> clientBoundModifiers,
|
||||
List<ItemProcessor<I>> modifiers,
|
||||
List<ItemProcessor<I>> clientBoundModifiers,
|
||||
ItemSettings settings,
|
||||
Map<EventTrigger, List<Function<Context>>> events,
|
||||
ItemUpdateConfig updater) {
|
||||
@@ -82,7 +82,7 @@ public abstract class AbstractCustomItem<I> implements CustomItem<I> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemProcessor[] dataModifiers() {
|
||||
public ItemProcessor<I>[] dataModifiers() {
|
||||
return this.modifiers;
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@ public abstract class AbstractCustomItem<I> implements CustomItem<I> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemProcessor[] clientBoundDataModifiers() {
|
||||
public ItemProcessor<I>[] clientBoundDataModifiers() {
|
||||
return this.clientBoundModifiers;
|
||||
}
|
||||
|
||||
|
||||
@@ -603,7 +603,7 @@ public abstract class AbstractItemManager<I> extends AbstractModelGenerator impl
|
||||
|
||||
// 如果不是原版物品,那么加入ce的标识符
|
||||
if (!isVanillaItem)
|
||||
itemBuilder.dataModifier(new IdProcessor(id));
|
||||
itemBuilder.dataModifier(new IdProcessor<>(id));
|
||||
|
||||
// 事件
|
||||
Map<EventTrigger, List<net.momirealms.craftengine.core.plugin.context.function.Function<Context>>> eventTriggerListMap;
|
||||
|
||||
@@ -35,11 +35,11 @@ public interface CustomItem<I> extends BuildableItem<I> {
|
||||
|
||||
Key clientBoundMaterial();
|
||||
|
||||
ItemProcessor[] dataModifiers();
|
||||
ItemProcessor<I>[] dataModifiers();
|
||||
|
||||
boolean hasClientBoundDataModifier();
|
||||
|
||||
ItemProcessor[] clientBoundDataModifiers();
|
||||
ItemProcessor<I>[] clientBoundDataModifiers();
|
||||
|
||||
ItemSettings settings();
|
||||
|
||||
@@ -63,13 +63,13 @@ public interface CustomItem<I> extends BuildableItem<I> {
|
||||
|
||||
Builder<I> material(Key material);
|
||||
|
||||
Builder<I> dataModifier(ItemProcessor modifier);
|
||||
Builder<I> dataModifier(ItemProcessor<I> modifier);
|
||||
|
||||
Builder<I> dataModifiers(List<ItemProcessor> modifiers);
|
||||
Builder<I> dataModifiers(List<ItemProcessor<I>> modifiers);
|
||||
|
||||
Builder<I> clientBoundDataModifier(ItemProcessor modifier);
|
||||
Builder<I> clientBoundDataModifier(ItemProcessor<I> modifier);
|
||||
|
||||
Builder<I> clientBoundDataModifiers(List<ItemProcessor> modifiers);
|
||||
Builder<I> clientBoundDataModifiers(List<ItemProcessor<I>> modifiers);
|
||||
|
||||
Builder<I> behavior(ItemBehavior behavior);
|
||||
|
||||
|
||||
@@ -228,7 +228,7 @@ public interface Item<I> {
|
||||
|
||||
void merge(Item<I> another);
|
||||
|
||||
default Item<I> apply(ItemProcessor modifier, ItemBuildContext context) {
|
||||
default Item<I> apply(ItemProcessor<I> modifier, ItemBuildContext context) {
|
||||
return modifier.apply(this, context);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package net.momirealms.craftengine.core.item;
|
||||
|
||||
import net.momirealms.craftengine.core.item.processor.ItemProcessor;
|
||||
|
||||
public interface ItemProcessorFactory<T extends ItemProcessor> {
|
||||
public interface ItemProcessorFactory<I> {
|
||||
|
||||
T create(Object arg);
|
||||
ItemProcessor<I> create(Object arg);
|
||||
}
|
||||
|
||||
@@ -58,8 +58,8 @@ public class ItemSettings {
|
||||
|
||||
private ItemSettings() {}
|
||||
|
||||
public <I> List<ItemProcessor> modifiers() {
|
||||
ArrayList<ItemProcessor> modifiers = new ArrayList<>();
|
||||
public <I> List<ItemProcessor<I>> modifiers() {
|
||||
ArrayList<ItemProcessor<I>> 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 <I> List<ItemProcessor> clientBoundModifiers() {
|
||||
ArrayList<ItemProcessor> modifiers = new ArrayList<>();
|
||||
public <I> List<ItemProcessor<I>> clientBoundModifiers() {
|
||||
ArrayList<ItemProcessor<I>> modifiers = new ArrayList<>();
|
||||
if (this.equipment != null) {
|
||||
if (this.equipment.clientBoundModel().asBoolean(Config.globalClientboundModel())) {
|
||||
modifiers.addAll(this.equipment.equipment().modifiers());
|
||||
|
||||
@@ -26,7 +26,7 @@ public final class ComponentBasedEquipment extends AbstractEquipment implements
|
||||
}
|
||||
|
||||
@Override
|
||||
public <I> List<ItemProcessor> modifiers() {
|
||||
public <I> List<ItemProcessor<I>> modifiers() {
|
||||
return List.of(new EquippableAssetIdProcessor<>(this.assetId));
|
||||
}
|
||||
|
||||
|
||||
@@ -9,5 +9,5 @@ public interface Equipment {
|
||||
|
||||
Key assetId();
|
||||
|
||||
<I> List<ItemProcessor> modifiers();
|
||||
<I> List<ItemProcessor<I>> modifiers();
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ public final class TrimBasedEquipment extends AbstractEquipment {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <I> List<ItemProcessor> modifiers() {
|
||||
public <I> List<ItemProcessor<I>> modifiers() {
|
||||
return List.of(
|
||||
new TrimProcessor<>(Key.of(AbstractPackManager.NEW_TRIM_MATERIAL), this.assetId),
|
||||
new HideTooltipProcessor<>(List.of(DataComponentKeys.TRIM))
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
public class ArgumentsProcessor<I> implements ItemProcessor {
|
||||
public class ArgumentsProcessor<I> implements ItemProcessor<I> {
|
||||
public static final ItemProcessorFactory<?> FACTORY = new Factory<>();
|
||||
public static final String ARGUMENTS_TAG = "craftengine:arguments";
|
||||
private final Map<String, TextProvider> arguments;
|
||||
@@ -51,7 +51,7 @@ public class ArgumentsProcessor<I> implements ItemProcessor {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
Map<String, Object> data = ResourceConfigUtils.getAsMap(arg, "arguments");
|
||||
Map<String, TextProvider> arguments = new HashMap<>();
|
||||
for (Map.Entry<String, Object> entry : data.entrySet()) {
|
||||
|
||||
@@ -155,7 +155,7 @@ public class AttributeModifiersProcessor<I> implements SimpleNetworkItemProcesso
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
List<PreModifier> 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));
|
||||
|
||||
@@ -48,7 +48,7 @@ public class BlockStateProcessor<I> implements SimpleNetworkItemProcessor<I> {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
if (arg instanceof Map<?, ?> map) {
|
||||
Map<String, String> properties = new HashMap<>();
|
||||
for (Map.Entry<?, ?> entry : map.entrySet()) {
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class ComponentsProcessor<I> implements ItemProcessor {
|
||||
public class ComponentsProcessor<I> implements ItemProcessor<I> {
|
||||
public static final ItemProcessorFactory<?> FACTORY = new Factory<>();
|
||||
private final List<Pair<Key, Tag>> arguments;
|
||||
private CompoundTag customData = null;
|
||||
@@ -85,7 +85,7 @@ public class ComponentsProcessor<I> implements ItemProcessor {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
Map<String, Object> data = ResourceConfigUtils.getAsMap(arg, "components");
|
||||
return new ComponentsProcessor<>(data);
|
||||
}
|
||||
|
||||
@@ -15,12 +15,12 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public class ConditionalProcessor<I> implements ItemProcessor {
|
||||
public class ConditionalProcessor<I> implements ItemProcessor<I> {
|
||||
public static final ItemProcessorFactory<?> FACTORY = new Factory<>();
|
||||
private final Predicate<Context> condition;
|
||||
private final ItemProcessor[] modifiers;
|
||||
private final ItemProcessor<I>[] modifiers;
|
||||
|
||||
public ConditionalProcessor(Predicate<Context> condition, ItemProcessor[] modifiers) {
|
||||
public ConditionalProcessor(Predicate<Context> condition, ItemProcessor<I>[] modifiers) {
|
||||
this.modifiers = modifiers;
|
||||
this.condition = condition;
|
||||
}
|
||||
@@ -28,7 +28,7 @@ public class ConditionalProcessor<I> implements ItemProcessor {
|
||||
@Override
|
||||
public Item<I> apply(Item<I> item, ItemBuildContext context) {
|
||||
if (this.condition.test(context)) {
|
||||
for (ItemProcessor m : this.modifiers) {
|
||||
for (ItemProcessor<I> m : this.modifiers) {
|
||||
item = item.apply(m, context);
|
||||
}
|
||||
}
|
||||
@@ -38,7 +38,7 @@ public class ConditionalProcessor<I> implements ItemProcessor {
|
||||
@Override
|
||||
public Item<I> prepareNetworkItem(Item<I> item, ItemBuildContext context, CompoundTag networkData) {
|
||||
if (this.condition.test(context)) {
|
||||
for (ItemProcessor m : this.modifiers) {
|
||||
for (ItemProcessor<I> m : this.modifiers) {
|
||||
item = m.prepareNetworkItem(item, context, networkData);
|
||||
}
|
||||
}
|
||||
@@ -49,11 +49,11 @@ public class ConditionalProcessor<I> implements ItemProcessor {
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
Map<String, Object> conditionalData = ResourceConfigUtils.getAsMap(arg, "conditional");
|
||||
List<Condition<Context>> conditions = ResourceConfigUtils.parseConfigAsList(conditionalData.get("conditions"), CommonConditions::fromMap);
|
||||
List<ItemProcessor> modifiers = new ArrayList<>();
|
||||
ItemProcessors.applyDataModifiers(ResourceConfigUtils.getAsMap(conditionalData.get("data"), "conditional.data"), m -> modifiers.add((ItemProcessor) m));
|
||||
List<ItemProcessor<I>> modifiers = new ArrayList<>();
|
||||
ItemProcessors.applyDataModifiers(ResourceConfigUtils.getAsMap(conditionalData.get("data"), "conditional.data"), m -> modifiers.add((ItemProcessor<I>) m));
|
||||
return new ConditionalProcessor<>(MiscUtils.allOf(conditions), modifiers.toArray(new ItemProcessor[0]));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ public class CustomModelDataProcessor<I> implements SimpleNetworkItemProcessor<I
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
int customModelData = ResourceConfigUtils.getAsInt(arg, "custom-model-data");
|
||||
return new CustomModelDataProcessor<>(customModelData);
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ public class CustomNameProcessor<I> implements SimpleNetworkItemProcessor<I> {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
String name = arg.toString();
|
||||
return new CustomNameProcessor<>(name);
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ public class DyedColorProcessor<I> implements SimpleNetworkItemProcessor<I> {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
if (arg instanceof Integer integer) {
|
||||
return new DyedColorProcessor<>(Color.fromDecimal(integer));
|
||||
} else {
|
||||
|
||||
@@ -90,7 +90,7 @@ public class EnchantmentsProcessor<I> implements SimpleNetworkItemProcessor<I> {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
Map<String, Object> enchantData = ResourceConfigUtils.getAsMap(arg, "enchantments");
|
||||
List<Enchantment> enchantments = new ArrayList<>();
|
||||
boolean merge = false;
|
||||
|
||||
@@ -45,7 +45,7 @@ public class EquippableAssetIdProcessor<I> implements SimpleNetworkItemProcessor
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
String id = arg.toString();
|
||||
return new EquippableAssetIdProcessor<>(Key.of(id));
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ public class EquippableProcessor<I> implements SimpleNetworkItemProcessor<I> {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
Map<String, Object> data = ResourceConfigUtils.getAsMap(arg, "equippable");
|
||||
return new EquippableProcessor<>(EquipmentData.fromMap(data));
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class ExternalSourceProcessor<I> implements ItemProcessor {
|
||||
public class ExternalSourceProcessor<I> implements ItemProcessor<I> {
|
||||
public static final ItemProcessorFactory<?> FACTORY = new Factory<>();
|
||||
private static final ThreadLocal<Set<Dependency>> BUILD_STACK = ThreadLocal.withInitial(LinkedHashSet::new);
|
||||
private final String id;
|
||||
@@ -68,7 +68,7 @@ public class ExternalSourceProcessor<I> implements ItemProcessor {
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
Map<String, Object> 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");
|
||||
|
||||
@@ -52,7 +52,7 @@ public class FoodProcessor<I> implements SimpleNetworkItemProcessor<I> {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
Map<String, Object> data = ResourceConfigUtils.getAsMap(arg, "food");
|
||||
int nutrition = ResourceConfigUtils.getAsInt(data.get("nutrition"), "nutrition");
|
||||
float saturation = ResourceConfigUtils.getAsFloat(data.get("saturation"), "saturation");
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
public class HideTooltipProcessor<I> implements ItemProcessor {
|
||||
public class HideTooltipProcessor<I> implements ItemProcessor<I> {
|
||||
public static final ItemProcessorFactory<?> FACTORY = new Factory<>();
|
||||
public static final Map<Key, Integer> TO_LEGACY;
|
||||
public static final List<Key> COMPONENTS = List.of(
|
||||
@@ -230,7 +230,7 @@ public class HideTooltipProcessor<I> implements ItemProcessor {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
List<Key> components = MiscUtils.getAsStringList(arg).stream().map(Key::of).toList();
|
||||
return new HideTooltipProcessor<>(components);
|
||||
}
|
||||
|
||||
@@ -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<I> implements ItemProcessor<I> {
|
||||
public static final String CRAFT_ENGINE_ID = "craftengine:id";
|
||||
public static final ItemProcessorFactory<IdProcessor> 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<I> apply(Item<I> item, ItemBuildContext context) {
|
||||
item.customId(this.argument);
|
||||
return item;
|
||||
}
|
||||
|
||||
private static class Factory implements ItemProcessorFactory<IdProcessor> {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public IdProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
String id = arg.toString();
|
||||
return new IdProcessor(Key.of(id));
|
||||
return new IdProcessor<>(Key.of(id));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ public class ItemModelProcessor<I> implements SimpleNetworkItemProcessor<I> {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
String id = arg.toString();
|
||||
return new ItemModelProcessor<>(Key.of(id));
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ public class ItemNameProcessor<I> implements SimpleNetworkItemProcessor<I> {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
String name = arg.toString();
|
||||
return new ItemNameProcessor<>(name);
|
||||
}
|
||||
|
||||
@@ -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<I> {
|
||||
|
||||
Item<?> apply(Item<?> item, ItemBuildContext context);
|
||||
Item<I> apply(Item<I> item, ItemBuildContext context);
|
||||
|
||||
default Item<?> prepareNetworkItem(Item<?> item, ItemBuildContext context, CompoundTag networkData) {
|
||||
default Item<I> prepareNetworkItem(Item<I> item, ItemBuildContext context, CompoundTag networkData) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<T extends ItemProcessor>(Key id, ItemProcessorFactory<T> factory) {
|
||||
public record ItemProcessorType<T>(Key id, ItemProcessorFactory<T> factory) {
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ public final class ItemProcessors {
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static <I> void applyDataModifiers(Map<String, Object> dataSection, Consumer<ItemProcessor> callback) {
|
||||
public static <I> void applyDataModifiers(Map<String, Object> dataSection, Consumer<ItemProcessor<I>> callback) {
|
||||
ExceptionCollector<LocalizedResourceConfigException> errorCollector = new ExceptionCollector<>();
|
||||
if (dataSection != null) {
|
||||
for (Map.Entry<String, Object> 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<I>) factory.create(value));
|
||||
}
|
||||
} catch (LocalizedResourceConfigException e) {
|
||||
errorCollector.add(e);
|
||||
|
||||
@@ -8,7 +8,7 @@ import net.momirealms.sparrow.nbt.CompoundTag;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class ItemVersionProcessor<I> implements ItemProcessor {
|
||||
public class ItemVersionProcessor<I> implements ItemProcessor<I> {
|
||||
public static final String VERSION_TAG = "craftengine:version";
|
||||
private final int version;
|
||||
|
||||
|
||||
@@ -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<I> implements ItemProcessor {
|
||||
public class JukeboxSongProcessor<I> implements ItemProcessor<I> {
|
||||
public static final ItemProcessorFactory<?> FACTORY = new Factory<>();
|
||||
private final JukeboxPlayable song;
|
||||
|
||||
@@ -26,7 +26,7 @@ public class JukeboxSongProcessor<I> implements ItemProcessor {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
String song = arg.toString();
|
||||
return new JukeboxSongProcessor<>(new JukeboxPlayable(song, true));
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ public class MaxDamageProcessor<I> implements SimpleNetworkItemProcessor<I> {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
NumberProvider numberProvider = NumberProviders.fromObject(arg);
|
||||
return new MaxDamageProcessor<>(numberProvider);
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ public class OverwritableCustomModelDataProcessor<I> implements SimpleNetworkIte
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
int customModelData = ResourceConfigUtils.getAsInt(arg, "custom-model-data");
|
||||
return new OverwritableCustomModelDataProcessor<>(customModelData);
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ public class OverwritableItemModelProcessor<I> implements SimpleNetworkItemProce
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
String id = arg.toString();
|
||||
return new OverwritableItemModelProcessor<>(Key.of(id));
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ public class OverwritableItemNameProcessor<I> implements SimpleNetworkItemProces
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
return new OverwritableItemNameProcessor<>(arg.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ import net.momirealms.sparrow.nbt.CompoundTag;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
public class PDCProcessor<I> implements ItemProcessor {
|
||||
public class PDCProcessor<I> implements ItemProcessor<I> {
|
||||
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<I> implements ItemProcessor {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
Map<String, Object> data = ResourceConfigUtils.getAsMap(arg, "pdc");
|
||||
CompoundTag tag = (CompoundTag) CraftEngine.instance().platform().javaToSparrowNBT(data);
|
||||
return new PDCProcessor<>(tag);
|
||||
|
||||
@@ -11,7 +11,7 @@ import net.momirealms.sparrow.nbt.Tag;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class RemoveComponentProcessor<I> implements ItemProcessor {
|
||||
public class RemoveComponentProcessor<I> implements ItemProcessor<I> {
|
||||
public static final ItemProcessorFactory<?> FACTORY = new Factory<>();
|
||||
private final List<String> arguments;
|
||||
|
||||
@@ -45,7 +45,7 @@ public class RemoveComponentProcessor<I> implements ItemProcessor {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
List<String> data = MiscUtils.getAsStringList(arg);
|
||||
return new RemoveComponentProcessor<>(data);
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ import net.momirealms.sparrow.nbt.CompoundTag;
|
||||
import net.momirealms.sparrow.nbt.Tag;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public interface SimpleNetworkItemProcessor<I> extends ItemProcessor {
|
||||
public interface SimpleNetworkItemProcessor<I> extends ItemProcessor<I> {
|
||||
|
||||
@Override
|
||||
default Item<I> prepareNetworkItem(Item<I> item, ItemBuildContext context, CompoundTag networkData) {
|
||||
|
||||
@@ -11,7 +11,7 @@ import net.momirealms.sparrow.nbt.Tag;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class TagsProcessor<I> implements ItemProcessor {
|
||||
public class TagsProcessor<I> implements ItemProcessor<I> {
|
||||
public static final ItemProcessorFactory<?> FACTORY = new Factory<>();
|
||||
private final Map<String, Object> arguments;
|
||||
|
||||
@@ -132,7 +132,7 @@ public class TagsProcessor<I> implements ItemProcessor {
|
||||
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
Map<String, Object> data = ResourceConfigUtils.getAsMap(arg, "nbt");
|
||||
return new TagsProcessor<>(data);
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ public class TooltipStyleProcessor<I> implements SimpleNetworkItemProcessor<I> {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
String id = arg.toString();
|
||||
return new TooltipStyleProcessor<>(Key.of(id));
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ public class TrimProcessor<I> implements SimpleNetworkItemProcessor<I> {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
Map<String, Object> data = ResourceConfigUtils.getAsMap(arg, "trim");
|
||||
String material = data.get("material").toString().toLowerCase(Locale.ENGLISH);
|
||||
String pattern = data.get("pattern").toString().toLowerCase(Locale.ENGLISH);
|
||||
|
||||
@@ -45,7 +45,7 @@ public class UnbreakableProcessor<I> implements SimpleNetworkItemProcessor<I> {
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
boolean value = ResourceConfigUtils.getAsBoolean(arg, "unbreakable");
|
||||
return new UnbreakableProcessor<>(value);
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ public final class DynamicLoreProcessor<I> implements SimpleNetworkItemProcessor
|
||||
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
Map<String, LoreProcessor<I>> dynamicLore = new LinkedHashMap<>();
|
||||
if (arg instanceof Map<?, ?> map) {
|
||||
for (Map.Entry<?, ?> entry : map.entrySet()) {
|
||||
|
||||
@@ -5,7 +5,7 @@ import net.momirealms.craftengine.core.item.processor.ItemProcessor;
|
||||
|
||||
class LoreFactory<I> implements ItemProcessorFactory<I> {
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
return LoreProcessor.createLoreModifier(arg);
|
||||
}
|
||||
}
|
||||
@@ -49,7 +49,7 @@ public final class OverwritableLoreProcessor<I> implements SimpleNetworkItemProc
|
||||
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
@Override
|
||||
public ItemProcessor create(Object arg) {
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
LoreProcessor<I> lore = LoreProcessor.createLoreModifier(arg);
|
||||
return new OverwritableLoreProcessor<>(lore);
|
||||
}
|
||||
|
||||
@@ -12,15 +12,15 @@ import java.util.Map;
|
||||
|
||||
public class ApplyItemDataPostProcessor<T> implements PostProcessor<T> {
|
||||
public static final PostProcessorFactory<?> FACTORY = new Factory<>();
|
||||
private final ItemProcessor[] modifiers;
|
||||
private final ItemProcessor<T>[] modifiers;
|
||||
|
||||
public ApplyItemDataPostProcessor(ItemProcessor[] modifiers) {
|
||||
public ApplyItemDataPostProcessor(ItemProcessor<T>[] modifiers) {
|
||||
this.modifiers = modifiers;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item<T> process(Item<T> item, ItemBuildContext context) {
|
||||
for (ItemProcessor modifier : this.modifiers) {
|
||||
for (ItemProcessor<T> modifier : this.modifiers) {
|
||||
item.apply(modifier, context);
|
||||
}
|
||||
return item;
|
||||
@@ -31,7 +31,7 @@ public class ApplyItemDataPostProcessor<T> implements PostProcessor<T> {
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public PostProcessor<A> create(Map<String, Object> args) {
|
||||
List<ItemProcessor> modifiers = new ArrayList<>();
|
||||
List<ItemProcessor<?>> modifiers = new ArrayList<>();
|
||||
Map<String, Object> data = ResourceConfigUtils.getAsMap(args.get("data"), "data");
|
||||
ItemProcessors.applyDataModifiers(data, modifiers::add);
|
||||
return new ApplyItemDataPostProcessor<>(modifiers.toArray(new ItemProcessor[0]));
|
||||
|
||||
@@ -15,16 +15,16 @@ import java.util.Map;
|
||||
|
||||
public final class ApplyDataOperation<I> implements ItemUpdater<I> {
|
||||
public static final ItemUpdaterFactory<?> FACTORY = new Factory<>();
|
||||
private final List<ItemProcessor> modifiers;
|
||||
private final List<ItemProcessor<I>> modifiers;
|
||||
|
||||
public ApplyDataOperation(List<ItemProcessor> modifiers) {
|
||||
public ApplyDataOperation(List<ItemProcessor<I>> modifiers) {
|
||||
this.modifiers = modifiers;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item<I> update(Item<I> item, ItemBuildContext context) {
|
||||
if (this.modifiers != null) {
|
||||
for (ItemProcessor modifier : this.modifiers) {
|
||||
for (ItemProcessor<I> modifier : this.modifiers) {
|
||||
modifier.apply(item, context);
|
||||
}
|
||||
}
|
||||
@@ -36,10 +36,10 @@ public final class ApplyDataOperation<I> implements ItemUpdater<I> {
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public ItemUpdater<I> create(Key item, Map<String, Object> args) {
|
||||
List<ItemProcessor> modifiers = new ArrayList<>();
|
||||
List<ItemProcessor<I>> modifiers = new ArrayList<>();
|
||||
Map<String, Object> data = ResourceConfigUtils.getAsMap(args.get("data"), "data");
|
||||
ItemProcessors.applyDataModifiers(data, m -> {
|
||||
modifiers.add((ItemProcessor) m);
|
||||
modifiers.add((ItemProcessor<I>) m);
|
||||
});
|
||||
return new ApplyDataOperation<>(modifiers);
|
||||
}
|
||||
|
||||
@@ -15,9 +15,9 @@ import java.util.Map;
|
||||
|
||||
public final class ApplyDataFunction<T> extends AbstractLootConditionalFunction<T> {
|
||||
public static final LootFunctionFactory<?> FACTORY = new Factory<>();
|
||||
private final ItemProcessor[] modifiers;
|
||||
private final ItemProcessor<?>[] modifiers;
|
||||
|
||||
public ApplyDataFunction(List<Condition<LootContext>> conditions, ItemProcessor[] modifiers) {
|
||||
public ApplyDataFunction(List<Condition<LootContext>> conditions, ItemProcessor<?>[] modifiers) {
|
||||
super(conditions);
|
||||
this.modifiers = modifiers;
|
||||
}
|
||||
@@ -36,7 +36,7 @@ public final class ApplyDataFunction<T> extends AbstractLootConditionalFunction<
|
||||
|
||||
@Override
|
||||
public LootFunction<A> create(Map<String, Object> arguments) {
|
||||
List<ItemProcessor> modifiers = new ArrayList<>();
|
||||
List<ItemProcessor<?>> modifiers = new ArrayList<>();
|
||||
Map<String, Object> data = ResourceConfigUtils.getAsMap(ResourceConfigUtils.requireNonNullOrThrow(arguments.get("data"), "warning.config.loot_table.function.apply_data.missing_data"), "data");
|
||||
ItemProcessors.applyDataModifiers(data, modifiers::add);
|
||||
List<Condition<LootContext>> conditions = ResourceConfigUtils.parseConfigAsList(arguments.get("conditions"), CommonConditions::fromMap);
|
||||
|
||||
@@ -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<CustomBlock> BLOCK = createDynamicBoundRegistry(Registries.BLOCK, 512);
|
||||
public static final Registry<BlockBehaviorType<? extends BlockBehavior>> BLOCK_BEHAVIOR_TYPE = createConstantBoundRegistry(Registries.BLOCK_BEHAVIOR_TYPE, 64);
|
||||
public static final Registry<ItemProcessorType<? extends ItemProcessor>> ITEM_PROCESSOR_TYPE = createConstantBoundRegistry(Registries.ITEM_PROCESSOR_TYPE, 64);
|
||||
public static final Registry<ItemProcessorType<?>> ITEM_PROCESSOR_TYPE = createConstantBoundRegistry(Registries.ITEM_PROCESSOR_TYPE, 64);
|
||||
public static final Registry<ItemBehaviorType<? extends ItemBehavior>> ITEM_BEHAVIOR_TYPE = createConstantBoundRegistry(Registries.ITEM_BEHAVIOR_TYPE, 64);
|
||||
public static final Registry<PropertyType<? extends Comparable<?>>> PROPERTY_TYPE = createConstantBoundRegistry(Registries.PROPERTY_TYPE, 16);
|
||||
public static final Registry<LootFunctionType<?>> LOOT_FUNCTION_TYPE = createConstantBoundRegistry(Registries.LOOT_FUNCTION_TYPE, 32);
|
||||
|
||||
@@ -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<Registry<CustomBlock>> BLOCK = ResourceKey.create(ROOT_REGISTRY, Key.withDefaultNamespace("block"));
|
||||
public static final ResourceKey<Registry<ItemProcessorType<? extends ItemProcessor>>> ITEM_PROCESSOR_TYPE = ResourceKey.create(ROOT_REGISTRY, Key.withDefaultNamespace("item_processor_type"));
|
||||
public static final ResourceKey<Registry<ItemProcessorType<?>>> ITEM_PROCESSOR_TYPE = ResourceKey.create(ROOT_REGISTRY, Key.withDefaultNamespace("item_processor_type"));
|
||||
public static final ResourceKey<Registry<PropertyType<? extends Comparable<?>>>> PROPERTY_TYPE = ResourceKey.create(ROOT_REGISTRY, Key.withDefaultNamespace("property_type"));
|
||||
public static final ResourceKey<Registry<BlockBehaviorType<? extends BlockBehavior>>> BLOCK_BEHAVIOR_TYPE = ResourceKey.create(ROOT_REGISTRY, Key.withDefaultNamespace("block_behavior_type"));
|
||||
public static final ResourceKey<Registry<ItemBehaviorType<? extends ItemBehavior>>> ITEM_BEHAVIOR_TYPE = ResourceKey.create(ROOT_REGISTRY, Key.withDefaultNamespace("item_behavior_type"));
|
||||
|
||||
Reference in New Issue
Block a user