1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
package bloodasp.galacticgreg;
import static gregtech.api.enums.Mods.AppliedEnergistics2;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import bloodasp.galacticgreg.auxiliary.GalacticGregConfig;
import bloodasp.galacticgreg.auxiliary.LogHelper;
import bloodasp.galacticgreg.auxiliary.ProfilingStorage;
import bloodasp.galacticgreg.bartworks.BW_Worldgen_Ore_Layer_Space;
import bloodasp.galacticgreg.bartworks.BW_Worldgen_Ore_SmallOre_Space;
import bloodasp.galacticgreg.command.AEStorageCommand;
import bloodasp.galacticgreg.command.ProfilingCommand;
import bloodasp.galacticgreg.registry.GalacticGregRegistry;
import bloodasp.galacticgreg.schematics.SpaceSchematicHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import gregtech.GT_Version;
import gregtech.api.GregTech_API;
import gregtech.api.world.GT_Worldgen;
@Mod(
modid = GalacticGreg.MODID,
name = GalacticGreg.MODNAME,
version = GalacticGreg.VERSION,
dependencies = "after:GalacticraftCore; required-after:gregtech@5.09.32.30;",
acceptableRemoteVersions = "*")
public class GalacticGreg {
public static final List<GT_Worldgen> smallOreWorldgenList = new ArrayList<>();
public static final List<GT_Worldgen> oreVeinWorldgenList = new ArrayList<>();
public static final String NICE_MODID = "GalacticGreg";
public static final String MODID = "galacticgreg";
public static final String MODNAME = "Galactic Greg";
public static final String VERSION = GT_Version.VERSION;
public static final LogHelper Logger = new LogHelper(NICE_MODID);
public static ProfilingStorage Profiler = new ProfilingStorage();
public static SpaceSchematicHandler SchematicHandler;
public static Random GalacticRandom = null;
public static GalacticGregConfig GalacticConfig = null;
/**
* Preload phase. Read config values and set various features.. n stuff...
*
* @param aEvent
*/
@EventHandler
public void onPreLoad(FMLPreInitializationEvent aEvent) {
GalacticConfig = new GalacticGregConfig(aEvent.getModConfigurationDirectory(), NICE_MODID, NICE_MODID);
if (!GalacticConfig.LoadConfig()) GalacticGreg.Logger
.warn("Something went wrong while reading GalacticGregs config file. Things will be wonky..");
GalacticRandom = new Random(System.currentTimeMillis());
if (GalacticConfig.SchematicsEnabled)
SchematicHandler = new SpaceSchematicHandler(aEvent.getModConfigurationDirectory());
Logger.trace("Leaving PRELOAD");
}
// @EventHandler
// public void onLoad(FMLInitializationEvent event){
// GalacticGregRegistry.registerModContainer(ModRegisterer.Setup_GalactiCraftCore());
// }
public static final ArrayList<Runnable> ADDITIONALVEINREGISTER = new ArrayList<>();
/**
* Postload phase. Mods can add their custom definition to our api in their own PreLoad or Init-phase Once
* GalacticGregRegistry.InitRegistry() is called, no changes are accepted. (Well you can with reflection, but on a
* "normal" way it's not possible)
*
* @param aEvent
*/
@EventHandler
public void onPostLoad(FMLPostInitializationEvent aEvent) {
Logger.trace("Entering POSTLOAD");
if (!GalacticGregRegistry.InitRegistry()) throw new RuntimeException(
"GalacticGreg registry has been finalized from a 3rd-party mod, this is forbidden!");
// new WorldGenGaGT().run(); DO NOT UNCOMMENT, was moved to gregtech.loaders.postload.GT_Worldgenloader
for (int f = 0,
j = GregTech_API.sWorldgenFile.get("worldgen.GaGregBartworks", "AmountOfCustomLargeVeinSlots", 0); f
< j; f++) {
new BW_Worldgen_Ore_Layer_Space(
"mix.custom." + (f < 10 ? "0" : "") + f,
GregTech_API.sWorldgenFile
.get("worldgen.GaGregBartworks." + "mix.custom." + (f < 10 ? "0" : "") + f, "Enabled", false));
}
for (int f = 0, j = GregTech_API.sWorldgenFile.get("worldgen.GaGregBartworks", "AmountOfCustomSmallSlots", 0); f
< j; f++) {
new BW_Worldgen_Ore_SmallOre_Space(
"small.custom." + (f < 10 ? "0" : "") + f,
GregTech_API.sWorldgenFile
.get("worldgen.GaGregBartworks." + "small.custom." + (f < 10 ? "0" : "") + f, "Enabled", false));
}
for (Runnable r : ADDITIONALVEINREGISTER) {
try {
r.run();
} catch (Exception e) {
e.printStackTrace();
}
}
GalacticConfig.serverPostInit();
Logger.trace("Leaving POSTLOAD");
}
/**
* If oregen profiling is enabled, then register the command
*
* @param pEvent
*/
@EventHandler
public void serverLoad(FMLServerStartingEvent pEvent) {
Logger.trace("Entering SERVERLOAD");
if (GalacticConfig.ProfileOreGen) pEvent.registerServerCommand(new ProfilingCommand());
if (AppliedEnergistics2.isModLoaded() && GalacticConfig.EnableAEExportCommand
&& GalacticConfig.SchematicsEnabled) pEvent.registerServerCommand(new AEStorageCommand());
Logger.trace("Leaving SERVERLOAD");
}
}
|