From 3032ca44079bc126c71fc8762e013bd26ce5a12a Mon Sep 17 00:00:00 2001 From: Auxilor Date: Mon, 21 Dec 2020 12:56:16 +0000 Subject: [PATCH] Added override config option --- .../illusioner/illusioner/listeners/SpawnListeners.java | 3 +++ .../illusioner/illusioner/options/IllusionerOptions.java | 6 ++++++ Plugin/src/main/resources/config.yml | 2 ++ 3 files changed, 11 insertions(+) diff --git a/Plugin/src/main/java/com/willfp/illusioner/illusioner/listeners/SpawnListeners.java b/Plugin/src/main/java/com/willfp/illusioner/illusioner/listeners/SpawnListeners.java index 5ade902..f768b15 100644 --- a/Plugin/src/main/java/com/willfp/illusioner/illusioner/listeners/SpawnListeners.java +++ b/Plugin/src/main/java/com/willfp/illusioner/illusioner/listeners/SpawnListeners.java @@ -70,6 +70,9 @@ public class SpawnListeners implements Listener { if(!(event.getEntity() instanceof Illusioner)) return; + if(!IllusionerManager.OPTIONS.isOverride()) + return; + Illusioner illusioner = (Illusioner) event.getEntity(); EntityIllusionerWrapper internalIllusioner = NMSIllusioner.convertIllusioner(illusioner, IllusionerManager.OPTIONS.getMaxHealth(), IllusionerManager.OPTIONS.getAttackDamage(), IllusionerManager.OPTIONS.getName()); if(internalIllusioner == null) return; diff --git a/Plugin/src/main/java/com/willfp/illusioner/illusioner/options/IllusionerOptions.java b/Plugin/src/main/java/com/willfp/illusioner/illusioner/options/IllusionerOptions.java index 2afe620..b43ad4d 100644 --- a/Plugin/src/main/java/com/willfp/illusioner/illusioner/options/IllusionerOptions.java +++ b/Plugin/src/main/java/com/willfp/illusioner/illusioner/options/IllusionerOptions.java @@ -26,6 +26,7 @@ public class IllusionerOptions { private double attackDamage; private Set drops; private final GameplayOptions gameplayOptions = new GameplayOptions(); + private boolean override; public IllusionerOptions() { reload(); @@ -38,6 +39,7 @@ public class IllusionerOptions { xpBounds = new Pair<>(ConfigManager.getConfig().getInt("xp.minimum"), ConfigManager.getConfig().getInt("xp.maximum")); maxHealth = ConfigManager.getConfig().getDouble("max-health"); attackDamage = ConfigManager.getConfig().getDouble("attack-damage"); + override = ConfigManager.getConfig().getBool("override"); spawnSounds = new HashSet<>(); ConfigManager.getConfig().config.getConfigurationSection("sounds.spawn").getKeys(false).forEach(key -> { @@ -115,4 +117,8 @@ public class IllusionerOptions { public GameplayOptions getGameplayOptions() { return gameplayOptions; } + + public boolean isOverride() { + return override; + } } diff --git a/Plugin/src/main/resources/config.yml b/Plugin/src/main/resources/config.yml index 7e39a9b..3323d76 100644 --- a/Plugin/src/main/resources/config.yml +++ b/Plugin/src/main/resources/config.yml @@ -5,6 +5,8 @@ name: "Illusioner" # What should the display name of the Illusioner be? +override: false # Should the illusioner override all "vanilla" illusioners (adds support for /spawn but may cause issues with other custom mob plugins) + bossbar: color: BLUE # Choose from: BLUE, GREEN, PINK, PURPLE, RED, WHITE, YELLOW style: SOLID # Choose from: SOLID, SEGMENTED_6, SEGMENTED_10, SEGMENTED_12, SEGMENTED_20