From 04686a66b8c177245776f724d56659aad63f9cac Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 17 Jan 2020 02:52:37 -0600 Subject: [PATCH] Merge patch from last commit the right way --- patches/server/0010-Integrate-ridables.patch | 305 +++++++++++++----- ...d-killer-rabbit-natural-spawn-chance.patch | 8 +- .../0058-Add-option-to-spawn-Toast.patch | 10 +- patches/server/0100-test.patch | 164 ---------- 4 files changed, 225 insertions(+), 262 deletions(-) delete mode 100644 patches/server/0100-test.patch diff --git a/patches/server/0010-Integrate-ridables.patch b/patches/server/0010-Integrate-ridables.patch index c46448e56..d4f3bbfd2 100644 --- a/patches/server/0010-Integrate-ridables.patch +++ b/patches/server/0010-Integrate-ridables.patch @@ -1,4 +1,4 @@ -From 509a73858efffb4a3f5bf338482e83d27c85eec3 Mon Sep 17 00:00:00 2001 +From be3d390a49f53f39c350fa8be8185ac808f25683 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Tue, 30 Apr 2019 19:17:21 -0500 Subject: [PATCH] Integrate ridables @@ -33,7 +33,7 @@ Subject: [PATCH] Integrate ridables .../minecraft/server/EntityHorseZombie.java | 6 + .../net/minecraft/server/EntityHuman.java | 14 +- .../server/EntityIllagerIllusioner.java | 2 + - .../minecraft/server/EntityInsentient.java | 54 +++++++- + .../minecraft/server/EntityInsentient.java | 56 +++++++- .../net/minecraft/server/EntityIronGolem.java | 6 +- .../net/minecraft/server/EntityLiving.java | 27 ++-- .../net/minecraft/server/EntityLlama.java | 42 +++++- @@ -49,7 +49,7 @@ Subject: [PATCH] Integrate ridables .../net/minecraft/server/EntityPillager.java | 2 + .../net/minecraft/server/EntityPolarBear.java | 26 ++++ .../minecraft/server/EntityPufferFish.java | 3 +- - .../net/minecraft/server/EntityRabbit.java | 6 +- + .../net/minecraft/server/EntityRabbit.java | 63 ++++++++- .../net/minecraft/server/EntityRavager.java | 2 + .../net/minecraft/server/EntitySalmon.java | 1 + .../net/minecraft/server/EntitySheep.java | 8 +- @@ -86,7 +86,7 @@ Subject: [PATCH] Integrate ridables .../pathfinder/PathfinderGoalHasRider.java | 20 +++ .../craftbukkit/entity/CraftLivingEntity.java | 10 ++ .../bukkit/craftbukkit/entity/CraftMob.java | 12 ++ - 82 files changed, 1367 insertions(+), 127 deletions(-) + 82 files changed, 1422 insertions(+), 131 deletions(-) create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java @@ -95,7 +95,7 @@ Subject: [PATCH] Integrate ridables create mode 100644 src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java diff --git a/src/main/java/net/minecraft/server/ControllerLookDolphin.java b/src/main/java/net/minecraft/server/ControllerLookDolphin.java -index 1d9ba04daa..2bade947ee 100644 +index 1d9ba04da..2bade947e 100644 --- a/src/main/java/net/minecraft/server/ControllerLookDolphin.java +++ b/src/main/java/net/minecraft/server/ControllerLookDolphin.java @@ -1,6 +1,6 @@ @@ -116,7 +116,7 @@ index 1d9ba04daa..2bade947ee 100644 this.d = false; this.a.aK = this.a(this.a.aK, this.h() + 20.0F, this.b); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index cd3ea3359f..ad9e983589 100644 +index cd3ea3359..ad9e98358 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -79,6 +79,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -199,7 +199,7 @@ index cd3ea3359f..ad9e983589 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityAgeable.java b/src/main/java/net/minecraft/server/EntityAgeable.java -index 3d27f0964a..822316a65f 100644 +index 3d27f0964..822316a65 100644 --- a/src/main/java/net/minecraft/server/EntityAgeable.java +++ b/src/main/java/net/minecraft/server/EntityAgeable.java @@ -86,7 +86,7 @@ public abstract class EntityAgeable extends EntityCreature { @@ -212,7 +212,7 @@ index 3d27f0964a..822316a65f 100644 } diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java -index 34239160be..b19028fa87 100644 +index 34239160b..b19028fa8 100644 --- a/src/main/java/net/minecraft/server/EntityBat.java +++ b/src/main/java/net/minecraft/server/EntityBat.java @@ -14,6 +14,11 @@ public class EntityBat extends EntityAmbient { @@ -257,7 +257,7 @@ index 34239160be..b19028fa87 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityBee.java b/src/main/java/net/minecraft/server/EntityBee.java -index 829aab7f77..0071e18695 100644 +index 829aab7f7..0071e1869 100644 --- a/src/main/java/net/minecraft/server/EntityBee.java +++ b/src/main/java/net/minecraft/server/EntityBee.java @@ -1,6 +1,7 @@ @@ -387,7 +387,7 @@ index 829aab7f77..0071e18695 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityBlaze.java b/src/main/java/net/minecraft/server/EntityBlaze.java -index 5b1d2c7f50..d46b99b5c9 100644 +index 5b1d2c7f5..d46b99b5c 100644 --- a/src/main/java/net/minecraft/server/EntityBlaze.java +++ b/src/main/java/net/minecraft/server/EntityBlaze.java @@ -10,6 +10,10 @@ public class EntityBlaze extends EntityMonster { @@ -432,7 +432,7 @@ index 5b1d2c7f50..d46b99b5c9 100644 if (this.c <= 0) { this.c = 100; diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java -index 57af3835ee..1cc36efad9 100644 +index 57af3835e..1cc36efad 100644 --- a/src/main/java/net/minecraft/server/EntityCat.java +++ b/src/main/java/net/minecraft/server/EntityCat.java @@ -16,7 +16,7 @@ public class EntityCat extends EntityTameableAnimal { @@ -521,7 +521,7 @@ index 57af3835ee..1cc36efad9 100644 private final EntityCat a; diff --git a/src/main/java/net/minecraft/server/EntityCaveSpider.java b/src/main/java/net/minecraft/server/EntityCaveSpider.java -index 23ced2c7bb..6613583587 100644 +index 23ced2c7b..661358358 100644 --- a/src/main/java/net/minecraft/server/EntityCaveSpider.java +++ b/src/main/java/net/minecraft/server/EntityCaveSpider.java @@ -6,6 +6,7 @@ public class EntityCaveSpider extends EntitySpider { @@ -533,7 +533,7 @@ index 23ced2c7bb..6613583587 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityChicken.java b/src/main/java/net/minecraft/server/EntityChicken.java -index 65795fc896..b31b606044 100644 +index 65795fc89..b31b60604 100644 --- a/src/main/java/net/minecraft/server/EntityChicken.java +++ b/src/main/java/net/minecraft/server/EntityChicken.java @@ -13,6 +13,7 @@ public class EntityChicken extends EntityAnimal { @@ -562,7 +562,7 @@ index 65795fc896..b31b606044 100644 this.forceDrops = true; // CraftBukkit this.a((IMaterial) Items.EGG); diff --git a/src/main/java/net/minecraft/server/EntityCod.java b/src/main/java/net/minecraft/server/EntityCod.java -index 1e3782122a..c0b066d188 100644 +index 1e3782122..c0b066d18 100644 --- a/src/main/java/net/minecraft/server/EntityCod.java +++ b/src/main/java/net/minecraft/server/EntityCod.java @@ -4,6 +4,7 @@ public class EntityCod extends EntityFishSchool { @@ -574,7 +574,7 @@ index 1e3782122a..c0b066d188 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java -index e1d0f0f38d..dcff77d8d8 100644 +index e1d0f0f38..dcff77d8d 100644 --- a/src/main/java/net/minecraft/server/EntityCow.java +++ b/src/main/java/net/minecraft/server/EntityCow.java @@ -9,11 +9,13 @@ public class EntityCow extends EntityAnimal { @@ -592,7 +592,7 @@ index e1d0f0f38d..dcff77d8d8 100644 this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D)); if (net.pl3x.purpur.PurpurConfig.feedMushroomsToCows > 0) this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.25D, RecipeItemStack.a(Items.WHEAT, Blocks.RED_MUSHROOM.getItem(), Blocks.BROWN_MUSHROOM.getItem()), false)); else // Purpur diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java -index 77ba923338..72efa596d7 100644 +index 77ba92333..72efa596d 100644 --- a/src/main/java/net/minecraft/server/EntityCreeper.java +++ b/src/main/java/net/minecraft/server/EntityCreeper.java @@ -21,12 +21,14 @@ public class EntityCreeper extends EntityMonster { @@ -687,7 +687,7 @@ index 77ba923338..72efa596d7 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityDolphin.java b/src/main/java/net/minecraft/server/EntityDolphin.java -index ce78586ea0..47c310bd5a 100644 +index ce78586ea..47c310bd5 100644 --- a/src/main/java/net/minecraft/server/EntityDolphin.java +++ b/src/main/java/net/minecraft/server/EntityDolphin.java @@ -18,6 +18,7 @@ public class EntityDolphin extends EntityWaterAnimal { @@ -748,7 +748,7 @@ index ce78586ea0..47c310bd5a 100644 this.i.setMot(this.i.getMot().add(0.0D, 0.005D, 0.0D)); } diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java -index 77885f67ff..b9a5ab4430 100644 +index 77885f67f..b9a5ab443 100644 --- a/src/main/java/net/minecraft/server/EntityDrowned.java +++ b/src/main/java/net/minecraft/server/EntityDrowned.java @@ -12,6 +12,7 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity { @@ -787,7 +787,7 @@ index 77885f67ff..b9a5ab4430 100644 } diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index 9acdd6e566..5935ecb529 100644 +index 9acdd6e56..5935ecb52 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -49,6 +49,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { @@ -799,7 +799,7 @@ index 9acdd6e566..5935ecb529 100644 this.setHealth(this.getMaxHealth()); this.noclip = true; diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java -index 8741df83b5..560ff3227f 100644 +index 8741df83b..560ff3227 100644 --- a/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java @@ -23,6 +23,7 @@ public class EntityEnderman extends EntityMonster { @@ -819,7 +819,7 @@ index 8741df83b5..560ff3227f 100644 this.goalSelector.a(2, new PathfinderGoalMeleeAttack(this, 1.0D, false)); this.goalSelector.a(7, new PathfinderGoalRandomStrollLand(this, 1.0D, 0.0F)); diff --git a/src/main/java/net/minecraft/server/EntityEndermite.java b/src/main/java/net/minecraft/server/EntityEndermite.java -index b34695f2d0..92288e704f 100644 +index b34695f2d..92288e704 100644 --- a/src/main/java/net/minecraft/server/EntityEndermite.java +++ b/src/main/java/net/minecraft/server/EntityEndermite.java @@ -9,17 +9,19 @@ public class EntityEndermite extends EntityMonster { @@ -844,7 +844,7 @@ index b34695f2d0..92288e704f 100644 } diff --git a/src/main/java/net/minecraft/server/EntityEvoker.java b/src/main/java/net/minecraft/server/EntityEvoker.java -index 886268b09e..3560c95298 100644 +index 886268b09..3560c9529 100644 --- a/src/main/java/net/minecraft/server/EntityEvoker.java +++ b/src/main/java/net/minecraft/server/EntityEvoker.java @@ -9,6 +9,7 @@ public class EntityEvoker extends EntityIllagerWizard { @@ -873,7 +873,7 @@ index 886268b09e..3560c95298 100644 this.targetSelector.a(3, (new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)).a(300)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, false)); diff --git a/src/main/java/net/minecraft/server/EntityFish.java b/src/main/java/net/minecraft/server/EntityFish.java -index d332907b3b..0ca3d45c9c 100644 +index d332907b3..0ca3d45c9 100644 --- a/src/main/java/net/minecraft/server/EntityFish.java +++ b/src/main/java/net/minecraft/server/EntityFish.java @@ -72,13 +72,10 @@ public abstract class EntityFish extends EntityWaterAnimal { @@ -931,7 +931,7 @@ index d332907b3b..0ca3d45c9c 100644 this.i.setMot(this.i.getMot().add(0.0D, 0.005D, 0.0D)); } diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java -index bd62ac3ed8..738e6cb8f7 100644 +index bd62ac3ed..738e6cb8f 100644 --- a/src/main/java/net/minecraft/server/EntityFox.java +++ b/src/main/java/net/minecraft/server/EntityFox.java @@ -48,6 +48,7 @@ public class EntityFox extends EntityAnimal { @@ -1080,7 +1080,7 @@ index bd62ac3ed8..738e6cb8f7 100644 } diff --git a/src/main/java/net/minecraft/server/EntityGhast.java b/src/main/java/net/minecraft/server/EntityGhast.java -index e1c2540d14..562dd6500e 100644 +index e1c2540d1..562dd6500 100644 --- a/src/main/java/net/minecraft/server/EntityGhast.java +++ b/src/main/java/net/minecraft/server/EntityGhast.java @@ -10,12 +10,15 @@ public class EntityGhast extends EntityFlying implements IMonster { @@ -1118,7 +1118,7 @@ index e1c2540d14..562dd6500e 100644 if (this.j-- <= 0) { this.j += this.i.getRandom().nextInt(5) + 2; diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java -index bcbade19ea..b7e2022b19 100644 +index bcbade19e..b7e2022b1 100644 --- a/src/main/java/net/minecraft/server/EntityGiantZombie.java +++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java @@ -5,7 +5,9 @@ public class EntityGiantZombie extends EntityMonster { @@ -1132,7 +1132,7 @@ index bcbade19ea..b7e2022b19 100644 } diff --git a/src/main/java/net/minecraft/server/EntityGuardian.java b/src/main/java/net/minecraft/server/EntityGuardian.java -index e69cb334fb..aed6ee845a 100644 +index e69cb334f..aed6ee845 100644 --- a/src/main/java/net/minecraft/server/EntityGuardian.java +++ b/src/main/java/net/minecraft/server/EntityGuardian.java @@ -24,8 +24,15 @@ public class EntityGuardian extends EntityMonster { @@ -1207,7 +1207,7 @@ index e69cb334fb..aed6ee845a 100644 Vec3D vec3d = new Vec3D(this.b - this.i.locX(), this.c - this.i.locY(), this.d - this.i.locZ()); double d0 = vec3d.f(); diff --git a/src/main/java/net/minecraft/server/EntityGuardianElder.java b/src/main/java/net/minecraft/server/EntityGuardianElder.java -index 7484bfeea0..292125cbd2 100644 +index 7484bfeea..292125cbd 100644 --- a/src/main/java/net/minecraft/server/EntityGuardianElder.java +++ b/src/main/java/net/minecraft/server/EntityGuardianElder.java @@ -9,6 +9,7 @@ public class EntityGuardianElder extends EntityGuardian { @@ -1219,7 +1219,7 @@ index 7484bfeea0..292125cbd2 100644 if (this.goalRandomStroll != null) { this.goalRandomStroll.setTimeBetweenMovement(400); diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java -index 9e708769f7..5cd46c7475 100644 +index 9e708769f..5cd46c747 100644 --- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java +++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java @@ -38,6 +38,10 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven @@ -1234,7 +1234,7 @@ index 9e708769f7..5cd46c7475 100644 this.loadChest(); } diff --git a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java -index 290cb9337c..52ea911fe9 100644 +index 290cb9337..52ea911fe 100644 --- a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java +++ b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java @@ -179,4 +179,10 @@ public class EntityHorseSkeleton extends EntityHorseAbstract { @@ -1249,7 +1249,7 @@ index 290cb9337c..52ea911fe9 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityHorseZombie.java b/src/main/java/net/minecraft/server/EntityHorseZombie.java -index 5782a25ecd..dbe0223401 100644 +index 5782a25ec..dbe022340 100644 --- a/src/main/java/net/minecraft/server/EntityHorseZombie.java +++ b/src/main/java/net/minecraft/server/EntityHorseZombie.java @@ -79,4 +79,10 @@ public class EntityHorseZombie extends EntityHorseAbstract { @@ -1264,7 +1264,7 @@ index 5782a25ecd..dbe0223401 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 003df00b44..57c528d532 100644 +index 003df00b4..57c528d53 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -374,9 +374,21 @@ public abstract class EntityHuman extends EntityLiving { @@ -1291,7 +1291,7 @@ index 003df00b44..57c528d532 100644 this.setSneaking(false); } else { diff --git a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java -index 81b7cd06f2..18fedbc691 100644 +index 81b7cd06f..18fedbc69 100644 --- a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java +++ b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java @@ -9,6 +9,7 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan @@ -1311,7 +1311,7 @@ index 81b7cd06f2..18fedbc691 100644 this.goalSelector.a(4, new EntityIllagerIllusioner.b()); this.goalSelector.a(5, new EntityIllagerIllusioner.a()); diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 5fb3c948d9..e50b5fdcc1 100644 +index 5fb3c948d..654229c28 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -10,6 +10,7 @@ import java.util.UUID; @@ -1322,7 +1322,14 @@ index 5fb3c948d9..e50b5fdcc1 100644 import org.bukkit.craftbukkit.event.CraftEventFactory; import org.bukkit.craftbukkit.entity.CraftLivingEntity; import org.bukkit.entity.LivingEntity; -@@ -34,7 +35,7 @@ public abstract class EntityInsentient extends EntityLiving { +@@ -28,13 +29,13 @@ public abstract class EntityInsentient extends EntityLiving { + protected int f; + protected ControllerLook lookController; + protected ControllerMove moveController; +- protected ControllerJump bq; ++ protected ControllerJump bq; public ControllerJump getJumpController() { return bq; } // Purpur - OBFHELPER + private final EntityAIBodyControl c; + protected NavigationAbstract navigation; public PathfinderGoalSelector goalSelector; @Nullable public PathfinderGoalFloat goalFloat; // Paper public PathfinderGoalSelector targetSelector; @@ -1423,7 +1430,7 @@ index 5fb3c948d9..e50b5fdcc1 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityIronGolem.java b/src/main/java/net/minecraft/server/EntityIronGolem.java -index 2f764776b2..63b88f454b 100644 +index 2f764776b..63b88f454 100644 --- a/src/main/java/net/minecraft/server/EntityIronGolem.java +++ b/src/main/java/net/minecraft/server/EntityIronGolem.java @@ -14,11 +14,13 @@ public class EntityIronGolem extends EntityGolem { @@ -1457,7 +1464,7 @@ index 2f764776b2..63b88f454b 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 0d5236bd7e..969a77c597 100644 +index 0d5236bd7..969a77c59 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -91,10 +91,10 @@ public abstract class EntityLiving extends Entity { @@ -1527,7 +1534,7 @@ index 0d5236bd7e..969a77c597 100644 this.bB = f; } diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java -index 6d4d41c88c..6ebb6fd663 100644 +index 6d4d41c88..6ebb6fd66 100644 --- a/src/main/java/net/minecraft/server/EntityLlama.java +++ b/src/main/java/net/minecraft/server/EntityLlama.java @@ -16,6 +16,29 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn @@ -1601,7 +1608,7 @@ index 6d4d41c88c..6ebb6fd663 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 4cebd67e85..f8129ef10d 100644 +index 4cebd67e8..f8129ef10 100644 --- a/src/main/java/net/minecraft/server/EntityLlamaTrader.java +++ b/src/main/java/net/minecraft/server/EntityLlamaTrader.java @@ -9,6 +9,7 @@ public class EntityLlamaTrader extends EntityLlama { @@ -1627,7 +1634,7 @@ index 4cebd67e85..f8129ef10d 100644 @Override public GroupDataEntity prepare(GeneratorAccess generatoraccess, DifficultyDamageScaler difficultydamagescaler, EnumMobSpawn enummobspawn, @Nullable GroupDataEntity groupdataentity, @Nullable NBTTagCompound nbttagcompound) { diff --git a/src/main/java/net/minecraft/server/EntityMagmaCube.java b/src/main/java/net/minecraft/server/EntityMagmaCube.java -index 1fdc248ba8..b5e8857cbb 100644 +index 1fdc248ba..b5e8857cb 100644 --- a/src/main/java/net/minecraft/server/EntityMagmaCube.java +++ b/src/main/java/net/minecraft/server/EntityMagmaCube.java @@ -6,6 +6,7 @@ public class EntityMagmaCube extends EntitySlime { @@ -1648,7 +1655,7 @@ index 1fdc248ba8..b5e8857cbb 100644 this.setMot(vec3d.x, (double) (this.dp() + (float) this.getSize() * 0.1F), vec3d.z); diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java -index ce5bac35db..80c98c04b1 100644 +index ce5bac35d..80c98c04b 100644 --- a/src/main/java/net/minecraft/server/EntityMushroomCow.java +++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java @@ -18,6 +18,7 @@ public class EntityMushroomCow extends EntityCow { @@ -1660,7 +1667,7 @@ index ce5bac35db..80c98c04b1 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java -index d9a7b8ac1e..8093e01505 100644 +index d9a7b8ac1..8093e0150 100644 --- a/src/main/java/net/minecraft/server/EntityOcelot.java +++ b/src/main/java/net/minecraft/server/EntityOcelot.java @@ -13,6 +13,7 @@ public class EntityOcelot extends EntityAnimal { @@ -1680,7 +1687,7 @@ index d9a7b8ac1e..8093e01505 100644 this.goalSelector.a(7, new PathfinderGoalLeapAtTarget(this, 0.3F)); this.goalSelector.a(8, new PathfinderGoalOcelotAttack(this)); diff --git a/src/main/java/net/minecraft/server/EntityPanda.java b/src/main/java/net/minecraft/server/EntityPanda.java -index cd41c80f19..91a8671372 100644 +index cd41c80f1..91a867137 100644 --- a/src/main/java/net/minecraft/server/EntityPanda.java +++ b/src/main/java/net/minecraft/server/EntityPanda.java @@ -39,6 +39,7 @@ public class EntityPanda extends EntityAnimal { @@ -1786,7 +1793,7 @@ index cd41c80f19..91a8671372 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java -index 1402087612..976b3c1273 100644 +index 140208761..976b3c127 100644 --- a/src/main/java/net/minecraft/server/EntityParrot.java +++ b/src/main/java/net/minecraft/server/EntityParrot.java @@ -21,7 +21,7 @@ public class EntityParrot extends EntityPerchable implements EntityBird { @@ -1858,7 +1865,7 @@ index 1402087612..976b3c1273 100644 this.goalSelector.a(2, this.goalSit); this.goalSelector.a(2, new PathfinderGoalFollowOwner(this, 1.0D, 5.0F, 1.0F, true)); diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java -index 052a741c0b..ccc1ade4e4 100644 +index 052a741c0..ccc1ade4e 100644 --- a/src/main/java/net/minecraft/server/EntityPhantom.java +++ b/src/main/java/net/minecraft/server/EntityPhantom.java @@ -15,12 +15,14 @@ public class EntityPhantom extends EntityFlying implements IMonster { @@ -1976,7 +1983,7 @@ index 052a741c0b..ccc1ade4e4 100644 EntityPhantom.this.yaw += 180.0F; this.j = 0.1F; diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java -index 8d277566e9..f71d4b58f0 100644 +index 8d277566e..f71d4b58f 100644 --- a/src/main/java/net/minecraft/server/EntityPig.java +++ b/src/main/java/net/minecraft/server/EntityPig.java @@ -17,11 +17,13 @@ public class EntityPig extends EntityAnimal { @@ -2033,7 +2040,7 @@ index 8d277566e9..f71d4b58f0 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java -index 9dd028b558..8d57c5f1b5 100644 +index 9dd028b55..8d57c5f1b 100644 --- a/src/main/java/net/minecraft/server/EntityPigZombie.java +++ b/src/main/java/net/minecraft/server/EntityPigZombie.java @@ -14,6 +14,7 @@ public class EntityPigZombie extends EntityZombie { @@ -2057,7 +2064,7 @@ index 9dd028b558..8d57c5f1b5 100644 protected void a(DifficultyDamageScaler difficultydamagescaler) { this.setSlot(EnumItemSlot.MAINHAND, new ItemStack(Items.GOLDEN_SWORD)); diff --git a/src/main/java/net/minecraft/server/EntityPillager.java b/src/main/java/net/minecraft/server/EntityPillager.java -index 0357c9da93..e4762bf98d 100644 +index 0357c9da9..e4762bf98 100644 --- a/src/main/java/net/minecraft/server/EntityPillager.java +++ b/src/main/java/net/minecraft/server/EntityPillager.java @@ -11,12 +11,14 @@ public class EntityPillager extends EntityIllagerAbstract implements ICrossbow, @@ -2076,7 +2083,7 @@ index 0357c9da93..e4762bf98d 100644 this.goalSelector.a(3, new PathfinderGoalCrossbowAttack<>(this, 1.0D, 8.0F)); this.goalSelector.a(8, new PathfinderGoalRandomStroll(this, 0.6D)); diff --git a/src/main/java/net/minecraft/server/EntityPolarBear.java b/src/main/java/net/minecraft/server/EntityPolarBear.java -index f8e29a02d3..b1652477e8 100644 +index f8e29a02d..b1652477e 100644 --- a/src/main/java/net/minecraft/server/EntityPolarBear.java +++ b/src/main/java/net/minecraft/server/EntityPolarBear.java @@ -15,6 +15,7 @@ public class EntityPolarBear extends EntityAnimal { @@ -2146,7 +2153,7 @@ index f8e29a02d3..b1652477e8 100644 public d() { diff --git a/src/main/java/net/minecraft/server/EntityPufferFish.java b/src/main/java/net/minecraft/server/EntityPufferFish.java -index 98af9a2235..36d88e9ce5 100644 +index 98af9a223..36d88e9ce 100644 --- a/src/main/java/net/minecraft/server/EntityPufferFish.java +++ b/src/main/java/net/minecraft/server/EntityPufferFish.java @@ -15,6 +15,7 @@ public class EntityPufferFish extends EntityFish { @@ -2167,7 +2174,7 @@ index 98af9a2235..36d88e9ce5 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java -index 2ed2d0b6bb..d36a074c89 100644 +index 2ed2d0b6b..0eae51aa6 100644 --- a/src/main/java/net/minecraft/server/EntityRabbit.java +++ b/src/main/java/net/minecraft/server/EntityRabbit.java @@ -15,6 +15,7 @@ public class EntityRabbit extends EntityAnimal { @@ -2188,7 +2195,22 @@ index 2ed2d0b6bb..d36a074c89 100644 this.goalSelector.a(1, new EntityRabbit.PathfinderGoalRabbitPanic(this, 2.2D)); this.goalSelector.a(2, new PathfinderGoalBreed(this, 0.8D)); this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.0D, RecipeItemStack.a(Items.CARROT, Items.GOLDEN_CARROT, Blocks.DANDELION), false)); -@@ -60,7 +62,7 @@ public class EntityRabbit extends EntityAnimal { +@@ -42,6 +44,14 @@ public class EntityRabbit extends EntityAnimal { + + @Override + protected float dp() { ++ // Purpur start ++ if (getRider() != null) { ++ if (getForward() < 0) { ++ setSpeed(getForward() * 2F); ++ } ++ return actualJump ? 0.5F : 0.3F; ++ } ++ // Purpur end + if (!this.positionChanged && (!this.moveController.b() || this.moveController.e() <= this.locY() + 0.5D)) { + PathEntity pathentity = this.navigation.k(); + +@@ -60,7 +70,7 @@ public class EntityRabbit extends EntityAnimal { } @Override @@ -2197,8 +2219,113 @@ index 2ed2d0b6bb..d36a074c89 100644 super.jump(); double d0 = this.moveController.c(); +@@ -92,6 +102,7 @@ public class EntityRabbit extends EntityAnimal { + + } + ++ public void startJumping() { eq(); } // Purpur - OBFHELPER + public void eq() { + this.setJumping(true); + this.bz = 10; +@@ -106,6 +117,12 @@ public class EntityRabbit extends EntityAnimal { + + @Override + public void mobTick() { ++ // Purpur start ++ if (getRider() != null) { ++ handleJumping(); ++ return; ++ } ++ // Purpur end + if (this.bB > 0) { + --this.bB; + } +@@ -156,6 +173,39 @@ public class EntityRabbit extends EntityAnimal { + this.bA = this.onGround; + } + ++ // Purpur start ++ private boolean wasOnGround; ++ private boolean actualJump; ++ ++ private void handleJumping() { ++ if (onGround) { ++ ControllerJumpRabbit jumpController = (ControllerJumpRabbit) getJumpController(); ++ if (!wasOnGround) { ++ setJumping(false); ++ jumpController.setCanJump(false); ++ } ++ if (!jumpController.isJumping()) { ++ if (moveController.b()) { // isUpdating ++ startJumping(); ++ } ++ } else if (!jumpController.canJump()) { ++ jumpController.setCanJump(true); ++ } ++ } ++ wasOnGround = onGround; ++ } ++ ++ @Override ++ public boolean onSpacebar() { ++ if (onGround) { ++ actualJump = true; ++ jump(); ++ actualJump = false; ++ } ++ return true; ++ } ++ // Purpur end ++ + @Override + public void aE() {} + +@@ -472,7 +522,7 @@ public class EntityRabbit extends EntityAnimal { + } + } + +- static class ControllerMoveRabbit extends ControllerMove { ++ static class ControllerMoveRabbit extends net.pl3x.purpur.controller.ControllerMoveWASD { // Purpur + + private final EntityRabbit i; + private double j; +@@ -483,14 +533,14 @@ public class EntityRabbit extends EntityAnimal { + } + + @Override +- public void a() { ++ public void tick() { // Purpur + if (this.i.onGround && !this.i.jumping && !((EntityRabbit.ControllerJumpRabbit) this.i.bq).c()) { + this.i.i(0.0D); + } else if (this.b()) { + this.i.i(this.j); + } + +- super.a(); ++ super.tick(); // Purpur + } + + @Override +@@ -517,14 +567,17 @@ public class EntityRabbit extends EntityAnimal { + this.c = entityrabbit; + } + ++ public boolean isJumping() { return c(); } // Purpur - OBFHELPER + public boolean c() { + return this.a; + } + ++ public boolean canJump() { return d(); } // Purpur - OBFHELPER + public boolean d() { + return this.d; + } + ++ public void setCanJump(boolean canJump) { a(canJump); } // Purpur - OBFHELPER + public void a(boolean flag) { + this.d = flag; + } diff --git a/src/main/java/net/minecraft/server/EntityRavager.java b/src/main/java/net/minecraft/server/EntityRavager.java -index fd25ce1026..5fa0b505b9 100644 +index fd25ce102..5fa0b505b 100644 --- a/src/main/java/net/minecraft/server/EntityRavager.java +++ b/src/main/java/net/minecraft/server/EntityRavager.java @@ -16,6 +16,7 @@ public class EntityRavager extends EntityRaider { @@ -2218,7 +2345,7 @@ index fd25ce1026..5fa0b505b9 100644 this.goalSelector.a(5, new PathfinderGoalRandomStrollLand(this, 0.4D)); this.goalSelector.a(6, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 6.0F)); diff --git a/src/main/java/net/minecraft/server/EntitySalmon.java b/src/main/java/net/minecraft/server/EntitySalmon.java -index 6be29f3078..7347ffcd5c 100644 +index 6be29f307..7347ffcd5 100644 --- a/src/main/java/net/minecraft/server/EntitySalmon.java +++ b/src/main/java/net/minecraft/server/EntitySalmon.java @@ -4,6 +4,7 @@ public class EntitySalmon extends EntityFishSchool { @@ -2230,7 +2357,7 @@ index 6be29f3078..7347ffcd5c 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntitySheep.java b/src/main/java/net/minecraft/server/EntitySheep.java -index e3419a7f47..a065ddb907 100644 +index e3419a7f4..a065ddb90 100644 --- a/src/main/java/net/minecraft/server/EntitySheep.java +++ b/src/main/java/net/minecraft/server/EntitySheep.java @@ -18,7 +18,7 @@ import org.bukkit.inventory.InventoryView; @@ -2269,7 +2396,7 @@ index e3419a7f47..a065ddb907 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 0d2ceff6f2..d687a53a6f 100644 +index 0d2ceff6f..d687a53a6 100644 --- a/src/main/java/net/minecraft/server/EntityShulker.java +++ b/src/main/java/net/minecraft/server/EntityShulker.java @@ -26,6 +26,7 @@ public class EntityShulker extends EntityGolem implements IMonster { @@ -2289,7 +2416,7 @@ index 0d2ceff6f2..d687a53a6f 100644 this.goalSelector.a(4, new EntityShulker.a()); this.goalSelector.a(7, new EntityShulker.e()); diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java -index 08c2a22f7a..021bce7e95 100644 +index 08c2a22f7..021bce7e9 100644 --- a/src/main/java/net/minecraft/server/EntitySilverfish.java +++ b/src/main/java/net/minecraft/server/EntitySilverfish.java @@ -9,12 +9,14 @@ public class EntitySilverfish extends EntityMonster { @@ -2308,7 +2435,7 @@ index 08c2a22f7a..021bce7e95 100644 this.goalSelector.a(4, new PathfinderGoalMeleeAttack(this, 1.0D, false)); this.goalSelector.a(5, new EntitySilverfish.PathfinderGoalSilverfishHideInBlock(this)); diff --git a/src/main/java/net/minecraft/server/EntitySkeleton.java b/src/main/java/net/minecraft/server/EntitySkeleton.java -index 0e78d5c62c..908e51b636 100644 +index 0e78d5c62..908e51b63 100644 --- a/src/main/java/net/minecraft/server/EntitySkeleton.java +++ b/src/main/java/net/minecraft/server/EntitySkeleton.java @@ -4,6 +4,7 @@ public class EntitySkeleton extends EntitySkeletonAbstract { @@ -2320,7 +2447,7 @@ index 0e78d5c62c..908e51b636 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java -index fdeb8980d9..347766e4b0 100644 +index fdeb8980d..347766e4b 100644 --- a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java +++ b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java @@ -28,6 +28,7 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR @@ -2332,7 +2459,7 @@ index fdeb8980d9..347766e4b0 100644 this.goalSelector.a(3, new PathfinderGoalFleeSun(this, 1.0D)); this.goalSelector.a(3, new PathfinderGoalAvoidTarget<>(this, EntityWolf.class, 6.0F, 1.0D, 1.2D)); diff --git a/src/main/java/net/minecraft/server/EntitySkeletonStray.java b/src/main/java/net/minecraft/server/EntitySkeletonStray.java -index 2eb53864f2..eda880703e 100644 +index 2eb53864f..eda880703 100644 --- a/src/main/java/net/minecraft/server/EntitySkeletonStray.java +++ b/src/main/java/net/minecraft/server/EntitySkeletonStray.java @@ -6,6 +6,7 @@ public class EntitySkeletonStray extends EntitySkeletonAbstract { @@ -2344,7 +2471,7 @@ index 2eb53864f2..eda880703e 100644 public static boolean b(EntityTypes entitytypes, GeneratorAccess generatoraccess, EnumMobSpawn enummobspawn, BlockPosition blockposition, Random random) { diff --git a/src/main/java/net/minecraft/server/EntitySkeletonWither.java b/src/main/java/net/minecraft/server/EntitySkeletonWither.java -index 98e042424c..c2b93010a3 100644 +index 98e042424..c2b93010a 100644 --- a/src/main/java/net/minecraft/server/EntitySkeletonWither.java +++ b/src/main/java/net/minecraft/server/EntitySkeletonWither.java @@ -6,6 +6,7 @@ public class EntitySkeletonWither extends EntitySkeletonAbstract { @@ -2356,7 +2483,7 @@ index 98e042424c..c2b93010a3 100644 } diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java -index 2efc18df94..71e8e95d25 100644 +index 2efc18df9..71e8e95d2 100644 --- a/src/main/java/net/minecraft/server/EntitySlime.java +++ b/src/main/java/net/minecraft/server/EntitySlime.java @@ -29,11 +29,13 @@ public class EntitySlime extends EntityInsentient implements IMonster { @@ -2383,7 +2510,7 @@ index 2efc18df94..71e8e95d25 100644 this.setMot(vec3d.x, (double) this.dp(), vec3d.z); diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java -index 53c5057d20..9d99988206 100644 +index 53c5057d2..9d9998820 100644 --- a/src/main/java/net/minecraft/server/EntitySnowman.java +++ b/src/main/java/net/minecraft/server/EntitySnowman.java @@ -13,10 +13,12 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { @@ -2417,7 +2544,7 @@ index 53c5057d20..9d99988206 100644 } diff --git a/src/main/java/net/minecraft/server/EntitySpider.java b/src/main/java/net/minecraft/server/EntitySpider.java -index d02db56595..c38ae96f23 100644 +index d02db5659..c38ae96f2 100644 --- a/src/main/java/net/minecraft/server/EntitySpider.java +++ b/src/main/java/net/minecraft/server/EntitySpider.java @@ -9,11 +9,13 @@ public class EntitySpider extends EntityMonster { @@ -2435,7 +2562,7 @@ index d02db56595..c38ae96f23 100644 this.goalSelector.a(4, new EntitySpider.PathfinderGoalSpiderMeleeAttack(this)); this.goalSelector.a(5, new PathfinderGoalRandomStrollLand(this, 0.8D)); diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java -index 92efe4e7f5..eb74f5d127 100644 +index 92efe4e7f..eb74f5d12 100644 --- a/src/main/java/net/minecraft/server/EntitySquid.java +++ b/src/main/java/net/minecraft/server/EntitySquid.java @@ -21,14 +21,16 @@ public class EntitySquid extends EntityWaterAnimal { @@ -2524,7 +2651,7 @@ index 92efe4e7f5..eb74f5d127 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityTameableAnimal.java b/src/main/java/net/minecraft/server/EntityTameableAnimal.java -index 9b2eea71cc..4ac12ebe2c 100644 +index 9b2eea71c..4ac12ebe2 100644 --- a/src/main/java/net/minecraft/server/EntityTameableAnimal.java +++ b/src/main/java/net/minecraft/server/EntityTameableAnimal.java @@ -110,6 +110,12 @@ public abstract class EntityTameableAnimal extends EntityAnimal { @@ -2541,7 +2668,7 @@ index 9b2eea71cc..4ac12ebe2c 100644 this.setTamed(true); this.setOwnerUUID(entityhuman.getUniqueID()); diff --git a/src/main/java/net/minecraft/server/EntityTropicalFish.java b/src/main/java/net/minecraft/server/EntityTropicalFish.java -index ef8f373bea..b00ae70cb3 100644 +index ef8f373be..b00ae70cb 100644 --- a/src/main/java/net/minecraft/server/EntityTropicalFish.java +++ b/src/main/java/net/minecraft/server/EntityTropicalFish.java @@ -17,6 +17,7 @@ public class EntityTropicalFish extends EntityFishSchool { @@ -2553,7 +2680,7 @@ index ef8f373bea..b00ae70cb3 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java -index dd02cb3485..f18261197c 100644 +index dd02cb348..f18261197 100644 --- a/src/main/java/net/minecraft/server/EntityTurtle.java +++ b/src/main/java/net/minecraft/server/EntityTurtle.java @@ -22,6 +22,7 @@ public class EntityTurtle extends EntityAnimal { @@ -2680,7 +2807,7 @@ index dd02cb3485..f18261197c 100644 if (this.h == ControllerMove.Operation.MOVE_TO && !this.i.getNavigation().m()) { double d0 = this.b - this.i.locX(); diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index dcba6d6c89..b82d53e5da 100644 +index dcba6d6c8..b82d53e5d 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -267,6 +267,10 @@ public class EntityTypes { @@ -2695,7 +2822,7 @@ index dcba6d6c89..b82d53e5da 100644 return getNameComponent().getString(); } diff --git a/src/main/java/net/minecraft/server/EntityVex.java b/src/main/java/net/minecraft/server/EntityVex.java -index cf274666c7..3ea0b47593 100644 +index cf274666c..3ea0b4759 100644 --- a/src/main/java/net/minecraft/server/EntityVex.java +++ b/src/main/java/net/minecraft/server/EntityVex.java @@ -15,6 +15,7 @@ public class EntityVex extends EntityMonster { @@ -2740,7 +2867,7 @@ index cf274666c7..3ea0b47593 100644 Vec3D vec3d = new Vec3D(this.b - EntityVex.this.locX(), this.c - EntityVex.this.locY(), this.d - EntityVex.this.locZ()); double d0 = vec3d.f(); diff --git a/src/main/java/net/minecraft/server/EntityVindicator.java b/src/main/java/net/minecraft/server/EntityVindicator.java -index c974c02e92..e8f76209d7 100644 +index c974c02e9..e8f76209d 100644 --- a/src/main/java/net/minecraft/server/EntityVindicator.java +++ b/src/main/java/net/minecraft/server/EntityVindicator.java @@ -15,12 +15,14 @@ public class EntityVindicator extends EntityIllagerAbstract { @@ -2759,7 +2886,7 @@ index c974c02e92..e8f76209d7 100644 this.goalSelector.a(2, new EntityIllagerAbstract.b(this)); this.goalSelector.a(3, new EntityRaider.a(this, 10.0F)); diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java -index 7b6b1ad17b..9ef1b9e61c 100644 +index 7b6b1ad17..9ef1b9e61 100644 --- a/src/main/java/net/minecraft/server/EntityWitch.java +++ b/src/main/java/net/minecraft/server/EntityWitch.java @@ -22,6 +22,7 @@ public class EntityWitch extends EntityRaider implements IRangedEntity { @@ -2783,7 +2910,7 @@ index 7b6b1ad17b..9ef1b9e61c 100644 this.goalSelector.a(2, new PathfinderGoalRandomStrollLand(this, 1.0D)); this.goalSelector.a(3, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 8.0F)); diff --git a/src/main/java/net/minecraft/server/EntityWither.java b/src/main/java/net/minecraft/server/EntityWither.java -index 8977c3516b..3e6c4eff5d 100644 +index 8977c3516..3e6c4eff5 100644 --- a/src/main/java/net/minecraft/server/EntityWither.java +++ b/src/main/java/net/minecraft/server/EntityWither.java @@ -35,6 +35,7 @@ public class EntityWither extends EntityMonster implements IRangedEntity { @@ -2805,7 +2932,7 @@ index 8977c3516b..3e6c4eff5d 100644 this.goalSelector.a(5, new PathfinderGoalRandomStrollLand(this, 1.0D)); this.goalSelector.a(6, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 8.0F)); diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java -index db15d5e0a2..738a9e1dbc 100644 +index db15d5e0a..738a9e1db 100644 --- a/src/main/java/net/minecraft/server/EntityWolf.java +++ b/src/main/java/net/minecraft/server/EntityWolf.java @@ -27,6 +27,7 @@ public class EntityWolf extends EntityTameableAnimal { @@ -2839,7 +2966,7 @@ index db15d5e0a2..738a9e1dbc 100644 private final EntityWolf j; diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 7d882d9c7e..8f9d252c1e 100644 +index 7d882d9c7..8f9d252c1 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java @@ -37,6 +37,7 @@ public class EntityZombie extends EntityMonster { @@ -2859,7 +2986,7 @@ index 7d882d9c7e..8f9d252c1e 100644 this.goalSelector.a(8, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 8.0F)); this.goalSelector.a(8, new PathfinderGoalRandomLookaround(this)); diff --git a/src/main/java/net/minecraft/server/EntityZombieHusk.java b/src/main/java/net/minecraft/server/EntityZombieHusk.java -index da8446d05d..350aaaeb0d 100644 +index da8446d05..350aaaeb0 100644 --- a/src/main/java/net/minecraft/server/EntityZombieHusk.java +++ b/src/main/java/net/minecraft/server/EntityZombieHusk.java @@ -6,6 +6,7 @@ public class EntityZombieHusk extends EntityZombie { @@ -2871,7 +2998,7 @@ index da8446d05d..350aaaeb0d 100644 public static boolean b(EntityTypes entitytypes, GeneratorAccess generatoraccess, EnumMobSpawn enummobspawn, BlockPosition blockposition, Random random) { diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java -index 8082fa617a..0c51c8dea1 100644 +index 8082fa617..0c51c8dea 100644 --- a/src/main/java/net/minecraft/server/EntityZombieVillager.java +++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java @@ -22,6 +22,7 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo @@ -2892,7 +3019,7 @@ index 8082fa617a..0c51c8dea1 100644 } diff --git a/src/main/java/net/minecraft/server/PathfinderGoalSwell.java b/src/main/java/net/minecraft/server/PathfinderGoalSwell.java -index e07c7674a5..3c077b6870 100644 +index e07c7674a..3c077b687 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalSwell.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalSwell.java @@ -4,8 +4,8 @@ import java.util.EnumSet; @@ -2915,7 +3042,7 @@ index e07c7674a5..3c077b6870 100644 this.a.a(-1); } else if (this.a.h((Entity) this.b) > 49.0D) { diff --git a/src/main/java/net/minecraft/server/Vec3D.java b/src/main/java/net/minecraft/server/Vec3D.java -index 0c7f094e54..212af252be 100644 +index 0c7f094e5..212af252b 100644 --- a/src/main/java/net/minecraft/server/Vec3D.java +++ b/src/main/java/net/minecraft/server/Vec3D.java @@ -89,6 +89,7 @@ public class Vec3D implements IPosition { @@ -2927,7 +3054,7 @@ index 0c7f094e54..212af252be 100644 return new Vec3D(this.x * d0, this.y * d1, this.z * d2); } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 960361ff74..c4955fae62 100644 +index 960361ff7..c4955fae6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -131,6 +131,11 @@ public class PurpurConfig { @@ -3068,7 +3195,7 @@ index 960361ff74..c4955fae62 100644 } 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 0000000000..7c79e23d34 +index 000000000..7c79e23d3 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java @@ -0,0 +1,75 @@ @@ -3149,7 +3276,7 @@ index 0000000000..7c79e23d34 +} 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 0000000000..d64a66274b +index 000000000..cc2956f17 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java @@ -0,0 +1,77 @@ @@ -3171,7 +3298,7 @@ index 0000000000..d64a66274b + // isUpdating + @Override + public boolean b() { -+ return entity.getRider() != null || super.b(); ++ return entity.getRider() != null ? f != 0 || g != 0 : super.b(); + } + + // tick @@ -3232,7 +3359,7 @@ index 0000000000..d64a66274b +} diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java new file mode 100644 -index 0000000000..dc43fef37d +index 000000000..dc43fef37 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java @@ -0,0 +1,62 @@ @@ -3300,7 +3427,7 @@ index 0000000000..dc43fef37d +} diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlyingWithSpacebar.java b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlyingWithSpacebar.java new file mode 100644 -index 0000000000..f8b3310b84 +index 000000000..f8b3310b8 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlyingWithSpacebar.java @@ -0,0 +1,65 @@ @@ -3371,7 +3498,7 @@ index 0000000000..f8b3310b84 +} diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDWater.java b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDWater.java new file mode 100644 -index 0000000000..74ff48259c +index 000000000..74ff48259 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDWater.java @@ -0,0 +1,42 @@ @@ -3419,7 +3546,7 @@ index 0000000000..74ff48259c +} 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 0000000000..e3a9fd9d21 +index 000000000..e3a9fd9d2 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java @@ -0,0 +1,20 @@ @@ -3444,7 +3571,7 @@ index 0000000000..e3a9fd9d21 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 33f56b85ea..ffd1372284 100644 +index 33f56b85e..ffd137228 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -723,5 +723,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -3464,7 +3591,7 @@ index 33f56b85ea..ffd1372284 100644 // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java -index 56c233872b..b19970c883 100644 +index 56c233872..b19970c88 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java @@ -75,4 +75,16 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob { diff --git a/patches/server/0057-Add-killer-rabbit-natural-spawn-chance.patch b/patches/server/0057-Add-killer-rabbit-natural-spawn-chance.patch index 72a5a716d..301709f56 100644 --- a/patches/server/0057-Add-killer-rabbit-natural-spawn-chance.patch +++ b/patches/server/0057-Add-killer-rabbit-natural-spawn-chance.patch @@ -1,4 +1,4 @@ -From 90280796ba7cf39404b3a8432fc6d17f708dbaa6 Mon Sep 17 00:00:00 2001 +From ac76a88f329371e598863969a945bb0a788dc423 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 31 Aug 2019 17:24:41 -0500 Subject: [PATCH] Add killer rabbit natural spawn chance @@ -9,10 +9,10 @@ Subject: [PATCH] Add killer rabbit natural spawn chance 2 files changed, 7 insertions(+) diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java -index d36a074c89..c8de748664 100644 +index 0eae51aa6..d2f5e4e0f 100644 --- a/src/main/java/net/minecraft/server/EntityRabbit.java +++ b/src/main/java/net/minecraft/server/EntityRabbit.java -@@ -321,6 +321,8 @@ public class EntityRabbit extends EntityAnimal { +@@ -369,6 +369,8 @@ public class EntityRabbit extends EntityAnimal { } private int a(GeneratorAccess generatoraccess) { @@ -22,7 +22,7 @@ index d36a074c89..c8de748664 100644 int i = this.random.nextInt(100); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index a511c83cca..1b1e4ca25b 100644 +index a511c83cc..1b1e4ca25 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -219,6 +219,11 @@ public class PurpurConfig { diff --git a/patches/server/0058-Add-option-to-spawn-Toast.patch b/patches/server/0058-Add-option-to-spawn-Toast.patch index 78629054f..f665db18a 100644 --- a/patches/server/0058-Add-option-to-spawn-Toast.patch +++ b/patches/server/0058-Add-option-to-spawn-Toast.patch @@ -1,4 +1,4 @@ -From 705a01f181413de4d7805c15bc2610f9dd928c67 Mon Sep 17 00:00:00 2001 +From 812ac4fe483e705caa989aa9f6effa20240b8d45 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 31 Aug 2019 17:47:11 -0500 Subject: [PATCH] Add option to spawn Toast @@ -9,10 +9,10 @@ Subject: [PATCH] Add option to spawn Toast 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java -index c8de748664..35b8e182c6 100644 +index d2f5e4e0f..2e89745ce 100644 --- a/src/main/java/net/minecraft/server/EntityRabbit.java +++ b/src/main/java/net/minecraft/server/EntityRabbit.java -@@ -300,7 +300,7 @@ public class EntityRabbit extends EntityAnimal { +@@ -348,7 +348,7 @@ public class EntityRabbit extends EntityAnimal { if (!this.hasCustomName()) { this.setCustomName(new ChatMessage(SystemUtils.a("entity", EntityRabbit.bx), new Object[0])); } @@ -21,7 +21,7 @@ index c8de748664..35b8e182c6 100644 this.datawatcher.set(EntityRabbit.bw, i); } -@@ -322,6 +322,7 @@ public class EntityRabbit extends EntityAnimal { +@@ -370,6 +370,7 @@ public class EntityRabbit extends EntityAnimal { private int a(GeneratorAccess generatoraccess) { if (net.pl3x.purpur.PurpurConfig.killerRabbitChance > 0D && net.pl3x.purpur.PurpurConfig.killerRabbitChance > random.nextDouble()) return 99; // Purpur @@ -30,7 +30,7 @@ index c8de748664..35b8e182c6 100644 BiomeBase biomebase = generatoraccess.getBiome(new BlockPosition(this)); int i = this.random.nextInt(100); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 1b1e4ca25b..0537d06811 100644 +index 1b1e4ca25..0537d0681 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -220,8 +220,10 @@ public class PurpurConfig { diff --git a/patches/server/0100-test.patch b/patches/server/0100-test.patch deleted file mode 100644 index 136a64ba9..000000000 --- a/patches/server/0100-test.patch +++ /dev/null @@ -1,164 +0,0 @@ -From 53b6b1ac2ba2d1d5c3ccec7242be7a45b37ea137 Mon Sep 17 00:00:00 2001 -From: William Blake Galbreath -Date: Thu, 16 Jan 2020 22:44:07 -0600 -Subject: [PATCH] test - ---- - .../minecraft/server/EntityInsentient.java | 2 +- - .../net/minecraft/server/EntityRabbit.java | 57 ++++++++++++++++++- - .../purpur/controller/ControllerMoveWASD.java | 2 +- - 3 files changed, 56 insertions(+), 5 deletions(-) - -diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index b223044f5..c98203603 100644 ---- a/src/main/java/net/minecraft/server/EntityInsentient.java -+++ b/src/main/java/net/minecraft/server/EntityInsentient.java -@@ -29,7 +29,7 @@ public abstract class EntityInsentient extends EntityLiving { - protected int f; - protected ControllerLook lookController; - protected ControllerMove moveController; -- protected ControllerJump bq; -+ protected ControllerJump bq; public ControllerJump getJumpController() { return bq; } // Purpur - OBFHELPER - private final EntityAIBodyControl c; - protected NavigationAbstract navigation; - public PathfinderGoalSelector goalSelector; -diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java -index 35b8e182c..2e89745ce 100644 ---- a/src/main/java/net/minecraft/server/EntityRabbit.java -+++ b/src/main/java/net/minecraft/server/EntityRabbit.java -@@ -44,6 +44,14 @@ public class EntityRabbit extends EntityAnimal { - - @Override - protected float dp() { -+ // Purpur start -+ if (getRider() != null) { -+ if (getForward() < 0) { -+ setSpeed(getForward() * 2F); -+ } -+ return actualJump ? 0.5F : 0.3F; -+ } -+ // Purpur end - if (!this.positionChanged && (!this.moveController.b() || this.moveController.e() <= this.locY() + 0.5D)) { - PathEntity pathentity = this.navigation.k(); - -@@ -94,6 +102,7 @@ public class EntityRabbit extends EntityAnimal { - - } - -+ public void startJumping() { eq(); } // Purpur - OBFHELPER - public void eq() { - this.setJumping(true); - this.bz = 10; -@@ -108,6 +117,12 @@ public class EntityRabbit extends EntityAnimal { - - @Override - public void mobTick() { -+ // Purpur start -+ if (getRider() != null) { -+ handleJumping(); -+ return; -+ } -+ // Purpur end - if (this.bB > 0) { - --this.bB; - } -@@ -158,6 +173,39 @@ public class EntityRabbit extends EntityAnimal { - this.bA = this.onGround; - } - -+ // Purpur start -+ private boolean wasOnGround; -+ private boolean actualJump; -+ -+ private void handleJumping() { -+ if (onGround) { -+ ControllerJumpRabbit jumpController = (ControllerJumpRabbit) getJumpController(); -+ if (!wasOnGround) { -+ setJumping(false); -+ jumpController.setCanJump(false); -+ } -+ if (!jumpController.isJumping()) { -+ if (moveController.b()) { // isUpdating -+ startJumping(); -+ } -+ } else if (!jumpController.canJump()) { -+ jumpController.setCanJump(true); -+ } -+ } -+ wasOnGround = onGround; -+ } -+ -+ @Override -+ public boolean onSpacebar() { -+ if (onGround) { -+ actualJump = true; -+ jump(); -+ actualJump = false; -+ } -+ return true; -+ } -+ // Purpur end -+ - @Override - public void aE() {} - -@@ -477,7 +525,7 @@ public class EntityRabbit extends EntityAnimal { - } - } - -- static class ControllerMoveRabbit extends ControllerMove { -+ static class ControllerMoveRabbit extends net.pl3x.purpur.controller.ControllerMoveWASD { // Purpur - - private final EntityRabbit i; - private double j; -@@ -488,14 +536,14 @@ public class EntityRabbit extends EntityAnimal { - } - - @Override -- public void a() { -+ public void tick() { // Purpur - if (this.i.onGround && !this.i.jumping && !((EntityRabbit.ControllerJumpRabbit) this.i.bq).c()) { - this.i.i(0.0D); - } else if (this.b()) { - this.i.i(this.j); - } - -- super.a(); -+ super.tick(); // Purpur - } - - @Override -@@ -522,14 +570,17 @@ public class EntityRabbit extends EntityAnimal { - this.c = entityrabbit; - } - -+ public boolean isJumping() { return c(); } // Purpur - OBFHELPER - public boolean c() { - return this.a; - } - -+ public boolean canJump() { return d(); } // Purpur - OBFHELPER - public boolean d() { - return this.d; - } - -+ public void setCanJump(boolean canJump) { a(canJump); } // Purpur - OBFHELPER - public void a(boolean flag) { - this.d = flag; - } -diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java -index d64a66274..cc2956f17 100644 ---- a/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java -+++ b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java -@@ -16,7 +16,7 @@ public class ControllerMoveWASD extends ControllerMove { - // isUpdating - @Override - public boolean b() { -- return entity.getRider() != null || super.b(); -+ return entity.getRider() != null ? f != 0 || g != 0 : super.b(); - } - - // tick --- -2.24.0 -