Skip to content

Commit f7641a8

Browse files
authored
Add missing FML stages to modules (GregTechCEu#1989)
1 parent 789e5a7 commit f7641a8

File tree

4 files changed

+47
-9
lines changed

4 files changed

+47
-9
lines changed

src/main/java/gregtech/GregTechMod.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,11 @@ public void loadComplete(FMLLoadCompleteEvent event) {
7575
moduleManager.onLoadComplete(event);
7676
}
7777

78+
@EventHandler
79+
public void serverAboutToStart(FMLServerAboutToStartEvent event) {
80+
moduleManager.onServerAboutToStart(event);
81+
}
82+
7883
@EventHandler
7984
public void serverStarting(FMLServerStartingEvent event) {
8085
moduleManager.onServerStarting(event);
@@ -85,6 +90,11 @@ public void serverStarted(FMLServerStartedEvent event) {
8590
moduleManager.onServerStarted(event);
8691
}
8792

93+
@EventHandler
94+
public void serverStopping(FMLServerStoppingEvent event) {
95+
moduleManager.onServerStopping(event);
96+
}
97+
8898
@EventHandler
8999
public void serverStopped(FMLServerStoppedEvent event) {
90100
moduleManager.onServerStopped(event);

src/main/java/gregtech/api/modules/IGregTechModule.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,18 @@ default void postInit(FMLPostInitializationEvent event) {
3131
default void loadComplete(FMLLoadCompleteEvent event) {
3232
}
3333

34+
default void serverAboutToStart(FMLServerAboutToStartEvent event) {
35+
}
36+
3437
default void serverStarting(FMLServerStartingEvent event) {
3538
}
3639

3740
default void serverStarted(FMLServerStartedEvent event) {
3841
}
3942

43+
default void serverStopping(FMLServerStoppingEvent event) {
44+
}
45+
4046
default void serverStopped(FMLServerStoppedEvent event) {
4147
}
4248

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
package gregtech.api.modules;
22

3+
/**
4+
* Basically {@link net.minecraftforge.fml.common.LoaderState} but only for launch stages.
5+
* Also includes early module stages.
6+
*/
37
public enum ModuleStage {
4-
C_SETUP, // Initializing Module Containers
5-
M_SETUP, // Initializing Modules
6-
CONSTRUCTION, // MC Construction stage
7-
PRE_INIT, // MC PreInitialization stage
8-
INIT, // MC Initialization stage
9-
POST_INIT, // MC PostInitialization stage
10-
FINISHED, // MC LoadComplete stage
11-
SERVER_STARTING, // MC ServerStarting stage
12-
SERVER_STARTED // MC ServerStarted stage
8+
C_SETUP, // Initializing Module Containers
9+
M_SETUP, // Initializing Modules
10+
CONSTRUCTION, // MC Construction stage
11+
PRE_INIT, // MC PreInitialization stage
12+
INIT, // MC Initialization stage
13+
POST_INIT, // MC PostInitialization stage
14+
FINISHED, // MC LoadComplete stage
15+
SERVER_ABOUT_TO_START, // MC ServerAboutToStart stage
16+
SERVER_STARTING, // MC ServerStarting stage
17+
SERVER_STARTED // MC ServerStarted stage
1318
}

src/main/java/gregtech/modules/ModuleManager.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,16 @@ public void onLoadComplete(FMLLoadCompleteEvent event) {
147147
}
148148
}
149149

150+
public void onServerAboutToStart(FMLServerAboutToStartEvent event) {
151+
currentStage = ModuleStage.SERVER_ABOUT_TO_START;
152+
for (IGregTechModule module : loadedModules) {
153+
currentContainer = containers.get(getContainerID(module));
154+
module.getLogger().debug("Server-about-to-start start");
155+
module.serverAboutToStart(event);
156+
module.getLogger().debug("Server-about-to-start complete");
157+
}
158+
}
159+
150160
public void onServerStarting(FMLServerStartingEvent event) {
151161
currentStage = ModuleStage.SERVER_STARTING;
152162
for (IGregTechModule module : loadedModules) {
@@ -167,6 +177,13 @@ public void onServerStarted(FMLServerStartedEvent event) {
167177
}
168178
}
169179

180+
public void onServerStopping(FMLServerStoppingEvent event) {
181+
for (IGregTechModule module : loadedModules) {
182+
currentContainer = containers.get(getContainerID(module));
183+
module.serverStopping(event);
184+
}
185+
}
186+
170187
public void onServerStopped(FMLServerStoppedEvent event) {
171188
for (IGregTechModule module : loadedModules) {
172189
currentContainer = containers.get(getContainerID(module));

0 commit comments

Comments
 (0)