mirror of
https://github.com/GTNewHorizons/DummyCore.git
synced 2026-10-26 14:24:24 +00:00
DummyCore 2.0 ALPHA build!
This commit is contained in:
1 parent
4c1031fd7a
commit
181f92104c
2 files changed
+174
-202
No files matched your search
+117
-110
@@ -3,130 +3,134 @@ package DummyCore.Core;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import DummyCore.CreativeTabs.CreativePageBlocks;
|
||||
import DummyCore.CreativeTabs.CreativePageItems;
|
||||
import DummyCore.Utils.EnumLightColor;
|
||||
import DummyCore.Utils.IDummyConfig;
|
||||
import DummyCore.Utils.Notifier;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraftforge.common.config.Configuration;
|
||||
import DummyCore.CreativeTabs.CreativePageBlocks;
|
||||
import DummyCore.CreativeTabs.CreativePageItems;
|
||||
import DummyCore.Utils.IDummyConfig;
|
||||
import DummyCore.Utils.LoadingUtils;
|
||||
import DummyCore.Utils.Notifier;
|
||||
|
||||
public class Core {
|
||||
public static List<Block> lightBlocks = new ArrayList<Block>();
|
||||
public static List<EnumLightColor> lightColors = new ArrayList<EnumLightColor>();
|
||||
private static HashMap<Class<?>, Integer> modList = new HashMap<Class<?>,Integer>();
|
||||
private static HashMap<Integer, Configuration> configurationList = new HashMap<Integer,Configuration>();
|
||||
private static List<String> modNameList = new ArrayList<String>();
|
||||
private static CreativeTabs[] blocksTabs = new CreativeTabs[512];
|
||||
private static CreativeTabs[] itemsTabs = new CreativeTabs[512];
|
||||
private static Configuration[] config = new Configuration[512];
|
||||
private static IDummyConfig[] configurationHandlers = new IDummyConfig[512];
|
||||
private static boolean[] isConfigLoaded = new boolean[512];
|
||||
|
||||
private static void registerMod(Class<?> c, String name) throws RuntimeException
|
||||
public static final ArrayList<DCMod> registeredMods = new ArrayList<DCMod>();
|
||||
public static File mcDir;
|
||||
|
||||
public static boolean isModRegistered(Class<?> mod)
|
||||
{
|
||||
if(!modList.containsKey(c))
|
||||
for(DCMod dcm : registeredMods)
|
||||
if(dcm.modClass.equals(mod))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static DCMod getModFromClass(Class<?> c)
|
||||
{
|
||||
for(DCMod dcm : registeredMods)
|
||||
if(dcm.modClass.equals(c))
|
||||
return dcm;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private static void registerMod(Class<?> c, String name, boolean addCreativeTabs)
|
||||
{
|
||||
if(!isModRegistered(c))
|
||||
{
|
||||
int modId = getNextModId();
|
||||
if(modId < 0 || modId >= 512)
|
||||
DCMod mod = new DCMod(c,name);
|
||||
if(addCreativeTabs)
|
||||
{
|
||||
throw new RuntimeException("Mod "+name+" is trying to be registered with wrong id "+modId);
|
||||
mod.blocks = new CreativePageBlocks(name);
|
||||
mod.items = new CreativePageItems(name);
|
||||
}
|
||||
modList.put(c, modId);
|
||||
modNameList.add(modId, name);
|
||||
blocksTabs[modId] = new CreativePageBlocks(name);
|
||||
itemsTabs[modId] = new CreativePageItems(name);
|
||||
Notifier.notifySimple("Mod with name "+name+" and classpath "+c.getName()+".class using ID "+modId+" has been succesfully registered!");
|
||||
registeredMods.add(mod);
|
||||
}else
|
||||
{
|
||||
throw new RuntimeException("Mod "+name+" is already registered!");
|
||||
Notifier.notifyError(name+"[classPath:"+c+"]Already has a DummyCore mod associated with it(is already registered), ignoring");
|
||||
}
|
||||
}
|
||||
|
||||
private static void registerConfigurationFileForMod(Class<?> c, String path) throws IOException
|
||||
private static void registerConfigurationFileForMod(Class<?> c, String path)
|
||||
{
|
||||
File file = new File(path,getModName(getIdForMod(c))+".cfg");
|
||||
if(!file.exists())
|
||||
file.createNewFile();
|
||||
config[getIdForMod(c)] = new Configuration(file);
|
||||
config[getIdForMod(c)].save();
|
||||
configurationList.put(getIdForMod(c), config[getIdForMod(c)]);
|
||||
Notifier.notifySimple("Configuration File for mod "+getModName(getIdForMod(c))+" was successfully created with path "+path+getModName(getIdForMod(c))+".cfg");
|
||||
try
|
||||
{
|
||||
if(!isModRegistered(c))
|
||||
{
|
||||
LoadingUtils.makeACrash("[DummyCore]Catched an attempt to register configuration file for not registered mod, this should not be possible and many things will go wrong as a result!", new IllegalStateException(c+" Is not a valid DCMod!"), false);
|
||||
}else
|
||||
{
|
||||
DCMod mod = getModFromClass(c);
|
||||
File file = new File(path,mod.ufName+".cfg");
|
||||
if(file.isDirectory())
|
||||
file.delete();
|
||||
|
||||
if(!file.exists())
|
||||
file.createNewFile();
|
||||
|
||||
Configuration cfg = new Configuration(file);
|
||||
cfg.save();
|
||||
mod.injectFMLConfig(cfg);
|
||||
Notifier.notifySimple("Configuration File for mod "+mod+" was successfully created with path "+path+mod.ufName+".cfg");
|
||||
}
|
||||
}
|
||||
catch(IOException e)
|
||||
{
|
||||
DCMod mod = getModFromClass(c);
|
||||
LoadingUtils.makeACrash("[DummyCore]Could not create a config file for mod "+mod+" - check your file system!", e, true);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this in you Pre-Initiasisation functions. This will register your mod in the DummyCore system and automatically create all config and .lang files.
|
||||
* Use this in you Pre-Initialization functions. This will register your mod in the DummyCore system and automatically create all config and .lang files.
|
||||
* From DummyCore v1.1 you no longer need to use IMCEvent to register all blocks and items.
|
||||
* @param c - class file of your mod. MUST be registered from the mod itself. Use getClass().
|
||||
* @param modname - this name will be used to name CreativeTabs, config and .lang files.
|
||||
* @param configPath - the path to your configuration file. You can use FMLPreInitialisationEvent.getModConfigurationDirectory().getAbsolutePath() to get your path.
|
||||
* @param config - the initialised! object, that implements IDummyConfig.
|
||||
* @throws IOException - If something has gone wrong the game will give the corresponding error report.
|
||||
* @param config - the initialized! object, that implements IDummyConfig.
|
||||
* @version From DummyCore 1.0.
|
||||
* @Warning From DummyCore 1.1 no longer the function registerConfigurationHandler must be called.
|
||||
*
|
||||
*/
|
||||
public static void registerModAbsolute(Class<?> c, String modname, String configPath, IDummyConfig config) throws IOException
|
||||
public static void registerModAbsolute(Class<?> c, String modname, String configPath, IDummyConfig config)
|
||||
{
|
||||
registerMod(c,modname);
|
||||
registerModAbsolute(c,modname,configPath,config,true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this in you Pre-Initialization functions. This will register your mod in the DummyCore system and automatically create all config and .lang files.
|
||||
* From DummyCore v1.1 you no longer need to use IMCEvent to register all blocks and items.
|
||||
* @param c - class file of your mod. MUST be registered from the mod itself. Use getClass().
|
||||
* @param modname - this name will be used to name CreativeTabs, config and .lang files.
|
||||
* @param configPath - the path to your configuration file. You can use FMLPreInitialisationEvent.getModConfigurationDirectory().getAbsolutePath() to get your path.
|
||||
* @param config - the initialized! object, that implements IDummyConfig.
|
||||
* @param addCreativeTabs if the custom creative tabs for your mod should be created.
|
||||
* @version From DummyCore 2.0.
|
||||
*
|
||||
*/
|
||||
public static void registerModAbsolute(Class<?> c, String modname, String configPath, IDummyConfig config, boolean addCreativeTabs)
|
||||
{
|
||||
registerMod(c,modname,addCreativeTabs);
|
||||
registerConfigurationFileForMod(c,configPath);
|
||||
registerConfigurationHandler(config,c);
|
||||
loadConfigForMod(getIdForMod(c));
|
||||
}
|
||||
|
||||
private static int getNextModId()
|
||||
{
|
||||
int i = 0;
|
||||
while(i < 512)
|
||||
{
|
||||
if(!modList.containsValue(i))
|
||||
{
|
||||
break;
|
||||
}
|
||||
++i;
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to get the ID of the mod using .class file.
|
||||
* @param m - the class file of the mod.
|
||||
* @return The corresponding ID of the mod.
|
||||
* @version From DummyCore 1.0
|
||||
*/
|
||||
public static int getIdForMod(Class<?> m)
|
||||
{
|
||||
if(modList.containsKey(m))
|
||||
{
|
||||
return (Integer)modList.get(m);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to get the name of the mod using .class file.
|
||||
* @param i - the id of the mod.
|
||||
* @return The corresponding name of the mod.
|
||||
* @version From DummyCore 1.0
|
||||
*/
|
||||
public static String getModName(int i)
|
||||
{
|
||||
return (String)modNameList.get(i);
|
||||
loadConfigForMod(c);
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to get the config file of the mod using .class file.
|
||||
* @param c - the class file of the mod.
|
||||
* @return The corresponding config file of the mod.
|
||||
* @version From DummyCore 1.0
|
||||
* @version From DummyCore 2.0
|
||||
*/
|
||||
public static Configuration getConfigFileForMod(Class<?> c)
|
||||
{
|
||||
return config[getIdForMod(c)];
|
||||
if(!isModRegistered(c))
|
||||
{
|
||||
Notifier.notifyError("Catched an attempt to get configuration for a not registered mod, things are about go wery wrong! Offendor: "+c);
|
||||
return null;
|
||||
}
|
||||
return getModFromClass(c).fmlCfg;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -134,39 +138,32 @@ public class Core {
|
||||
* @param config - the initialised! object, that implements IDummyConfig.
|
||||
* @param c - the class file of the mod. Use getClass(). Should only be called in the mod itself.
|
||||
* @throws RuntimeException
|
||||
* @version From DummyCore 1.0
|
||||
* @version From DummyCore 2.0
|
||||
*/
|
||||
private static void registerConfigurationHandler(IDummyConfig config, Class<?> c) throws RuntimeException
|
||||
private static void registerConfigurationHandler(IDummyConfig config, Class<?> c)
|
||||
{
|
||||
int modId = getIdForMod(c);
|
||||
if(configurationHandlers[modId] == null)
|
||||
if(!isModRegistered(c))
|
||||
{
|
||||
configurationHandlers[modId] = config;
|
||||
LoadingUtils.makeACrash("[DummyCore]Catched an attempt to register IDummyConfig for not registered mod, this should not be possible and many things will go wrong as a result!", new IllegalStateException(c+" Is not a valid DCMod!"), false);
|
||||
}else
|
||||
{
|
||||
throw new RuntimeException("Configuration handler for mod "+getModName(modId)+" is already registered!");
|
||||
DCMod mod = getModFromClass(c);
|
||||
mod.injectConfig(config);
|
||||
Notifier.notifySimple("IDummyConfing for mod "+mod+" was successfully created");
|
||||
}
|
||||
}
|
||||
|
||||
private static void loadConfigForMod(int t) throws RuntimeException
|
||||
public static void loadConfigForMod(Class<?> c)
|
||||
{
|
||||
if(!isConfigLoaded[t])
|
||||
if(!isModRegistered(c))
|
||||
{
|
||||
if(configurationHandlers[t] != null && config[t] != null)
|
||||
{
|
||||
config[t].load();
|
||||
configurationHandlers[t].load(config[t]);
|
||||
config[t].save();
|
||||
}
|
||||
else
|
||||
if((configurationHandlers[t] == null && config[t] != null) || (configurationHandlers[t] != null && config[t] == null))
|
||||
{
|
||||
//throw new RuntimeException("Either the configuration handler for config was not registered, or the IConfig was not registered. The ID for both elements is "+t);
|
||||
}
|
||||
isConfigLoaded[t] = true;
|
||||
LoadingUtils.makeACrash("[DummyCore]Catched an attempt to load IDummyConfig for not registered mod, this should not be possible and many things will go wrong as a result!", new IllegalStateException(c+" Is not a valid DCMod!"), false);
|
||||
}else
|
||||
{
|
||||
throw new RuntimeException("Configuration handler was already initialised!");
|
||||
DCMod mod = getModFromClass(c);
|
||||
mod.fmlCfg.load();
|
||||
mod.cfg.load(mod.fmlCfg);
|
||||
mod.fmlCfg.save();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -174,22 +171,32 @@ public class Core {
|
||||
* Use this to get the creativetab of all mod items.
|
||||
* @param c - the .class file of the mod.
|
||||
* @return The corresponding Creative Tab
|
||||
* @version From DummyCore 1.0
|
||||
* @version From DummyCore 2.0
|
||||
*/
|
||||
public static CreativeTabs getItemTabForMod(Class<?> c)
|
||||
{
|
||||
return itemsTabs[getIdForMod(c)];
|
||||
if(!isModRegistered(c))
|
||||
{
|
||||
Notifier.notifyError("Catched an attempt to get CreativeTabs for a not registered mod, things are about go wery wrong! Offendor: "+c);
|
||||
return null;
|
||||
}
|
||||
return getModFromClass(c).items;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this to get the creativetab of all mod blocks.
|
||||
* @param c - the .class file of the mod.
|
||||
* @return The corresponding Creative Tab
|
||||
* @version From DummyCore 1.0
|
||||
* @version From DummyCore 2.0
|
||||
*/
|
||||
public static CreativeTabs getBlockTabForMod(Class<?> c)
|
||||
{
|
||||
return blocksTabs[getIdForMod(c)];
|
||||
if(!isModRegistered(c))
|
||||
{
|
||||
Notifier.notifyError("Catched an attempt to get CreativeTabs for a not registered mod, things are about go wery wrong! Offendor: "+c);
|
||||
return null;
|
||||
}
|
||||
return getModFromClass(c).blocks;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,7 +1,12 @@
|
||||
package DummyCore.Core;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import static DummyCore.Core.CoreInitialiser.mcVersion;
|
||||
import static DummyCore.Core.CoreInitialiser.modid;
|
||||
import static DummyCore.Core.CoreInitialiser.modname;
|
||||
import static DummyCore.Core.CoreInitialiser.version;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import net.minecraft.command.CommandHandler;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
@@ -13,15 +18,18 @@ import DummyCore.Utils.DummyPacketHandler;
|
||||
import DummyCore.Utils.DummyPacketIMSG;
|
||||
import DummyCore.Utils.DummyPacketIMSG_Tile;
|
||||
import DummyCore.Utils.DummyTilePacketHandler;
|
||||
import DummyCore.Utils.LoadingUtils;
|
||||
import DummyCore.Utils.MiscUtils;
|
||||
import DummyCore.Utils.ModVersionChecker;
|
||||
import DummyCore.Utils.NetProxy_Server;
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
import cpw.mods.fml.common.Loader;
|
||||
import cpw.mods.fml.common.Mod;
|
||||
import cpw.mods.fml.common.Mod.EventHandler;
|
||||
import cpw.mods.fml.common.ModMetadata;
|
||||
import cpw.mods.fml.common.SidedProxy;
|
||||
import cpw.mods.fml.common.event.FMLInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLServerAboutToStartEvent;
|
||||
import cpw.mods.fml.common.event.FMLServerStartingEvent;
|
||||
import cpw.mods.fml.common.event.FMLServerStoppedEvent;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||
@@ -32,12 +40,18 @@ import cpw.mods.fml.relauncher.Side;
|
||||
* @author Modbder
|
||||
* @version From DummyCore 1.0
|
||||
*/
|
||||
@Mod(modid = "DummyCore", name = "DummyCore", version = "1.13", useMetadata = false)
|
||||
@Mod(modid = modid, name = modname, version = version, useMetadata = false,acceptedMinecraftVersions=mcVersion)
|
||||
public class CoreInitialiser{
|
||||
|
||||
public static final String modid = "DummyCore";
|
||||
public static final String modname = "DummyCore";
|
||||
public static final String version = "1.13";
|
||||
public static final String globalVersion = "2";
|
||||
public static final String modVersion = "0";
|
||||
public static final String mcVersion = "1.7.10";
|
||||
public static final String modmcVersion = "1710";
|
||||
public static final String buildVersion = "0";
|
||||
public static final String buildPostfix = "A";
|
||||
public static final String version = globalVersion+'.'+modVersion+'.'+modmcVersion+'.'+buildVersion+'.'+buildPostfix;
|
||||
|
||||
public static CoreInitialiser instance;
|
||||
public static DummyConfig cfg = new DummyConfig();
|
||||
@@ -46,79 +60,29 @@ public class CoreInitialiser{
|
||||
public static NetProxy_Server proxy;
|
||||
public static final DummyPacketHandler packetHandler = new DummyPacketHandler();
|
||||
|
||||
|
||||
/*
|
||||
@Subscribe
|
||||
public void constructMod(FMLConstructionEvent event)
|
||||
{
|
||||
System.out.println(event);
|
||||
System.out.println(this);
|
||||
System.out.println(languageAdapter);
|
||||
System.out.println(event.getASMHarvestedData().getAnnotationsFor(this));
|
||||
Set<ASMData> targets = event.getASMHarvestedData().getAnnotationsFor(this).get(SidedProxy.class.getName());
|
||||
System.out.println(targets.size());
|
||||
System.out.println(targets);
|
||||
System.out.println(targets.isEmpty());
|
||||
NetworkRegistry.INSTANCE.register(this, this.getClass(), null, event.getASMHarvestedData());
|
||||
ProxyInjector.inject(this, event.getASMHarvestedData(), FMLCommonHandler.instance().getSide(), languageAdapter);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
public CoreInitialiser()
|
||||
public static void initMetadata(ModMetadata meta)
|
||||
{
|
||||
/*
|
||||
super(initMetadata());
|
||||
instance = this;
|
||||
languageAdapter = new ILanguageAdapter.JavaAdapter();
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
@Override
|
||||
public boolean registerBus(EventBus bus, LoadController controller)
|
||||
{
|
||||
bus.register(instance);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Object getMod()
|
||||
{
|
||||
return instance;
|
||||
}
|
||||
*/
|
||||
|
||||
public static ModMetadata initMetadata()
|
||||
{
|
||||
ModMetadata meta = new ModMetadata();
|
||||
meta.autogenerated = false;
|
||||
meta.modId = modid;
|
||||
meta.name = modname;
|
||||
meta.version = version;
|
||||
meta.credits = "Modbder";
|
||||
meta.authorList= Arrays.asList(new String[] {
|
||||
"Dummy Thinking Team; Modbder; TheDen2099"
|
||||
"Dummy Thinking Team",
|
||||
"Modbder",
|
||||
"TheDen2099",
|
||||
"MrDangerDen",
|
||||
"TheMysticDark"
|
||||
});
|
||||
meta.description="Dummy Core is a required package to launch mods made by Dummy Thinking team.";
|
||||
return meta;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void preInit(FMLPreInitializationEvent e)
|
||||
{
|
||||
|
||||
ModMetadata meta = e.getModMetadata();
|
||||
meta.autogenerated = false;
|
||||
meta.modId = modid;
|
||||
meta.name = modname;
|
||||
meta.version = version;
|
||||
meta.credits = "Modbder";
|
||||
meta.authorList= Arrays.asList(new String[] {
|
||||
"Dummy Thinking Team; Modbder; TheDen2099"
|
||||
});
|
||||
meta.description="Dummy Core is a required package to launch mods made by Dummy Thinking team.";
|
||||
|
||||
initMetadata(e.getModMetadata());
|
||||
Core.registerModAbsolute(getClass(), "DummyCore", e.getModConfigurationDirectory().getAbsolutePath(),cfg,false);
|
||||
|
||||
if(instance == null) instance = this;
|
||||
network = NetworkRegistry.INSTANCE.newSimpleChannel("DummyCore");
|
||||
@@ -126,33 +90,36 @@ public class CoreInitialiser{
|
||||
network.registerMessage(DummyPacketHandler.class, DummyPacketIMSG.class, 0, Side.CLIENT);
|
||||
network.registerMessage(DummyTilePacketHandler.class, DummyPacketIMSG_Tile.class, 1, Side.SERVER);
|
||||
network.registerMessage(DummyTilePacketHandler.class, DummyPacketIMSG_Tile.class, 1, Side.CLIENT);
|
||||
try
|
||||
{
|
||||
Core.registerModAbsolute(getClass(), "DummyCore", e.getModConfigurationDirectory().getAbsolutePath(),cfg);
|
||||
}catch(Exception ex)
|
||||
{
|
||||
System.out.println("Oh, come on Forge. If something has got wrong here - this is it.");
|
||||
System.out.println("No, reriously, if an exception is bbeing thrown here - nothing is going to load");
|
||||
System.out.println("Like, even the gam itself, since an exception here means File System error.");
|
||||
System.out.println("And a file system error here -> impossible to create literally any file in directory!");
|
||||
System.out.println("But when I'm trying to set a System.exit(-1) here - oww, not allowed?");
|
||||
System.out.println("Fine, I can work without it... Reflection time!");
|
||||
try
|
||||
{
|
||||
Class<System> system = System.class;
|
||||
Method exit = system.getMethod("exit", int.class);
|
||||
exit.invoke(null, -1);
|
||||
}catch(Exception exc)
|
||||
{
|
||||
exc.printStackTrace();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
MinecraftForge.EVENT_BUS.register(new DummyEventHandler());
|
||||
MinecraftForge.EVENT_BUS.register(new DummyDataUtils());
|
||||
FMLCommonHandler.instance().bus().register(new DummyEventHandler());
|
||||
|
||||
proxy.registerInfo();
|
||||
|
||||
if(Loader.isModLoaded(modid))
|
||||
LoadingUtils.knownBigASMModifiers.add("DummyCore");
|
||||
if(Loader.isModLoaded("DragonAPI"))
|
||||
LoadingUtils.knownBigASMModifiers.add("DragonAPI"); //<- I have nothing against Reika, I like his mods, I just like to point out that DragonAPI adds quite a lot of ASM hooks
|
||||
if(Loader.isModLoaded("Optifine") || Loader.isModLoaded("optifine"))
|
||||
LoadingUtils.knownBigASMModifiers.add("Optifine");
|
||||
if(Loader.isModLoaded("CoFHCore"))
|
||||
LoadingUtils.knownBigASMModifiers.add("CoFHCore");
|
||||
if(Loader.isModLoaded("easycoloredlights"))
|
||||
LoadingUtils.knownBigASMModifiers.add("Easy Colored Lights");
|
||||
if(Loader.isModLoaded("thaumicinfusion"))
|
||||
LoadingUtils.knownBigASMModifiers.add("Thaumic Infusion");
|
||||
if(MiscUtils.classExists("api.player.forge.PlayerAPIPlugin"))
|
||||
LoadingUtils.knownBigASMModifiers.add("Player API");
|
||||
if(MiscUtils.classExists("cofh.tweak.CoFHTweaks"))
|
||||
LoadingUtils.knownBigASMModifiers.add("CoFH Tweaks");
|
||||
if(Loader.isModLoaded("CoFHCore"))
|
||||
LoadingUtils.knownBigASMModifiers.add("CoFHCore");
|
||||
if(MiscUtils.classExists("codechicken.core.asm.CodeChickenCoreModContainer"))
|
||||
LoadingUtils.knownBigASMModifiers.add("CodeChickenCore");
|
||||
|
||||
FMLCommonHandler.instance().registerCrashCallable(new DCCrashCallable());
|
||||
ModVersionChecker.addRequest(getClass(), "https://www.dropbox.com/s/iwdfv0mc4qns00f/DummyCoreVersion.txt?dl=1");
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
@@ -162,13 +129,6 @@ public class CoreInitialiser{
|
||||
proxy.registerInit();
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@EventHandler
|
||||
public void onServerStart(FMLServerAboutToStartEvent e)
|
||||
{
|
||||
//DummyDataUtils.load(e);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onServerStop(FMLServerStoppedEvent e)
|
||||
{
|
||||
@@ -181,4 +141,9 @@ public class CoreInitialiser{
|
||||
MinecraftServer mcserver = event.getServer();
|
||||
((CommandHandler)mcserver.getCommandManager()).registerCommand(new CommandTransfer());
|
||||
}
|
||||
|
||||
public static void fmlLogMissingTextures()
|
||||
{
|
||||
proxy.removeMissingTextureErrors();
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user