Files
DeltaZern/paper-api/src/main/java/org/bukkit/entity/Llama.java
T
Owen1212055 a2a581ba6b Missing Entity API
Co-authored-by: Nassim Jahnke <nassim@njahnke.dev>
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
Co-authored-by: William Blake Galbreath <blake.galbreath@gmail.com>
Co-authored-by: SoSeDiK <mrsosedik@gmail.com>
Co-authored-by: booky10 <boooky10@gmail.com>
Co-authored-by: Amin <amin.haddou@frg.wwschool.de>
Co-authored-by: TrollyLoki <trollyloki@gmail.com>
Co-authored-by: FireInstall <kettnerl@hu-berlin.de>
Co-authored-by: maxcom1 <46265094+maxcom1@users.noreply.github.com>
Co-authored-by: TotalledZebra <Holappa57@gmail.com>
2021-05-28 21:06:59 -04:00

123 lines
2.7 KiB
Java

package org.bukkit.entity;
import com.destroystokyo.paper.entity.RangedEntity;
import org.bukkit.inventory.LlamaInventory;
import org.jetbrains.annotations.NotNull;
/**
* Represents a Llama.
*/
public interface Llama extends ChestedHorse, RangedEntity { // Paper
/**
* Represents the base color that the llama has.
*/
public enum Color {
/**
* A cream-colored llama.
*/
CREAMY,
/**
* A white llama.
*/
WHITE,
/**
* A brown llama.
*/
BROWN,
/**
* A gray llama.
*/
GRAY;
}
/**
* Gets the llama's color.
*
* @return a {@link Color} representing the llama's color
*/
@NotNull
Color getColor();
/**
* Sets the llama's color.
*
* @param color a {@link Color} for this llama
*/
void setColor(@NotNull Color color);
/**
* Gets the llama's strength. A higher strength llama will have more
* inventory slots and be more threatening to entities.
*
* @return llama strength [1,5]
*/
int getStrength();
/**
* Sets the llama's strength. A higher strength llama will have more
* inventory slots and be more threatening to entities. Inventory slots are
* equal to strength * 3.
*
* @param strength llama strength [1,5]
*/
void setStrength(int strength);
@NotNull
@Override
LlamaInventory getInventory();
// Paper start
/**
* Checks if this llama is in a caravan.
* This means that this llama is currently following
* another llama.
*
* @return is in caravan
*/
boolean inCaravan();
/**
* Joins a caravan, with the provided llama being the leader
* of the caravan.
* This llama will then follow the provided llama.
*
* @param llama head of caravan to join
*/
void joinCaravan(@NotNull Llama llama);
/**
* Leaves the current caravan that they are in.
*/
void leaveCaravan();
/**
* Get the llama that this llama is following.
* <p>
* Does not necessarily mean the leader of the entire caravan.
*
* @return the llama currently being followed
*/
@org.jetbrains.annotations.Nullable
Llama getCaravanHead();
/**
* Checks if another llama is currently following behind
* this llama.
*
* @return true if being followed in the caravan
*/
boolean hasCaravanTail();
/**
* Gets the llama that is currently following behind
* this llama.
*
* @return the llama following this llama, or null if none is following them
*/
@org.jetbrains.annotations.Nullable
Llama getCaravanTail();
// Paper end
}