Files
Paper/paper-api/src/main/java/org/bukkit/attribute/Attributable.java
2020-10-24 16:37:21 +02:00

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
}