Dolphin API

This commit is contained in:
Owen1212055 2021-12-07 19:34:11 -05:00
parent f5e3062c41
commit 5746f17f68

View File

@ -1,3 +1,52 @@
package org.bukkit.entity; package org.bukkit.entity;
public interface Dolphin extends Ageable, WaterMob { } import org.bukkit.Location;
public interface Dolphin extends Ageable, WaterMob { // Paper start - Dolphin API
/**
* Gets the moistness level of this dolphin
*/
int getMoistness();
/**
* Sets the moistness of this dolphin, once this is less than 0 the dolphin will start to take damage.
*
* @param moistness moistness level
*/
void setMoistness(int moistness);
/**
* Sets if this dolphin was fed a fish.
*
* @param hasFish has a fish
*/
void setHasFish(boolean hasFish);
/**
* Gets if this dolphin has a fish.
*
* @return has a fish
*/
boolean hasFish();
/**
* Gets the treasure location this dolphin tries to guide players to.
* <p>
* This value is calculated if the player has fed the dolphin a fish, and it tries to start the {@link com.destroystokyo.paper.entity.ai.VanillaGoal#DOLPHIN_SWIM_TO_TREASURE} goal.
*
* @return calculated closest treasure location
*/
@org.jetbrains.annotations.NotNull
Location getTreasureLocation();
/**
* Sets the treasure location that this dolphin will try to lead the player to.
* This only has an effect if the dolphin is currently leading a player, as this value is recalculated next time it leads a player.
* <p>
* The world of the location does not matter, as the dolphin will always use the world it is currently in.
*
* @param location location to guide to
*/
void setTreasureLocation(@org.jetbrains.annotations.NotNull Location location);
} // Paper end - Dolphin API