summaryrefslogtreecommitdiffhomepage
path: root/patches/unapplied/server/0688-Goat-ram-API.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/unapplied/server/0688-Goat-ram-API.patch')
-rw-r--r--patches/unapplied/server/0688-Goat-ram-API.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/patches/unapplied/server/0688-Goat-ram-API.patch b/patches/unapplied/server/0688-Goat-ram-API.patch
new file mode 100644
index 0000000000..e48bb6d3be
--- /dev/null
+++ b/patches/unapplied/server/0688-Goat-ram-API.patch
@@ -0,0 +1,42 @@
+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 fc153a40ebdc840b92a9ec54284a4cbea25bcff4..a0a34f5db4260d77325cfbba9c736726a8f5a5db 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
+@@ -384,4 +384,15 @@ public class Goat extends Animal {
+ public static boolean checkGoatSpawnRules(EntityType<? extends Animal> entityType, LevelAccessor world, MobSpawnType spawnReason, BlockPos pos, RandomSource random) {
+ return world.getBlockState(pos.below()).is(BlockTags.GOATS_SPAWNABLE_ON) && isBrightEnoughToSpawn(world, pos);
+ }
++
++ // Paper start - Goat ram API
++ public void ram(net.minecraft.world.entity.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
+ }
+diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftGoat.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftGoat.java
+index 9142b132f045af55b6bb436a39a9ca416bcfc698..e4be28b130e35ea263f85b3157898cd3a7e80561 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftGoat.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftGoat.java
+@@ -54,4 +54,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
+ }