From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com> Date: Tue, 7 Dec 2021 19:34:11 -0500 Subject: [PATCH] Dolphin API diff --git a/src/main/java/org/bukkit/entity/Dolphin.java b/src/main/java/org/bukkit/entity/Dolphin.java index fcf09afd38277180aa299703000e46dd2482c372..d3d3f8b20769eec65a81d9a59195625cb2be8579 100644 --- a/src/main/java/org/bukkit/entity/Dolphin.java +++ b/src/main/java/org/bukkit/entity/Dolphin.java @@ -1,3 +1,52 @@ 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