diff options
author | makamys <makamys@outlook.com> | 2024-01-08 23:28:56 +0100 |
---|---|---|
committer | makamys <makamys@outlook.com> | 2024-01-09 00:03:59 +0100 |
commit | 64a8fa451d1a8206c0ee6fbc270c7af48fb69ac0 (patch) | |
tree | 9b058727f9afac34540e9c1bdcab87986a82369b /src | |
parent | 034eccc17cf18574143603791219c2b141b3f4a8 (diff) | |
download | Neodymium-64a8fa451d1a8206c0ee6fbc270c7af48fb69ac0.tar.gz Neodymium-64a8fa451d1a8206c0ee6fbc270c7af48fb69ac0.tar.bz2 Neodymium-64a8fa451d1a8206c0ee6fbc270c7af48fb69ac0.zip |
Make mod no-op on server
Fixes #41
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/makamys/neodymium/MixinConfigPlugin.java | 6 | ||||
-rw-r--r-- | src/main/java/makamys/neodymium/Neodymium.java | 29 | ||||
-rw-r--r-- | src/main/java/makamys/neodymium/util/Proxy.java | 17 |
3 files changed, 41 insertions, 11 deletions
diff --git a/src/main/java/makamys/neodymium/MixinConfigPlugin.java b/src/main/java/makamys/neodymium/MixinConfigPlugin.java index df3c76c..936c70c 100644 --- a/src/main/java/makamys/neodymium/MixinConfigPlugin.java +++ b/src/main/java/makamys/neodymium/MixinConfigPlugin.java @@ -2,12 +2,14 @@ package makamys.neodymium; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Set; import org.spongepowered.asm.lib.tree.ClassNode; import org.spongepowered.asm.mixin.MixinEnvironment; import org.spongepowered.asm.mixin.MixinEnvironment.Phase; +import org.spongepowered.asm.mixin.MixinEnvironment.Side; import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin; import org.spongepowered.asm.mixin.extensibility.IMixinInfo; @@ -18,6 +20,8 @@ public class MixinConfigPlugin implements IMixinConfigPlugin { @Override public void onLoad(String mixinPackage) { + if(MixinEnvironment.getCurrentEnvironment().getSide() == Side.SERVER) return; + Config.reloadConfig(); Phase phase = MixinEnvironment.getCurrentEnvironment().getPhase(); @@ -41,6 +45,8 @@ public class MixinConfigPlugin implements IMixinConfigPlugin { @Override public List<String> getMixins() { + if(MixinEnvironment.getCurrentEnvironment().getSide() == Side.SERVER) return Collections.emptyList(); + List<String> mixins = new ArrayList<>(); Phase phase = MixinEnvironment.getCurrentEnvironment().getPhase(); if(phase == Phase.DEFAULT) { diff --git a/src/main/java/makamys/neodymium/Neodymium.java b/src/main/java/makamys/neodymium/Neodymium.java index 320e46a..3a489cf 100644 --- a/src/main/java/makamys/neodymium/Neodymium.java +++ b/src/main/java/makamys/neodymium/Neodymium.java @@ -17,6 +17,7 @@ import org.apache.commons.lang3.tuple.Pair; import cpw.mods.fml.client.event.ConfigChangedEvent; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Mod; +import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.event.FMLConstructionEvent; import cpw.mods.fml.common.event.FMLInitializationEvent; @@ -33,6 +34,7 @@ import makamys.neodymium.command.NeodymiumCommand; import makamys.neodymium.config.Config; import makamys.neodymium.renderer.NeoRenderer; import makamys.neodymium.util.ChatUtil; +import makamys.neodymium.util.Proxy; import makamys.neodymium.util.WarningHelper; import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; @@ -42,9 +44,19 @@ import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.world.WorldEvent; -@Mod(modid = MODID, version = VERSION, guiFactory = "makamys.neodymium.config.GuiFactory") -public class Neodymium -{ +public class Neodymium implements Proxy { + + @Mod(modid = MODID, version = VERSION, guiFactory = "makamys.neodymium.config.GuiFactory") + public static class ModContainer { + @SidedProxy(serverSide = "makamys.neodymium.util.Proxy$NullProxy", clientSide = "makamys.neodymium.Neodymium") + private static Proxy proxy; + @EventHandler + public void construct(FMLConstructionEvent event) { proxy.construct(event); } + @EventHandler + public void preInit(FMLPreInitializationEvent event) { proxy.preInit(event); } + @EventHandler + public void init(FMLInitializationEvent event) { proxy.init(event); } + } private static final Config.ReloadInfo CONFIG_RELOAD_INFO = new Config.ReloadInfo(); @@ -56,15 +68,12 @@ public class Neodymium private static World rendererWorld; - @EventHandler - public void preInit(FMLConstructionEvent event) { + public void construct(FMLConstructionEvent event) { MCLib.init(); Compat.init(); } - @EventHandler - public void preInit(FMLPreInitializationEvent event) - { + public void preInit(FMLPreInitializationEvent event) { MCLibModules.updateCheckAPI.submitModTask(MODID, "@UPDATE_URL@"); if(VERSION.equals("@VERSION@")) { @@ -73,9 +82,7 @@ public class Neodymium } } - @EventHandler - public void init(FMLInitializationEvent event) - { + public void init(FMLInitializationEvent event) { FMLCommonHandler.instance().bus().register(this); MinecraftForge.EVENT_BUS.register(this); NeodymiumCommand.init(); diff --git a/src/main/java/makamys/neodymium/util/Proxy.java b/src/main/java/makamys/neodymium/util/Proxy.java new file mode 100644 index 0000000..592a0fb --- /dev/null +++ b/src/main/java/makamys/neodymium/util/Proxy.java @@ -0,0 +1,17 @@ +package makamys.neodymium.util; + +import cpw.mods.fml.common.event.FMLConstructionEvent; +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLLoadCompleteEvent; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; + +public interface Proxy { + public default void construct(FMLConstructionEvent event) {} + public default void preInit(FMLPreInitializationEvent event) {} + public default void init(FMLInitializationEvent event) {} + public default void postInit(FMLPostInitializationEvent event) {} + public default void loadComplete(FMLLoadCompleteEvent event) {} + + public static class NullProxy implements Proxy {} +} |