diff --git a/patches/server/0011-Integrate-ridables.patch b/patches/server/0011-Integrate-ridables.patch index d0cd53559..bb7b05e92 100644 --- a/patches/server/0011-Integrate-ridables.patch +++ b/patches/server/0011-Integrate-ridables.patch @@ -1,4 +1,4 @@ -From 3d00bada2fc60e58a12a65c4bf1295555e45d050 Mon Sep 17 00:00:00 2001 +From 307f171f530a56aab0739c71f513301743f613fc Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Tue, 30 Apr 2019 19:17:21 -0500 Subject: [PATCH] Integrate ridables @@ -8,7 +8,7 @@ Subject: [PATCH] Integrate ridables .../java/net/minecraft/server/Entity.java | 25 +++- .../net/minecraft/server/EntityAgeable.java | 2 +- .../java/net/minecraft/server/EntityBat.java | 25 ++++ - .../net/minecraft/server/EntityBlaze.java | 3 +- + .../net/minecraft/server/EntityBlaze.java | 15 +- .../java/net/minecraft/server/EntityCat.java | 34 +++-- .../minecraft/server/EntityCaveSpider.java | 1 + .../net/minecraft/server/EntityChicken.java | 3 +- @@ -89,6 +89,7 @@ Subject: [PATCH] Integrate ridables .../server/PathfinderGoalLeapAtTarget.java | 2 + .../server/PathfinderGoalLookAtPlayer.java | 2 + .../server/PathfinderGoalMeleeAttack.java | 2 + + .../PathfinderGoalMoveTowardsRestriction.java | 2 + ...PathfinderGoalNearestAttackableTarget.java | 1 + .../server/PathfinderGoalOcelotAttack.java | 2 + .../PathfinderGoalRandomLookaround.java | 2 + @@ -104,7 +105,7 @@ Subject: [PATCH] Integrate ridables .../controller/ControllerMoveWASDWater.java | 42 ++++++ .../craftbukkit/entity/CraftLivingEntity.java | 10 ++ .../bukkit/craftbukkit/entity/CraftMob.java | 12 ++ - 100 files changed, 1061 insertions(+), 107 deletions(-) + 101 files changed, 1075 insertions(+), 107 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 @@ -270,18 +271,21 @@ index 4c283c33b..5344a6cf2 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityBlaze.java b/src/main/java/net/minecraft/server/EntityBlaze.java -index 15db67de0..2e418ee14 100644 +index 15db67de0..325c642f1 100644 --- a/src/main/java/net/minecraft/server/EntityBlaze.java +++ b/src/main/java/net/minecraft/server/EntityBlaze.java -@@ -10,6 +10,7 @@ public class EntityBlaze extends EntityMonster { +@@ -10,6 +10,10 @@ public class EntityBlaze extends EntityMonster { public EntityBlaze(EntityTypes entitytypes, World world) { super(entitytypes, world); -+ this.isRidable = net.pl3x.purpur.PurpurConfig.ridableBlaze; // Purpur ++ // Purpur start ++ this.moveController = new net.pl3x.purpur.controller.ControllerMoveWASDFlyingWithSpacebar(this, 0.3F); ++ this.isRidable = net.pl3x.purpur.PurpurConfig.ridableBlaze; ++ // Purpur end this.a(PathType.WATER, -1.0F); this.a(PathType.LAVA, 8.0F); this.a(PathType.DANGER_FIRE, 0.0F); -@@ -24,7 +25,7 @@ public class EntityBlaze extends EntityMonster { +@@ -24,7 +28,7 @@ public class EntityBlaze extends EntityMonster { this.goalSelector.a(7, new PathfinderGoalRandomStrollLand(this, 1.0D, 0.0F)); this.goalSelector.a(8, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 8.0F)); this.goalSelector.a(8, new PathfinderGoalRandomLookaround(this)); @@ -290,6 +294,29 @@ index 15db67de0..2e418ee14 100644 this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); } +@@ -87,6 +91,14 @@ public class EntityBlaze extends EntityMonster { + this.damageEntity(DamageSource.DROWN, 1.0F); + } + ++ // Purpur start ++ if (getRider() != null) { ++ Vec3D mot = getMot(); ++ setMot(mot.x, getVertical() > 0 ? 0.07D : -0.07D, mot.z); ++ return; ++ } ++ // Purpur end ++ + --this.c; + if (this.c <= 0) { + this.c = 100; +@@ -147,6 +159,7 @@ public class EntityBlaze extends EntityMonster { + + @Override + public boolean a() { ++ if (this.a.getRider() != null) return false; // Purpur + EntityLiving entityliving = this.a.getGoalTarget(); + + return entityliving != null && entityliving.isAlive(); diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java index 719983077..4fa638b05 100644 --- a/src/main/java/net/minecraft/server/EntityCat.java @@ -2435,6 +2462,26 @@ index 702a75087..6d49d8437 100644 EntityLiving entityliving = this.a.getGoalTarget(); return entityliving == null ? false : (!entityliving.isAlive() ? false : (!this.e ? !this.a.getNavigation().n() : (!this.a.a(new BlockPosition(entityliving)) ? false : !(entityliving instanceof EntityHuman) || !entityliving.isSpectator() && !((EntityHuman) entityliving).isCreative()))); +diff --git a/src/main/java/net/minecraft/server/PathfinderGoalMoveTowardsRestriction.java b/src/main/java/net/minecraft/server/PathfinderGoalMoveTowardsRestriction.java +index 7954444a6..5c753ee7c 100644 +--- a/src/main/java/net/minecraft/server/PathfinderGoalMoveTowardsRestriction.java ++++ b/src/main/java/net/minecraft/server/PathfinderGoalMoveTowardsRestriction.java +@@ -18,6 +18,7 @@ public class PathfinderGoalMoveTowardsRestriction extends PathfinderGoal { + + @Override + public boolean a() { ++ if (this.a.getRider() != null) return false; // Purpur + if (this.a.dH()) { + return false; + } else { +@@ -37,6 +38,7 @@ public class PathfinderGoalMoveTowardsRestriction extends PathfinderGoal { + + @Override + public boolean b() { ++ if (this.a.getRider() != null) return false; // Purpur + return !this.a.getNavigation().n(); + } + diff --git a/src/main/java/net/minecraft/server/PathfinderGoalNearestAttackableTarget.java b/src/main/java/net/minecraft/server/PathfinderGoalNearestAttackableTarget.java index 53399e311..d03130fcf 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalNearestAttackableTarget.java