NaturesAura/src/main/java/de/ellpeck/naturesaura/NaturesAura.java
2024-03-10 11:29:12 +01:00

78 lines
2.6 KiB
Java

package de.ellpeck.naturesaura;
import com.google.common.base.Strings;
import de.ellpeck.naturesaura.api.NaturesAuraAPI;
import de.ellpeck.naturesaura.blocks.multi.Multiblocks;
import de.ellpeck.naturesaura.chunk.effect.DrainSpotEffects;
import de.ellpeck.naturesaura.compat.Compat;
import de.ellpeck.naturesaura.events.CommonEvents;
import de.ellpeck.naturesaura.proxy.ClientProxy;
import de.ellpeck.naturesaura.proxy.IProxy;
import de.ellpeck.naturesaura.proxy.ServerProxy;
import de.ellpeck.naturesaura.recipes.ModRecipes;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.fml.ModLoadingContext;
import net.neoforged.fml.common.Mod;
import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
import net.neoforged.fml.loading.FMLEnvironment;
import net.neoforged.neoforge.common.ModConfigSpec;
import net.neoforged.neoforge.common.NeoForge;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@Mod(NaturesAura.MOD_ID)
public final class NaturesAura {
public static final String MOD_ID = NaturesAuraAPI.MOD_ID;
public static final String MOD_NAME = "Nature's Aura";
public static final Logger LOGGER = LogManager.getLogger(NaturesAura.MOD_NAME);
public static NaturesAura instance;
public static IProxy proxy;
public NaturesAura(IEventBus eventBus) {
NaturesAura.instance = this;
NaturesAura.proxy = FMLEnvironment.dist.isClient() ? new ClientProxy() : new ServerProxy();
eventBus.addListener(this::setup);
var builder = new ModConfigSpec.Builder();
ModConfig.instance = new ModConfig(builder);
ModLoadingContext.get().registerConfig(net.neoforged.fml.config.ModConfig.Type.COMMON, builder.build());
}
public void setup(FMLCommonSetupEvent event) {
this.preInit(event);
this.init(event);
this.postInit(event);
}
private void preInit(FMLCommonSetupEvent event) {
Compat.setup(event);
new Multiblocks();
NeoForge.EVENT_BUS.register(new CommonEvents());
NaturesAura.proxy.preInit(event);
}
private void init(FMLCommonSetupEvent event) {
event.enqueueWork(ModConfig.instance::apply);
ModRecipes.init();
DrainSpotEffects.init();
NaturesAura.proxy.init(event);
}
private void postInit(FMLCommonSetupEvent event) {
NaturesAura.proxy.postInit(event);
NaturesAura.LOGGER.info("-- Nature's Aura Fake Player Information --");
NaturesAura.LOGGER.info("Name: [Minecraft]");
NaturesAura.LOGGER.info("UUID: 41C82C87-7AfB-4024-BA57-13D2C99CAE77");
NaturesAura.LOGGER.info(Strings.padStart("", 43, '-'));
}
}