aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0336-Dolphin-API.patch
blob: 73beed437bbb8d4265b0fa696b731c78774117a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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 f00eaadcdde7ceef95def2d8ec6eb63a76c177bd..8ab329946daaff25646f3dd4582feb9e4c0685ca 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 WaterMob { }
+import org.bukkit.Location;
+
+public interface Dolphin extends 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