mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-31 04:46:37 +00:00
改一小部分
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -2,7 +2,7 @@ package net.momirealms.craftengine.core.item;
|
||||
|
||||
import net.momirealms.craftengine.core.item.processor.ItemProcessor;
|
||||
|
||||
public interface ItemProcessorFactory<I> {
|
||||
public interface ItemProcessorFactory<T extends ItemProcessor> {
|
||||
|
||||
ItemProcessor<I> create(Object arg);
|
||||
T create(Object arg);
|
||||
}
|
||||
|
||||
@@ -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<I> implements ItemProcessor<I> {
|
||||
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<IdProcessor> FACTORY = new Factory();
|
||||
private final Key argument;
|
||||
|
||||
public IdProcessor(Key argument) {
|
||||
@@ -19,17 +19,17 @@ public class IdProcessor<I> implements ItemProcessor<I> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item<I> apply(Item<I> item, ItemBuildContext context) {
|
||||
public Item<?> apply(Item<?> item, ItemBuildContext context) {
|
||||
item.customId(this.argument);
|
||||
return item;
|
||||
}
|
||||
|
||||
private static class Factory<I> implements ItemProcessorFactory<I> {
|
||||
private static class Factory implements ItemProcessorFactory<IdProcessor> {
|
||||
|
||||
@Override
|
||||
public ItemProcessor<I> create(Object arg) {
|
||||
public IdProcessor create(Object arg) {
|
||||
String id = arg.toString();
|
||||
return new IdProcessor<>(Key.of(id));
|
||||
return new IdProcessor(Key.of(id));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<I> {
|
||||
public interface ItemProcessor {
|
||||
|
||||
Item<I> apply(Item<I> item, ItemBuildContext context);
|
||||
Item<?> apply(Item<?> item, ItemBuildContext context);
|
||||
|
||||
default Item<I> prepareNetworkItem(Item<I> item, ItemBuildContext context, CompoundTag networkData) {
|
||||
default Item<?> prepareNetworkItem(Item<?> 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>(Key id, ItemProcessorFactory<T> factory) {
|
||||
public record ItemProcessorType<T extends ItemProcessor>(Key id, ItemProcessorFactory<T> factory) {
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ 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;
|
||||
@@ -65,7 +66,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<?>> ITEM_PROCESSOR_TYPE = createConstantBoundRegistry(Registries.ITEM_PROCESSOR_TYPE, 64);
|
||||
public static final Registry<ItemProcessorType<? extends ItemProcessor>> 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,6 +18,7 @@ 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;
|
||||
@@ -68,7 +69,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<?>>> ITEM_PROCESSOR_TYPE = ResourceKey.create(ROOT_REGISTRY, Key.withDefaultNamespace("item_processor_type"));
|
||||
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<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