diff options
author | Luck <git@lucko.me> | 2021-01-10 12:51:34 +0000 |
---|---|---|
committer | Luck <git@lucko.me> | 2021-01-10 12:51:34 +0000 |
commit | 3b19f5283cc42171c99dd5d47a8b3254a16e67de (patch) | |
tree | e994f363024c784c0545ac5ba6255f61bb80c20f /spark-forge1122/src/main/java/me/lucko/spark | |
parent | 08fb89e0fe9a50e41b2e4d5ef574485cc10c8daf (diff) | |
download | spark-3b19f5283cc42171c99dd5d47a8b3254a16e67de.tar.gz spark-3b19f5283cc42171c99dd5d47a8b3254a16e67de.tar.bz2 spark-3b19f5283cc42171c99dd5d47a8b3254a16e67de.zip |
Fix Forge 1.12.2 listener registration
Diffstat (limited to 'spark-forge1122/src/main/java/me/lucko/spark')
-rw-r--r-- | spark-forge1122/src/main/java/me/lucko/spark/forge/ForgeSparkMod.java | 14 | ||||
-rw-r--r-- | spark-forge1122/src/main/java/me/lucko/spark/forge/plugin/ForgeServerSparkPlugin.java | 16 |
2 files changed, 15 insertions, 15 deletions
diff --git a/spark-forge1122/src/main/java/me/lucko/spark/forge/ForgeSparkMod.java b/spark-forge1122/src/main/java/me/lucko/spark/forge/ForgeSparkMod.java index 2c19659..ed8e9eb 100644 --- a/spark-forge1122/src/main/java/me/lucko/spark/forge/ForgeSparkMod.java +++ b/spark-forge1122/src/main/java/me/lucko/spark/forge/ForgeSparkMod.java @@ -29,6 +29,7 @@ import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.event.FMLServerStartingEvent; +import net.minecraftforge.fml.common.event.FMLServerStoppingEvent; import net.minecraftforge.fml.relauncher.Side; import java.nio.file.Path; @@ -42,6 +43,7 @@ import java.nio.file.Path; public class ForgeSparkMod { private Path configDirectory; + private ForgeServerSparkPlugin activeServerPlugin; public String getVersion() { return ForgeSparkMod.class.getAnnotation(Mod.class).version(); @@ -53,7 +55,7 @@ public class ForgeSparkMod { } @EventHandler - public void init(FMLInitializationEvent e) { + public void clientInit(FMLInitializationEvent e) { if (FMLCommonHandler.instance().getSide() == Side.CLIENT) { ForgeClientSparkPlugin.register(this); } @@ -61,7 +63,15 @@ public class ForgeSparkMod { @EventHandler public void serverInit(FMLServerStartingEvent e) { - ForgeServerSparkPlugin.register(this, e); + this.activeServerPlugin = ForgeServerSparkPlugin.register(this, e); + } + + @EventHandler + public void serverStop(FMLServerStoppingEvent e) { + if (this.activeServerPlugin != null) { + this.activeServerPlugin.disable(); + this.activeServerPlugin = null; + } } public Path getConfigDirectory() { diff --git a/spark-forge1122/src/main/java/me/lucko/spark/forge/plugin/ForgeServerSparkPlugin.java b/spark-forge1122/src/main/java/me/lucko/spark/forge/plugin/ForgeServerSparkPlugin.java index 4cf1711..a4a8434 100644 --- a/spark-forge1122/src/main/java/me/lucko/spark/forge/plugin/ForgeServerSparkPlugin.java +++ b/spark-forge1122/src/main/java/me/lucko/spark/forge/plugin/ForgeServerSparkPlugin.java @@ -20,7 +20,6 @@ package me.lucko.spark.forge.plugin; - import me.lucko.spark.common.platform.PlatformInfo; import me.lucko.spark.common.sampler.tick.TickHook; import me.lucko.spark.common.sampler.tick.TickReporter; @@ -33,10 +32,7 @@ import me.lucko.spark.forge.ForgeTickReporter; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.server.MinecraftServer; -import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.common.event.FMLServerStartingEvent; -import net.minecraftforge.fml.common.event.FMLServerStoppingEvent; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent; import net.minecraftforge.server.permission.DefaultPermissionLevel; import net.minecraftforge.server.permission.PermissionAPI; @@ -45,16 +41,15 @@ import java.util.stream.Stream; public class ForgeServerSparkPlugin extends ForgeSparkPlugin { - public static void register(ForgeSparkMod mod, FMLServerStartingEvent event) { + public static ForgeServerSparkPlugin register(ForgeSparkMod mod, FMLServerStartingEvent event) { ForgeServerSparkPlugin plugin = new ForgeServerSparkPlugin(mod, event.getServer()); plugin.enable(); - // register listeners - MinecraftForge.EVENT_BUS.register(plugin); - // register commands & permissions event.registerServerCommand(plugin); PermissionAPI.registerNode("spark", DefaultPermissionLevel.OP, "Access to the spark command"); + + return plugin; } private final MinecraftServer server; @@ -64,11 +59,6 @@ public class ForgeServerSparkPlugin extends ForgeSparkPlugin { this.server = server; } - @SubscribeEvent - public void onDisable(FMLServerStoppingEvent event) { - disable(); - } - @Override public boolean hasPermission(ICommandSender sender, String permission) { if (sender instanceof EntityPlayer) { |