From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Seggan 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 cf56577ca3de81d3e44eb6f65ff9890011666ac5..a3a5dbaed7a7647249747154ac0c024bddd7eb13 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 @@ -385,4 +385,15 @@ public class Goat extends Animal { public static boolean checkGoatSpawnRules(EntityType 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 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 }