1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 11:45:51 +00:00

Check for conflicting enchantments, this can probably be better

This commit is contained in:
ProfElements 2021-01-14 16:02:33 -06:00
parent 5cd1d8cb22
commit 58eca5affa

View File

@ -104,9 +104,17 @@ public class BookBinder extends AContainer {
@ParametersAreNonnullByDefault @ParametersAreNonnullByDefault
private Map<Enchantment, Integer> combineEnchantments(Map<Enchantment, Integer> ech1, Map<Enchantment, Integer> ech2) { private Map<Enchantment, Integer> combineEnchantments(Map<Enchantment, Integer> ech1, Map<Enchantment, Integer> ech2) {
Map<Enchantment, Integer> enchantments = new HashMap<>(); Map<Enchantment, Integer> enchantments = new HashMap<>();
boolean conflicts = false;
enchantments.putAll(ech1); enchantments.putAll(ech1);
for (Map.Entry<Enchantment, Integer> entry : ech2.entrySet()) { for (Map.Entry<Enchantment, Integer> entry : ech2.entrySet()) {
for (Map.Entry<Enchantment, Integer> conflictsWith : enchantments.entrySet()) {
if (entry.getKey().conflictsWith(conflictsWith.getKey())) {
conflicts = true;
}
}
if (!conflicts) {
enchantments.merge(entry.getKey(), entry.getValue(), (a, b) -> { enchantments.merge(entry.getKey(), entry.getValue(), (a, b) -> {
if (a == b) { if (a == b) {
if (hasCustomMaxLevel.getValue()) { if (hasCustomMaxLevel.getValue()) {
@ -127,6 +135,7 @@ public class BookBinder extends AContainer {
} }
}); });
} }
}
return enchantments; return enchantments;