aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/GTplusplus.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/GTplusplus.java')
-rw-r--r--src/Java/gtPlusPlus/GTplusplus.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java
index a664555cf2..92c7a9a049 100644
--- a/src/Java/gtPlusPlus/GTplusplus.java
+++ b/src/Java/gtPlusPlus/GTplusplus.java
@@ -57,6 +57,29 @@ import net.minecraftforge.oredict.OreDictionary;
@Mod(modid = CORE.MODID, name = CORE.name, version = CORE.VERSION, dependencies = "required-after:Forge; after:TConstruct; after:PlayerAPI; after:dreamcraft; after:IC2; after:ihl; after:psychedelicraft; after:gregtech; after:Forestry; after:MagicBees; after:CoFHCore; after:Growthcraft; after:Railcraft; after:CompactWindmills; after:ForbiddenMagic; after:MorePlanet; after:PneumaticCraft; after:ExtraUtilities; after:Thaumcraft; after:rftools; after:simplyjetpacks; after:BigReactors; after:EnderIO; after:tectech; after:GTRedtech; after:beyondrealitycore; after:OpenBlocks; after:IC2NuclearControl; after:TGregworks; after:StevesCarts;")
public class GTplusplus implements ActionListener {
+ public static enum INIT_PHASE {
+ SUPER(null),
+ PRE_INIT(SUPER),
+ INIT(PRE_INIT),
+ POST_INIT(INIT);
+ protected boolean mIsPhaseActive = false;
+ private final INIT_PHASE mPrev;
+
+ private INIT_PHASE(INIT_PHASE aPreviousPhase) {
+ mPrev = aPreviousPhase;
+ }
+
+ public synchronized final boolean isPhaseActive() {
+ return mIsPhaseActive;
+ }
+ public synchronized final void setPhaseActive(boolean aIsPhaseActive) {
+ if (mPrev != null && mPrev.isPhaseActive()) {
+ mPrev.setPhaseActive(false);
+ }
+ mIsPhaseActive = aIsPhaseActive;
+ }
+ }
+
//Mod Instance
@Mod.Instance(CORE.MODID)
public static GTplusplus instance;
@@ -87,12 +110,14 @@ public class GTplusplus implements ActionListener {
public GTplusplus() {
super();
+ INIT_PHASE.SUPER.setPhaseActive(true);
mChunkLoading = new ChunkLoading();
}
// Pre-Init
@Mod.EventHandler
public void preInit(final FMLPreInitializationEvent event) {
+ INIT_PHASE.PRE_INIT.setPhaseActive(true);
Logger.INFO("Loading " + CORE.name + " "+CORE.VERSION+" on Gregtech "+Utils.getGregtechVersionAsString());
//Load all class objects within the plugin package.
Core_Manager.veryEarlyInit();
@@ -133,6 +158,7 @@ public class GTplusplus implements ActionListener {
// Init
@Mod.EventHandler
public void init(final FMLInitializationEvent event) {
+ INIT_PHASE.INIT.setPhaseActive(true);
mChunkLoading.init(event);
proxy.init(event);
proxy.registerNetworkStuff();
@@ -154,6 +180,7 @@ public class GTplusplus implements ActionListener {
// Post-Init
@Mod.EventHandler
public void postInit(final FMLPostInitializationEvent event) {
+ INIT_PHASE.POST_INIT.setPhaseActive(true);
mChunkLoading.postInit(event);
proxy.postInit(event);
BookHandler.runLater();