Update Enchantment damage increase API
The Enchantment damage increase API added previously used the EntityCategory enum as a parameter. These values are now however determined by tags instead of the categories themselves. Deprecated the outdated api method, create a new overload that takes EntityType instead and implement deprecated method by guessing an entity type from the builtin registry based on the category passed. This method allows a) the tags to still be modified and the legacy method still respecting such. b) potential cursed implementations of enchantments of plugins to not break that override the getDamageBonus method on Enchantment.
This commit is contained in:
parent
dc556091df
commit
b7e5de9401
3 changed files with 39 additions and 30 deletions
|
@ -109,10 +109,24 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+ * @param level the level of enchantment
|
||||
+ * @param entityCategory the category of entity
|
||||
+ * @return the damage increase
|
||||
+ * @deprecated Use {@link #getDamageIncrease(int, org.bukkit.entity.EntityType)} instead.
|
||||
+ * Enchantment damage increase is no longer handled via {@link org.bukkit.entity.EntityCategory}s, but
|
||||
+ * is instead controlled by tags, e.g. {@link org.bukkit.Tag#ENTITY_TYPES_SENSITIVE_TO_BANE_OF_ARTHROPODS}.
|
||||
+ * As such, a category cannot properly represent all entities defined by the tags.
|
||||
+ */
|
||||
+ @Deprecated(forRemoval = true, since = "1.20.5")
|
||||
+ public abstract float getDamageIncrease(int level, @NotNull org.bukkit.entity.EntityCategory entityCategory);
|
||||
+
|
||||
+ /**
|
||||
+ * Gets the damage increase as a result of the level and entity type specified
|
||||
+ *
|
||||
+ * @param level the level of enchantment
|
||||
+ * @param entityType the type of entity.
|
||||
+ * @return the damage increase
|
||||
+ */
|
||||
+ public abstract float getDamageIncrease(int level, @NotNull org.bukkit.entity.EntityType entityType);
|
||||
+
|
||||
+ /**
|
||||
+ * Gets the equipment slots where this enchantment is considered "active".
|
||||
+ *
|
||||
+ * @return the equipment slots
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue