Files
TinkersConstruct/src/tconstruct/preloader/TConstructLoaderContainer.java
T

125 lines
3.8 KiB
Java
Raw Normal View History

2013-10-04 00:16:04 +01:00
package tconstruct.preloader;
/*
* TConstructLoaderContainer is derived from code graciously provided by AlgorithmX2 of Applied Energistics.
* The code was adapted for this loader by Sunstrike. Any queries should be directed to him, not AlgorithmX2.
*/
import com.google.common.eventbus.EventBus;
import cpw.mods.fml.common.DummyModContainer;
import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.common.LoadController;
import cpw.mods.fml.common.ModMetadata;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.relauncher.IFMLLoadingPlugin;
import net.minecraftforge.event.ForgeSubscribe;
2013-10-06 15:46:23 +01:00
import tconstruct.preloader.helpers.PropertyManager;
import tconstruct.preloader.helpers.PropertyManager.PropAccessException;
2013-10-04 00:16:04 +01:00
import java.util.Arrays;
import java.util.Map;
import java.util.logging.Logger;
public class TConstructLoaderContainer extends DummyModContainer implements IFMLLoadingPlugin {
private final String[] asmTransformers = new String[]{"tconstruct.preloader.ASMInterfaceRepair"};
private final ModMetadata md = new ModMetadata();
2013-10-06 15:46:23 +01:00
public static Logger logger = Logger.getLogger("TCon-Preloader");
2013-10-04 00:16:04 +01:00
public TConstructLoaderContainer() {
logger.setParent(FMLLog.getLogger());
logger.info("Scalpel. Suction. Lumber axe. CLEAR! *zap*");
logger.info("Constructing preloader (Modules: " + Arrays.toString(asmTransformers) + ")");
2013-10-06 15:46:23 +01:00
try {
PropertyManager.getOrCreateProps();
} catch (PropAccessException ex) {
logger.severe("Could not get or create properties file! Assuming defaults.");
logger.severe(Arrays.toString(ex.getStackTrace()));
}
if (PropertyManager.asmInterfaceRepair_verboseLog) {
logger.warning("ASM Interface Repair is set to be verbose, this is NOT GOOD FOR SERVERS, as it will spam the logs!");
logger.warning("The debug mode is for debug use only. Turn it off unless instructed otherwise by a TCon developer!");
logger.warning("To reset advanced settings to default, delete the '" + PropertyManager.propFileName + "' file from the config folder.");
}
2013-10-04 00:16:04 +01:00
md.autogenerated = true;
md.credits = "AlgorithmX2 (original) and Sunstrike (porting)";
md.modId = getModId();
md.version = getVersion();
md.name = getName();
md.authorList = Arrays.asList("AlgorithmX2", "Sunstrike");
}
@ForgeSubscribe
public void preInit(FMLPreInitializationEvent evt) {
}
@ForgeSubscribe
public void init(FMLInitializationEvent evt) {
}
@ForgeSubscribe
public void postInit(FMLPostInitializationEvent evt) {
}
@Override
public String getModId() {
return "TConstruct-Preloader";
}
@Override
public String getName() {
return "Tinkers Corestruct";
}
@Override
public String getVersion() {
return "0.0.1";
}
@Override
public String getDisplayVersion() {
return getVersion();
}
@Override
public ModMetadata getMetadata() {
return md;
}
@Override
public boolean registerBus(EventBus bus, LoadController controller) {
bus.register(this);
return true;
}
@Override
public String[] getLibraryRequestClass() {
return null;
}
@Override
public String[] getASMTransformerClass() {
return asmTransformers;
}
@Override
public String getModContainerClass() {
return "tconstruct.preloader.TConstructLoaderContainer";
}
@Override
public String getSetupClass() {
return null;
}
@Override
public void injectData(Map<String, Object> data) {}
}