From f2ca643c9bf4748752e01cff43b6416c25d10609 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Thu, 19 Aug 2021 16:54:53 +0100 Subject: [PATCH] Removed magma walker due to performance --- .../ecoenchants/enchantments/EcoEnchants.java | 2 - .../ecoenchants/normal/MagmaWalker.java | 101 ------------------ .../resources/enchants/normal/magmawalker.yml | 27 ----- 3 files changed, 130 deletions(-) delete mode 100644 eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/MagmaWalker.java delete mode 100644 eco-core/core-plugin/src/main/resources/enchants/normal/magmawalker.yml diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchants.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchants.java index a068855b..6f108365 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchants.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/EcoEnchants.java @@ -143,7 +143,6 @@ import com.willfp.ecoenchants.enchantments.ecoenchants.normal.Levitate; import com.willfp.ecoenchants.enchantments.ecoenchants.normal.LiquidShot; import com.willfp.ecoenchants.enchantments.ecoenchants.normal.LuckyCatch; import com.willfp.ecoenchants.enchantments.ecoenchants.normal.Lumberjack; -import com.willfp.ecoenchants.enchantments.ecoenchants.normal.MagmaWalker; import com.willfp.ecoenchants.enchantments.ecoenchants.normal.Magnetic; import com.willfp.ecoenchants.enchantments.ecoenchants.normal.Marking; import com.willfp.ecoenchants.enchantments.ecoenchants.normal.Marksman; @@ -276,7 +275,6 @@ public class EcoEnchants { public static final EcoEnchant DEXTEROUS = new Dexterous(); public static final EcoEnchant BEHEADING = new Beheading(); public static final EcoEnchant NECROTIC = new Necrotic(); - public static final EcoEnchant MAGMA_WALKER = new MagmaWalker(); public static final EcoEnchant TECTONIC = new Tectonic(); public static final EcoEnchant EVASION = new Evasion(); public static final EcoEnchant SUCCESSION = new Succession(); diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/MagmaWalker.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/MagmaWalker.java deleted file mode 100644 index a99f19ce..00000000 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/MagmaWalker.java +++ /dev/null @@ -1,101 +0,0 @@ -package com.willfp.ecoenchants.enchantments.ecoenchants.normal; - -import com.willfp.eco.core.integrations.anticheat.AnticheatManager; -import com.willfp.eco.core.integrations.antigrief.AntigriefManager; -import com.willfp.eco.core.scheduling.RunnableTask; -import com.willfp.eco.util.VectorUtils; -import com.willfp.ecoenchants.enchantments.EcoEnchant; -import com.willfp.ecoenchants.enchantments.EcoEnchants; -import com.willfp.ecoenchants.enchantments.meta.EnchantmentType; -import com.willfp.ecoenchants.enchantments.util.EnchantChecks; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.block.Block; -import org.bukkit.block.data.Levelled; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.player.PlayerMoveEvent; -import org.bukkit.util.Vector; -import org.jetbrains.annotations.NotNull; - -public class MagmaWalker extends EcoEnchant { - public MagmaWalker() { - super( - "magma_walker", EnchantmentType.NORMAL - ); - } - - @EventHandler - public void onLavaWalk(@NotNull final PlayerMoveEvent event) { - Player player = event.getPlayer(); - - if (event.getTo() == null) { - return; - } - - if (event.getFrom().getBlock().equals(event.getTo().getBlock())) { - return; - } - - if (!EnchantChecks.boots(player, this)) { - return; - } - - if (this.getDisabledWorlds().contains(player.getWorld())) { - return; - } - - Vector[] circle = VectorUtils.getCircle(this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "initial-radius") - + (this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "per-level-radius") * EnchantChecks.getBootsLevel(player, this) - 1)); - - AnticheatManager.exemptPlayer(player); - - for (Vector vector : circle) { - Location loc = player.getLocation().add(vector).add(0, -1, 0); - - Block block = player.getWorld().getBlockAt(loc); - - if (!AntigriefManager.canPlaceBlock(player, player.getWorld().getBlockAt(loc))) { - continue; - } - - if (!block.getType().equals(Material.LAVA)) { - continue; - } - - Levelled data = (Levelled) block.getBlockData(); - - if (data.getLevel() != 0) { - continue; - } - - block.setType(Material.OBSIDIAN); - - block.setMetadata("byMagmaWalker", this.getPlugin().getMetadataValueFactory().create(true)); - - long afterTicks = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "remove-after-ticks"); - - RunnableTask replace = this.getPlugin().getRunnableFactory().create(bukkitRunnable -> { - if (block.getType().equals(Material.OBSIDIAN) && !player.getWorld().getBlockAt(player.getLocation().add(0, -1, 0)).equals(block)) { - block.setType(Material.LAVA); - block.removeMetadata("byMagmaWalker", this.getPlugin()); - bukkitRunnable.cancel(); - } - }); - - this.getPlugin().getScheduler().runLater(() -> { - if (block.getType().equals(Material.OBSIDIAN)) { - if (!player.getWorld().getBlockAt(player.getLocation().add(0, -1, 0)).equals(block)) { - block.setType(Material.LAVA); - block.removeMetadata("byMagmaWalker", this.getPlugin()); - } else { - replace.runTaskTimer(afterTicks, afterTicks); - } - } - }, afterTicks); - } - - AnticheatManager.unexemptPlayer(player); - } - -} diff --git a/eco-core/core-plugin/src/main/resources/enchants/normal/magmawalker.yml b/eco-core/core-plugin/src/main/resources/enchants/normal/magmawalker.yml deleted file mode 100644 index 915c5fc9..00000000 --- a/eco-core/core-plugin/src/main/resources/enchants/normal/magmawalker.yml +++ /dev/null @@ -1,27 +0,0 @@ -# -# Magma Walker EcoEnchant -# - -name: "Magma Walker" -description: Turns lava beneath the player into obsidian. -enabled: true - -obtaining: - table: true - villager: true - loot: true - rarity: epic - -general-config: - flags: [] - targets: - - boots - grindstoneable: true - disabled-in-worlds: [ ] - conflicts: [ ] - maximum-level: 2 - -config: - remove-after-ticks: 40 - initial-radius: 2 - per-level-radius: 1 \ No newline at end of file