Cleaned anvil collision detection
This commit is contained in:
@@ -12,6 +12,7 @@ import org.bukkit.inventory.meta.Damageable;
|
||||
import org.bukkit.inventory.meta.EnchantmentStorageMeta;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
@@ -120,9 +121,11 @@ public class AnvilMerge {
|
||||
rightEnchants.forEach(((enchantment, integer) -> {
|
||||
AtomicBoolean doesConflict = new AtomicBoolean(false);
|
||||
|
||||
if(EcoEnchants.getFromEnchantment(enchantment) != null && EcoEnchants.getFromEnchantment(enchantment).getType().equals(EcoEnchant.EnchantmentType.SPECIAL) && EcoEnchants.hasAnyOfType(left, EcoEnchant.EnchantmentType.SPECIAL) && EcoEnchant.EnchantmentType.SPECIAL.isSingular()) doesConflict.set(true);
|
||||
if(EcoEnchants.getFromEnchantment(enchantment) != null && EcoEnchants.getFromEnchantment(enchantment).getType().equals(EcoEnchant.EnchantmentType.ARTIFACT) && EcoEnchants.hasAnyOfType(left, EcoEnchant.EnchantmentType.ARTIFACT) && EcoEnchant.EnchantmentType.ARTIFACT.isSingular()) doesConflict.set(true);
|
||||
if(EcoEnchants.getFromEnchantment(enchantment) != null && EcoEnchants.getFromEnchantment(enchantment).getType().equals(EcoEnchant.EnchantmentType.SPELL) && EcoEnchants.hasAnyOfType(left, EcoEnchant.EnchantmentType.SPELL)) doesConflict.set(true);
|
||||
Arrays.stream(EcoEnchant.EnchantmentType.values()).forEach(enchantmentType -> {
|
||||
EcoEnchant enchant = EcoEnchants.getFromEnchantment(enchantment);
|
||||
if(enchant == null) return;
|
||||
if(enchant.getType().equals(enchantmentType) && EcoEnchants.hasAnyOfType(left, enchantmentType) && enchantmentType.isSingular()) doesConflict.set(true);
|
||||
});
|
||||
|
||||
leftEnchants.forEach(((enchantment1, integer1) -> {
|
||||
if(enchantment.conflictsWith(enchantment1)) doesConflict.set(true);
|
||||
|
||||
Reference in New Issue
Block a user