diff --git a/CHANGELOG.md b/CHANGELOG.md index 905e11673..a317ac00c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,6 +55,7 @@ * Fixed machines not respecting max size from inventories * Fixed #2761 * Fixed #2460 +* Fixed #2760 ## Release Candidate 19 (11 Jan 2021) diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TalismanListener.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TalismanListener.java index 5502e61b0..445935569 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TalismanListener.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/TalismanListener.java @@ -246,13 +246,14 @@ public class TalismanListener implements Listener { // Wizard Talisman if (!enchantments.containsKey(Enchantment.SILK_TOUCH) && Enchantment.LOOT_BONUS_BLOCKS.canEnchantItem(e.getItem()) && Talisman.checkFor(e, SlimefunItems.TALISMAN_WIZARD)) { - - for (Enchantment enchantment : enchantments.keySet()) { - if (random.nextInt(100) < 40) { - e.getEnchantsToAdd().put(enchantment, random.nextInt(3) + 1); + // Randomly lower some enchantments + for (Map.Entry entry : enchantments.entrySet()) { + if (entry.getValue() > 1 && random.nextInt(100) < 40) { + enchantments.put(entry.getKey(), entry.getValue() - 1); } } + // Give an extra Fortune boost (Lvl 3 - 5) enchantments.put(Enchantment.LOOT_BONUS_BLOCKS, random.nextInt(3) + 3); } }