mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-28 07:20:24 +01:00
Dolphin API (#7102)
This commit is contained in:
parent
bd913382ae
commit
a41671b4d9
2 changed files with 109 additions and 0 deletions
64
patches/api/Dolphin-API.patch
Normal file
64
patches/api/Dolphin-API.patch
Normal file
|
@ -0,0 +1,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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/entity/Dolphin.java
|
||||||
|
+++ b/src/main/java/org/bukkit/entity/Dolphin.java
|
||||||
|
@@ -0,0 +0,0 @@
|
||||||
|
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
|
45
patches/server/Dolphin-API.patch
Normal file
45
patches/server/Dolphin-API.patch
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
|
||||||
|
Date: Tue, 7 Dec 2021 19:34:23 -0500
|
||||||
|
Subject: [PATCH] Dolphin API
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftDolphin.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftDolphin.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftDolphin.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftDolphin.java
|
||||||
|
@@ -0,0 +0,0 @@ public class CraftDolphin extends CraftWaterMob implements Dolphin {
|
||||||
|
public EntityType getType() {
|
||||||
|
return EntityType.DOLPHIN;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public int getMoistness() {
|
||||||
|
+ return this.getHandle().getMoistnessLevel();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void setMoistness(int moistness) {
|
||||||
|
+ this.getHandle().setMoisntessLevel(moistness);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void setHasFish(boolean hasFish) {
|
||||||
|
+ this.getHandle().setGotFish(hasFish);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public boolean hasFish() {
|
||||||
|
+ return this.getHandle().gotFish();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public org.bukkit.Location getTreasureLocation() {
|
||||||
|
+ return net.minecraft.server.MCUtil.toLocation(this.getHandle().level, this.getHandle().getTreasurePos());
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void setTreasureLocation(org.bukkit.Location location) {
|
||||||
|
+ this.getHandle().setTreasurePos(net.minecraft.server.MCUtil.toBlockPosition(location));
|
||||||
|
+ }
|
||||||
|
}
|
Loading…
Reference in a new issue