54 lines
1.4 KiB
Java
54 lines
1.4 KiB
Java
package org.bukkit.entity;
|
|
|
|
import java.util.UUID;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
/**
|
|
* Represents an Animal.
|
|
*/
|
|
public interface Animals extends Breedable {
|
|
|
|
/**
|
|
* Get the UUID of the entity that caused this entity to enter the
|
|
* {@link #canBreed()} state.
|
|
*
|
|
* @return uuid if set, or null
|
|
*/
|
|
@Nullable
|
|
UUID getBreedCause();
|
|
|
|
/**
|
|
* Set the UUID of the entity that caused this entity to enter the
|
|
* {@link #canBreed()} state.
|
|
*
|
|
* @param uuid new uuid, or null
|
|
*/
|
|
void setBreedCause(@Nullable UUID uuid);
|
|
|
|
/**
|
|
* Get whether or not this entity is in love mode and will produce
|
|
* offspring with another entity in love mode. Will return true if
|
|
* and only if {@link #getLoveModeTicks()} is greater than 0.
|
|
*
|
|
* @return true if in love mode, false otherwise
|
|
*/
|
|
boolean isLoveMode();
|
|
|
|
/**
|
|
* Get the amount of ticks remaining for this entity in love mode.
|
|
* If the entity is not in love mode, 0 will be returned.
|
|
*
|
|
* @return the remaining love mode ticks
|
|
*/
|
|
int getLoveModeTicks();
|
|
|
|
/**
|
|
* Set the amount of ticks for which this entity should be in love mode.
|
|
* Setting the love mode ticks to 600 is the equivalent of a player
|
|
* feeding the entity their breeding item of choice.
|
|
*
|
|
* @param ticks the love mode ticks. Must be positive
|
|
*/
|
|
void setLoveModeTicks(int ticks);
|
|
}
|