Add method with pre/post wrap to allow setting/clearing mod context. (#8682)

Fixes ActiveContainer in ModContext not being present in registry events. Closes #8680
This commit is contained in:
cpw authored and GitHub committed 2022-06-08 08:38:53 -07:00
1 parent 0e66b7b217
commit 0c35436217
3 files changed
+17 -2

No files matched your search

@@ -39,6 +39,7 @@ import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.loot.GlobalLootModifierSerializer;
import net.minecraftforge.common.util.LogMessageAdapter;
import net.minecraftforge.common.world.ForgeWorldPreset;
import net.minecraftforge.fml.ModList;
import net.minecraftforge.fml.ModLoader;
import net.minecraftforge.fml.ModLoadingContext;
import net.minecraftforge.fml.StartupMessageManager;
@@ -322,7 +323,7 @@ public class GameData
if (forgeRegistry != null)
forgeRegistry.unfreeze();
ModLoader.get().postEvent(registerEvent);
ModLoader.get().postEventWithWrap(registerEvent, (mc, e) -> ModLoadingContext.get().setActiveContainer(mc), (mc, e)-> ModLoadingContext.get().setActiveContainer(null));
if (forgeRegistry != null)
forgeRegistry.freeze();