diff --git a/patches/server/0105-Ridables.patch b/patches/server/0105-Ridables.patch index 1d37d04ac..2da2f7f53 100644 --- a/patches/server/0105-Ridables.patch +++ b/patches/server/0105-Ridables.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Ridables diff --git a/src/main/java/net/minecraft/server/ControllerMove.java b/src/main/java/net/minecraft/server/ControllerMove.java -index ac6f9d9e5..d874b177b 100644 +index ac6f9d9e52..d874b177b4 100644 --- a/src/main/java/net/minecraft/server/ControllerMove.java +++ b/src/main/java/net/minecraft/server/ControllerMove.java @@ -6,9 +6,9 @@ public class ControllerMove { @@ -22,7 +22,7 @@ index ac6f9d9e5..d874b177b 100644 public ControllerMove(EntityInsentient entityinsentient) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 2d4981631..d14e4b1ee 100644 +index 2d49816311..d14e4b1eef 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -80,7 +80,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -147,7 +147,7 @@ index 2d4981631..d14e4b1ee 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java -index 20497c396..cef2787eb 100644 +index 20497c3962..cef2787eb8 100644 --- a/src/main/java/net/minecraft/server/EntityCat.java +++ b/src/main/java/net/minecraft/server/EntityCat.java @@ -41,6 +41,25 @@ public class EntityCat extends EntityTameableAnimal { @@ -227,7 +227,7 @@ index 20497c396..cef2787eb 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityCaveSpider.java b/src/main/java/net/minecraft/server/EntityCaveSpider.java -index 346b77083..eca1cbd7f 100644 +index 346b77083c..eca1cbd7f7 100644 --- a/src/main/java/net/minecraft/server/EntityCaveSpider.java +++ b/src/main/java/net/minecraft/server/EntityCaveSpider.java @@ -8,6 +8,18 @@ public class EntityCaveSpider extends EntitySpider { @@ -250,7 +250,7 @@ index 346b77083..eca1cbd7f 100644 return EntitySpider.eL().a(GenericAttributes.MAX_HEALTH, 12.0D); } diff --git a/src/main/java/net/minecraft/server/EntityChicken.java b/src/main/java/net/minecraft/server/EntityChicken.java -index 137eada65..e772d90ae 100644 +index 137eada653..e772d90aec 100644 --- a/src/main/java/net/minecraft/server/EntityChicken.java +++ b/src/main/java/net/minecraft/server/EntityChicken.java @@ -18,6 +18,16 @@ public class EntityChicken extends EntityAnimal { @@ -287,7 +287,7 @@ index 137eada65..e772d90ae 100644 } else { this.goalSelector.a(1, new PathfinderGoalPanic(this, 1.4D)); diff --git a/src/main/java/net/minecraft/server/EntityComplexPart.java b/src/main/java/net/minecraft/server/EntityComplexPart.java -index 920f4c767..7fec83387 100644 +index 920f4c7671..7fec83387a 100644 --- a/src/main/java/net/minecraft/server/EntityComplexPart.java +++ b/src/main/java/net/minecraft/server/EntityComplexPart.java @@ -47,4 +47,11 @@ public class EntityComplexPart extends Entity { @@ -303,7 +303,7 @@ index 920f4c767..7fec83387 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java -index d6baddb9d..69537c627 100644 +index d6baddb9d3..69537c6278 100644 --- a/src/main/java/net/minecraft/server/EntityCow.java +++ b/src/main/java/net/minecraft/server/EntityCow.java @@ -11,9 +11,22 @@ public class EntityCow extends EntityAnimal { @@ -387,7 +387,7 @@ index d6baddb9d..69537c627 100644 this.world.addEntity(mooshroom); this.die(); diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java -index 2d5aab9e2..c387b3f56 100644 +index 2d5aab9e24..c387b3f56a 100644 --- a/src/main/java/net/minecraft/server/EntityCreeper.java +++ b/src/main/java/net/minecraft/server/EntityCreeper.java @@ -18,12 +18,27 @@ public class EntityCreeper extends EntityMonster { @@ -505,7 +505,7 @@ index 2d5aab9e2..c387b3f56 100644 } // Paper end diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java -index 6fc8d1213..7879b70c5 100644 +index 6fc8d1213a..7879b70c5c 100644 --- a/src/main/java/net/minecraft/server/EntityDrowned.java +++ b/src/main/java/net/minecraft/server/EntityDrowned.java @@ -20,6 +20,16 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity { @@ -561,7 +561,7 @@ index 6fc8d1213..7879b70c5 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java -index 245fc38de..a1c6679f0 100644 +index 245fc38def..a1c6679f0d 100644 --- a/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java @@ -30,9 +30,22 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable { @@ -629,7 +629,7 @@ index 245fc38de..a1c6679f0 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityEndermite.java b/src/main/java/net/minecraft/server/EntityEndermite.java -index a85489d56..24d68bbb5 100644 +index a85489d56b..24d68bbb55 100644 --- a/src/main/java/net/minecraft/server/EntityEndermite.java +++ b/src/main/java/net/minecraft/server/EntityEndermite.java @@ -12,14 +12,28 @@ public class EntityEndermite extends EntityMonster { @@ -663,7 +663,7 @@ index a85489d56..24d68bbb5 100644 } diff --git a/src/main/java/net/minecraft/server/EntityEvoker.java b/src/main/java/net/minecraft/server/EntityEvoker.java -index c37c2930e..843e39239 100644 +index c37c2930e7..843e392395 100644 --- a/src/main/java/net/minecraft/server/EntityEvoker.java +++ b/src/main/java/net/minecraft/server/EntityEvoker.java @@ -12,10 +12,23 @@ public class EntityEvoker extends EntityIllagerWizard { @@ -723,7 +723,7 @@ index c37c2930e..843e39239 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityFish.java b/src/main/java/net/minecraft/server/EntityFish.java -index db1ede61c..d1803eca2 100644 +index db1ede61c5..d1803eca27 100644 --- a/src/main/java/net/minecraft/server/EntityFish.java +++ b/src/main/java/net/minecraft/server/EntityFish.java @@ -75,7 +75,7 @@ public abstract class EntityFish extends EntityWaterAnimal { @@ -736,7 +736,7 @@ index db1ede61c..d1803eca2 100644 } diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java -index 90b01adbe..26de8c3ad 100644 +index 90b01adbec..26de8c3ad6 100644 --- a/src/main/java/net/minecraft/server/EntityFox.java +++ b/src/main/java/net/minecraft/server/EntityFox.java @@ -55,6 +55,39 @@ public class EntityFox extends EntityAnimal { @@ -860,7 +860,7 @@ index 90b01adbe..26de8c3ad 100644 } diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java -index 143041003..d7c5a3153 100644 +index 143041003d..d7c5a3153e 100644 --- a/src/main/java/net/minecraft/server/EntityGiantZombie.java +++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java @@ -11,16 +11,28 @@ public class EntityGiantZombie extends EntityMonster { @@ -893,7 +893,7 @@ index 143041003..d7c5a3153 100644 this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillager.class, false)); diff --git a/src/main/java/net/minecraft/server/EntityHoglin.java b/src/main/java/net/minecraft/server/EntityHoglin.java -index be8b07a7d..4f98c1d2a 100644 +index be8b07a7d7..4f98c1d2ab 100644 --- a/src/main/java/net/minecraft/server/EntityHoglin.java +++ b/src/main/java/net/minecraft/server/EntityHoglin.java @@ -21,6 +21,18 @@ public class EntityHoglin extends EntityAnimal implements IMonster, IOglin { @@ -924,7 +924,7 @@ index be8b07a7d..4f98c1d2a 100644 this.world.getMethodProfiler().exit(); HoglinAI.a(this); diff --git a/src/main/java/net/minecraft/server/EntityHorse.java b/src/main/java/net/minecraft/server/EntityHorse.java -index adf414b47..a6c2119be 100644 +index adf414b479..a6c2119be9 100644 --- a/src/main/java/net/minecraft/server/EntityHorse.java +++ b/src/main/java/net/minecraft/server/EntityHorse.java @@ -12,6 +12,13 @@ public class EntityHorse extends EntityHorseAbstract { @@ -942,7 +942,7 @@ index adf414b47..a6c2119be 100644 protected void eL() { this.getAttributeInstance(GenericAttributes.MAX_HEALTH).setValue((double) this.fq()); diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java -index c9ab80ccd..2fa462855 100644 +index c9ab80ccd1..2fa4628557 100644 --- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java +++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java @@ -39,12 +39,27 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven @@ -982,7 +982,7 @@ index c9ab80ccd..2fa462855 100644 } diff --git a/src/main/java/net/minecraft/server/EntityHorseDonkey.java b/src/main/java/net/minecraft/server/EntityHorseDonkey.java -index d349e8a34..01672ed63 100644 +index d349e8a34b..01672ed635 100644 --- a/src/main/java/net/minecraft/server/EntityHorseDonkey.java +++ b/src/main/java/net/minecraft/server/EntityHorseDonkey.java @@ -8,6 +8,13 @@ public class EntityHorseDonkey extends EntityHorseChestedAbstract { @@ -1000,7 +1000,7 @@ index d349e8a34..01672ed63 100644 protected SoundEffect getSoundAmbient() { super.getSoundAmbient(); diff --git a/src/main/java/net/minecraft/server/EntityHorseMule.java b/src/main/java/net/minecraft/server/EntityHorseMule.java -index 5105418c4..4d45976d7 100644 +index 5105418c42..4d45976d7c 100644 --- a/src/main/java/net/minecraft/server/EntityHorseMule.java +++ b/src/main/java/net/minecraft/server/EntityHorseMule.java @@ -8,6 +8,13 @@ public class EntityHorseMule extends EntityHorseChestedAbstract { @@ -1018,7 +1018,7 @@ index 5105418c4..4d45976d7 100644 protected SoundEffect getSoundAmbient() { super.getSoundAmbient(); diff --git a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java -index 43e605f68..ca8f73c75 100644 +index 43e605f682..ca8f73c752 100644 --- a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java +++ b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java @@ -12,6 +12,18 @@ public class EntityHorseSkeleton extends EntityHorseAbstract { @@ -1059,7 +1059,7 @@ index 43e605f68..ca8f73c75 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityHorseZombie.java b/src/main/java/net/minecraft/server/EntityHorseZombie.java -index 0cbdccf4c..19a21ff98 100644 +index 0cbdccf4c5..19a21ff98d 100644 --- a/src/main/java/net/minecraft/server/EntityHorseZombie.java +++ b/src/main/java/net/minecraft/server/EntityHorseZombie.java @@ -8,6 +8,18 @@ public class EntityHorseZombie extends EntityHorseAbstract { @@ -1089,7 +1089,7 @@ index 0cbdccf4c..19a21ff98 100644 + protected void eW() { if (world.purpurConfig.zombieHorseCanSwim) goalSelector.a(0, new PathfinderGoalFloat(this)); } // Purpur } diff --git a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java -index 0e23aa91d..892ba2e59 100644 +index 0e23aa91d5..892ba2e59a 100644 --- a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java +++ b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java @@ -20,6 +20,16 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan @@ -1126,7 +1126,7 @@ index 0e23aa91d..892ba2e59 100644 this.targetSelector.a(2, (new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)).a(300)); this.targetSelector.a(3, (new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)).a(300)); diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index d447eb796..d789cf12b 100644 +index d447eb7960..4d56c97347 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -67,8 +67,8 @@ public abstract class EntityInsentient extends EntityLiving { @@ -1172,7 +1172,7 @@ index d447eb796..d789cf12b 100644 } public boolean ew() { -@@ -1591,4 +1595,42 @@ public abstract class EntityInsentient extends EntityLiving { +@@ -1591,4 +1595,45 @@ public abstract class EntityInsentient extends EntityLiving { this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.UNKNOWN)); // CraftBukkit this.unleash(true, false); } @@ -1192,6 +1192,9 @@ index d447eb796..d789cf12b 100644 + if (entityhuman.isSneaking()) { + return EnumInteractionResult.PASS; + } ++ if (!entityhuman.getItemInHand(enumhand).isEmpty()) { ++ return EnumInteractionResult.PASS; ++ } + if (!passengers.isEmpty() || entityhuman.isPassenger()) { + return EnumInteractionResult.PASS; + } @@ -1216,7 +1219,7 @@ index d447eb796..d789cf12b 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityIronGolem.java b/src/main/java/net/minecraft/server/EntityIronGolem.java -index ab0731c2a..2da50ef49 100644 +index ab0731c2a0..2da50ef495 100644 --- a/src/main/java/net/minecraft/server/EntityIronGolem.java +++ b/src/main/java/net/minecraft/server/EntityIronGolem.java @@ -22,9 +22,22 @@ public class EntityIronGolem extends EntityGolem implements IEntityAngerable { @@ -1267,7 +1270,7 @@ index ab0731c2a..2da50ef49 100644 float f1 = 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F; diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 4a8dd3010..ab64c0491 100644 +index 4a8dd3010e..ab64c04919 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -458,7 +458,7 @@ public abstract class EntityLiving extends Entity { @@ -1289,7 +1292,7 @@ index 4a8dd3010..ab64c0491 100644 if (this.hasEffect(MobEffects.JUMP)) { diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java -index cf3192085..15efaffe2 100644 +index cf31920850..15efaffe24 100644 --- a/src/main/java/net/minecraft/server/EntityLlama.java +++ b/src/main/java/net/minecraft/server/EntityLlama.java @@ -18,7 +18,46 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn @@ -1365,7 +1368,7 @@ index cf3192085..15efaffe2 100644 return i == -1 ? null : EnumColor.fromColorIndex(i); diff --git a/src/main/java/net/minecraft/server/EntityLlamaTrader.java b/src/main/java/net/minecraft/server/EntityLlamaTrader.java -index 11008c432..de8ce2fd3 100644 +index 11008c4323..de8ce2fd39 100644 --- a/src/main/java/net/minecraft/server/EntityLlamaTrader.java +++ b/src/main/java/net/minecraft/server/EntityLlamaTrader.java @@ -11,6 +11,23 @@ public class EntityLlamaTrader extends EntityLlama { @@ -1393,7 +1396,7 @@ index 11008c432..de8ce2fd3 100644 protected EntityLlama fA() { return (EntityLlama) EntityTypes.TRADER_LLAMA.a(this.world); diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java -index ecbdc65ec..a36e7d182 100644 +index ecbdc65ec5..a36e7d182f 100644 --- a/src/main/java/net/minecraft/server/EntityMushroomCow.java +++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java @@ -20,6 +20,18 @@ public class EntityMushroomCow extends EntityCow implements IShearable { @@ -1434,7 +1437,7 @@ index ecbdc65ec..a36e7d182 100644 Pair pair = (Pair) optional.get(); diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java -index 9c1f019f9..366acbfd9 100644 +index 9c1f019f91..366acbfd91 100644 --- a/src/main/java/net/minecraft/server/EntityOcelot.java +++ b/src/main/java/net/minecraft/server/EntityOcelot.java @@ -16,6 +16,18 @@ public class EntityOcelot extends EntityAnimal { @@ -1472,7 +1475,7 @@ index 9c1f019f9..366acbfd9 100644 this.targetSelector.a(1, new PathfinderGoalNearestAttackableTarget<>(this, EntityTurtle.class, 10, false, false, EntityTurtle.bv)); } diff --git a/src/main/java/net/minecraft/server/EntityPanda.java b/src/main/java/net/minecraft/server/EntityPanda.java -index 42df0d74e..a0d00288f 100644 +index 42df0d74ee..a0d00288fc 100644 --- a/src/main/java/net/minecraft/server/EntityPanda.java +++ b/src/main/java/net/minecraft/server/EntityPanda.java @@ -46,6 +46,27 @@ public class EntityPanda extends EntityAnimal { @@ -1608,7 +1611,7 @@ index 42df0d74e..a0d00288f 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java -index cf2df391a..9bd4cdf13 100644 +index cf2df391a9..9bd4cdf138 100644 --- a/src/main/java/net/minecraft/server/EntityPig.java +++ b/src/main/java/net/minecraft/server/EntityPig.java @@ -19,9 +19,22 @@ public class EntityPig extends EntityAnimal implements ISteerable, ISaddleable { @@ -1635,7 +1638,7 @@ index cf2df391a..9bd4cdf13 100644 this.goalSelector.a(3, new PathfinderGoalBreed(this, 1.0D)); this.goalSelector.a(4, new PathfinderGoalTempt(this, 1.2D, RecipeItemStack.a(Items.CARROT_ON_A_STICK), false)); diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java -index fdd13b2ba..7f378df36 100644 +index fdd13b2ba6..7f378df36a 100644 --- a/src/main/java/net/minecraft/server/EntityPigZombie.java +++ b/src/main/java/net/minecraft/server/EntityPigZombie.java @@ -22,6 +22,16 @@ public class EntityPigZombie extends EntityZombie implements IEntityAngerable { @@ -1656,7 +1659,7 @@ index fdd13b2ba..7f378df36 100644 public boolean jockeyOnlyBaby() { return world.purpurConfig.zombifiedPiglinJockeyOnlyBaby; diff --git a/src/main/java/net/minecraft/server/EntityPiglin.java b/src/main/java/net/minecraft/server/EntityPiglin.java -index 63fa1581e..4809a8dce 100644 +index 63fa1581eb..4809a8dced 100644 --- a/src/main/java/net/minecraft/server/EntityPiglin.java +++ b/src/main/java/net/minecraft/server/EntityPiglin.java @@ -31,6 +31,18 @@ public class EntityPiglin extends EntityMonster implements ICrossbow { @@ -1687,7 +1690,7 @@ index 63fa1581e..4809a8dce 100644 this.world.getMethodProfiler().exit(); PiglinAI.b(this); diff --git a/src/main/java/net/minecraft/server/EntityPillager.java b/src/main/java/net/minecraft/server/EntityPillager.java -index f73c30ae4..537f09465 100644 +index f73c30ae49..537f094654 100644 --- a/src/main/java/net/minecraft/server/EntityPillager.java +++ b/src/main/java/net/minecraft/server/EntityPillager.java @@ -13,15 +13,29 @@ public class EntityPillager extends EntityIllagerAbstract implements ICrossbow { @@ -1721,7 +1724,7 @@ index f73c30ae4..537f09465 100644 this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)); diff --git a/src/main/java/net/minecraft/server/EntityPolarBear.java b/src/main/java/net/minecraft/server/EntityPolarBear.java -index c26fd0e18..395b39826 100644 +index c26fd0e186..395b398263 100644 --- a/src/main/java/net/minecraft/server/EntityPolarBear.java +++ b/src/main/java/net/minecraft/server/EntityPolarBear.java @@ -16,12 +16,34 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable { @@ -1796,7 +1799,7 @@ index c26fd0e18..395b39826 100644 } diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java -index 42145a89c..572ddd663 100644 +index 42145a89c4..572ddd6638 100644 --- a/src/main/java/net/minecraft/server/EntityRabbit.java +++ b/src/main/java/net/minecraft/server/EntityRabbit.java @@ -60,7 +60,7 @@ public class EntityRabbit extends EntityAnimal { @@ -1809,7 +1812,7 @@ index 42145a89c..572ddd663 100644 double d0 = this.moveController.c(); diff --git a/src/main/java/net/minecraft/server/EntityRavager.java b/src/main/java/net/minecraft/server/EntityRavager.java -index 9734845c1..1e1615d9f 100644 +index 9734845c16..1e1615d9ff 100644 --- a/src/main/java/net/minecraft/server/EntityRavager.java +++ b/src/main/java/net/minecraft/server/EntityRavager.java @@ -20,14 +20,28 @@ public class EntityRavager extends EntityRaider { @@ -1842,7 +1845,7 @@ index 9734845c1..1e1615d9f 100644 this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); this.targetSelector.a(4, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, true)); diff --git a/src/main/java/net/minecraft/server/EntitySheep.java b/src/main/java/net/minecraft/server/EntitySheep.java -index a5532e49e..e785087d7 100644 +index a5532e49e7..e785087d7b 100644 --- a/src/main/java/net/minecraft/server/EntitySheep.java +++ b/src/main/java/net/minecraft/server/EntitySheep.java @@ -56,10 +56,23 @@ public class EntitySheep extends EntityAnimal implements IShearable { @@ -1870,7 +1873,7 @@ index a5532e49e..e785087d7 100644 this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D)); this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.1D, RecipeItemStack.a(Items.WHEAT), false)); diff --git a/src/main/java/net/minecraft/server/EntityShulker.java b/src/main/java/net/minecraft/server/EntityShulker.java -index afc4cf496..0456236b4 100644 +index afc4cf4960..0456236b43 100644 --- a/src/main/java/net/minecraft/server/EntityShulker.java +++ b/src/main/java/net/minecraft/server/EntityShulker.java @@ -29,12 +29,26 @@ public class EntityShulker extends EntityGolem implements IMonster { @@ -1910,7 +1913,7 @@ index afc4cf496..0456236b4 100644 @Override public boolean a() { diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java -index 29c0a9c36..730b2eb33 100644 +index 29c0a9c36a..730b2eb330 100644 --- a/src/main/java/net/minecraft/server/EntitySilverfish.java +++ b/src/main/java/net/minecraft/server/EntitySilverfish.java @@ -11,13 +11,27 @@ public class EntitySilverfish extends EntityMonster { @@ -1950,7 +1953,7 @@ index 29c0a9c36..730b2eb33 100644 public void g() { diff --git a/src/main/java/net/minecraft/server/EntitySkeleton.java b/src/main/java/net/minecraft/server/EntitySkeleton.java -index 104f594cd..9f665cf72 100644 +index 104f594cde..9f665cf728 100644 --- a/src/main/java/net/minecraft/server/EntitySkeleton.java +++ b/src/main/java/net/minecraft/server/EntitySkeleton.java @@ -6,6 +6,18 @@ public class EntitySkeleton extends EntitySkeletonAbstract { @@ -1973,7 +1976,7 @@ index 104f594cd..9f665cf72 100644 protected SoundEffect getSoundAmbient() { return SoundEffects.ENTITY_SKELETON_AMBIENT; diff --git a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java -index 84f83d48a..e2aa9e96c 100644 +index 84f83d48a8..e2aa9e96ca 100644 --- a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java +++ b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java @@ -28,12 +28,14 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR @@ -1992,7 +1995,7 @@ index 84f83d48a..e2aa9e96c 100644 this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, true)); diff --git a/src/main/java/net/minecraft/server/EntitySkeletonStray.java b/src/main/java/net/minecraft/server/EntitySkeletonStray.java -index 6cfc0ece3..c0ca1c76c 100644 +index 6cfc0ece39..c0ca1c76c7 100644 --- a/src/main/java/net/minecraft/server/EntitySkeletonStray.java +++ b/src/main/java/net/minecraft/server/EntitySkeletonStray.java @@ -8,6 +8,18 @@ public class EntitySkeletonStray extends EntitySkeletonAbstract { @@ -2015,7 +2018,7 @@ index 6cfc0ece3..c0ca1c76c 100644 return c(entitytypes, generatoraccess, enummobspawn, blockposition, random) && (enummobspawn == EnumMobSpawn.SPAWNER || generatoraccess.f(blockposition)); } diff --git a/src/main/java/net/minecraft/server/EntitySkeletonWither.java b/src/main/java/net/minecraft/server/EntitySkeletonWither.java -index f415775ea..a8e76d49e 100644 +index f415775ead..a8e76d49e7 100644 --- a/src/main/java/net/minecraft/server/EntitySkeletonWither.java +++ b/src/main/java/net/minecraft/server/EntitySkeletonWither.java @@ -9,6 +9,18 @@ public class EntitySkeletonWither extends EntitySkeletonAbstract { @@ -2038,7 +2041,7 @@ index f415775ea..a8e76d49e 100644 protected void initPathfinder() { this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityPiglin.class, true)); diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java -index a4642cc73..ecf2059b0 100644 +index a4642cc739..ecf2059b00 100644 --- a/src/main/java/net/minecraft/server/EntitySlime.java +++ b/src/main/java/net/minecraft/server/EntitySlime.java @@ -324,7 +324,7 @@ public class EntitySlime extends EntityInsentient implements IMonster { @@ -2051,7 +2054,7 @@ index a4642cc73..ecf2059b0 100644 this.setMot(vec3d.x, (double) this.dI(), vec3d.z); diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java -index dfe615814..a9c44967b 100644 +index dfe615814d..a9c44967b2 100644 --- a/src/main/java/net/minecraft/server/EntitySnowman.java +++ b/src/main/java/net/minecraft/server/EntitySnowman.java @@ -13,13 +13,27 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt @@ -2110,7 +2113,7 @@ index dfe615814..a9c44967b 100644 } diff --git a/src/main/java/net/minecraft/server/EntitySpider.java b/src/main/java/net/minecraft/server/EntitySpider.java -index f6a677200..be1189d57 100644 +index f6a6772002..be1189d57c 100644 --- a/src/main/java/net/minecraft/server/EntitySpider.java +++ b/src/main/java/net/minecraft/server/EntitySpider.java @@ -11,14 +11,28 @@ public class EntitySpider extends EntityMonster { @@ -2143,7 +2146,7 @@ index f6a677200..be1189d57 100644 this.targetSelector.a(2, new EntitySpider.PathfinderGoalSpiderNearestAttackableTarget<>(this, EntityHuman.class)); this.targetSelector.a(3, new EntitySpider.PathfinderGoalSpiderNearestAttackableTarget<>(this, EntityIronGolem.class)); diff --git a/src/main/java/net/minecraft/server/EntityStrider.java b/src/main/java/net/minecraft/server/EntityStrider.java -index c123e9fe9..4cb4f60fd 100644 +index c123e9fe97..4cb4f60fd4 100644 --- a/src/main/java/net/minecraft/server/EntityStrider.java +++ b/src/main/java/net/minecraft/server/EntityStrider.java @@ -28,6 +28,18 @@ public class EntityStrider extends EntityAnimal implements ISteerable, ISaddleab @@ -2183,7 +2186,7 @@ index c123e9fe9..4cb4f60fd 100644 if (flag && !this.isSilent()) { this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_STRIDER_EAT, this.getSoundCategory(), 1.0F, 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F); diff --git a/src/main/java/net/minecraft/server/EntityTameableAnimal.java b/src/main/java/net/minecraft/server/EntityTameableAnimal.java -index 9b0d937f0..0b0cca4e3 100644 +index 9b0d937f06..0b0cca4e35 100644 --- a/src/main/java/net/minecraft/server/EntityTameableAnimal.java +++ b/src/main/java/net/minecraft/server/EntityTameableAnimal.java @@ -130,6 +130,7 @@ public abstract class EntityTameableAnimal extends EntityAnimal { @@ -2195,7 +2198,7 @@ index 9b0d937f0..0b0cca4e3 100644 return entityliving == this.getOwner(); } diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 86de40d15..903940feb 100644 +index 86de40d15b..903940feb6 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -75,8 +75,19 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @@ -2219,7 +2222,7 @@ index 86de40d15..903940feb 100644 } diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java -index 9985afb12..2f59c1c91 100644 +index 9985afb124..2f59c1c91a 100644 --- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java +++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java @@ -23,6 +23,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { @@ -2248,7 +2251,7 @@ index 9985afb12..2f59c1c91 100644 public boolean a(EntityHuman entityhuman) { return world.purpurConfig.villagerTraderCanBeLeashed && !this.isLeashed(); diff --git a/src/main/java/net/minecraft/server/EntityVindicator.java b/src/main/java/net/minecraft/server/EntityVindicator.java -index 58315906b..958f86481 100644 +index 58315906b6..958f86481a 100644 --- a/src/main/java/net/minecraft/server/EntityVindicator.java +++ b/src/main/java/net/minecraft/server/EntityVindicator.java @@ -17,14 +17,28 @@ public class EntityVindicator extends EntityIllagerAbstract { @@ -2281,7 +2284,7 @@ index 58315906b..958f86481 100644 this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, true)); diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java -index e8d8935b8..0f6ec6bc6 100644 +index e8d8935b8e..0f6ec6bc60 100644 --- a/src/main/java/net/minecraft/server/EntityWitch.java +++ b/src/main/java/net/minecraft/server/EntityWitch.java @@ -24,6 +24,18 @@ public class EntityWitch extends EntityRaider implements IRangedEntity { @@ -2317,7 +2320,7 @@ index e8d8935b8..0f6ec6bc6 100644 this.targetSelector.a(2, this.by); this.targetSelector.a(3, this.bz); diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java -index 5b519fa39..927d30825 100644 +index 5b519fa394..927d308254 100644 --- a/src/main/java/net/minecraft/server/EntityWolf.java +++ b/src/main/java/net/minecraft/server/EntityWolf.java @@ -33,9 +33,27 @@ public class EntityWolf extends EntityTameableAnimal implements IEntityAngerable @@ -2357,7 +2360,7 @@ index 5b519fa39..927d30825 100644 this.targetSelector.a(2, new PathfinderGoalOwnerHurtTarget(this)); this.targetSelector.a(3, (new PathfinderGoalHurtByTarget(this, new Class[0])).a(new Class[0])); // CraftBukkit - decompile error diff --git a/src/main/java/net/minecraft/server/EntityZoglin.java b/src/main/java/net/minecraft/server/EntityZoglin.java -index 28adbbebd..c0b5476ff 100644 +index 28adbbebd1..c0b5476ff7 100644 --- a/src/main/java/net/minecraft/server/EntityZoglin.java +++ b/src/main/java/net/minecraft/server/EntityZoglin.java @@ -21,6 +21,18 @@ public class EntityZoglin extends EntityMonster implements IMonster, IOglin { @@ -2422,7 +2425,7 @@ index 28adbbebd..c0b5476ff 100644 this.eM(); } diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 9f117b20e..5189795ce 100644 +index 9f117b20e2..5189795ce6 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java @@ -46,6 +46,16 @@ public class EntityZombie extends EntityMonster { @@ -2455,7 +2458,7 @@ index 9f117b20e..5189795ce 100644 } diff --git a/src/main/java/net/minecraft/server/EntityZombieHusk.java b/src/main/java/net/minecraft/server/EntityZombieHusk.java -index 2daff8562..1130a7712 100644 +index 2daff85620..1130a7712d 100644 --- a/src/main/java/net/minecraft/server/EntityZombieHusk.java +++ b/src/main/java/net/minecraft/server/EntityZombieHusk.java @@ -9,6 +9,16 @@ public class EntityZombieHusk extends EntityZombie { @@ -2476,7 +2479,7 @@ index 2daff8562..1130a7712 100644 public boolean jockeyOnlyBaby() { return world.purpurConfig.huskJockeyOnlyBaby; diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java -index cd796f5b8..cd12e5c74 100644 +index cd796f5b86..cd12e5c74d 100644 --- a/src/main/java/net/minecraft/server/EntityZombieVillager.java +++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java @@ -28,6 +28,16 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo @@ -2497,7 +2500,7 @@ index cd796f5b8..cd12e5c74 100644 public boolean jockeyOnlyBaby() { return world.purpurConfig.zombieVillagerJockeyOnlyBaby; diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 9d5246de9..2abbc6b17 100644 +index 9d5246de95..2abbc6b177 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -133,11 +133,13 @@ public class PurpurConfig { @@ -2515,7 +2518,7 @@ index 9d5246de9..2abbc6b17 100644 public static String serverModName = "Purpur"; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 4e8a6992a..87b863031 100644 +index 4e8a6992ab..87b8630315 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -271,36 +271,68 @@ public class PurpurWorldConfig { @@ -2964,7 +2967,7 @@ index 4e8a6992a..87b863031 100644 zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens); diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java b/src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java new file mode 100644 -index 000000000..828e1b873 +index 0000000000..828e1b8730 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java @@ -0,0 +1,75 @@ @@ -3045,7 +3048,7 @@ index 000000000..828e1b873 +} diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java new file mode 100644 -index 000000000..6086f6311 +index 0000000000..6086f63119 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java @@ -0,0 +1,86 @@ @@ -3137,7 +3140,7 @@ index 000000000..6086f6311 +} diff --git a/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java new file mode 100644 -index 000000000..68acd09a6 +index 0000000000..68acd09a6e --- /dev/null +++ b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java @@ -0,0 +1,21 @@ @@ -3164,7 +3167,7 @@ index 000000000..68acd09a6 +} diff --git a/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHorseHasRider.java b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHorseHasRider.java new file mode 100644 -index 000000000..c0ead608e +index 0000000000..c0ead608ed --- /dev/null +++ b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHorseHasRider.java @@ -0,0 +1,18 @@ @@ -3187,7 +3190,7 @@ index 000000000..c0ead608e + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 6f18a7898..8c300692f 100644 +index 6f18a78980..8c300692fa 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1127,4 +1127,26 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {