@@ -18,10 +18,10 @@ index 29d402620d2e1cbed94f941f933ae8eb5d786e7f..ec0998369158286fccb38c8e10c3cfa2
1818 public boolean isLocalPlayer() {
1919 return true;
2020diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
21- index f90e90368552d7e38e719bc080184ccaa64b6a0b..47b1f87e224fe963807c244e9cf03b2c8b049d9c 100644
21+ index baf7b92843d2536a8a6c3958ded0c84045c4a54a..1eeea8d9e44857537d4591cce4dfd944ad48e2b2 100644
2222--- a/net/minecraft/server/MinecraftServer.java
2323+++ b/net/minecraft/server/MinecraftServer.java
24- @@ -1733 ,6 +1733 ,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
24+ @@ -1734 ,6 +1734 ,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
2525 serverLevel.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - Add EntityMoveEvent
2626 serverLevel.updateLagCompensationTick(); // Paper - lag compensation
2727 net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = serverLevel.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers
@@ -30,7 +30,7 @@ index f90e90368552d7e38e719bc080184ccaa64b6a0b..47b1f87e224fe963807c244e9cf03b2c
3030 /* Drop global time updates
3131 if (this.tickCount % 20 == 0) {
3232diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
33- index 704e618c1a71c5182bc927758eb3f91e5f008f7d..a55772a67bca2be0a36ce63e7b0143b825c40f01 100644
33+ index 6f1cb7b9c01111eca0e0e253dddc1ad84b2aac15..8ad8e9879ada5f7b96a2600cd7a6692fa661c67c 100644
3434--- a/net/minecraft/server/level/ServerLevel.java
3535+++ b/net/minecraft/server/level/ServerLevel.java
3636@@ -217,6 +217,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -177,7 +177,7 @@ index 95d78dcdb6777df73898694367ee17b1cb76d7a2..d0313fd5368baa53ec511c8c07fc78a1
177177 protected ParticleOptions getInkParticle() {
178178 return ParticleTypes.GLOW_SQUID_INK;
179179diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
180- index d10568ea92ac2e915af95d2a5f9b441bca1753b8..e86dcc0f596491fc7a5c22fa3909287ba520ca95 100644
180+ index 0e05efd9d795496b8f632abfc543a36ccdff8349..2de776d7570f97f763033392ceeb8ffdbc0fafcd 100644
181181--- a/net/minecraft/world/entity/LivingEntity.java
182182+++ b/net/minecraft/world/entity/LivingEntity.java
183183@@ -250,9 +250,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -210,7 +210,7 @@ index d10568ea92ac2e915af95d2a5f9b441bca1753b8..e86dcc0f596491fc7a5c22fa3909287b
210210
211211 @Override
212212 protected void checkFallDamage(double y, boolean onGround, BlockState state, BlockPos pos) {
213- @@ -3527 ,8 +3528 ,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
213+ @@ -3534 ,8 +3535 ,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
214214 this.pushEntities();
215215 profilerFiller.pop();
216216 // Paper start - Add EntityMoveEvent
@@ -223,7 +223,7 @@ index d10568ea92ac2e915af95d2a5f9b441bca1753b8..e86dcc0f596491fc7a5c22fa3909287b
223223 Location from = new Location(this.level().getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO);
224224 Location to = new Location(this.level().getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
225225 io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
226- @@ -3538 ,6 +3541 ,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
226+ @@ -3545 ,6 +3548 ,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
227227 this.absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
228228 }
229229 }
@@ -568,7 +568,7 @@ index c0997c8c0f8ee4474d3acdd5938b1879c4e589a2..28ae152125ed83d8917674b6068f227f
568568 double d = this.wantedX - this.fish.getX();
569569 double d1 = this.wantedY - this.fish.getY();
570570diff --git a/net/minecraft/world/entity/animal/Bee.java b/net/minecraft/world/entity/animal/Bee.java
571- index d77ae36ffc47d06767066e4ce1c1d21a52e1483c..069444e6de2b587f8df3b87391b1ffcf1ee1c388 100644
571+ index 31c9e0cdcd7b3f5426d62f64453aa4e63e1af8df..b9bf40c389460d65d2566786ddd6f6740243e9a4 100644
572572--- a/net/minecraft/world/entity/animal/Bee.java
573573+++ b/net/minecraft/world/entity/animal/Bee.java
574574@@ -145,6 +145,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -661,7 +661,7 @@ index d77ae36ffc47d06767066e4ce1c1d21a52e1483c..069444e6de2b587f8df3b87391b1ffcf
661661 this.targetSelector.addGoal(1, new Bee.BeeHurtByOtherGoal(this).setAlertOthers(new Class[0]));
662662 this.targetSelector.addGoal(2, new Bee.BeeBecomeAngryTargetGoal(this));
663663 this.targetSelector.addGoal(3, new ResetUniversalAngerTargetGoal<>(this, true));
664- @@ -1083 ,15 +1133 ,15 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
664+ @@ -1084 ,15 +1134 ,15 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
665665 }
666666 }
667667
@@ -3792,7 +3792,7 @@ index 905ecbd8b22c785ee4ea18004ac50eb1b7005d3f..f10b204c18b88e9110cebf050b60c233
37923792
37933793 @Override
37943794diff --git a/net/minecraft/world/entity/monster/Phantom.java b/net/minecraft/world/entity/monster/Phantom.java
3795- index a91aba11ecda561d117c9d8db85c92cdcd81887e..3bff5f13ffcaaedecfab071c5ce6b28028aecd62 100644
3795+ index 9ea3acd5ff3d7751875d61861aa5f6c717d0b5e2..75c6a43a3ab4851a47990402bee49f7e8305cd60 100644
37963796--- a/net/minecraft/world/entity/monster/Phantom.java
37973797+++ b/net/minecraft/world/entity/monster/Phantom.java
37983798@@ -60,6 +60,64 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -3888,7 +3888,7 @@ index a91aba11ecda561d117c9d8db85c92cdcd81887e..3bff5f13ffcaaedecfab071c5ce6b280
38883888 this.igniteForSeconds(8.0F);
38893889 }
38903890
3891- @@ -407 ,25 +469 ,42 @@ public class Phantom extends FlyingMob implements Enemy {
3891+ @@ -411 ,25 +473 ,42 @@ public class Phantom extends FlyingMob implements Enemy {
38923892 }
38933893 }
38943894
@@ -4943,12 +4943,12 @@ index 9f476e587d7df797129e49738f101cccca7e10b7..f968e5c99bdb23b268bc34ea1ba5d54a
49434943 && this.level() == entity.level()
49444944 && EntitySelector.NO_CREATIVE_OR_SPECTATOR.test(entity)
49454945diff --git a/net/minecraft/world/entity/npc/Villager.java b/net/minecraft/world/entity/npc/Villager.java
4946- index b36e7c75af71f7472ccb0af3ba217ba39b05d081..742ae13084b2ab6c1ed26c0e7601ba7f9009367e 100644
4946+ index 1ee0c9bcbca1296f83dcde4acb200caa654cae6d..52b54c59efd68a955a6e7cc49b01f614043c505d 100644
49474947--- a/net/minecraft/world/entity/npc/Villager.java
49484948+++ b/net/minecraft/world/entity/npc/Villager.java
4949- @@ -200 ,6 +200 ,28 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
4949+ @@ -246 ,6 +246 ,28 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
49504950 }
4951- // Purpur end - Allow leashing villagers
4951+ // Purpur end - Lobotomize stuck villagers
49524952
49534953+ // Purpur start - Ridables
49544954+ @Override
@@ -4975,16 +4975,16 @@ index b36e7c75af71f7472ccb0af3ba217ba39b05d081..742ae13084b2ab6c1ed26c0e7601ba7f
49754975 @Override
49764976 public Brain<Villager> getBrain() {
49774977 return (Brain<Villager>)super.getBrain();
4978- @@ -300 ,7 +322 ,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
4979- // Paper end - EAR 2
4980- ProfilerFiller profilerFiller = Profiler.get();
4981- profilerFiller.push("villagerBrain");
4982- - if (!inactive) this.getBrain().tick(level, this); // Paper - EAR 2
4983- + if (!inactive && (getRider() == null || !this.isControllable()) /*&& this.behaviorTick++ % this.activatedPriority == 0*/) this.getBrain().tick(level, this); // Paper - EAR 2 // Purpur - Ridables
4984- profilerFiller.pop();
4985- if (this.assignProfessionWhenSpawned) {
4986- this.assignProfessionWhenSpawned = false;
4987- @@ -356 ,7 +378 ,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
4978+ @@ -355 ,7 +377 ,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
4979+ }
4980+ // Purpur end - Lobotomize stuck villagers
4981+ // Pufferfish start
4982+ - if (!inactive /*&& this.behaviorTick++ % this.activatedPriority == 0*/) {
4983+ + if (!inactive && (getRider() == null || !this.isControllable()) /*&& this.behaviorTick++ % this.activatedPriority == 0*/) { // Purpur - Ridables
4984+ this.getBrain().tick(level, this); // Paper - EAR 2
4985+ }
4986+ // Pufferfish end
4987+ @@ -414 ,7 +436 ,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
49884988 return super.mobInteract(player, hand);
49894989 } else if (this.isBaby()) {
49904990 this.setUnhappy();
@@ -4993,7 +4993,7 @@ index b36e7c75af71f7472ccb0af3ba217ba39b05d081..742ae13084b2ab6c1ed26c0e7601ba7f
49934993 } else {
49944994 if (!this.level().isClientSide) {
49954995 boolean isEmpty = this.getOffers().isEmpty();
4996- @@ -369 ,9 +391 ,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
4996+ @@ -427 ,9 +449 ,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
49974997 }
49984998
49994999 if (isEmpty) {
@@ -5046,7 +5046,7 @@ index 99947e9877b79c0d419e1639c2b1379fc1504c6a..7e4d14d30eb3f06c0c7426e09084355a
50465046 if (this.level().purpurConfig.wanderingTraderAllowTrading) { // Purpur - Add config for villager trading
50475047 this.setTradingPlayer(player);
50485048diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java
5049- index b8f85b141eb290f644555a3cc88ce3daa24d4eb4..beefd76c1b92a66e20e53973262c724ee4ddf43d 100644
5049+ index 1b70c8b75d8bd0503e5329caa0b7c42ec7f7479f..898964b9a73950fa9e8de95f84faa74935c57ee6 100644
50505050--- a/net/minecraft/world/entity/player/Player.java
50515051+++ b/net/minecraft/world/entity/player/Player.java
50525052@@ -220,6 +220,19 @@ public abstract class Player extends LivingEntity {
0 commit comments