From 5ab8fdcbac34faa180a2c7b8f95864fefababfa0 Mon Sep 17 00:00:00 2001 From: lcy0x1 Date: Thu, 27 Jun 2024 20:04:15 +0800 Subject: [PATCH] auto reg --- gradle.properties | 2 +- ...sources.jar => l2serial-3.0.1-sources.jar} | Bin 45813 -> 46037 bytes ...{l2serial-3.0.0.jar => l2serial-3.0.1.jar} | Bin 108700 -> 109464 bytes .../java/dev/xkmc/l2core/init/L2Core.java | 7 -- .../java/dev/xkmc/l2core/init/L2LibReg.java | 64 ++++++------ .../dev/xkmc/l2core/init/reg/simple/Reg.java | 98 ++++++++---------- 6 files changed, 77 insertions(+), 94 deletions(-) rename libs/{l2serial-3.0.0-sources.jar => l2serial-3.0.1-sources.jar} (93%) rename libs/{l2serial-3.0.0.jar => l2serial-3.0.1.jar} (86%) diff --git a/gradle.properties b/gradle.properties index 8502fb1..f3841cd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -31,4 +31,4 @@ registrate_version = MC1.21-1.4.1 lljij = false rootMod = false -l2serial_ver = 3.0.0 \ No newline at end of file +l2serial_ver = 3.0.1 \ No newline at end of file diff --git a/libs/l2serial-3.0.0-sources.jar b/libs/l2serial-3.0.1-sources.jar similarity index 93% rename from libs/l2serial-3.0.0-sources.jar rename to libs/l2serial-3.0.1-sources.jar index 5a121a7fb166e48f98d1cf5cdd0332468d663e6c..754ae7bcd71e8df3ab0fe63bd8316ce22ec40378 100644 GIT binary patch delta 1973 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 delta 7792 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 MvKZvg0aTR#1F9V{3jhEB diff --git a/src/main/java/dev/xkmc/l2core/init/L2Core.java b/src/main/java/dev/xkmc/l2core/init/L2Core.java index b0625ed..d07baa3 100644 --- a/src/main/java/dev/xkmc/l2core/init/L2Core.java +++ b/src/main/java/dev/xkmc/l2core/init/L2Core.java @@ -35,16 +35,9 @@ public class L2Core { public L2Core(IEventBus bus) { Handlers.register(); - L2LibReg.register(bus); - REGISTRATE.addDataGenerator(L2TagGen.EFF_TAGS, L2TagGen::onEffectTagGen); } - @SubscribeEvent - public static void onPacketReg(RegisterPayloadHandlersEvent event) { - PACKET_HANDLER.register(event); - } - public static ResourceLocation loc(String id) { return ResourceLocation.fromNamespaceAndPath(MODID, id); } diff --git a/src/main/java/dev/xkmc/l2core/init/L2LibReg.java b/src/main/java/dev/xkmc/l2core/init/L2LibReg.java index deec60e..19f1f64 100644 --- a/src/main/java/dev/xkmc/l2core/init/L2LibReg.java +++ b/src/main/java/dev/xkmc/l2core/init/L2LibReg.java @@ -17,52 +17,50 @@ import dev.xkmc.l2serial.serialization.codec.MapCodecAdaptor; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.level.storage.loot.predicates.LootItemConditionType; -import net.neoforged.bus.api.IEventBus; import net.neoforged.neoforge.common.conditions.ICondition; import net.neoforged.neoforge.common.loot.IGlobalLootModifier; import net.neoforged.neoforge.registries.NeoForgeRegistries; public class L2LibReg { - public static final Reg REG = new Reg(L2Core.MODID); + public static final Reg REG = new Reg(L2Core.MODID); - // ingredients - public static final IngReg INGREDIENT = IngReg.of(REG); - public static final IngVal ING_ENCH = INGREDIENT.reg("enchantment", EnchantmentIngredient.class); - public static final IngVal ING_POTION = INGREDIENT.reg("potion", PotionIngredient.class); + // ingredients + public static final IngReg INGREDIENT = IngReg.of(REG); + public static final IngVal ING_ENCH = INGREDIENT.reg("enchantment", EnchantmentIngredient.class); + public static final IngVal ING_POTION = INGREDIENT.reg("potion", PotionIngredient.class); - // conditions - public static final CdcReg CONDITION = CdcReg.of(REG, NeoForgeRegistries.CONDITION_SERIALIZERS); - public static final CdcVal CONDITION_BOOL = CONDITION.reg("bool_config", BooleanValueCondition.class); - public static final CdcVal CONDITION_INT = CONDITION.reg("int_config", IntValueCondition.class); - public static final CdcVal CONDITION_DOUBLE = CONDITION.reg("double_config", DoubleValueCondition.class); - public static final CdcVal CONDITION_STR = CONDITION.reg("string_config", StringValueCondition.class); - public static final CdcVal CONDITION_LIST_STR = CONDITION.reg("string_list_config", ListStringValueCondition.class); + // conditions + public static final CdcReg CONDITION = CdcReg.of(REG, NeoForgeRegistries.CONDITION_SERIALIZERS); + public static final CdcVal CONDITION_BOOL = CONDITION.reg("bool_config", BooleanValueCondition.class); + public static final CdcVal CONDITION_INT = CONDITION.reg("int_config", IntValueCondition.class); + public static final CdcVal CONDITION_DOUBLE = CONDITION.reg("double_config", DoubleValueCondition.class); + public static final CdcVal CONDITION_STR = CONDITION.reg("string_config", StringValueCondition.class); + public static final CdcVal CONDITION_LIST_STR = CONDITION.reg("string_list_config", ListStringValueCondition.class); - // attachments - public static final AttReg ATTACHMENT = AttReg.of(REG); + // attachments + public static final AttReg ATTACHMENT = AttReg.of(REG); - public static final AttVal.CapVal EFFECT = ATTACHMENT.entity("effect", - ClientEffectCap.class, ClientEffectCap::new, LivingEntity.class, e -> e.level().isClientSide()); - public static final AttVal.PlayerVal CONDITIONAL = ATTACHMENT.player("conditionals", - ConditionalData.class, ConditionalData::new, PlayerCapabilityNetworkHandler::new); - public static final AttVal.PlayerVal FLAGS = ATTACHMENT.player("flags", - PlayerFlagData.class, PlayerFlagData::new, PlayerCapabilityNetworkHandler::new); + public static final AttVal.CapVal EFFECT = ATTACHMENT.entity("effect", + ClientEffectCap.class, ClientEffectCap::new, LivingEntity.class, e -> e.level().isClientSide()); + public static final AttVal.PlayerVal CONDITIONAL = ATTACHMENT.player("conditionals", + ConditionalData.class, ConditionalData::new, PlayerCapabilityNetworkHandler::new); + public static final AttVal.PlayerVal FLAGS = ATTACHMENT.player("flags", + PlayerFlagData.class, PlayerFlagData::new, PlayerCapabilityNetworkHandler::new); - // loot modifiers - public static final CdcReg GLM = CdcReg.of(REG, NeoForgeRegistries.GLOBAL_LOOT_MODIFIER_SERIALIZERS); - public static final CdcVal ADD_ITEM = GLM.reg("add_item", AddItemModifier.MAP_CODEC); - public static final CdcVal ADD_TABLE = GLM.reg("add_table", AddLootTableModifier.MAP_CODEC); + // loot modifiers + public static final CdcReg GLM = CdcReg.of(REG, NeoForgeRegistries.GLOBAL_LOOT_MODIFIER_SERIALIZERS); + public static final CdcVal ADD_ITEM = GLM.reg("add_item", AddItemModifier.MAP_CODEC); + public static final CdcVal ADD_TABLE = GLM.reg("add_table", AddLootTableModifier.MAP_CODEC); - // loot conditions - public static final SR LIC = SR.of(REG, BuiltInRegistries.LOOT_CONDITION_TYPE); - public static final Val LIC_FLAG = LIC.reg("player_flag", () -> new LootItemConditionType(MapCodecAdaptor.of(PlayerFlagCondition.class))); + // loot conditions + public static final SR LIC = SR.of(REG, BuiltInRegistries.LOOT_CONDITION_TYPE); + public static final Val LIC_FLAG = LIC.reg("player_flag", () -> new LootItemConditionType(MapCodecAdaptor.of(PlayerFlagCondition.class))); - // datapack - public static final DatapackReg MENU_LAYOUT = REG.dataReg("menu_layout", MenuLayoutConfig.class); + // datapack + public static final DatapackReg MENU_LAYOUT = REG.dataReg("menu_layout", MenuLayoutConfig.class); - public static void register(IEventBus bus) { - REG.register(bus); - } + public static void register() { + } } diff --git a/src/main/java/dev/xkmc/l2core/init/reg/simple/Reg.java b/src/main/java/dev/xkmc/l2core/init/reg/simple/Reg.java index 27f2622..56ff07a 100644 --- a/src/main/java/dev/xkmc/l2core/init/reg/simple/Reg.java +++ b/src/main/java/dev/xkmc/l2core/init/reg/simple/Reg.java @@ -8,74 +8,66 @@ import net.minecraft.core.Registry; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.ModLoadingContext; import net.neoforged.neoforge.registries.DeferredRegister; import net.neoforged.neoforge.registries.datamaps.DataMapType; -import java.util.ArrayList; -import java.util.List; -import java.util.function.Consumer; - public final class Reg { - private final String modid; + private final String modid; + private final IEventBus bus; - public Reg(String modid) { - this.modid = modid; - } + public Reg(String modid) { + this.modid = modid; - public DeferredRegister make(Registry reg) { - var ans = DeferredRegister.create(reg, modid); - listen(ans::register); - return ans; - } + var cont = ModLoadingContext.get().getActiveContainer(); + if (!cont.getModId().equals(modid)) + throw new IllegalStateException("Class Initialized from wrong thread for " + modid); + var bus = cont.getEventBus(); + if (bus != null) this.bus = bus; + else throw new IllegalStateException("Event bus is null for " + modid); + } - public DeferredRegister make(ResourceKey> reg) { - var ans = DeferredRegister.create(reg, modid); - listen(ans::register); - return ans; - } + public DeferredRegister make(Registry reg) { + var ans = DeferredRegister.create(reg, modid); + ans.register(bus); + return ans; + } - public DatapackReg dataReg(String id, Codec codec) { - var ans = new DatapackReg<>(ResourceKey.createRegistryKey(loc(id)), codec); - listen(bus -> bus.addListener(ans::onRegister)); - return ans; - } + public DeferredRegister make(ResourceKey> reg) { + var ans = DeferredRegister.create(reg, modid); + ans.register(bus); + return ans; + } - public DatapackReg dataReg(String id, Class cls) { - return dataReg(id, new CodecAdaptor<>(cls)); - } + public DatapackReg dataReg(String id, Codec codec) { + var ans = new DatapackReg<>(ResourceKey.createRegistryKey(loc(id)), codec); + bus.addListener(ans::onRegister); + return ans; + } - public DataMapReg dataMap(DataMapType type) { - var ans = new DataMapReg<>(type); - listen(bus -> bus.addListener(ans::register)); - return ans; - } + public DatapackReg dataReg(String id, Class cls) { + return dataReg(id, new CodecAdaptor<>(cls)); + } - public DataMapReg dataMap(String id, ResourceKey> k, Codec codec, Codec network) { - return dataMap(DataMapType.builder(loc(id), k, codec).synced(network, true).build()); - } + public DataMapReg dataMap(DataMapType type) { + var ans = new DataMapReg<>(type); + bus.addListener(ans::register); + return ans; + } - public DataMapReg dataMap(String id, ResourceKey> k, Class cls) { - CodecAdaptor codec = new CodecAdaptor<>(cls); - return dataMap(id, k, codec, codec); - } + public DataMapReg dataMap(String id, ResourceKey> k, Codec codec, Codec network) { + return dataMap(DataMapType.builder(loc(id), k, codec).synced(network, true).build()); + } - public ResourceLocation loc(String id) { - return ResourceLocation.fromNamespaceAndPath(modid, id); - } + public DataMapReg dataMap(String id, ResourceKey> k, Class cls) { + CodecAdaptor codec = new CodecAdaptor<>(cls); + return dataMap(id, k, codec, codec); + } - private final List> list = new ArrayList<>(); - private IEventBus bus; + public ResourceLocation loc(String id) { + return ResourceLocation.fromNamespaceAndPath(modid, id); + } - private void listen(Consumer cons) { - if (bus == null) list.add(cons); - else cons.accept(bus); - } - - public void register(IEventBus bus) { - for (var e : list) e.accept(bus); - list.clear(); - this.bus = bus; - } }