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:
parent
5cd1d8cb22
commit
58eca5affa
@ -104,10 +104,18 @@ public class BookBinder extends AContainer {
|
||||
@ParametersAreNonnullByDefault
|
||||
private Map<Enchantment, Integer> combineEnchantments(Map<Enchantment, Integer> ech1, Map<Enchantment, Integer> ech2) {
|
||||
Map<Enchantment, Integer> enchantments = new HashMap<>();
|
||||
boolean conflicts = false;
|
||||
|
||||
enchantments.putAll(ech1);
|
||||
for (Map.Entry<Enchantment, Integer> entry : ech2.entrySet()) {
|
||||
enchantments.merge(entry.getKey(), entry.getValue(), (a, b) -> {
|
||||
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) -> {
|
||||
if (a == b) {
|
||||
if (hasCustomMaxLevel.getValue()) {
|
||||
return a + 1 > customMaxLevel.getValue() ? customMaxLevel.getValue() : a + 1;
|
||||
@ -125,7 +133,8 @@ public class BookBinder extends AContainer {
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return enchantments;
|
||||
|
Loading…
Reference in New Issue
Block a user