diff --git a/Spigot-Server-Patches/Optimize-Small-Entity-Movement.patch b/Spigot-Server-Patches/Optimize-Small-Entity-Movement.patch index 2e7b098115..35fcda2c89 100644 --- a/Spigot-Server-Patches/Optimize-Small-Entity-Movement.patch +++ b/Spigot-Server-Patches/Optimize-Small-Entity-Movement.patch @@ -31,7 +31,7 @@ index eabb2c1bad..f6d4c476bc 100644 + } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 32b90f30d9..6023824e3d 100644 +index 32b90f30d9..5031e4737d 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -0,0 +0,0 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -92,8 +92,46 @@ index 32b90f30d9..6023824e3d 100644 AxisAlignedBB axisalignedbb = this.getBoundingBox(); if (d0 != 0.0D || d1 != 0.0D || d2 != 0.0D) { +diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java +index 90a7e00a05..630e2407b3 100644 +--- a/src/main/java/net/minecraft/server/EntityOcelot.java ++++ b/src/main/java/net/minecraft/server/EntityOcelot.java +@@ -0,0 +0,0 @@ public class EntityOcelot extends EntityTameableAnimal { + return !this.isTamed() && !this.hasCustomName() && !this.isLeashed() /*&& this.ticksLived > 2400*/; // CraftBukkit - Paper (honor name and leash) + } + ++ // Paper start ++ @Override ++ public boolean shouldMergeMovement(double mergeMin, double d0, double d1, double d2) { ++ // Cats have weird movement bugs when a move is skipped, ideally we can fix this and fix that state ++ return false; ++ } ++ // Paper end ++ + protected void initAttributes() { + super.initAttributes(); + this.getAttributeInstance(GenericAttributes.maxHealth).setValue(10.0D); +diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java +index 86488e9709..e6348a2931 100644 +--- a/src/main/java/net/minecraft/server/EntityParrot.java ++++ b/src/main/java/net/minecraft/server/EntityParrot.java +@@ -0,0 +0,0 @@ public class EntityParrot extends EntityPerchable implements EntityBird { + this.goalSelector.a(3, new PathfinderGoalFollowEntity(this, 1.0D, 3.0F, 7.0F)); + } + ++ // Paper start ++ @Override ++ public boolean shouldMergeMovement(double mergeMin, double d0, double d1, double d2) { ++ // Parrots have weird movement bugs when a move is skipped, ideally we can fix this and fix that state ++ return false; ++ } ++ // Paper end ++ + protected void initAttributes() { + super.initAttributes(); + this.getAttributeMap().b(GenericAttributes.e); diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java -index e63f4afa9b..1941faaebd 100644 +index e63f4afa9b..f1266c0ce1 100644 --- a/src/main/java/net/minecraft/server/EntitySlime.java +++ b/src/main/java/net/minecraft/server/EntitySlime.java @@ -0,0 +0,0 @@ public class EntitySlime extends EntityInsentient implements IMonster { @@ -109,4 +147,23 @@ index e63f4afa9b..1941faaebd 100644 private boolean canWander = true; public boolean canWander() { return canWander; +diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java +index 68db6af622..8ba3438f77 100644 +--- a/src/main/java/net/minecraft/server/EntityWolf.java ++++ b/src/main/java/net/minecraft/server/EntityWolf.java +@@ -0,0 +0,0 @@ public class EntityWolf extends EntityTameableAnimal { + this.datawatcher.set(EntityWolf.bI, Integer.valueOf(enumcolor.getColorIndex())); + } + ++ // Paper start ++ @Override ++ public boolean shouldMergeMovement(double mergeMin, double d0, double d1, double d2) { ++ // Wolf have weird movement bugs when a move is skipped, ideally we can fix this and fix that state ++ return false; ++ } ++ // Paper end ++ + public EntityWolf b(EntityAgeable entityageable) { + EntityWolf entitywolf = EntityTypes.WOLF.create(world); // Paper + UUID uuid = this.getOwnerUUID(); -- \ No newline at end of file