package gtPlusPlus.everglades; import static gregtech.api.enums.Mods.GTPlusPlusEverglades; import net.minecraft.block.Block; import net.minecraftforge.common.DimensionManager; import bwcrossmod.galacticgreg.MTEVoidMinerBase; 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 gregtech.api.enums.Mods; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.config.ASMConfiguration; import gtPlusPlus.core.lib.GTPPCore; import gtPlusPlus.core.lib.GTPPCore.Everglades; import gtPlusPlus.core.material.MaterialGenerator; import gtPlusPlus.core.material.MaterialsOres; import gtPlusPlus.everglades.biome.BiomeEverglades; import gtPlusPlus.everglades.block.DarkWorldContentLoader; import gtPlusPlus.everglades.dimension.DimensionEverglades; import gtPlusPlus.everglades.gen.gt.WorldGen_GT_Base; import gtPlusPlus.everglades.gen.gt.WorldGen_GT_Ore_Layer; import gtPlusPlus.everglades.gen.gt.WorldGen_Ores; @Mod( modid = Mods.Names.G_T_PLUS_PLUS_EVERGLADES, name = Everglades.NAME, version = Everglades.VERSION, dependencies = "required-after:Forge; after:dreamcraft; after:IC2; required-after:gregtech; required-after:miscutils;") public class GTPPEverglades { // Mod Instance @Mod.Instance(Mods.Names.G_T_PLUS_PLUS_EVERGLADES) public static GTPPEverglades instance; // Dark World Handler protected static volatile BiomeEverglades Everglades_Biome; protected static volatile DimensionEverglades Everglades_Dimension; // Pre-Init @Mod.EventHandler public void preInit(final FMLPreInitializationEvent event) { Logger.INFO("Loading " + GTPlusPlusEverglades.ID + " V" + Everglades.VERSION); // Setup setVars(event); setEvergladesBiome(new BiomeEverglades()); Everglades_Dimension = new DimensionEverglades(); // Load Dark World getEvergladesBiome().instance = instance; Everglades_Dimension.instance = instance; getEvergladesBiome().preInit(event); } @EventHandler public void load(final FMLInitializationEvent e) { Logger.INFO("Begin resource allocation for " + GTPlusPlusEverglades.ID + " V" + Everglades.VERSION); // Load World and Biome GameRegistry.registerWorldGenerator(new WorldGen_GT_Base(), Short.MAX_VALUE); getEvergladesBiome().load(); Everglades_Dimension.load(); addToVoidMinerDrops(); } public static synchronized void GenerateOreMaterials() { MaterialGenerator.generateOreMaterial(MaterialsOres.CROCROITE); MaterialGenerator.generateOreMaterial(MaterialsOres.GEIKIELITE); MaterialGenerator.generateOreMaterial(MaterialsOres.NICHROMITE); MaterialGenerator.generateOreMaterial(MaterialsOres.TITANITE); MaterialGenerator.generateOreMaterial(MaterialsOres.ZIMBABWEITE); MaterialGenerator.generateOreMaterial(MaterialsOres.ZIRCONILITE); MaterialGenerator.generateOreMaterial(MaterialsOres.GADOLINITE_CE); MaterialGenerator.generateOreMaterial(MaterialsOres.GADOLINITE_Y); MaterialGenerator.generateOreMaterial(MaterialsOres.LEPERSONNITE); MaterialGenerator.generateOreMaterial(MaterialsOres.SAMARSKITE_Y); MaterialGenerator.generateOreMaterial(MaterialsOres.SAMARSKITE_YB); MaterialGenerator.generateOreMaterial(MaterialsOres.XENOTIME); MaterialGenerator.generateOreMaterial(MaterialsOres.YTTRIAITE); MaterialGenerator.generateOreMaterial(MaterialsOres.YTTRIALITE); MaterialGenerator.generateOreMaterial(MaterialsOres.YTTROCERITE); MaterialGenerator.generateOreMaterial(MaterialsOres.ZIRCON); MaterialGenerator.generateOreMaterial(MaterialsOres.POLYCRASE); MaterialGenerator.generateOreMaterial(MaterialsOres.ZIRCOPHYLLITE); MaterialGenerator.generateOreMaterial(MaterialsOres.ZIRKELITE); MaterialGenerator.generateOreMaterial(MaterialsOres.LANTHANITE_LA); MaterialGenerator.generateOreMaterial(MaterialsOres.LANTHANITE_CE); MaterialGenerator.generateOreMaterial(MaterialsOres.LANTHANITE_ND); MaterialGenerator.generateOreMaterial(MaterialsOres.AGARDITE_Y); MaterialGenerator.generateOreMaterial(MaterialsOres.AGARDITE_CD); MaterialGenerator.generateOreMaterial(MaterialsOres.AGARDITE_LA); MaterialGenerator.generateOreMaterial(MaterialsOres.AGARDITE_ND); MaterialGenerator.generateOreMaterial(MaterialsOres.HIBONITE); MaterialGenerator.generateOreMaterial(MaterialsOres.CERITE); MaterialGenerator.generateOreMaterial(MaterialsOres.FLUORCAPHITE); MaterialGenerator.generateOreMaterial(MaterialsOres.FLORENCITE); MaterialGenerator.generateOreMaterial(MaterialsOres.CRYOLITE); MaterialGenerator.generateOreMaterial(MaterialsOres.LAUTARITE); MaterialGenerator.generateOreMaterial(MaterialsOres.LAFOSSAITE); MaterialGenerator.generateOreMaterial(MaterialsOres.DEMICHELEITE_BR); MaterialGenerator.generateOreMaterial(MaterialsOres.COMANCHEITE); MaterialGenerator.generateOreMaterial(MaterialsOres.PERROUDITE); MaterialGenerator.generateOreMaterial(MaterialsOres.HONEAITE); MaterialGenerator.generateOreMaterial(MaterialsOres.ALBURNITE); MaterialGenerator.generateOreMaterial(MaterialsOres.MIESSIITE); MaterialGenerator.generateOreMaterial(MaterialsOres.KASHINITE); MaterialGenerator.generateOreMaterial(MaterialsOres.IRARSITE); MaterialGenerator.generateOreMaterial(MaterialsOres.GREENOCKITE); MaterialGenerator.generateOreMaterial(MaterialsOres.RADIOBARITE); MaterialGenerator.generateOreMaterial(MaterialsOres.DEEP_EARTH_REACTOR_FUEL_DEPOSIT); } protected synchronized void setVars(FMLPreInitializationEvent event) { if (DimensionManager.isDimensionRegistered(DimensionEverglades.DIMID)) { DimensionEverglades.DIMID = DimensionManager.getNextFreeDimId(); } /* * Set World Generation Values */ WorldGen_Ores.generateValidOreVeins(); WorldGen_GT_Base.oreveinPercentage = 64; WorldGen_GT_Base.oreveinAttempts = 16; WorldGen_GT_Base.oreveinMaxPlacementAttempts = 4; if (ASMConfiguration.debug.debugMode || GTPPCore.DEVENV) { WorldGen_GT_Base.debugWorldGen = true; } DarkWorldContentLoader.run(); } public void addToVoidMinerDrops() { for (WorldGen_GT_Ore_Layer t : WorldGen_Ores.validOreveins.values()) { addVMDrop(t.mPrimaryMeta, 0, t.mWeight); addVMDrop(t.mSecondaryMeta, 0, t.mWeight); addVMDrop(t.mBetweenMeta, 0, t.mWeight / 8f); addVMDrop(t.mSporadicMeta, 0, t.mWeight / 8f); } } public void addVMDrop(Block block, int meta, float weight) { MTEVoidMinerBase .addBlockToDimensionList(gtPlusPlus.core.config.Configuration.worldgen.EVERGLADES_ID, block, meta, weight); } @EventHandler public void serverLoad(FMLServerStartingEvent event) { getEvergladesBiome().serverLoad(event); } @EventHandler public static void postInit(final FMLPostInitializationEvent e) { Logger.INFO("Finished loading Everglades plugin for GT++."); } public static synchronized BiomeEverglades getEvergladesBiome() { return Everglades_Biome; } public static synchronized void setEvergladesBiome(BiomeEverglades darkWorld_Biome) { Everglades_Biome = darkWorld_Biome; } }