package gtPlusPlus.australia; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; 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.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.IFMLLoadingPlugin.MCVersion; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.australia.biome.type.Biome_AustralianDesert_Ex; import gtPlusPlus.australia.biome.type.Biome_AustralianForest; import gtPlusPlus.australia.biome.type.Biome_AustralianOcean; import gtPlusPlus.australia.biome.type.Biome_AustralianOutback; import gtPlusPlus.australia.biome.type.Biome_AustralianPlains; import gtPlusPlus.australia.block.AustraliaContentLoader; import gtPlusPlus.australia.dimension.Dimension_Australia; import gtPlusPlus.australia.gen.gt.WorldGen_Australia_Ores; import gtPlusPlus.australia.gen.gt.WorldGen_GT_Australia_Base; import gtPlusPlus.australia.gen.map.structure.StructureManager; import gtPlusPlus.australia.world.AustraliaWorldGenerator; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.CORE.Australia; import gtPlusPlus.preloader.CORE_Preloader; import gtPlusPlus.xmod.gregtech.api.util.GTPP_Config; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import net.minecraftforge.common.DimensionManager; import net.minecraftforge.common.config.Configuration; @MCVersion(value = "1.7.10") @Mod( modid = Australia.MODID, name = Australia.NAME, version = Australia.VERSION, dependencies = "required-after:Forge; after:dreamcraft; after:IC2; after:ihl; required-after:gregtech; required-after:miscutils;") public class GTplusplus_Australia implements ActionListener { // Mod Instance @Mod.Instance(Australia.MODID) public static GTplusplus_Australia instance; public static GTPP_Config sCustomWorldgenFile = null; // Dark World Handler // protected static volatile Biome_AustralianDesert Australian_Desert_Biome_1; // protected static volatile Biome_AustralianDesert2 Australian_Desert_Biome_2; public static volatile Biome_AustralianDesert_Ex Australian_Desert_Biome_3; public static volatile Biome_AustralianForest Australian_Forest_Biome; public static volatile Biome_AustralianOcean Australian_Ocean_Biome; public static volatile Biome_AustralianOutback Australian_Outback_Biome; public static volatile Biome_AustralianPlains Australian_Plains_Biome; public static volatile Dimension_Australia Australia_Dimension; public static AustraliaWorldGenerator Australia_World_Generator; public static int globalAustraliaPortalSpawnTimer = 0; // Pre-Init @Mod.EventHandler public void preInit(final FMLPreInitializationEvent event) { Logger.INFO("Loading " + Australia.MODID + " V" + Australia.VERSION); // Setup setVars(event); Australia_Dimension = new Dimension_Australia(); Australia_Dimension.instance = instance; // Australian_Desert_Biome_1 = (new Biome_AustralianDesert()); // Australian_Desert_Biome_2 = (new Biome_AustralianDesert2()); // Australian_Desert_Biome_1.instance = instance; // Australian_Desert_Biome_2.instance = instance; // Australian_Desert_Biome_1.preInit(event); // Australian_Desert_Biome_2.preInit(event); Australian_Desert_Biome_3 = (Biome_AustralianDesert_Ex.biome); Australian_Forest_Biome = (Biome_AustralianForest.biome); Australian_Ocean_Biome = (Biome_AustralianOcean.biome); Australian_Outback_Biome = (Biome_AustralianOutback.biome); Australian_Plains_Biome = Biome_AustralianPlains.biome; // Load Villages StructureManager.registerVillageComponents(); setupWorldGenerator(); // Load/Set Custom Ore Gen sCustomWorldgenFile = new GTPP_Config(new Configuration( new File(new File(event.getModConfigurationDirectory(), "GTplusplus"), "Australia.cfg"))); } @EventHandler public void load(final FMLInitializationEvent e) { Logger.INFO("Begin resource allocation for " + Australia.MODID + " V" + Australia.VERSION); // Load World and Biome GameRegistry.registerWorldGenerator(new WorldGen_GT_Australia_Base(), Short.MAX_VALUE); // Australian_Desert_Biome_1.load(); // Australian_Desert_Biome_2.load(); Australian_Desert_Biome_3.load(); Australian_Forest_Biome.load(); Australian_Ocean_Biome.load(); Australian_Outback_Biome.load(); Australian_Plains_Biome.load(); Australia_Dimension.load(); } public static synchronized void GenerateOreMaterials() {} protected synchronized void setVars(FMLPreInitializationEvent event) { sCustomWorldgenFile = new GTPP_Config(new Configuration( new File(new File(event.getModConfigurationDirectory(), "GTplusplus"), "Australia.cfg"))); if (DimensionManager.isDimensionRegistered(Dimension_Australia.DIMID)) { Dimension_Australia.DIMID = DimensionManager.getNextFreeDimId(); } /* * Set World Generation Values */ WorldGen_Australia_Ores.generateValidOreVeins(); WorldGen_GT_Australia_Base.oreveinPercentage = 16; WorldGen_GT_Australia_Base.oreveinAttempts = 16; WorldGen_GT_Australia_Base.oreveinMaxPlacementAttempts = 2; if (CORE_Preloader.DEBUG_MODE || CORE.DEVENV) { WorldGen_GT_Australia_Base.debugWorldGen = true; } AustraliaContentLoader.run(); } @EventHandler public void serverLoad(FMLServerStartingEvent event) { Australia_World_Generator.initiate(); } @EventHandler public static void postInit(final FMLPostInitializationEvent e) { Logger.INFO("Finished loading Australia plugin for GT++."); } @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub } private void setupWorldGenerator() { Logger.INFO("Registering World Generator for Australia."); Australia_World_Generator = new AustraliaWorldGenerator(); GameRegistry.registerWorldGenerator(Australia_World_Generator, 0); } }