package modtweaker;
import com.blamejared.ctgui.api.GuiRegistry;
import minetweaker.MineTweakerImplementationAPI;
import minetweaker.runtime.providers.ScriptProviderDirectory;
import modtweaker.mods.actuallyadditions.ActuallyAdditions;
import modtweaker.mods.bloodmagic.BloodMagic;
import modtweaker.mods.botania.Botania;
import modtweaker.mods.chisel.Chisel;
import modtweaker.mods.extrautils.ExtraUtilities;
import modtweaker.mods.forestry.Forestry;
import modtweaker.mods.randomthings.RandomThings;
import modtweaker.mods.refinedstorage.RefinedStorage;
import modtweaker.mods.tconstruct.TConstruct;
import modtweaker.mods.embers.Embers;
import modtweaker.proxy.CommonProxy;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.*;
import net.minecraftforge.fml.common.Mod.*;
import net.minecraftforge.fml.common.event.*;
import net.minecraftforge.fml.relauncher.Side;
import org.apache.logging.log4j.*;
import java.io.File;
import java.util.Arrays;
@Mod(modid = ModProps.modid, version = ModProps.version, dependencies = ModProps.dependencies)
public class ModTweaker {
public static Logger logger = LogManager.getLogger(ModProps.modid);
@SidedProxy(clientSide = "modtweaker.proxy.ClientProxy", serverSide = "modtweaker.proxy.CommonProxy")
public static CommonProxy proxy;
@Instance(ModProps.modid)
public ModTweaker instance;
@EventHandler
public void preInit(FMLPreInitializationEvent event) {
logger.info("Starting PreInitialization for " + ModProps.modid);
}
@EventHandler
public void init(FMLInitializationEvent event) {
logger.info("Starting Initialization for " + ModProps.modid);
TweakerPlugin.register("forestry", Forestry.class);
TweakerPlugin.register("tconstruct", TConstruct.class);
TweakerPlugin.register("randomthings", RandomThings.class);
TweakerPlugin.register("Botania", Botania.class);
TweakerPlugin.register("chisel", Chisel.class);
TweakerPlugin.register("BloodMagic", BloodMagic.class);
TweakerPlugin.register("actuallyadditions", ActuallyAdditions.class);
TweakerPlugin.register("refinedstorage", RefinedStorage.class);
TweakerPlugin.register("embers", Embers.class);
TweakerPlugin.register("extrautils2", ExtraUtilities.class);
if(FMLCommonHandler.instance().getSide() == Side.CLIENT) {
MinecraftForge.EVENT_BUS.register(new ClientEvents());
}
MineTweakerImplementationAPI.onReloadEvent(event1 -> proxy.registerCommands());
File scripts = new File("scripts");
if(!scripts.exists()) {
scripts.mkdir();
}
MineTweakerImplementationAPI.setScriptProvider(new ScriptProviderDirectory(scripts));
}
@EventHandler
public void postInit(FMLPostInitializationEvent event) {
logger.info("Starting PostInitialization for " + ModProps.modid);
}
@EventHandler
public void serverStart(FMLServerStartingEvent event) {
logger.info("Starting ServerStart for " + ModProps.modid);
proxy.registerCommands();
}
}