From c06a4fcede7d1675740859df623728cab3d12324 Mon Sep 17 00:00:00 2001 From: LoJoSho Date: Wed, 19 Jul 2023 09:54:10 -0500 Subject: [PATCH] feat: move ModelEngine integration to hook system --- .../hibiscusmc/hmccosmetics/HMCCosmeticsPlugin.java | 9 --------- .../java/com/hibiscusmc/hmccosmetics/hooks/Hooks.java | 1 + .../hmccosmetics/hooks/misc/HookModelEngine.java | 10 ++++++++++ .../hmccosmetics/user/manager/UserBackpackManager.java | 5 +++-- .../hmccosmetics/user/manager/UserBalloonManager.java | 3 ++- 5 files changed, 16 insertions(+), 12 deletions(-) create mode 100644 common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/misc/HookModelEngine.java diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/HMCCosmeticsPlugin.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/HMCCosmeticsPlugin.java index 98d07fc6..3a335d1a 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/HMCCosmeticsPlugin.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/HMCCosmeticsPlugin.java @@ -50,7 +50,6 @@ public final class HMCCosmeticsPlugin extends JavaPlugin { private static boolean disable = false; private static YamlConfigurationLoader configLoader; private static final int pluginId = 13873; - private static boolean hasModelEngine = false; private static boolean onLatestVersion = true; private static String latestVersion = ""; @@ -128,11 +127,6 @@ public final class HMCCosmeticsPlugin extends JavaPlugin { // Database new Database(); - // ModelEngine - if (Bukkit.getPluginManager().getPlugin("ModelEngine") != null) { - hasModelEngine = true; - } - // WorldGuard if (Bukkit.getPluginManager().getPlugin("WorldGuard") != null && Settings.isWorldGuardMoveCheckEnabled()) { getServer().getPluginManager().registerEvents(new WGListener(), this); @@ -286,9 +280,6 @@ public final class HMCCosmeticsPlugin extends JavaPlugin { } } - public static boolean hasModelEngine() { - return hasModelEngine; - } public static boolean isOnLatestVersion() { return onLatestVersion; } diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/Hooks.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/Hooks.java index 59d28bf5..ffb88658 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/Hooks.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/Hooks.java @@ -29,6 +29,7 @@ public class Hooks { private static HookHMCColor HMC_COLOR_HOOK = new HookHMCColor(); private static HookCMI CMI_HOOK = new HookCMI(); private static HookLibsDisguises LIBS_DISGUISES_HOOK = new HookLibsDisguises(); + private static HookModelEngine MODEL_ENGINE_HOOK = new HookModelEngine(); public static Hook getHook(@NotNull String id) { return hooks.get(id.toLowerCase()); diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/misc/HookModelEngine.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/misc/HookModelEngine.java new file mode 100644 index 00000000..df761b0e --- /dev/null +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/misc/HookModelEngine.java @@ -0,0 +1,10 @@ +package com.hibiscusmc.hmccosmetics.hooks.misc; + +import com.hibiscusmc.hmccosmetics.hooks.Hook; + +public class HookModelEngine extends Hook { + + public HookModelEngine() { + super("ModelEngine"); + } +} diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserBackpackManager.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserBackpackManager.java index 74143012..8209079d 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserBackpackManager.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserBackpackManager.java @@ -3,6 +3,7 @@ package com.hibiscusmc.hmccosmetics.user.manager; import com.hibiscusmc.hmccosmetics.HMCCosmeticsPlugin; import com.hibiscusmc.hmccosmetics.cosmetic.CosmeticSlot; import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticBackpackType; +import com.hibiscusmc.hmccosmetics.hooks.Hooks; import com.hibiscusmc.hmccosmetics.nms.NMSHandlers; import com.hibiscusmc.hmccosmetics.user.CosmeticUser; import com.hibiscusmc.hmccosmetics.util.MessagesUtil; @@ -64,7 +65,7 @@ public class UserBackpackManager { this.invisibleArmorStand = (ArmorStand) NMSHandlers.getHandler().spawnBackpack(user, cosmeticBackpackType); - if (cosmeticBackpackType.getModelName() != null && HMCCosmeticsPlugin.hasModelEngine()) { + if (cosmeticBackpackType.getModelName() != null && Hooks.isActiveHook("ModelEngine")) { if (ModelEngineAPI.api.getModelRegistry().getBlueprint(cosmeticBackpackType.getModelName()) == null) { MessagesUtil.sendDebugMessages("Invalid Model Engine Blueprint " + cosmeticBackpackType.getModelName(), Level.SEVERE); return; @@ -85,7 +86,7 @@ public class UserBackpackManager { this.invisibleArmorStand = (ArmorStand) NMSHandlers.getHandler().spawnBackpack(user, cosmeticBackpackType); this.particleCloud = (AreaEffectCloud) NMSHandlers.getHandler().spawnHMCParticleCloud(user.getPlayer().getLocation()); - if (cosmeticBackpackType.getModelName() != null && HMCCosmeticsPlugin.hasModelEngine()) { + if (cosmeticBackpackType.getModelName() != null && Hooks.isActiveHook("ModelEngine")) { if (ModelEngineAPI.api.getModelRegistry().getBlueprint(cosmeticBackpackType.getModelName()) == null) { MessagesUtil.sendDebugMessages("Invalid Model Engine Blueprint " + cosmeticBackpackType.getModelName(), Level.SEVERE); return; diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserBalloonManager.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserBalloonManager.java index ffd96b62..dfa9a9cc 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserBalloonManager.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserBalloonManager.java @@ -3,6 +3,7 @@ package com.hibiscusmc.hmccosmetics.user.manager; import com.hibiscusmc.hmccosmetics.HMCCosmeticsPlugin; import com.hibiscusmc.hmccosmetics.config.Settings; import com.hibiscusmc.hmccosmetics.cosmetic.types.CosmeticBalloonType; +import com.hibiscusmc.hmccosmetics.hooks.Hooks; import com.hibiscusmc.hmccosmetics.nms.NMSHandlers; import com.hibiscusmc.hmccosmetics.user.CosmeticUser; import com.hibiscusmc.hmccosmetics.util.MessagesUtil; @@ -36,7 +37,7 @@ public class UserBalloonManager { public void spawnModel(@NotNull CosmeticBalloonType cosmeticBalloonType, Color color) { // redo this - if (cosmeticBalloonType.getModelName() != null && HMCCosmeticsPlugin.hasModelEngine()) { + if (cosmeticBalloonType.getModelName() != null && Hooks.isActiveHook("ModelEngine")) { balloonType = BalloonType.MODELENGINE; } else { if (cosmeticBalloonType.getItem() != null) {