mod loading fix

This commit is contained in:
lcy0x1
2024-07-26 10:26:09 +08:00
parent 340cd07a30
commit 541ba4932b
14 changed files with 10 additions and 19 deletions

View File

@@ -18,7 +18,7 @@ loader_version_range=[2,)
mod_id=l2core
mod_name=L2Core
mod_license=LGPL-2.1
mod_version=3.0.6-pre19
mod_version=3.0.6
mod_group_id=dev.xkmc
mod_authors=lcy0x1
mod_description=Core Library mod for all L2 mods
@@ -32,4 +32,4 @@ patchouli_ver = 1.21-87-NEOFORGE-SNAPSHOT
lljij = false
rootMod = false
l2serial_ver = 3.0.1
l2serial_ver = 3.0.9

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
libs/l2serial-3.0.9.jar Normal file

Binary file not shown.

View File

@@ -4,7 +4,6 @@ import com.tterrag.registrate.AbstractRegistrate;
import com.tterrag.registrate.providers.RegistrateProvider;
import dev.xkmc.l2core.serial.config.RecordDataProvider;
import net.minecraft.core.HolderLookup;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.PackOutput;
import net.neoforged.fml.LogicalSide;

View File

@@ -5,11 +5,11 @@ import net.neoforged.api.distmarker.Dist;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.neoforge.client.event.ClientTickEvent;
import net.neoforged.neoforge.event.tick.ServerTickEvent;
import java.util.ArrayList;
import java.util.List;
import java.util.function.BooleanSupplier;
@EventBusSubscriber(value = Dist.CLIENT, modid = L2Core.MODID, bus = EventBusSubscriber.Bus.GAME)
public class ClientScheduler {

View File

@@ -2,11 +2,9 @@ package dev.xkmc.l2core.init.reg.ench;
import dev.xkmc.l2core.init.L2LibReg;
import dev.xkmc.l2serial.util.Wrappers;
import net.minecraft.ChatFormatting;
import net.minecraft.core.Holder;
import net.minecraft.core.component.DataComponents;
import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.item.ItemStack;

View File

@@ -14,6 +14,7 @@ import dev.xkmc.l2core.init.L2Core;
import dev.xkmc.l2core.init.reg.simple.Val;
import dev.xkmc.l2core.util.ConfigInit;
import dev.xkmc.l2serial.serialization.custom_handler.CodecHandler;
import dev.xkmc.l2serial.util.ModContainerHack;
import dev.xkmc.l2serial.util.Wrappers;
import net.minecraft.client.particle.ParticleEngine;
import net.minecraft.client.particle.ParticleProvider;
@@ -34,7 +35,6 @@ import net.minecraft.world.item.Items;
import net.minecraft.world.item.alchemy.Potion;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.fml.ModContainer;
import net.neoforged.fml.ModLoadingContext;
import net.neoforged.fml.config.ModConfig;
import net.neoforged.neoforge.client.event.RegisterParticleProvidersEvent;
import net.neoforged.neoforge.data.loading.DatagenModLoader;
@@ -57,7 +57,7 @@ public class L2Registrate extends AbstractRegistrate<L2Registrate> {
public L2Registrate(String modid) {
super(modid);
var mod = ModLoadingContext.get().getActiveContainer();
var mod = ModContainerHack.getMod(modid);
var bus = mod.getEventBus();
if (bus != null) registerEventListeners(bus);
else L2Core.LOGGER.error("Failed to register mod {}", modid);

View File

@@ -4,11 +4,11 @@ import com.mojang.serialization.Codec;
import dev.xkmc.l2core.init.reg.datapack.DataMapReg;
import dev.xkmc.l2core.init.reg.datapack.DatapackReg;
import dev.xkmc.l2serial.serialization.codec.CodecAdaptor;
import dev.xkmc.l2serial.util.ModContainerHack;
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;
@@ -19,10 +19,7 @@ public final class Reg {
public Reg(String modid) {
this.modid = modid;
var cont = ModLoadingContext.get().getActiveContainer();
if (!cont.getModId().equals(modid))
throw new IllegalStateException("Class Initialized from wrong thread for " + modid);
var cont = ModContainerHack.getMod(modid);
var bus = cont.getEventBus();
if (bus != null) this.bus = bus;
else throw new IllegalStateException("Event bus is null for " + modid);

View File

@@ -6,8 +6,6 @@ import dev.xkmc.l2core.init.reg.registrate.L2Registrate;
import net.minecraft.advancements.Advancement;
import net.minecraft.advancements.AdvancementHolder;
import net.minecraft.advancements.AdvancementType;
import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;

View File

@@ -16,7 +16,7 @@ public record RewardBuilder(L2Registrate reg, int exp, ResourceKey<LootTable> lo
Supplier<LootTable.Builder> sup) implements IAdvBuilder {
public RewardBuilder(L2Registrate reg, int exp, ResourceKey<LootTable> loot,
Supplier<LootTable.Builder> sup){
Supplier<LootTable.Builder> sup) {
this.reg = reg;
this.exp = exp;
this.loot = loot;

View File

@@ -4,7 +4,6 @@ import com.google.gson.JsonElement;
import dev.xkmc.l2serial.serialization.codec.JsonCodec;
import net.minecraft.core.HolderLookup;
import net.minecraft.data.CachedOutput;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.DataProvider;
import net.minecraft.data.PackOutput;

View File

@@ -3,9 +3,9 @@ package dev.xkmc.l2core.util;
import com.tterrag.registrate.providers.RegistrateLangProvider;
import com.tterrag.registrate.util.RegistrateDistExecutor;
import dev.xkmc.l2core.init.reg.registrate.L2Registrate;
import dev.xkmc.l2serial.util.ModContainerHack;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.fml.ModContainer;
import net.neoforged.fml.ModLoadingContext;
import net.neoforged.fml.config.IConfigSpec;
import net.neoforged.fml.config.ModConfig;
import net.neoforged.neoforge.client.gui.ConfigurationScreen;
@@ -68,7 +68,7 @@ public class ConfigInit {
private static void register(L2Registrate reg, ModConfig.Type type, IConfigSpec spec, ConfigInit val) {
if (val.folder == null) throw new IllegalStateException("Config must specify folder");
var mod = ModLoadingContext.get().getActiveContainer();
var mod = ModContainerHack.getMod(reg.getModid());
String path = val.folder + mod.getModId() + "-" + type.extension() + ".toml";
mod.registerConfig(type, spec, path);
val.path = path;