Skip to content

Commit f9ddde7

Browse files
authored
Proper Reloading of OreDict Ingredient Cache on Servers (GregTechCEu#2771)
1 parent aa379b4 commit f9ddde7

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

src/main/java/gregtech/common/CommonProxy.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
import net.minecraftforge.event.RegistryEvent;
6565
import net.minecraftforge.event.furnace.FurnaceFuelBurnTimeEvent;
6666
import net.minecraftforge.fml.client.event.ConfigChangedEvent;
67+
import net.minecraftforge.fml.common.FMLCommonHandler;
6768
import net.minecraftforge.fml.common.Loader;
6869
import net.minecraftforge.fml.common.LoaderState;
6970
import net.minecraftforge.fml.common.Mod;
@@ -445,9 +446,13 @@ public void onLoadComplete() {
445446
// If JEI and GS is not loaded, refresh ore dict ingredients
446447
// Not needed if JEI is loaded, as done in the JEI plugin (and this runs after that)
447448
// Not needed if GS is loaded, as done after script loads (and this runs after that)
448-
if (!GregTechAPI.moduleManager.isModuleEnabled(GregTechModules.MODULE_JEI) &&
449-
!GroovyScriptModule.isCurrentlyRunning())
450-
GTRecipeOreInput.refreshStackCache();
449+
if (!GroovyScriptModule.isCurrentlyRunning()) {
450+
// EXCEPTION: IF GrS is not loaded, and JEI is loaded, and we are in a dedicated server env, refresh
451+
// This is due to JEI Plugin Register not taking place on server, and GrS not acting as the backup.
452+
if (!GregTechAPI.moduleManager.isModuleEnabled(GregTechModules.MODULE_JEI) ||
453+
FMLCommonHandler.instance().getSide().isServer())
454+
GTRecipeOreInput.refreshStackCache();
455+
}
451456
}
452457

453458
public boolean isFancyGraphics() {

src/main/java/gregtech/integration/groovy/GroovyScriptModule.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import net.minecraft.item.crafting.IRecipe;
3434
import net.minecraft.util.ResourceLocation;
3535
import net.minecraftforge.event.RegistryEvent;
36+
import net.minecraftforge.fml.common.FMLCommonHandler;
3637
import net.minecraftforge.fml.common.Optional;
3738
import net.minecraftforge.fml.common.eventhandler.EventPriority;
3839
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
@@ -93,8 +94,9 @@ public static void onRecipeEvent(RegistryEvent.Register<IRecipe> event) {
9394
@SubscribeEvent
9495
@Optional.Method(modid = Mods.Names.GROOVY_SCRIPT)
9596
public static void afterScriptLoad(ScriptRunEvent.Post event) {
96-
// Not Needed if JEI Module is enabled
97-
if (!GregTechAPI.moduleManager.isModuleEnabled(GregTechModules.MODULE_JEI))
97+
// Not Needed if JEI Module is enabled, unless we are on server (JEI Plugin Register doesn't take place)
98+
if (!GregTechAPI.moduleManager.isModuleEnabled(GregTechModules.MODULE_JEI) ||
99+
FMLCommonHandler.instance().getSide().isServer())
98100
GTRecipeOreInput.refreshStackCache();
99101
}
100102

0 commit comments

Comments
 (0)