31 lines
924 B
Java
31 lines
924 B
Java
package org.bukkit.attribute;
|
|
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
/**
|
|
* Represents an object which may contain attributes.
|
|
*/
|
|
public interface Attributable {
|
|
|
|
/**
|
|
* Gets the specified attribute instance from the object. This instance will
|
|
* be backed directly to the object and any changes will be visible at once.
|
|
*
|
|
* @param attribute the attribute to get
|
|
* @return the attribute instance or null if not applicable to this object
|
|
*/
|
|
@Nullable
|
|
AttributeInstance getAttribute(@NotNull Attribute attribute);
|
|
|
|
// Paper start
|
|
/**
|
|
* Registers a generic attribute to that attributable instance.
|
|
* Allows it to add attributes not registered by default to that entity.
|
|
*
|
|
* @param attribute the generic attribute to register
|
|
*/
|
|
void registerAttribute(@NotNull Attribute attribute);
|
|
// Paper end
|
|
}
|