aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorSeggan <[email protected]>2021-11-09 03:48:22 -0500
committerGitHub <[email protected]>2021-11-09 00:48:22 -0800
commit3f17694803e286bcc1818fdb47122fe46e3e4c29 (patch)
tree0a0dbb41e81ab0c2ced87763225a1cd15ae1ba9b
parenta923e332ee20bbbe6319c361496c9ea5728b4d08 (diff)
downloadPaper-3f17694803e286bcc1818fdb47122fe46e3e4c29.tar.gz
Paper-3f17694803e286bcc1818fdb47122fe46e3e4c29.zip
Goat ram API (#6336)
-rw-r--r--patches/api/0345-Goat-ram-API.patch23
-rw-r--r--patches/server/0841-Goat-ram-API.patch44
2 files changed, 67 insertions, 0 deletions
diff --git a/patches/api/0345-Goat-ram-API.patch b/patches/api/0345-Goat-ram-API.patch
new file mode 100644
index 0000000000..69694887ac
--- /dev/null
+++ b/patches/api/0345-Goat-ram-API.patch
@@ -0,0 +1,23 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Seggan <[email protected]>
+Date: Thu, 5 Aug 2021 13:10:31 -0400
+Subject: [PATCH] Goat ram API
+
+
+diff --git a/src/main/java/org/bukkit/entity/Goat.java b/src/main/java/org/bukkit/entity/Goat.java
+index 90e9028b5ee7fcf9488d37090875b7163bdcd1d0..01827c4118df36fe1b77115f181fb4d225c3c866 100644
+--- a/src/main/java/org/bukkit/entity/Goat.java
++++ b/src/main/java/org/bukkit/entity/Goat.java
+@@ -24,4 +24,12 @@ public interface Goat extends Animals {
+ * @param screaming screaming status
+ */
+ void setScreaming(boolean screaming);
++
++ // Paper start - Goat ram API
++ /**
++ * Makes the goat ram at the specified entity
++ * @param entity the entity to ram at
++ */
++ void ram(@org.jetbrains.annotations.NotNull LivingEntity entity);
++ // Paper end
+ }
diff --git a/patches/server/0841-Goat-ram-API.patch b/patches/server/0841-Goat-ram-API.patch
new file mode 100644
index 0000000000..8491164ccb
--- /dev/null
+++ b/patches/server/0841-Goat-ram-API.patch
@@ -0,0 +1,44 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Seggan <[email protected]>
+Date: Thu, 5 Aug 2021 13:10:27 -0400
+Subject: [PATCH] Goat ram API
+
+
+diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+index 32d0387b6c66462ca965add78a562dec3c4b95a9..c7e24da48aaff9fbd1a8272483231744326e3a8e 100644
+--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
++++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+@@ -279,6 +279,17 @@ public class Goat extends Animal {
+ return new Goat.GoatPathNavigation(this, world);
+ }
+
++ // Paper start - Goat ram API
++ public void ram(LivingEntity entity) {
++ Brain<Goat> brain = this.getBrain();
++ brain.setMemory(MemoryModuleType.RAM_TARGET, entity.position());
++ brain.eraseMemory(MemoryModuleType.RAM_COOLDOWN_TICKS);
++ brain.eraseMemory(MemoryModuleType.BREED_TARGET);
++ brain.eraseMemory(MemoryModuleType.TEMPTING_PLAYER);
++ brain.setActiveActivityIfPossible(net.minecraft.world.entity.schedule.Activity.RAM);
++ }
++ // Paper end
++
+ private static class GoatPathNavigation extends GroundPathNavigation {
+
+ GoatPathNavigation(Goat goat, Level world) {
+diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftGoat.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftGoat.java
+index ae74df5c9845ac125968a52897f4343b0f348217..436aa41563b8fab112d03c8cc516cf6ff37587bd 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftGoat.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftGoat.java
+@@ -34,4 +34,11 @@ public class CraftGoat extends CraftAnimals implements Goat {
+ public void setScreaming(boolean screaming) {
+ this.getHandle().setScreamingGoat(screaming);
+ }
++
++ // Paper start - Goat ram API
++ @Override
++ public void ram(@org.jetbrains.annotations.NotNull org.bukkit.entity.LivingEntity entity) {
++ this.getHandle().ram(((CraftLivingEntity) entity).getHandle());
++ }
++ // Paper end
+ }