From 861bff40d175bc6af8e42491bce53dca097b612f Mon Sep 17 00:00:00 2001 From: Bruno Caroba Date: Tue, 8 Aug 2023 11:33:23 -0300 Subject: [PATCH] Fixed CraftTweaker(MineTweaker) support. --- .../cruciblemc/necrotempus/NecroTempus.java | 6 ++++++ .../BossBar.java} | 17 ++++++++++------- .../compat/{ => crafttweaker}/ZenRegister.java | 6 ++++-- .../necrotempus/proxy/CommonProxy.java | 10 +--------- 4 files changed, 21 insertions(+), 18 deletions(-) rename src/main/java/io/github/cruciblemc/necrotempus/modules/features/bossbar/compat/{CraftTweakerBossBar.java => crafttweaker/BossBar.java} (82%) rename src/main/java/io/github/cruciblemc/necrotempus/modules/features/bossbar/compat/{ => crafttweaker}/ZenRegister.java (69%) diff --git a/src/main/java/io/github/cruciblemc/necrotempus/NecroTempus.java b/src/main/java/io/github/cruciblemc/necrotempus/NecroTempus.java index 2283cad..bffef53 100644 --- a/src/main/java/io/github/cruciblemc/necrotempus/NecroTempus.java +++ b/src/main/java/io/github/cruciblemc/necrotempus/NecroTempus.java @@ -9,6 +9,7 @@ import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; import cpw.mods.fml.relauncher.Side; +import io.github.cruciblemc.necrotempus.modules.features.bossbar.compat.crafttweaker.ZenRegister; import io.github.cruciblemc.necrotempus.modules.features.actionbar.network.ActionBarPacket; import io.github.cruciblemc.necrotempus.modules.features.actionbar.network.ActionBarPacketHandler; import io.github.cruciblemc.necrotempus.modules.features.bossbar.network.BossBarPacket; @@ -52,6 +53,11 @@ public void preInit(FMLPreInitializationEvent event){ @Mod.EventHandler public void init(FMLInitializationEvent event) { proxy.init(event); + try { + ZenRegister.register(); + } catch (NoClassDefFoundError e) { + NecroTempus.getInstance().getLogger().warn("CraftTweaker is not available."); + } } @Mod.EventHandler diff --git a/src/main/java/io/github/cruciblemc/necrotempus/modules/features/bossbar/compat/CraftTweakerBossBar.java b/src/main/java/io/github/cruciblemc/necrotempus/modules/features/bossbar/compat/crafttweaker/BossBar.java similarity index 82% rename from src/main/java/io/github/cruciblemc/necrotempus/modules/features/bossbar/compat/CraftTweakerBossBar.java rename to src/main/java/io/github/cruciblemc/necrotempus/modules/features/bossbar/compat/crafttweaker/BossBar.java index 0c82598..f80a6b1 100644 --- a/src/main/java/io/github/cruciblemc/necrotempus/modules/features/bossbar/compat/CraftTweakerBossBar.java +++ b/src/main/java/io/github/cruciblemc/necrotempus/modules/features/bossbar/compat/crafttweaker/BossBar.java @@ -1,20 +1,23 @@ -package io.github.cruciblemc.necrotempus.modules.features.bossbar.compat; +package io.github.cruciblemc.necrotempus.modules.features.bossbar.compat.crafttweaker; import cpw.mods.fml.common.FMLCommonHandler; +import io.github.cruciblemc.necrotempus.Tags; import io.github.cruciblemc.necrotempus.api.bossbar.BossBarColor; import io.github.cruciblemc.necrotempus.api.bossbar.BossBarType; import io.github.cruciblemc.necrotempus.modules.features.bossbar.client.render.BossDisplayAdapterListener; import io.github.cruciblemc.necrotempus.modules.features.bossbar.component.BossDisplayAdapter; import minetweaker.IUndoableAction; import minetweaker.MineTweakerAPI; +import minetweaker.annotations.ModOnly; import stanhebben.zenscript.annotations.ZenClass; import stanhebben.zenscript.annotations.ZenMethod; -@ZenClass(value = "mods.necrotempus.BossBar") -public class CraftTweakerBossBar { +@ZenClass(value = "necrotempus.crafttweaker.BossBar") +@ModOnly(Tags.MODID) +public class BossBar { @ZenMethod - public static void customize(String entity, int color, String type){ + public static void customize(String entity, String type, int color){ MineTweakerAPI.apply(new BossBarCustomizeAction(entity, color, type)); } @@ -24,10 +27,10 @@ public static class BossBarCustomizeAction implements IUndoableAction{ private final BossBarColor color; private final BossBarType type; - public BossBarCustomizeAction(String entity, int color, String type) { - this.entity = entity; + public BossBarCustomizeAction(Object entity, int color, Object type) { + this.entity = (String) entity; this.color = BossBarColor.valueOfString("$" + color); - this.type = BossBarType.valueOfString(type); + this.type = BossBarType.valueOfString((String) type); } @Override diff --git a/src/main/java/io/github/cruciblemc/necrotempus/modules/features/bossbar/compat/ZenRegister.java b/src/main/java/io/github/cruciblemc/necrotempus/modules/features/bossbar/compat/crafttweaker/ZenRegister.java similarity index 69% rename from src/main/java/io/github/cruciblemc/necrotempus/modules/features/bossbar/compat/ZenRegister.java rename to src/main/java/io/github/cruciblemc/necrotempus/modules/features/bossbar/compat/crafttweaker/ZenRegister.java index 72e6b28..47df17f 100644 --- a/src/main/java/io/github/cruciblemc/necrotempus/modules/features/bossbar/compat/ZenRegister.java +++ b/src/main/java/io/github/cruciblemc/necrotempus/modules/features/bossbar/compat/crafttweaker/ZenRegister.java @@ -1,9 +1,11 @@ -package io.github.cruciblemc.necrotempus.modules.features.bossbar.compat; +package io.github.cruciblemc.necrotempus.modules.features.bossbar.compat.crafttweaker; import minetweaker.MineTweakerAPI; public class ZenRegister { + public static void register() { - MineTweakerAPI.registerClass(CraftTweakerBossBar.class); + MineTweakerAPI.registerClass(BossBar.class); } + } diff --git a/src/main/java/io/github/cruciblemc/necrotempus/proxy/CommonProxy.java b/src/main/java/io/github/cruciblemc/necrotempus/proxy/CommonProxy.java index 2dfc26b..1e261f7 100644 --- a/src/main/java/io/github/cruciblemc/necrotempus/proxy/CommonProxy.java +++ b/src/main/java/io/github/cruciblemc/necrotempus/proxy/CommonProxy.java @@ -4,20 +4,12 @@ import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLServerStartingEvent; -import io.github.cruciblemc.necrotempus.NecroTempus; -import io.github.cruciblemc.necrotempus.modules.features.bossbar.compat.ZenRegister; public abstract class CommonProxy { public void preInit(FMLPreInitializationEvent event){} - public void init(FMLInitializationEvent event){ - try { - ZenRegister.register(); - } catch (NoClassDefFoundError e) { - NecroTempus.getInstance().getLogger().warn("CraftTweaker is not available."); - } - } + public void init(FMLInitializationEvent event){} public void postInit(FMLPostInitializationEvent event){}