diff options
Diffstat (limited to 'src/main/java/gtPlusPlus/everglades/GTplusplus_Everglades.java')
-rw-r--r-- | src/main/java/gtPlusPlus/everglades/GTplusplus_Everglades.java | 194 |
1 files changed, 194 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/everglades/GTplusplus_Everglades.java b/src/main/java/gtPlusPlus/everglades/GTplusplus_Everglades.java new file mode 100644 index 0000000000..34c6b01648 --- /dev/null +++ b/src/main/java/gtPlusPlus/everglades/GTplusplus_Everglades.java @@ -0,0 +1,194 @@ +package gtPlusPlus.everglades; + +import static gregtech.api.enums.Mods.GTPlusPlusEverglades; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.File; + +import net.minecraft.block.Block; +import net.minecraftforge.common.DimensionManager; +import net.minecraftforge.common.config.Configuration; + +import com.github.bartimaeusnek.crossmod.galacticgreg.GT_TileEntity_VoidMiner_Base; + +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.lib.CORE; +import gtPlusPlus.core.lib.CORE.Everglades; +import gtPlusPlus.core.material.MaterialGenerator; +import gtPlusPlus.core.material.ORES; +import gtPlusPlus.everglades.biome.Biome_Everglades; +import gtPlusPlus.everglades.block.DarkWorldContentLoader; +import gtPlusPlus.everglades.dimension.Dimension_Everglades; +import gtPlusPlus.everglades.gen.gt.WorldGen_GT_Base; +import gtPlusPlus.everglades.gen.gt.WorldGen_GT_Ore_Layer; +import gtPlusPlus.everglades.gen.gt.WorldGen_Ores; +import gtPlusPlus.preloader.CORE_Preloader; +import gtPlusPlus.xmod.gregtech.HANDLER_GT; +import gtPlusPlus.xmod.gregtech.api.util.GTPP_Config; + +@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 GTplusplus_Everglades implements ActionListener { + + // Mod Instance + @Mod.Instance(Mods.Names.G_T_PLUS_PLUS_EVERGLADES) + public static GTplusplus_Everglades instance; + + // Dark World Handler + protected static volatile Biome_Everglades Everglades_Biome; + protected static volatile Dimension_Everglades 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 Biome_Everglades()); + Everglades_Dimension = new Dimension_Everglades(); + + // Load Dark World + getEvergladesBiome().instance = instance; + Everglades_Dimension.instance = instance; + getEvergladesBiome().preInit(event); + + // Load/Set Custom Ore Gen + HANDLER_GT.sCustomWorldgenFile = new GTPP_Config( + new Configuration( + new File(new File(event.getModConfigurationDirectory(), "GTplusplus"), "WorldGeneration.cfg"))); + } + + @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(ORES.CROCROITE); + MaterialGenerator.generateOreMaterial(ORES.GEIKIELITE); + MaterialGenerator.generateOreMaterial(ORES.NICHROMITE); + MaterialGenerator.generateOreMaterial(ORES.TITANITE); + MaterialGenerator.generateOreMaterial(ORES.ZIMBABWEITE); + MaterialGenerator.generateOreMaterial(ORES.ZIRCONILITE); + MaterialGenerator.generateOreMaterial(ORES.GADOLINITE_CE); + MaterialGenerator.generateOreMaterial(ORES.GADOLINITE_Y); + MaterialGenerator.generateOreMaterial(ORES.LEPERSONNITE); + MaterialGenerator.generateOreMaterial(ORES.SAMARSKITE_Y); + MaterialGenerator.generateOreMaterial(ORES.SAMARSKITE_YB); + MaterialGenerator.generateOreMaterial(ORES.XENOTIME); + MaterialGenerator.generateOreMaterial(ORES.YTTRIAITE); + MaterialGenerator.generateOreMaterial(ORES.YTTRIALITE); + MaterialGenerator.generateOreMaterial(ORES.YTTROCERITE); + MaterialGenerator.generateOreMaterial(ORES.ZIRCON); + MaterialGenerator.generateOreMaterial(ORES.POLYCRASE); + MaterialGenerator.generateOreMaterial(ORES.ZIRCOPHYLLITE); + MaterialGenerator.generateOreMaterial(ORES.ZIRKELITE); + MaterialGenerator.generateOreMaterial(ORES.LANTHANITE_LA); + MaterialGenerator.generateOreMaterial(ORES.LANTHANITE_CE); + MaterialGenerator.generateOreMaterial(ORES.LANTHANITE_ND); + MaterialGenerator.generateOreMaterial(ORES.AGARDITE_Y); + MaterialGenerator.generateOreMaterial(ORES.AGARDITE_CD); + MaterialGenerator.generateOreMaterial(ORES.AGARDITE_LA); + MaterialGenerator.generateOreMaterial(ORES.AGARDITE_ND); + MaterialGenerator.generateOreMaterial(ORES.HIBONITE); + MaterialGenerator.generateOreMaterial(ORES.CERITE); + MaterialGenerator.generateOreMaterial(ORES.FLUORCAPHITE); + MaterialGenerator.generateOreMaterial(ORES.FLORENCITE); + MaterialGenerator.generateOreMaterial(ORES.CRYOLITE); + + MaterialGenerator.generateOreMaterial(ORES.LAUTARITE); + MaterialGenerator.generateOreMaterial(ORES.LAFOSSAITE); + MaterialGenerator.generateOreMaterial(ORES.DEMICHELEITE_BR); + MaterialGenerator.generateOreMaterial(ORES.COMANCHEITE); + MaterialGenerator.generateOreMaterial(ORES.PERROUDITE); + MaterialGenerator.generateOreMaterial(ORES.HONEAITE); + MaterialGenerator.generateOreMaterial(ORES.ALBURNITE); + MaterialGenerator.generateOreMaterial(ORES.MIESSIITE); + MaterialGenerator.generateOreMaterial(ORES.KASHINITE); + MaterialGenerator.generateOreMaterial(ORES.IRARSITE); + MaterialGenerator.generateOreMaterial(ORES.GREENOCKITE); + MaterialGenerator.generateOreMaterial(ORES.RADIOBARITE); + MaterialGenerator.generateOreMaterial(ORES.DEEP_EARTH_REACTOR_FUEL_DEPOSIT); + + } + + protected synchronized void setVars(FMLPreInitializationEvent event) { + // Init WorldGen config. + HANDLER_GT.sCustomWorldgenFile = new GTPP_Config( + new Configuration( + new File(new File(event.getModConfigurationDirectory(), "GTplusplus"), "WorldGeneration.cfg"))); + + if (DimensionManager.isDimensionRegistered(Dimension_Everglades.DIMID)) { + Dimension_Everglades.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 (CORE_Preloader.DEBUG_MODE || CORE.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); + addVMDrop(t.mSporadicMeta, 0, t.mWeight); + } + } + + public void addVMDrop(Block block, int meta, float weight) { + GT_TileEntity_VoidMiner_Base.addBlockToDimensionList(CORE.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 Biome_Everglades getEvergladesBiome() { + return Everglades_Biome; + } + + public static synchronized void setEvergladesBiome(Biome_Everglades darkWorld_Biome) { + Everglades_Biome = darkWorld_Biome; + } + + @Override + public void actionPerformed(ActionEvent arg0) { + // TODO Auto-generated method stub + + } +} |