aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/galacticgreg/GalacticGreg.java
diff options
context:
space:
mode:
authorNotAPenguin <michiel.vandeginste@gmail.com>2024-09-02 23:17:17 +0200
committerGitHub <noreply@github.com>2024-09-02 23:17:17 +0200
commit1b820de08a05070909a267e17f033fcf58ac8710 (patch)
tree02831a025986a06b20f87e5bcc69d1e0c639a342 /src/main/java/galacticgreg/GalacticGreg.java
parentafd3fd92b6a6ab9ab0d0dc3214e6bc8ff7a86c9b (diff)
downloadGT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.gz
GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.bz2
GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.zip
The Great Renaming (#3014)
* move kekztech to a single root dir * move detrav to a single root dir * move gtnh-lanthanides to a single root dir * move tectech and delete some gross reflection in gt++ * remove more reflection inside gt5u * delete more reflection in gt++ * fix imports * move bartworks and bwcrossmod * fix proxies * move galactigreg and ggfab * move gtneioreplugin * try to fix gt++ bee loader * apply the rename rules to BW * apply rename rules to bwcrossmod * apply rename rules to detrav scanner mod * apply rename rules to galacticgreg * apply rename rules to ggfab * apply rename rules to goodgenerator * apply rename rules to gtnh-lanthanides * apply rename rules to gt++ * apply rename rules to kekztech * apply rename rules to kubatech * apply rename rules to tectech * apply rename rules to gt apply the rename rules to gt * fix tt import * fix mui hopefully * fix coremod except intergalactic * rename assline recipe class * fix a class name i stumbled on * rename StructureUtility to GTStructureUtility to prevent conflict with structurelib * temporary rename of GTTooltipDataCache to old name * fix gt client/server proxy names
Diffstat (limited to 'src/main/java/galacticgreg/GalacticGreg.java')
-rw-r--r--src/main/java/galacticgreg/GalacticGreg.java113
1 files changed, 113 insertions, 0 deletions
diff --git a/src/main/java/galacticgreg/GalacticGreg.java b/src/main/java/galacticgreg/GalacticGreg.java
new file mode 100644
index 0000000000..03cb4d1569
--- /dev/null
+++ b/src/main/java/galacticgreg/GalacticGreg.java
@@ -0,0 +1,113 @@
+package galacticgreg;
+
+import static gregtech.api.enums.Mods.AppliedEnergistics2;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+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 galacticgreg.auxiliary.GalacticGregConfig;
+import galacticgreg.auxiliary.LogHelper;
+import galacticgreg.auxiliary.ProfilingStorage;
+import galacticgreg.command.AEStorageCommand;
+import galacticgreg.command.ProfilingCommand;
+import galacticgreg.registry.GalacticGregRegistry;
+import galacticgreg.schematics.SpaceSchematicHandler;
+import gregtech.GT_Version;
+import gregtech.api.world.GTWorldgen;
+
+@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<GTWorldgen> smallOreWorldgenList = new ArrayList<>();
+ public static final List<GTWorldgen> 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");
+ }
+
+ 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!");
+
+ 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");
+ }
+}