diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/BookBinder.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/BookBinder.java index 3830df224..82bb001ca 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/BookBinder.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/BookBinder.java @@ -104,10 +104,18 @@ public class BookBinder extends AContainer { @ParametersAreNonnullByDefault private Map combineEnchantments(Map ech1, Map ech2) { Map enchantments = new HashMap<>(); + boolean conflicts = false; enchantments.putAll(ech1); for (Map.Entry entry : ech2.entrySet()) { - enchantments.merge(entry.getKey(), entry.getValue(), (a, b) -> { + for (Map.Entry conflictsWith : enchantments.entrySet()) { + if (entry.getKey().conflictsWith(conflictsWith.getKey())) { + conflicts = true; + } + } + + if (!conflicts) { + enchantments.merge(entry.getKey(), entry.getValue(), (a, b) -> { if (a == b) { if (hasCustomMaxLevel.getValue()) { return a + 1 > customMaxLevel.getValue() ? customMaxLevel.getValue() : a + 1; @@ -123,9 +131,10 @@ public class BookBinder extends AContainer { } else { return highestLevel; } - + } - }); + }); + } } return enchantments;