From 28784468084b174034bdd38c91cd4bcd6b2d58f7 Mon Sep 17 00:00:00 2001 From: kireevm96 Date: Tue, 2 Mar 2021 13:51:26 +0300 Subject: [PATCH 1/6] Add new enchant reaper --- .../ecoenchants/enchantments/EcoEnchants.java | 2 ++ .../ecoenchants/special/Reaper.java | 14 +++++++++++ .../ecoenchants/special/Soulbound.java | 15 ++++++++++++ .../resources/enchants/special/reaper.yml | 24 +++++++++++++++++++ 4 files changed, 55 insertions(+) create mode 100644 eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Reaper.java create mode 100644 eco-core/core-plugin/src/main/resources/enchants/special/reaper.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 dc176eb9..4e0eaa01 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 @@ -223,6 +223,7 @@ import com.willfp.ecoenchants.enchantments.ecoenchants.special.Pentashot; import com.willfp.ecoenchants.enchantments.ecoenchants.special.Preservation; import com.willfp.ecoenchants.enchantments.ecoenchants.special.Prosperity; import com.willfp.ecoenchants.enchantments.ecoenchants.special.Razor; +import com.willfp.ecoenchants.enchantments.ecoenchants.special.Reaper; import com.willfp.ecoenchants.enchantments.ecoenchants.special.Repairing; import com.willfp.ecoenchants.enchantments.ecoenchants.special.Soulbound; import com.willfp.ecoenchants.enchantments.ecoenchants.special.Spring; @@ -486,6 +487,7 @@ public class EcoEnchants { public static final EcoEnchant ANGER_ARTIFACT = new AngerArtifact(); public static final EcoEnchant NAUTILUS_ARTIFACT = new NautilusArtifact(); public static final EcoEnchant SWEEP_ARTIFACT = new SweepArtifact(); + public static final EcoEnchant REAPER = new Reaper(); /** * Get all registered {@link EcoEnchant}s. diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Reaper.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Reaper.java new file mode 100644 index 00000000..1de77329 --- /dev/null +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Reaper.java @@ -0,0 +1,14 @@ +package com.willfp.ecoenchants.enchantments.ecoenchants.special; + +import com.willfp.ecoenchants.enchantments.EcoEnchant; +import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.meta.EnchantmentType; +import org.jetbrains.annotations.NotNull; + +public class Reaper extends EcoEnchant { + public Reaper() { + super( + "reaper", EnchantmentType.SPECIAL + ); + } +} diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Soulbound.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Soulbound.java index a27f84da..6963aad6 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Soulbound.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Soulbound.java @@ -1,7 +1,10 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; 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 com.willfp.ecoenchants.enchantments.util.EnchantmentUtils; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -39,6 +42,18 @@ public class Soulbound extends EcoEnchant { return; } + if (player.getKiller() instanceof Player) { + Player killer = (Player) player.getKiller(); + ItemStack item = killer.getInventory().getItemInMainHand(); + if (EnchantChecks.item(item, EcoEnchants.REAPER)) { + if (!(EcoEnchants.REAPER.getDisabledWorlds().contains(player.getWorld()))) { + final int points = EnchantChecks.getItemLevel(item, EcoEnchants.REAPER); + if (EnchantmentUtils.passedChance(EcoEnchants.REAPER, points)) { + return; + } + } + } + } for (ItemStack itemStack : player.getInventory().getContents()) { if (itemStack == null) { continue; diff --git a/eco-core/core-plugin/src/main/resources/enchants/special/reaper.yml b/eco-core/core-plugin/src/main/resources/enchants/special/reaper.yml new file mode 100644 index 00000000..ce051c24 --- /dev/null +++ b/eco-core/core-plugin/src/main/resources/enchants/special/reaper.yml @@ -0,0 +1,24 @@ +# +# Frozen EcoEnchant +# + +name: "Reaper of souls" +description: Gives you a chance to knock out things with a soulbound. +enabled: true + +obtaining: + table: true + villager: false + loot: false + rarity: veryspecial + +general-config: + targets: + - hoe + grindstoneable: true + disabled-in-worlds: [] + conflicts: [] + maximum-level: 5 + +config: + chance-per-level: 2 \ No newline at end of file From 53d45d603b1df7684a700da7666456c7d0387728 Mon Sep 17 00:00:00 2001 From: kireevm96 <38166973+kireevm96@users.noreply.github.com> Date: Tue, 2 Mar 2021 13:56:30 +0300 Subject: [PATCH 2/6] Update reaper.yml --- .../src/main/resources/enchants/special/reaper.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eco-core/core-plugin/src/main/resources/enchants/special/reaper.yml b/eco-core/core-plugin/src/main/resources/enchants/special/reaper.yml index ce051c24..f4d07d6c 100644 --- a/eco-core/core-plugin/src/main/resources/enchants/special/reaper.yml +++ b/eco-core/core-plugin/src/main/resources/enchants/special/reaper.yml @@ -1,5 +1,5 @@ # -# Frozen EcoEnchant +# Reaper EcoEnchant # name: "Reaper of souls" @@ -21,4 +21,4 @@ general-config: maximum-level: 5 config: - chance-per-level: 2 \ No newline at end of file + chance-per-level: 2 From 951e04b18939a217656a3b42dde21c02d51c448a Mon Sep 17 00:00:00 2001 From: kireevm96 Date: Tue, 2 Mar 2021 14:44:35 +0300 Subject: [PATCH 3/6] fix Codacy for reaper --- .../ecoenchants/enchantments/ecoenchants/special/Reaper.java | 4 +--- .../enchantments/ecoenchants/special/Soulbound.java | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Reaper.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Reaper.java index 1de77329..42c38cee 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Reaper.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Reaper.java @@ -1,14 +1,12 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; import com.willfp.ecoenchants.enchantments.EcoEnchant; -import com.willfp.ecoenchants.enchantments.EcoEnchants; import com.willfp.ecoenchants.enchantments.meta.EnchantmentType; -import org.jetbrains.annotations.NotNull; public class Reaper extends EcoEnchant { public Reaper() { super( "reaper", EnchantmentType.SPECIAL ); - } + } } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Soulbound.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Soulbound.java index 6963aad6..0688e865 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Soulbound.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Soulbound.java @@ -1,7 +1,7 @@ package com.willfp.ecoenchants.enchantments.ecoenchants.special; import com.willfp.ecoenchants.enchantments.EcoEnchant; -import com.willfp.ecoenchants.enchantments.EcoEnchants; +import com.willfp.ecoenchants.enchantments.EcoEnchants; import com.willfp.ecoenchants.enchantments.meta.EnchantmentType; import com.willfp.ecoenchants.enchantments.util.EnchantChecks; import com.willfp.ecoenchants.enchantments.util.EnchantmentUtils; @@ -53,7 +53,7 @@ public class Soulbound extends EcoEnchant { } } } - } + } for (ItemStack itemStack : player.getInventory().getContents()) { if (itemStack == null) { continue; From c5898f13d93e44f69133ed1b671f515e1dc73081 Mon Sep 17 00:00:00 2001 From: kireevm96 <38166973+kireevm96@users.noreply.github.com> Date: Thu, 4 Mar 2021 16:42:35 +0300 Subject: [PATCH 4/6] rename Reaper --- .../core-plugin/src/main/resources/enchants/special/reaper.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eco-core/core-plugin/src/main/resources/enchants/special/reaper.yml b/eco-core/core-plugin/src/main/resources/enchants/special/reaper.yml index f4d07d6c..4df1549a 100644 --- a/eco-core/core-plugin/src/main/resources/enchants/special/reaper.yml +++ b/eco-core/core-plugin/src/main/resources/enchants/special/reaper.yml @@ -2,7 +2,7 @@ # Reaper EcoEnchant # -name: "Reaper of souls" +name: "Reaper" description: Gives you a chance to knock out things with a soulbound. enabled: true From e9236f97dee5793967613a2cafa74a8defa06e85 Mon Sep 17 00:00:00 2001 From: kireevm96 <38166973+kireevm96@users.noreply.github.com> Date: Thu, 4 Mar 2021 16:43:07 +0300 Subject: [PATCH 5/6] Update Soulbound.java --- .../ecoenchants/enchantments/ecoenchants/special/Soulbound.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Soulbound.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Soulbound.java index 0688e865..cc9ad4ac 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Soulbound.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Soulbound.java @@ -47,7 +47,7 @@ public class Soulbound extends EcoEnchant { ItemStack item = killer.getInventory().getItemInMainHand(); if (EnchantChecks.item(item, EcoEnchants.REAPER)) { if (!(EcoEnchants.REAPER.getDisabledWorlds().contains(player.getWorld()))) { - final int points = EnchantChecks.getItemLevel(item, EcoEnchants.REAPER); + int points = EnchantChecks.getItemLevel(item, EcoEnchants.REAPER); if (EnchantmentUtils.passedChance(EcoEnchants.REAPER, points)) { return; } From ada2cfd015d5e4cdecd34c6670e522aa2b1fe959 Mon Sep 17 00:00:00 2001 From: kireevm96 <38166973+kireevm96@users.noreply.github.com> Date: Thu, 4 Mar 2021 16:50:19 +0300 Subject: [PATCH 6/6] Changed functions EnchantChecks --- .../enchantments/ecoenchants/special/Soulbound.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Soulbound.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Soulbound.java index cc9ad4ac..b4c01aa9 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Soulbound.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Soulbound.java @@ -44,10 +44,9 @@ public class Soulbound extends EcoEnchant { if (player.getKiller() instanceof Player) { Player killer = (Player) player.getKiller(); - ItemStack item = killer.getInventory().getItemInMainHand(); - if (EnchantChecks.item(item, EcoEnchants.REAPER)) { - if (!(EcoEnchants.REAPER.getDisabledWorlds().contains(player.getWorld()))) { - int points = EnchantChecks.getItemLevel(item, EcoEnchants.REAPER); + if (EnchantChecks.mainhand(killer, EcoEnchants.REAPER)) { + if (!(EcoEnchants.REAPER.getDisabledWorlds().contains(killer.getWorld()))) { + int points = EnchantChecks.getMainhandLevel(killer, EcoEnchants.REAPER); if (EnchantmentUtils.passedChance(EcoEnchants.REAPER, points)) { return; }