Get entity default attributes

This commit is contained in:
Jake Potrebic 2021-08-20 13:03:55 -07:00
parent d496258f70
commit 8f72ada8c9
2 changed files with 36 additions and 0 deletions

View file

@ -197,5 +197,22 @@ public interface UnsafeValues {
* @return true if valid repair, false if not
*/
public boolean isValidRepairItemStack(@org.jetbrains.annotations.NotNull ItemStack itemToBeRepaired, @org.jetbrains.annotations.NotNull ItemStack repairMaterial);
/**
* Checks if the entity represented by the namespaced key has default attributes.
*
* @param entityKey the entity's key
* @return true if it has default attributes
*/
boolean hasDefaultEntityAttributes(@org.jetbrains.annotations.NotNull NamespacedKey entityKey);
/**
* Gets the default attributes for the entity represented by the namespaced key.
*
* @param entityKey the entity's key
* @return an unmodifiable instance of Attributable for reading default attributes.
* @throws IllegalArgumentException if the entity does not exist of have default attributes (use {@link #hasDefaultEntityAttributes(NamespacedKey)} first)
*/
@org.jetbrains.annotations.NotNull org.bukkit.attribute.Attributable getDefaultEntityAttributes(@org.jetbrains.annotations.NotNull NamespacedKey entityKey);
// Paper end
}

View file

@ -477,6 +477,25 @@ public enum EntityType implements Keyed, Translatable, net.kyori.adventure.trans
Preconditions.checkArgument(this != UNKNOWN, "UNKNOWN entities do not have translation keys");
return org.bukkit.Bukkit.getUnsafe().getTranslationKey(this);
}
/**
* Checks if the entity has default attributes.
*
* @return true if it has default attributes
*/
public boolean hasDefaultAttributes() {
return org.bukkit.Bukkit.getUnsafe().hasDefaultEntityAttributes(this.key);
}
/**
* Gets the default attributes for the entity.
*
* @return an unmodifiable instance of Attributable for reading default attributes.
* @throws IllegalArgumentException if the entity does not exist of have default attributes (use {@link #hasDefaultAttributes()} first)
*/
public @NotNull org.bukkit.attribute.Attributable getDefaultAttributes() {
return org.bukkit.Bukkit.getUnsafe().getDefaultEntityAttributes(this.key);
}
// Paper end
/**