9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-31 04:46:37 +00:00

改一小部分

This commit is contained in:
XiaoMoMi
2025-12-28 19:52:46 +08:00
parent c686e05e3e
commit 0d3eb6ea84
7 changed files with 17 additions and 15 deletions

View File

@@ -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;

View File

@@ -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);
}

View File

@@ -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));
}
}
}

View File

@@ -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;
}
}

View File

@@ -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) {
}

View File

@@ -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);

View File

@@ -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"));