diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Drill.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Drill.java index 6b48bd37..047b0c68 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Drill.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Drill.java @@ -7,6 +7,7 @@ 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.EnchantmentUtils; import org.bukkit.block.Block; import org.bukkit.entity.Player; import org.bukkit.event.block.BlockBreakEvent; @@ -29,6 +30,10 @@ public class Drill extends EcoEnchant { return; } + if (!EnchantmentUtils.passedChance(this, level)) { + return; + } + if (player.isSneaking() && this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "disable-on-sneak")) { return; } diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Tripleshot.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Tripleshot.java index 2e86cf94..8228131a 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Tripleshot.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/normal/Tripleshot.java @@ -4,6 +4,7 @@ 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.enchantments.Enchantment; import org.bukkit.entity.AbstractArrow; import org.bukkit.entity.Arrow; @@ -24,6 +25,10 @@ public class Tripleshot extends EcoEnchant { @NotNull final Arrow arrow, final int level, @NotNull final EntityShootBowEvent event) { + if (!EnchantmentUtils.passedChance(this, level)) { + return; + } + for (int i = -1; i < 2; i += 2) { Vector velocity = event.getProjectile().getVelocity(); diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Pentashot.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Pentashot.java index b290960a..8b1b0e9b 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Pentashot.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/ecoenchants/special/Pentashot.java @@ -4,6 +4,7 @@ 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.enchantments.Enchantment; import org.bukkit.entity.AbstractArrow; import org.bukkit.entity.Arrow; @@ -24,6 +25,10 @@ public class Pentashot extends EcoEnchant { @NotNull final Arrow arrow, final int level, @NotNull final EntityShootBowEvent event) { + if (!EnchantmentUtils.passedChance(this, level)) { + return; + } + int bonusPerSide = this.getConfig().getInt(EcoEnchants.CONFIG_LOCATION + "side-arrows-per-level") * level; for (int i = -bonusPerSide; i <= bonusPerSide; i += 1) { diff --git a/eco-core/core-plugin/src/main/resources/enchants/normal/drill.yml b/eco-core/core-plugin/src/main/resources/enchants/normal/drill.yml index 411c8692..02d554b1 100644 --- a/eco-core/core-plugin/src/main/resources/enchants/normal/drill.yml +++ b/eco-core/core-plugin/src/main/resources/enchants/normal/drill.yml @@ -30,6 +30,7 @@ general-config: maximum-level: 5 config: + chance-per-level: 100 # Not chance-based by default blocks-per-level: 1 disable-on-sneak: true hardness-check: true # Only break blocks with hardness less than or equal to first block diff --git a/eco-core/core-plugin/src/main/resources/enchants/normal/tripleshot.yml b/eco-core/core-plugin/src/main/resources/enchants/normal/tripleshot.yml index 92a4cf93..5378f731 100644 --- a/eco-core/core-plugin/src/main/resources/enchants/normal/tripleshot.yml +++ b/eco-core/core-plugin/src/main/resources/enchants/normal/tripleshot.yml @@ -25,6 +25,8 @@ general-config: - succession - pentashot - buckshot + maximum-level: 1 config: + chance-per-level: 100 # Not chance-based by default angle: 11 \ No newline at end of file diff --git a/eco-core/core-plugin/src/main/resources/enchants/special/pentashot.yml b/eco-core/core-plugin/src/main/resources/enchants/special/pentashot.yml index ffc99857..b8de2575 100644 --- a/eco-core/core-plugin/src/main/resources/enchants/special/pentashot.yml +++ b/eco-core/core-plugin/src/main/resources/enchants/special/pentashot.yml @@ -28,5 +28,6 @@ general-config: maximum-level: 1 config: + chance-per-level: 100 # Not chance-based by default side-arrows-per-level: 2 # If you want to have more levels angle: 11 \ No newline at end of file