diff options
author | Jake Potrebic <[email protected]> | 2024-04-23 10:02:08 -0700 |
---|---|---|
committer | Jake Potrebic <[email protected]> | 2024-04-23 10:02:08 -0700 |
commit | abc49bf069cc52230e4b909b4264e5e3534ef853 (patch) | |
tree | 086cb86efffac15b85784c70c87612ad57698c8d /patches/server/0220-SkeletonHorse-Additions.patch | |
parent | f4c7d373e4a1aff23539fe099745bf29a28559b9 (diff) | |
download | Paper-abc49bf069cc52230e4b909b4264e5e3534ef853.tar.gz Paper-abc49bf069cc52230e4b909b4264e5e3534ef853.zip |
Begin update to 1.20.5
Diffstat (limited to 'patches/server/0220-SkeletonHorse-Additions.patch')
-rw-r--r-- | patches/server/0220-SkeletonHorse-Additions.patch | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/patches/server/0220-SkeletonHorse-Additions.patch b/patches/server/0220-SkeletonHorse-Additions.patch deleted file mode 100644 index 201b108f16..0000000000 --- a/patches/server/0220-SkeletonHorse-Additions.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: BillyGalbreath <[email protected]> -Date: Fri, 27 Jul 2018 22:36:31 -0500 -Subject: [PATCH] SkeletonHorse Additions - - -diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonTrapGoal.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonTrapGoal.java -index 8f20239f3ef7ebe41fac8ee6e024c36dafec33c4..d00fb16ae3b94dfcb10fd1a7c1671595e2ff1855 100644 ---- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonTrapGoal.java -+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonTrapGoal.java -@@ -18,6 +18,7 @@ import net.minecraft.world.item.enchantment.EnchantmentHelper; - public class SkeletonTrapGoal extends Goal { - - private final SkeletonHorse horse; -+ private java.util.List<org.bukkit.entity.HumanEntity> eligiblePlayers; // Paper - - public SkeletonTrapGoal(SkeletonHorse skeletonHorse) { - this.horse = skeletonHorse; -@@ -25,12 +26,13 @@ public class SkeletonTrapGoal extends Goal { - - @Override - public boolean canUse() { -- return this.horse.level().hasNearbyAlivePlayerThatAffectsSpawning(this.horse.getX(), this.horse.getY(), this.horse.getZ(), 10.0D); // Paper - Affects Spawning API -+ return !(eligiblePlayers = this.horse.level().findNearbyBukkitPlayers(this.horse.getX(), this.horse.getY(), this.horse.getZ(), 10.0D, net.minecraft.world.entity.EntitySelector.PLAYER_AFFECTS_SPAWNING)).isEmpty(); // Paper - Affects Spawning API & SkeletonHorseTrapEvent - } - - @Override - public void tick() { - ServerLevel worldserver = (ServerLevel) this.horse.level(); -+ if (!new com.destroystokyo.paper.event.entity.SkeletonHorseTrapEvent((org.bukkit.entity.SkeletonHorse) this.horse.getBukkitEntity(), eligiblePlayers).callEvent()) return; // Paper - DifficultyInstance difficultydamagescaler = worldserver.getCurrentDifficultyAt(this.horse.blockPosition()); - - this.horse.setTrap(false); -diff --git a/src/main/java/net/minecraft/world/level/EntityGetter.java b/src/main/java/net/minecraft/world/level/EntityGetter.java -index 72b3913d00d6f2ec01a716444debe065c48174f6..c35d5865b77203d0de6467d2793424837704e95a 100644 ---- a/src/main/java/net/minecraft/world/level/EntityGetter.java -+++ b/src/main/java/net/minecraft/world/level/EntityGetter.java -@@ -97,6 +97,28 @@ public interface EntityGetter { - return player; - } - -+ // Paper start -+ default List<org.bukkit.entity.HumanEntity> findNearbyBukkitPlayers(double x, double y, double z, double radius, boolean notSpectator) { -+ return findNearbyBukkitPlayers(x, y, z, radius, notSpectator ? EntitySelector.NO_SPECTATORS : net.minecraft.world.entity.EntitySelector.NO_CREATIVE_OR_SPECTATOR); -+ } -+ -+ default List<org.bukkit.entity.HumanEntity> findNearbyBukkitPlayers(double x, double y, double z, double radius, @Nullable Predicate<Entity> predicate) { -+ com.google.common.collect.ImmutableList.Builder<org.bukkit.entity.HumanEntity> builder = com.google.common.collect.ImmutableList.builder(); -+ -+ for (Player human : this.players()) { -+ if (predicate == null || predicate.test(human)) { -+ double distanceSquared = human.distanceToSqr(x, y, z); -+ -+ if (radius < 0.0D || distanceSquared < radius * radius) { -+ builder.add(human.getBukkitEntity()); -+ } -+ } -+ } -+ -+ return builder.build(); -+ } -+ // Paper end -+ - @Nullable - default Player getNearestPlayer(Entity entity, double maxDistance) { - return this.getNearestPlayer(entity.getX(), entity.getY(), entity.getZ(), maxDistance, false); -diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeletonHorse.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeletonHorse.java -index 248e4febbe8fe225920b6504d2c29d295cf09ec6..fbb47491dcc75f8247dee9f123f946f99ef1467f 100644 ---- a/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeletonHorse.java -+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeletonHorse.java -@@ -44,4 +44,16 @@ public class CraftSkeletonHorse extends CraftAbstractHorse implements SkeletonHo - public void setTrapTime(int trapTime) { - this.getHandle().trapTime = trapTime; - } -+ -+ // Paper start - replaced by above methods -+ @Override -+ public boolean isTrap() { -+ return getHandle().isTrap(); -+ } -+ -+ @Override -+ public void setTrap(boolean trap) { -+ getHandle().setTrap(trap); -+ } -+ // Paper end - } |