@@ -200,6 +200,11 @@ public abstract class Enchantment implements Keyed {
|
||||
*/
|
||||
public static final Enchantment VANISHING_CURSE = new EnchantmentWrapper("vanishing_curse");
|
||||
|
||||
/**
|
||||
* Walk quicker on soul blocks
|
||||
*/
|
||||
public static final Enchantment SOUL_SPEED = new EnchantmentWrapper("soul_speed");
|
||||
|
||||
private static final Map<NamespacedKey, Enchantment> byKey = new HashMap<NamespacedKey, Enchantment>();
|
||||
private static final Map<String, Enchantment> byName = new HashMap<String, Enchantment>();
|
||||
private static boolean acceptingNew = true;
|
||||
|
||||
@@ -8,21 +8,6 @@ import org.jetbrains.annotations.NotNull;
|
||||
* Represents the applicable target for a {@link Enchantment}
|
||||
*/
|
||||
public enum EnchantmentTarget {
|
||||
/**
|
||||
* Allows the Enchantment to be placed on all items
|
||||
*/
|
||||
ALL {
|
||||
@Override
|
||||
public boolean includes(@NotNull Material item) {
|
||||
for (EnchantmentTarget target : EnchantmentTarget.values()) {
|
||||
if (target != this && target.includes(item)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Allows the Enchantment to be placed on armor
|
||||
@@ -47,7 +32,8 @@ public enum EnchantmentTarget {
|
||||
|| item.equals(Material.CHAINMAIL_BOOTS)
|
||||
|| item.equals(Material.IRON_BOOTS)
|
||||
|| item.equals(Material.DIAMOND_BOOTS)
|
||||
|| item.equals(Material.GOLDEN_BOOTS);
|
||||
|| item.equals(Material.GOLDEN_BOOTS)
|
||||
|| item.equals(Material.NETHERITE_BOOTS);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -61,7 +47,8 @@ public enum EnchantmentTarget {
|
||||
|| item.equals(Material.CHAINMAIL_LEGGINGS)
|
||||
|| item.equals(Material.IRON_LEGGINGS)
|
||||
|| item.equals(Material.DIAMOND_LEGGINGS)
|
||||
|| item.equals(Material.GOLDEN_LEGGINGS);
|
||||
|| item.equals(Material.GOLDEN_LEGGINGS)
|
||||
|| item.equals(Material.NETHERITE_LEGGINGS);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -75,7 +62,8 @@ public enum EnchantmentTarget {
|
||||
|| item.equals(Material.CHAINMAIL_CHESTPLATE)
|
||||
|| item.equals(Material.IRON_CHESTPLATE)
|
||||
|| item.equals(Material.DIAMOND_CHESTPLATE)
|
||||
|| item.equals(Material.GOLDEN_CHESTPLATE);
|
||||
|| item.equals(Material.GOLDEN_CHESTPLATE)
|
||||
|| item.equals(Material.NETHERITE_CHESTPLATE);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -90,7 +78,8 @@ public enum EnchantmentTarget {
|
||||
|| item.equals(Material.DIAMOND_HELMET)
|
||||
|| item.equals(Material.IRON_HELMET)
|
||||
|| item.equals(Material.GOLDEN_HELMET)
|
||||
|| item.equals(Material.TURTLE_HELMET);
|
||||
|| item.equals(Material.TURTLE_HELMET)
|
||||
|| item.equals(Material.NETHERITE_HELMET);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -104,7 +93,8 @@ public enum EnchantmentTarget {
|
||||
|| item.equals(Material.STONE_SWORD)
|
||||
|| item.equals(Material.IRON_SWORD)
|
||||
|| item.equals(Material.DIAMOND_SWORD)
|
||||
|| item.equals(Material.GOLDEN_SWORD);
|
||||
|| item.equals(Material.GOLDEN_SWORD)
|
||||
|| item.equals(Material.NETHERITE_SWORD);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -119,16 +109,25 @@ public enum EnchantmentTarget {
|
||||
|| item.equals(Material.IRON_SHOVEL)
|
||||
|| item.equals(Material.DIAMOND_SHOVEL)
|
||||
|| item.equals(Material.GOLDEN_SHOVEL)
|
||||
|| item.equals(Material.NETHERITE_SHOVEL)
|
||||
|| item.equals(Material.WOODEN_PICKAXE)
|
||||
|| item.equals(Material.STONE_PICKAXE)
|
||||
|| item.equals(Material.IRON_PICKAXE)
|
||||
|| item.equals(Material.DIAMOND_PICKAXE)
|
||||
|| item.equals(Material.GOLDEN_PICKAXE)
|
||||
|| item.equals(Material.NETHERITE_PICKAXE)
|
||||
|| item.equals(Material.WOODEN_AXE)
|
||||
|| item.equals(Material.STONE_AXE)
|
||||
|| item.equals(Material.IRON_AXE)
|
||||
|| item.equals(Material.DIAMOND_AXE)
|
||||
|| item.equals(Material.GOLDEN_AXE);
|
||||
|| item.equals(Material.GOLDEN_AXE)
|
||||
|| item.equals(Material.NETHERITE_AXE)
|
||||
|| item.equals(Material.WOODEN_HOE)
|
||||
|| item.equals(Material.STONE_HOE)
|
||||
|| item.equals(Material.IRON_HOE)
|
||||
|| item.equals(Material.DIAMOND_HOE)
|
||||
|| item.equals(Material.GOLDEN_HOE)
|
||||
|| item.equals(Material.NETHERITE_HOE);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -199,6 +198,16 @@ public enum EnchantmentTarget {
|
||||
public boolean includes(@NotNull Material item) {
|
||||
return item.equals(Material.CROSSBOW);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Allow the Enchantment to be placed on vanishing items.
|
||||
*/
|
||||
VANISHABLE {
|
||||
@Override
|
||||
public boolean includes(@NotNull Material item) {
|
||||
return BREAKABLE.includes(item) || (WEARABLE.includes(item) && !item.equals(Material.ELYTRA)) || item.equals(Material.COMPASS);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user