package org.bukkit.entity; 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. *

* 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. *

* 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