diff --git a/src/main/java/codechicken/nei/NEIModContainer.java b/src/main/java/codechicken/nei/NEIModContainer.java index 30849770..ee6827c7 100644 --- a/src/main/java/codechicken/nei/NEIModContainer.java +++ b/src/main/java/codechicken/nei/NEIModContainer.java @@ -27,10 +27,12 @@ import cpw.mods.fml.common.event.FMLInterModComms; import cpw.mods.fml.common.event.FMLLoadCompleteEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.event.FMLServerAboutToStartEvent; import cpw.mods.fml.common.versioning.ArtifactVersion; import cpw.mods.fml.common.versioning.VersionParser; import cpw.mods.fml.common.versioning.VersionRange; +@SuppressWarnings("UnstableApiUsage") public class NEIModContainer extends DummyModContainer { private static boolean gregTech5Loaded; @@ -94,8 +96,9 @@ public class NEIModContainer extends DummyModContainer { @Subscribe public void init(FMLInitializationEvent event) { - if (CommonUtils.isClient()) ClientHandler.load(); - + if (CommonUtils.isClient()) { + ClientHandler.load(); + } ServerHandler.load(); } @@ -116,6 +119,11 @@ public class NEIModContainer extends DummyModContainer { } } + @Subscribe + public void onServerAboutToStart(FMLServerAboutToStartEvent event) { + NEIServerConfig.resetFirstLoad(); + } + @Subscribe public void handleIMCMessages(FMLInterModComms.IMCEvent event) { IMCHandler.processIMC(event.getMessages()); diff --git a/src/main/java/codechicken/nei/NEIServerConfig.java b/src/main/java/codechicken/nei/NEIServerConfig.java index 818abb24..b978d260 100644 --- a/src/main/java/codechicken/nei/NEIServerConfig.java +++ b/src/main/java/codechicken/nei/NEIServerConfig.java @@ -18,7 +18,6 @@ import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.nbt.JsonToNBT; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.server.MinecraftServer; import net.minecraft.world.World; import net.minecraftforge.common.DimensionManager; import net.minecraftforge.permission.PermissionLevel; @@ -37,21 +36,23 @@ import codechicken.lib.packet.PacketCustom; public class NEIServerConfig { - private static MinecraftServer server; - + private static boolean firstLoad; public static Logger logger = LogManager.getLogger("NotEnoughItems"); public static File saveDir; public static ConfigFile serverConfig; public static Map dimTags = new HashMap<>(); public static HashMap playerSaves = new HashMap<>(); public static ItemStackMap> bannedItems = new ItemStackMap<>(); - private static boolean doesPermAPIExist = false; + public static void resetFirstLoad() { + firstLoad = true; + } + public static void load(World world) { - if (MinecraftServer.getServer() != server) { + if (firstLoad) { + firstLoad = false; logger.debug("Loading NEI Server"); - server = MinecraftServer.getServer(); saveDir = new File(DimensionManager.getCurrentSaveRootDirectory(), "NEI"); dimTags.clear(); diff --git a/src/main/java/codechicken/nei/ServerHandler.java b/src/main/java/codechicken/nei/ServerHandler.java index 1a10c793..b125e521 100644 --- a/src/main/java/codechicken/nei/ServerHandler.java +++ b/src/main/java/codechicken/nei/ServerHandler.java @@ -21,10 +21,8 @@ import cpw.mods.fml.common.gameevent.TickEvent.Phase; public class ServerHandler { - private static ServerHandler instance; - public static void load() { - instance = new ServerHandler(); + ServerHandler instance = new ServerHandler(); PacketCustom.assignHandler(NEICPH.channel, new NEISPH()); FMLCommonHandler.instance().bus().register(instance);