From 528390c14be4bfb34676e74e759cf42b20443af1 Mon Sep 17 00:00:00 2001 From: Kazuk <46299532+XKazzuKX@users.noreply.github.com> Date: Thu, 11 Nov 2021 19:03:08 +0000 Subject: [PATCH] Enchantment changes --- .../api/enchantment/EnchantmentRarity.java | 15 ++++ .../api/enchantment/EnchantmentTarget.java | 19 +++-- .../api/enchantment/EnchantmentType.java | 4 +- .../api/enchantment/EnchantmentTypes.java | 77 ++++++++++--------- .../behavior/EnchantmentBehavior.java | 8 +- .../cloudburstmc/api/util/Identifiers.java | 47 +++++------ 6 files changed, 98 insertions(+), 72 deletions(-) create mode 100644 src/main/java/org/cloudburstmc/api/enchantment/EnchantmentRarity.java diff --git a/src/main/java/org/cloudburstmc/api/enchantment/EnchantmentRarity.java b/src/main/java/org/cloudburstmc/api/enchantment/EnchantmentRarity.java new file mode 100644 index 000000000..2051daa78 --- /dev/null +++ b/src/main/java/org/cloudburstmc/api/enchantment/EnchantmentRarity.java @@ -0,0 +1,15 @@ +package org.cloudburstmc.api.enchantment; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@RequiredArgsConstructor +@Getter +public enum EnchantmentRarity { + COMMON(10), + UNCOMMON(5), + RARE(2), + VERY_RARE(1); + + private final int weight; +} diff --git a/src/main/java/org/cloudburstmc/api/enchantment/EnchantmentTarget.java b/src/main/java/org/cloudburstmc/api/enchantment/EnchantmentTarget.java index 7c04a406c..9729eb097 100644 --- a/src/main/java/org/cloudburstmc/api/enchantment/EnchantmentTarget.java +++ b/src/main/java/org/cloudburstmc/api/enchantment/EnchantmentTarget.java @@ -1,19 +1,18 @@ package org.cloudburstmc.api.enchantment; public enum EnchantmentTarget { - ALL, ARMOR, + ARMOR_CHEST, + ARMOR_FEET, ARMOR_HEAD, - ARMOR_TORSO, ARMOR_LEGS, - ARMOR_FEET, - SWORD, - DIGGER, - FISHING_ROD, - BREAKABLE, BOW, - WEARABLE, + BREAKABLE, + CROSSBOW, + FISHING_ROD, + TOOL, TRIDENT, - CROSSBOW - + VANISHABLE, + WEAPON, + WEARABLE } diff --git a/src/main/java/org/cloudburstmc/api/enchantment/EnchantmentType.java b/src/main/java/org/cloudburstmc/api/enchantment/EnchantmentType.java index 2527d523c..26fa7cada 100644 --- a/src/main/java/org/cloudburstmc/api/enchantment/EnchantmentType.java +++ b/src/main/java/org/cloudburstmc/api/enchantment/EnchantmentType.java @@ -12,6 +12,8 @@ public class EnchantmentType { private final short id; private final Identifier type; private final int maxLevel; - private final int weight; + private final EnchantmentRarity rarity; + private final boolean treasure; + private final boolean cursed; private final EnchantmentTarget target; } diff --git a/src/main/java/org/cloudburstmc/api/enchantment/EnchantmentTypes.java b/src/main/java/org/cloudburstmc/api/enchantment/EnchantmentTypes.java index 4f444c29f..c33400c3d 100644 --- a/src/main/java/org/cloudburstmc/api/enchantment/EnchantmentTypes.java +++ b/src/main/java/org/cloudburstmc/api/enchantment/EnchantmentTypes.java @@ -3,43 +3,46 @@ import lombok.experimental.UtilityClass; import org.cloudburstmc.api.util.Identifiers; +import static org.cloudburstmc.api.enchantment.EnchantmentRarity.*; +import static org.cloudburstmc.api.enchantment.EnchantmentTarget.*; + @UtilityClass public class EnchantmentTypes { - - public static final EnchantmentType PROTECTION = EnchantmentType.builder().id((short) 0).type(Identifiers.PROTECTION).maxLevel(5).weight(10).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType FIRE_PROTECTION = EnchantmentType.builder().id((short) 1).type(Identifiers.FIRE_PROTECTION).maxLevel(5).weight(10).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType FALL_PROTECTION = EnchantmentType.builder().id((short) 2).type(Identifiers.FALL_PROTECTION).maxLevel(5).weight(10).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType EXPLOSION_PROTECTION = EnchantmentType.builder().id((short) 3).type(Identifiers.EXPLOSION_PROTECTION).maxLevel(5).weight(2).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType PROJECTILE_PROTECTION = EnchantmentType.builder().id((short) 4).type(Identifiers.PROJECTILE_PROTECTION).maxLevel(5).weight(10).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType THORNS = EnchantmentType.builder().id((short) 5).type(Identifiers.THORNS).maxLevel(3).weight(10).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType WATER_BREATHING = EnchantmentType.builder().id((short) 6).type(Identifiers.RESPIRATION).maxLevel(3).weight(10).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType WATER_WALKER = EnchantmentType.builder().id((short) 7).type(Identifiers.WATER_WALKER).maxLevel(3).weight(10).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType WATER_WORKER = EnchantmentType.builder().id((short) 8).type(Identifiers.WATER_WORKER).maxLevel(1).weight(2).target(EnchantmentTarget.ARMOR_HEAD).build(); - public static final EnchantmentType DAMAGE_SHARPNESS = EnchantmentType.builder().id((short) 9).type(Identifiers.DAMAGE_SHARPNESS).maxLevel(5).weight(10).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType DAMAGE_SMITE = EnchantmentType.builder().id((short) 10).type(Identifiers.DAMAGE_SMITE).maxLevel(5).weight(10).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType DAMAGE_ARTHOPODS = EnchantmentType.builder().id((short) 11).type(Identifiers.DAMAGE_ARTHOPODS).maxLevel(5).weight(5).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType KNOCKBACK = EnchantmentType.builder().id((short) 12).type(Identifiers.KNOCKBACK).maxLevel(2).weight(5).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType FIRE_ASPECT = EnchantmentType.builder().id((short) 13).type(Identifiers.FIRE_ASPECT).maxLevel(2).weight(2).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType LOOTING = EnchantmentType.builder().id((short) 14).type(Identifiers.LOOTING).maxLevel(3).weight(2).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType EFFICIENCY = EnchantmentType.builder().id((short) 15).type(Identifiers.EFFICIENCY).maxLevel(5).weight(10).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType SILK_TOUCH = EnchantmentType.builder().id((short) 16).type(Identifiers.SILK_TOUCH).maxLevel(1).weight(1).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType DURABILITY = EnchantmentType.builder().id((short) 17).type(Identifiers.DURABILITY).maxLevel(3).weight(5).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType FORTUNE = EnchantmentType.builder().id((short) 18).type(Identifiers.FORTUNE).maxLevel(5).weight(2).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType BOW_POWER = EnchantmentType.builder().id((short) 19).type(Identifiers.BOW_POWER).maxLevel(5).weight(10).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType BOW_PUNCH = EnchantmentType.builder().id((short) 20).type(Identifiers.BOW_PUNCH).maxLevel(2).weight(2).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType BOW_FLAME = EnchantmentType.builder().id((short) 21).type(Identifiers.BOW_FLAME).maxLevel(1).weight(2).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType BOW_INFINITY = EnchantmentType.builder().id((short) 22).type(Identifiers.BOW_INFINITY).maxLevel(1).weight(1).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType LUCK = EnchantmentType.builder().id((short) 23).type(Identifiers.LUCK).maxLevel(3).weight(2).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType LURE = EnchantmentType.builder().id((short) 24).type(Identifiers.LURE).maxLevel(3).weight(2).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType FROST_WALKER = EnchantmentType.builder().id((short) 25).type(Identifiers.FROST_WALKER).maxLevel(2).weight(2).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType MENDING = EnchantmentType.builder().id((short) 26).type(Identifiers.MENDING).maxLevel(1).weight(2).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType BINDING_CURSE = EnchantmentType.builder().id((short) 27).type(Identifiers.BINDING_CURSE).maxLevel(1).weight(2).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType VANISHING_CURSE = EnchantmentType.builder().id((short) 28).type(Identifiers.VANISHING_CURSE).maxLevel(5).weight(2).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType TRIDENT_IMPALING = EnchantmentType.builder().id((short) 29).type(Identifiers.TRIDENT_IMPALING).maxLevel(5).weight(2).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType TRIDENT_RIPTIDE = EnchantmentType.builder().id((short) 30).type(Identifiers.TRIDENT_RIPTIDE).maxLevel(5).weight(2).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType TRIDENT_LOYALTY = EnchantmentType.builder().id((short) 31).type(Identifiers.TRIDENT_LOYALTY).maxLevel(5).weight(5).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType TRIDENT_CHANNELING = EnchantmentType.builder().id((short) 32).type(Identifiers.TRIDENT_CHANNELING).maxLevel(5).weight(1).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType CROSSBOW_MULTISHOT = EnchantmentType.builder().id((short) 33).type(Identifiers.CROSSBOW_MULTISHOT).maxLevel(5).weight(2).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType CROSSBOW_PIERCING = EnchantmentType.builder().id((short) 34).type(Identifiers.CROSSBOW_PIERCING).maxLevel(5).weight(10).target(EnchantmentTarget.ARMOR).build(); - public static final EnchantmentType CROSSBOW_QUICK_CHARGE = EnchantmentType.builder().id((short) 35).type(Identifiers.CROSSBOW_QUICK_CHARGE).maxLevel(5).weight(5).target(EnchantmentTarget.ARMOR).build(); + public static final EnchantmentType PROTECTION = EnchantmentType.builder().id((short) 0).type(Identifiers.PROTECTION).maxLevel(4).rarity(COMMON).target(ARMOR).build(); + public static final EnchantmentType FIRE_PROTECTION = EnchantmentType.builder().id((short) 1).type(Identifiers.FIRE_PROTECTION).maxLevel(4).rarity(UNCOMMON).target(ARMOR).build(); + public static final EnchantmentType FEATHER_FALLING = EnchantmentType.builder().id((short) 2).type(Identifiers.FEATHER_FALLING).maxLevel(4).rarity(UNCOMMON).target(ARMOR_FEET).build(); + public static final EnchantmentType BLAST_PROTECTION = EnchantmentType.builder().id((short) 3).type(Identifiers.BLAST_PROTECTION).maxLevel(4).rarity(RARE).target(ARMOR).build(); + public static final EnchantmentType PROJECTILE_PROTECTION = EnchantmentType.builder().id((short) 4).type(Identifiers.PROJECTILE_PROTECTION).maxLevel(4).rarity(UNCOMMON).target(ARMOR).build(); + public static final EnchantmentType THORNS = EnchantmentType.builder().id((short) 5).type(Identifiers.THORNS).maxLevel(3).rarity(VERY_RARE).target(ARMOR).build(); + public static final EnchantmentType RESPIRATION = EnchantmentType.builder().id((short) 6).type(Identifiers.RESPIRATION).maxLevel(3).rarity(RARE).target(ARMOR_HEAD).build(); + public static final EnchantmentType DEPTH_STRIDER = EnchantmentType.builder().id((short) 7).type(Identifiers.DEPTH_STRIDER).maxLevel(3).rarity(RARE).target(ARMOR_FEET).build(); + public static final EnchantmentType AQUA_AFFINITY = EnchantmentType.builder().id((short) 8).type(Identifiers.AQUA_AFFINITY).maxLevel(1).rarity(RARE).target(ARMOR_HEAD).build(); + public static final EnchantmentType SHARPNESS = EnchantmentType.builder().id((short) 9).type(Identifiers.SHARPNESS).maxLevel(5).rarity(COMMON).target(WEAPON).build(); + public static final EnchantmentType SMITE = EnchantmentType.builder().id((short) 10).type(Identifiers.SMITE).maxLevel(5).rarity(UNCOMMON).target(WEAPON).build(); + public static final EnchantmentType BANE_OF_ARTHROPODS = EnchantmentType.builder().id((short) 11).type(Identifiers.BANE_OF_ARTHROPODS).maxLevel(5).rarity(UNCOMMON).target(WEAPON).build(); + public static final EnchantmentType KNOCKBACK = EnchantmentType.builder().id((short) 12).type(Identifiers.KNOCKBACK).maxLevel(2).rarity(UNCOMMON).target(WEAPON).build(); + public static final EnchantmentType FIRE_ASPECT = EnchantmentType.builder().id((short) 13).type(Identifiers.FIRE_ASPECT).maxLevel(2).rarity(RARE).target(WEAPON).build(); + public static final EnchantmentType LOOTING = EnchantmentType.builder().id((short) 14).type(Identifiers.LOOTING).maxLevel(3).rarity(RARE).target(WEAPON).build(); + public static final EnchantmentType EFFICIENCY = EnchantmentType.builder().id((short) 15).type(Identifiers.EFFICIENCY).maxLevel(5).rarity(COMMON).target(TOOL).build(); + public static final EnchantmentType SILK_TOUCH = EnchantmentType.builder().id((short) 16).type(Identifiers.SILK_TOUCH).maxLevel(1).rarity(VERY_RARE).target(TOOL).build(); + public static final EnchantmentType UNBREAKING = EnchantmentType.builder().id((short) 17).type(Identifiers.UNBREAKING).maxLevel(3).rarity(UNCOMMON).target(BREAKABLE).build(); + public static final EnchantmentType FORTUNE = EnchantmentType.builder().id((short) 18).type(Identifiers.FORTUNE).maxLevel(3).rarity(RARE).target(TOOL).build(); + public static final EnchantmentType POWER = EnchantmentType.builder().id((short) 19).type(Identifiers.POWER).maxLevel(5).rarity(COMMON).target(BOW).build(); + public static final EnchantmentType PUNCH = EnchantmentType.builder().id((short) 20).type(Identifiers.PUNCH).maxLevel(2).rarity(RARE).target(BOW).build(); + public static final EnchantmentType FLAME = EnchantmentType.builder().id((short) 21).type(Identifiers.FLAME).maxLevel(1).rarity(RARE).target(BOW).build(); + public static final EnchantmentType INFINITY = EnchantmentType.builder().id((short) 22).type(Identifiers.INFINITY).maxLevel(1).rarity(VERY_RARE).target(BOW).build(); + public static final EnchantmentType LUCK_OF_THE_SEA = EnchantmentType.builder().id((short) 23).type(Identifiers.LUCK_OF_THE_SEA).maxLevel(3).rarity(RARE).target(FISHING_ROD).build(); + public static final EnchantmentType LURE = EnchantmentType.builder().id((short) 24).type(Identifiers.LURE).maxLevel(3).rarity(RARE).target(FISHING_ROD).build(); + public static final EnchantmentType FROST_WALKER = EnchantmentType.builder().id((short) 25).type(Identifiers.FROST_WALKER).maxLevel(2).rarity(RARE).treasure(true).target(ARMOR_FEET).build(); + public static final EnchantmentType MENDING = EnchantmentType.builder().id((short) 26).type(Identifiers.MENDING).maxLevel(1).rarity(RARE).treasure(true).target(BREAKABLE).build(); + public static final EnchantmentType BINDING = EnchantmentType.builder().id((short) 27).type(Identifiers.BINDING).maxLevel(1).rarity(VERY_RARE).treasure(true).cursed(true).target(WEARABLE).build(); + public static final EnchantmentType VANISHING = EnchantmentType.builder().id((short) 28).type(Identifiers.VANISHING).maxLevel(1).rarity(VERY_RARE).treasure(true).cursed(true).target(VANISHABLE).build(); + public static final EnchantmentType IMPALING = EnchantmentType.builder().id((short) 29).type(Identifiers.IMPALING).maxLevel(5).rarity(RARE).target(TRIDENT).build(); + public static final EnchantmentType RIPTIDE = EnchantmentType.builder().id((short) 30).type(Identifiers.RIPTIDE).maxLevel(3).rarity(RARE).target(TRIDENT).build(); + public static final EnchantmentType LOYALTY = EnchantmentType.builder().id((short) 31).type(Identifiers.LOYALTY).maxLevel(3).rarity(UNCOMMON).target(TRIDENT).build(); + public static final EnchantmentType CHANNELING = EnchantmentType.builder().id((short) 32).type(Identifiers.CHANNELING).maxLevel(1).rarity(VERY_RARE).target(TRIDENT).build(); + public static final EnchantmentType MULTISHOT = EnchantmentType.builder().id((short) 33).type(Identifiers.MULTISHOT).maxLevel(1).rarity(RARE).target(CROSSBOW).build(); + public static final EnchantmentType PIERCING = EnchantmentType.builder().id((short) 34).type(Identifiers.PIERCING).maxLevel(4).rarity(COMMON).target(CROSSBOW).build(); + public static final EnchantmentType QUICK_CHARGE = EnchantmentType.builder().id((short) 35).type(Identifiers.QUICK_CHARGE).maxLevel(3).rarity(UNCOMMON).target(CROSSBOW).build(); + public static final EnchantmentType SOUL_SPEED = EnchantmentType.builder().id((short) 36).type(Identifiers.SOUL_SPEED).maxLevel(3).rarity(VERY_RARE).treasure(true).target(ARMOR_FEET).build(); } diff --git a/src/main/java/org/cloudburstmc/api/enchantment/behavior/EnchantmentBehavior.java b/src/main/java/org/cloudburstmc/api/enchantment/behavior/EnchantmentBehavior.java index bba189715..55fdd155d 100644 --- a/src/main/java/org/cloudburstmc/api/enchantment/behavior/EnchantmentBehavior.java +++ b/src/main/java/org/cloudburstmc/api/enchantment/behavior/EnchantmentBehavior.java @@ -1,13 +1,19 @@ package org.cloudburstmc.api.enchantment.behavior; import org.cloudburstmc.api.enchantment.EnchantmentInstance; +import org.cloudburstmc.api.enchantment.EnchantmentRarity; import org.cloudburstmc.api.entity.Entity; import org.cloudburstmc.api.event.entity.EntityDamageEvent; import org.cloudburstmc.api.item.ItemStack; public abstract class EnchantmentBehavior { + + public EnchantmentRarity getRarity(EnchantmentInstance enchantment) { + return enchantment.getType().getRarity(); + } + public int getWeight(EnchantmentInstance enchantment) { - return enchantment.getType().getWeight(); + return this.getRarity(enchantment).getWeight(); } public int getMaxLevel(EnchantmentInstance enchantment) { diff --git a/src/main/java/org/cloudburstmc/api/util/Identifiers.java b/src/main/java/org/cloudburstmc/api/util/Identifiers.java index b1d62f326..2d16ab4e8 100644 --- a/src/main/java/org/cloudburstmc/api/util/Identifiers.java +++ b/src/main/java/org/cloudburstmc/api/util/Identifiers.java @@ -562,42 +562,43 @@ public class Identifiers { public static final Identifier YELLOW_GLAZED_TERRACOTTA = Identifier.fromString("yellow_glazed_terracotta"); //Enchantments - public static final Identifier BINDING_CURSE = Identifier.fromString("binding"); - public static final Identifier BOW_POWER = Identifier.fromString("power"); - public static final Identifier BOW_PUNCH = Identifier.fromString("punch"); - public static final Identifier BOW_FLAME = Identifier.fromString("flame"); - public static final Identifier BOW_INFINITY = Identifier.fromString("infinity"); - public static final Identifier CROSSBOW_MULTISHOT = Identifier.fromString("multishot"); - public static final Identifier CROSSBOW_PIERCING = Identifier.fromString("piercing"); - public static final Identifier CROSSBOW_QUICK_CHARGE = Identifier.fromString("quick_charge"); - public static final Identifier DAMAGE_SHARPNESS = Identifier.fromString("sharpness"); - public static final Identifier DAMAGE_SMITE = Identifier.fromString("smite"); - public static final Identifier DAMAGE_ARTHOPODS = Identifier.fromString("DAMAGE_ARTHOPODS"); - public static final Identifier DURABILITY = Identifier.fromString("unbreaking"); + public static final Identifier AQUA_AFFINITY = Identifier.fromString("aqua_affinity"); + public static final Identifier BANE_OF_ARTHROPODS = Identifier.fromString("bane_of_arthropods"); + public static final Identifier BINDING = Identifier.fromString("binding"); + public static final Identifier BLAST_PROTECTION = Identifier.fromString("blast_protection"); + public static final Identifier CHANNELING = Identifier.fromString("channeling"); + public static final Identifier DEPTH_STRIDER = Identifier.fromString("depth_strider"); public static final Identifier EFFICIENCY = Identifier.fromString("efficiency"); - public static final Identifier EXPLOSION_PROTECTION = Identifier.fromString("blast_protection"); - public static final Identifier FALL_PROTECTION = Identifier.fromString("feather_falling"); + public static final Identifier FEATHER_FALLING = Identifier.fromString("feather_falling"); public static final Identifier FIRE_ASPECT = Identifier.fromString("fire_aspect"); public static final Identifier FIRE_PROTECTION = Identifier.fromString("fire_protection"); + public static final Identifier FLAME = Identifier.fromString("flame"); public static final Identifier FORTUNE = Identifier.fromString("fortune"); public static final Identifier FROST_WALKER = Identifier.fromString("frost_walker"); + public static final Identifier IMPALING = Identifier.fromString("impaling"); + public static final Identifier INFINITY = Identifier.fromString("infinity"); public static final Identifier KNOCKBACK = Identifier.fromString("knockback"); public static final Identifier LOOTING = Identifier.fromString("looting"); - public static final Identifier LUCK = Identifier.fromString("luck_of_the_sea"); + public static final Identifier LOYALTY = Identifier.fromString("loyalty"); + public static final Identifier LUCK_OF_THE_SEA = Identifier.fromString("luck_of_the_sea"); public static final Identifier LURE = Identifier.fromString("lure"); public static final Identifier MENDING = Identifier.fromString("mending"); + public static final Identifier MULTISHOT = Identifier.fromString("multishot"); + public static final Identifier PIERCING = Identifier.fromString("piercing"); + public static final Identifier POWER = Identifier.fromString("power"); public static final Identifier PROJECTILE_PROTECTION = Identifier.fromString("projectile_protection"); public static final Identifier PROTECTION = Identifier.fromString("protection"); + public static final Identifier PUNCH = Identifier.fromString("punch"); + public static final Identifier QUICK_CHARGE = Identifier.fromString("quick_charge"); + public static final Identifier RESPIRATION = Identifier.fromString("respiration"); + public static final Identifier RIPTIDE = Identifier.fromString("riptide"); + public static final Identifier SHARPNESS = Identifier.fromString("sharpness"); public static final Identifier SILK_TOUCH = Identifier.fromString("silk_touch"); + public static final Identifier SMITE = Identifier.fromString("smite"); + public static final Identifier SOUL_SPEED = Identifier.fromString("soul_speed"); public static final Identifier THORNS = Identifier.fromString("thorns"); - public static final Identifier TRIDENT_CHANNELING = Identifier.fromString("channeling"); - public static final Identifier TRIDENT_IMPALING = Identifier.fromString("impaling"); - public static final Identifier TRIDENT_LOYALTY = Identifier.fromString("loyalty"); - public static final Identifier TRIDENT_RIPTIDE = Identifier.fromString("riptide"); - public static final Identifier VANISHING_CURSE = Identifier.fromString("vanishing"); - public static final Identifier RESPIRATION = Identifier.fromString("respiration"); - public static final Identifier WATER_WALKER = Identifier.fromString("depth_strider"); - public static final Identifier WATER_WORKER = Identifier.fromString("aqua_affinity"); + public static final Identifier UNBREAKING = Identifier.fromString("unbreaking"); + public static final Identifier VANISHING = Identifier.fromString("vanishing"); //Effects public static final Identifier ABSORPTION = Identifier.fromString("absorption");