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,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;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user