From 3151430dcbd271a0ad89f71b94add8637566cb4f Mon Sep 17 00:00:00 2001 From: Auxilor Date: Sun, 24 Jan 2021 16:09:27 +0000 Subject: [PATCH] Added support for mcmmo double drops within telekinesis --- build.gradle | 2 +- .../willfp/ecoenchants/EcoEnchantsPlugin.java | 5 +-- .../ecoenchants/normal/Telekinesis.java | 4 ++ .../enchantments/util/WatcherTriggers.java | 2 +- .../integrations/mcmmo/McmmoIntegration.java | 13 ------ .../integrations/mcmmo/McmmoManager.java | 45 ------------------- .../mcmmo/plugins/McmmoIntegrationImpl.java | 18 -------- 7 files changed, 7 insertions(+), 82 deletions(-) delete mode 100644 eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/integrations/mcmmo/McmmoIntegration.java delete mode 100644 eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/integrations/mcmmo/McmmoManager.java delete mode 100644 eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/integrations/mcmmo/plugins/McmmoIntegrationImpl.java diff --git a/build.gradle b/build.gradle index 428d4aa5..e13d1b40 100644 --- a/build.gradle +++ b/build.gradle @@ -49,7 +49,7 @@ allprojects { } dependencies { - compileOnly 'com.willfp:eco:3.1.0' + compileOnly 'com.willfp:eco:3.3.0' compileOnly 'org.jetbrains:annotations:19.0.0' diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/EcoEnchantsPlugin.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/EcoEnchantsPlugin.java index 4edf41ee..eae45fd7 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/EcoEnchantsPlugin.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/EcoEnchantsPlugin.java @@ -28,8 +28,6 @@ import com.willfp.ecoenchants.enchantments.util.HoldItemListener; import com.willfp.ecoenchants.enchantments.util.WatcherTriggers; import com.willfp.ecoenchants.integrations.essentials.EssentialsManager; import com.willfp.ecoenchants.integrations.essentials.plugins.IntegrationEssentials; -import com.willfp.ecoenchants.integrations.mcmmo.McmmoManager; -import com.willfp.ecoenchants.integrations.mcmmo.plugins.McmmoIntegrationImpl; import com.willfp.ecoenchants.integrations.worldguard.WorldguardManager; import com.willfp.ecoenchants.integrations.worldguard.plugins.WorldguardIntegrationImpl; import com.willfp.ecoenchants.proxy.proxies.FastGetEnchantsProxy; @@ -163,8 +161,7 @@ public class EcoEnchantsPlugin extends AbstractEcoPlugin { new IntegrationLoader("WorldGuard", () -> { WorldguardManager.register(new WorldguardIntegrationImpl()); }), - new IntegrationLoader("Essentials", () -> EssentialsManager.register(new IntegrationEssentials())), - new IntegrationLoader("mcMMO", () -> McmmoManager.registerIntegration(new McmmoIntegrationImpl())) + new IntegrationLoader("Essentials", () -> EssentialsManager.register(new IntegrationEssentials())) ); } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Telekinesis.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Telekinesis.java index a64046c6..06b37050 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Telekinesis.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Telekinesis.java @@ -3,6 +3,7 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.normal; import com.willfp.eco.util.drops.DropQueue; import com.willfp.eco.util.events.entitydeathbyentity.EntityDeathByEntityEvent; import com.willfp.eco.util.integrations.antigrief.AntigriefManager; +import com.willfp.eco.util.integrations.mcmmo.McmmoManager; import com.willfp.ecoenchants.enchantments.EcoEnchant; import com.willfp.ecoenchants.enchantments.EcoEnchants; import com.willfp.ecoenchants.enchantments.meta.EnchantmentType; @@ -70,6 +71,9 @@ public class Telekinesis extends EcoEnchant { for (Item item : event.getItems()) { drops.add(item.getItemStack()); + for (int i = 0; i < McmmoManager.getBonusDropCount(block); i++) { + drops.add(item.getItemStack()); + } } event.getItems().clear(); diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/util/WatcherTriggers.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/util/WatcherTriggers.java index ed7ee6c2..b8c409e9 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/util/WatcherTriggers.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/util/WatcherTriggers.java @@ -6,7 +6,7 @@ import com.willfp.eco.util.integrations.antigrief.AntigriefManager; import com.willfp.eco.util.internal.PluginDependent; import com.willfp.eco.util.plugin.AbstractEcoPlugin; import com.willfp.ecoenchants.enchantments.EcoEnchants; -import com.willfp.ecoenchants.integrations.mcmmo.McmmoManager; +import com.willfp.eco.util.integrations.mcmmo.McmmoManager; import com.willfp.ecoenchants.proxy.proxies.TridentStackProxy; import com.willfp.ecoenchants.util.ProxyUtils; import org.bukkit.Material; diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/integrations/mcmmo/McmmoIntegration.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/integrations/mcmmo/McmmoIntegration.java deleted file mode 100644 index 4e3e9423..00000000 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/integrations/mcmmo/McmmoIntegration.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.willfp.ecoenchants.integrations.mcmmo; - -import com.willfp.eco.util.integrations.Integration; -import org.bukkit.event.Event; - -public interface McmmoIntegration extends Integration { - /** - * @param event The event to check. - * @return If the event is fake. - * @see McmmoManager#isFake(Event) - */ - boolean isFake(Event event); -} diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/integrations/mcmmo/McmmoManager.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/integrations/mcmmo/McmmoManager.java deleted file mode 100644 index 3742d1d3..00000000 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/integrations/mcmmo/McmmoManager.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.willfp.ecoenchants.integrations.mcmmo; - -import com.willfp.eco.util.ClassUtils; -import org.bukkit.event.Event; -import org.jetbrains.annotations.NotNull; - -import java.util.HashSet; -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; - -public class McmmoManager { - /** - * All registered mcMMO integrations. - */ - private static final Set REGISTERED = new HashSet<>(); - - /** - * Register a new mcMMO integration. - * - * @param integration The integration to register. - */ - public static void registerIntegration(@NotNull final McmmoIntegration integration) { - if (!ClassUtils.exists("com.gmail.nossr50.events.fake.FakeEvent")) { - return; - } - REGISTERED.add(integration); - } - - /** - * Get if an event is fake. - * - * @param event The event to check. - * @return If the event is fake. - */ - public static boolean isFake(@NotNull final Event event) { - AtomicBoolean isFake = new AtomicBoolean(false); - REGISTERED.forEach(integration -> { - if (integration.isFake(event)) { - isFake.set(true); - } - }); - - return isFake.get(); - } -} diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/integrations/mcmmo/plugins/McmmoIntegrationImpl.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/integrations/mcmmo/plugins/McmmoIntegrationImpl.java deleted file mode 100644 index cf4cd10a..00000000 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/integrations/mcmmo/plugins/McmmoIntegrationImpl.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.willfp.ecoenchants.integrations.mcmmo.plugins; - -import com.gmail.nossr50.events.fake.FakeEvent; -import com.willfp.ecoenchants.integrations.mcmmo.McmmoIntegration; -import org.bukkit.event.Event; -import org.jetbrains.annotations.NotNull; - -public class McmmoIntegrationImpl implements McmmoIntegration { - @Override - public boolean isFake(@NotNull final Event event) { - return event instanceof FakeEvent; - } - - @Override - public String getPluginName() { - return "mcMMO"; - } -}