Make ridables patch a little smaller

This commit is contained in:
William Blake Galbreath
2019-05-12 01:17:33 -05:00
parent b084e60f2d
commit fcb57b9c71
2 changed files with 117 additions and 221 deletions

View File

@@ -1,4 +1,4 @@
From d75244e75c3a3b9932e56ee42ea7bce24a332f36 Mon Sep 17 00:00:00 2001
From 00b6ffb99f648b7920bfdcf2a896820f116108c6 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Tue, 30 Apr 2019 19:17:21 -0500
Subject: [PATCH] Integrate ridables
@@ -6,16 +6,16 @@ Subject: [PATCH] Integrate ridables
---
.../server/ControllerLookDolphin.java | 4 +-
.../java/net/minecraft/server/Entity.java | 15 +++-
.../net/minecraft/server/EntityChicken.java | 17 +++-
.../java/net/minecraft/server/EntityCow.java | 14 ++++
.../net/minecraft/server/EntityCreeper.java | 14 ++++
.../net/minecraft/server/EntityDolphin.java | 27 ++++++-
.../net/minecraft/server/EntityDrowned.java | 9 ++-
.../net/minecraft/server/EntityEnderman.java | 15 ++++
.../net/minecraft/server/EntityEndermite.java | 17 +++-
.../java/net/minecraft/server/EntityFish.java | 33 ++++++--
.../minecraft/server/EntityGiantZombie.java | 13 ++++
.../net/minecraft/server/EntityGuardian.java | 37 +++++++--
.../net/minecraft/server/EntityChicken.java | 14 +++-
.../java/net/minecraft/server/EntityCow.java | 11 +++
.../net/minecraft/server/EntityCreeper.java | 11 +++
.../net/minecraft/server/EntityDolphin.java | 24 +++++-
.../net/minecraft/server/EntityDrowned.java | 6 +-
.../net/minecraft/server/EntityEnderman.java | 12 +++
.../net/minecraft/server/EntityEndermite.java | 14 +++-
.../java/net/minecraft/server/EntityFish.java | 30 ++++++--
.../minecraft/server/EntityGiantZombie.java | 11 +++
.../net/minecraft/server/EntityGuardian.java | 34 ++++++--
.../net/minecraft/server/EntityHorse.java | 10 ++-
.../minecraft/server/EntityHorseAbstract.java | 4 +-
.../server/EntityHorseChestedAbstract.java | 18 +++--
@@ -25,32 +25,32 @@ Subject: [PATCH] Integrate ridables
.../minecraft/server/EntityHorseZombie.java | 12 +--
.../net/minecraft/server/EntityHuman.java | 14 +++-
.../minecraft/server/EntityInsentient.java | 39 ++++++++++
.../net/minecraft/server/EntityIronGolem.java | 15 ++++
.../net/minecraft/server/EntityIronGolem.java | 12 +++
.../net/minecraft/server/EntityLiving.java | 28 +++++--
.../net/minecraft/server/EntityLlama.java | 37 ++++++++-
.../minecraft/server/EntityMushroomCow.java | 14 ++++
.../net/minecraft/server/EntityOcelot.java | 14 ++++
.../net/minecraft/server/EntityPhantom.java | 39 ++++++++--
.../java/net/minecraft/server/EntityPig.java | 25 ++++++
.../net/minecraft/server/EntityPolarBear.java | 15 ++++
.../minecraft/server/EntityMushroomCow.java | 11 +++
.../net/minecraft/server/EntityOcelot.java | 11 +++
.../net/minecraft/server/EntityPhantom.java | 36 +++++++--
.../java/net/minecraft/server/EntityPig.java | 11 +++
.../net/minecraft/server/EntityPolarBear.java | 12 +++
.../net/minecraft/server/EntityRabbit.java | 2 +-
.../net/minecraft/server/EntitySheep.java | 14 ++++
.../minecraft/server/EntitySilverfish.java | 15 ++++
.../server/EntitySkeletonAbstract.java | 15 ++++
.../net/minecraft/server/EntitySheep.java | 11 +++
.../minecraft/server/EntitySilverfish.java | 12 +++
.../server/EntitySkeletonAbstract.java | 12 +++
.../net/minecraft/server/EntitySlime.java | 2 +-
.../net/minecraft/server/EntitySnowman.java | 15 ++++
.../net/minecraft/server/EntitySpider.java | 15 ++++
.../net/minecraft/server/EntitySquid.java | 57 ++++++++++++++
.../net/minecraft/server/EntitySnowman.java | 12 +++
.../net/minecraft/server/EntitySpider.java | 12 +++
.../net/minecraft/server/EntitySquid.java | 54 +++++++++++++
.../server/EntityTameableAnimal.java | 6 ++
.../net/minecraft/server/EntityTypes.java | 6 ++
.../java/net/minecraft/server/EntityWolf.java | 14 ++++
.../net/minecraft/server/EntityZombie.java | 15 ++++
.../java/net/minecraft/server/EntityWolf.java | 11 +++
.../net/minecraft/server/EntityZombie.java | 12 +++
.../purpur/controller/ControllerLookWASD.java | 46 +++++++++++
.../purpur/controller/ControllerMoveWASD.java | 77 +++++++++++++++++++
.../controller/ControllerMoveWASDFlying.java | 58 ++++++++++++++
.../controller/ControllerMoveWASDWater.java | 42 ++++++++++
.../craftbukkit/entity/CraftLivingEntity.java | 10 +++
46 files changed, 870 insertions(+), 59 deletions(-)
46 files changed, 789 insertions(+), 58 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
@@ -132,7 +132,7 @@ index 9834a8928..1b38ac55c 100644
entity.j = 60;
}
diff --git a/src/main/java/net/minecraft/server/EntityChicken.java b/src/main/java/net/minecraft/server/EntityChicken.java
index a374c3051..4ab6b4fc4 100644
index a374c3051..600eb1335 100644
--- a/src/main/java/net/minecraft/server/EntityChicken.java
+++ b/src/main/java/net/minecraft/server/EntityChicken.java
@@ -15,6 +15,11 @@ public class EntityChicken extends EntityAnimal {
@@ -156,17 +156,14 @@ index a374c3051..4ab6b4fc4 100644
this.a(SoundEffects.ENTITY_CHICKEN_EGG, 1.0F, (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F);
this.forceDrops = true; // CraftBukkit
this.a((IMaterial) Items.EGG);
@@ -75,6 +80,16 @@ public class EntityChicken extends EntityAnimal {
@@ -75,6 +80,13 @@ public class EntityChicken extends EntityAnimal {
}
+ // Purpur start - processInteract
+ @Override
+ public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ if (super.a(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return super.a(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+ // Purpur end
+
@@ -174,7 +171,7 @@ index a374c3051..4ab6b4fc4 100644
public void b(float f, float f1) {}
diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java
index 4b460a0a7..754133c72 100644
index 4b460a0a7..aa1335b68 100644
--- a/src/main/java/net/minecraft/server/EntityCow.java
+++ b/src/main/java/net/minecraft/server/EntityCow.java
@@ -13,6 +13,11 @@ public class EntityCow extends EntityAnimal {
@@ -189,15 +186,12 @@ index 4b460a0a7..754133c72 100644
}
@Override
@@ -61,6 +66,15 @@ public class EntityCow extends EntityAnimal {
@@ -61,6 +66,12 @@ public class EntityCow extends EntityAnimal {
@Override
public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ // Purpur start - processInteract
+ if (processInteract(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return processInteract(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+
+ private boolean processInteract(EntityHuman entityhuman, EnumHand enumhand) {
@@ -206,7 +200,7 @@ index 4b460a0a7..754133c72 100644
if (itemstack.getItem() == Items.BUCKET && !entityhuman.abilities.canInstantlyBuild && !this.isBaby()) {
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
index 0c2c3c730..e0bfe0345 100644
index 0c2c3c730..fa92d23a8 100644
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
@@ -20,6 +20,11 @@ public class EntityCreeper extends EntityMonster {
@@ -221,15 +215,12 @@ index 0c2c3c730..e0bfe0345 100644
}
@Override
@@ -184,6 +189,15 @@ public class EntityCreeper extends EntityMonster {
@@ -184,6 +189,12 @@ public class EntityCreeper extends EntityMonster {
@Override
protected boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ // Purpur start - processInteract
+ if (processInteract(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return processInteract(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+
+ private boolean processInteract(EntityHuman entityhuman, EnumHand enumhand) {
@@ -238,7 +229,7 @@ index 0c2c3c730..e0bfe0345 100644
if (itemstack.getItem() == Items.FLINT_AND_STEEL) {
diff --git a/src/main/java/net/minecraft/server/EntityDolphin.java b/src/main/java/net/minecraft/server/EntityDolphin.java
index 56394ccdc..07fe13619 100644
index 56394ccdc..e42c16603 100644
--- a/src/main/java/net/minecraft/server/EntityDolphin.java
+++ b/src/main/java/net/minecraft/server/EntityDolphin.java
@@ -20,6 +20,7 @@ public class EntityDolphin extends EntityWaterAnimal {
@@ -249,15 +240,12 @@ index 56394ccdc..07fe13619 100644
}
@Nullable
@@ -224,6 +225,15 @@ public class EntityDolphin extends EntityWaterAnimal {
@@ -224,6 +225,12 @@ public class EntityDolphin extends EntityWaterAnimal {
@Override
protected boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ // Purpur start - processInteract
+ if (processInteract(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return processInteract(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+
+ protected boolean processInteract(EntityHuman entityhuman, EnumHand enumhand) {
@@ -265,7 +253,7 @@ index 56394ccdc..07fe13619 100644
ItemStack itemstack = entityhuman.b(enumhand);
if (!itemstack.isEmpty() && itemstack.getItem().a(TagsItem.FISHES)) {
@@ -519,7 +529,7 @@ public class EntityDolphin extends EntityWaterAnimal {
@@ -519,7 +526,7 @@ public class EntityDolphin extends EntityWaterAnimal {
}
}
@@ -274,7 +262,7 @@ index 56394ccdc..07fe13619 100644
private final EntityDolphin i;
@@ -528,8 +538,21 @@ public class EntityDolphin extends EntityWaterAnimal {
@@ -528,8 +535,21 @@ public class EntityDolphin extends EntityWaterAnimal {
this.i = entitydolphin;
}
@@ -298,27 +286,10 @@ index 56394ccdc..07fe13619 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 449fbee60..52571bada 100644
index 449fbee60..c692ea296 100644
--- a/src/main/java/net/minecraft/server/EntityDrowned.java
+++ b/src/main/java/net/minecraft/server/EntityDrowned.java
@@ -6,7 +6,7 @@ import javax.annotation.Nullable;
public class EntityDrowned extends EntityZombie implements IRangedEntity {
- private boolean bz;
+ private boolean bz; public boolean isSwimmingUp() { return this.bz; } // Purpur - OBFHELPER
protected final NavigationGuardian b;
protected final Navigation c;
@@ -134,6 +134,7 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
return !this.isSwimming();
}
+ public boolean isSwimmingUpOrTargetIsInWater() { return eg(); } // Purpur - OBFHELPER
private boolean eg() {
if (this.bz) {
return true;
@@ -205,7 +206,7 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
@@ -205,7 +205,7 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
this.bz = flag;
}
@@ -327,7 +298,7 @@ index 449fbee60..52571bada 100644
private final EntityDrowned i;
@@ -215,7 +216,7 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
@@ -215,7 +215,7 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
}
@Override
@@ -336,7 +307,7 @@ index 449fbee60..52571bada 100644
EntityLiving entityliving = this.i.getGoalTarget();
if (this.i.eg() && this.i.isInWater()) {
@@ -248,7 +249,7 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
@@ -248,7 +248,7 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
this.i.setMot(this.i.getMot().add(0.0D, -0.008D, 0.0D));
}
@@ -346,7 +317,7 @@ index 449fbee60..52571bada 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
index f08f139e9..434ffc0f4 100644
index f08f139e9..1a8b3392e 100644
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
@@ -24,6 +24,11 @@ public class EntityEnderman extends EntityMonster {
@@ -361,17 +332,14 @@ index f08f139e9..434ffc0f4 100644
}
@Override
@@ -256,6 +261,16 @@ public class EntityEnderman extends EntityMonster {
@@ -256,6 +261,13 @@ public class EntityEnderman extends EntityMonster {
}
+ // Purpur start - processInteract
+ @Override
+ public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ if (super.a(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return super.a(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+ // Purpur end
+
@@ -379,7 +347,7 @@ index f08f139e9..434ffc0f4 100644
this.datawatcher.set(EntityEnderman.d, Optional.ofNullable(iblockdata));
}
diff --git a/src/main/java/net/minecraft/server/EntityEndermite.java b/src/main/java/net/minecraft/server/EntityEndermite.java
index 10b0f9653..09c9be025 100644
index 10b0f9653..a3f01d3af 100644
--- a/src/main/java/net/minecraft/server/EntityEndermite.java
+++ b/src/main/java/net/minecraft/server/EntityEndermite.java
@@ -9,6 +9,11 @@ public class EntityEndermite extends EntityMonster {
@@ -403,7 +371,7 @@ index 10b0f9653..09c9be025 100644
this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));
}
@@ -138,4 +143,14 @@ public class EntityEndermite extends EntityMonster {
@@ -138,4 +143,11 @@ public class EntityEndermite extends EntityMonster {
public EnumMonsterType getMonsterType() {
return EnumMonsterType.ARTHROPOD;
}
@@ -411,15 +379,12 @@ index 10b0f9653..09c9be025 100644
+ // Purpur start - processInteract
+ @Override
+ public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ if (super.a(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return super.a(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityFish.java b/src/main/java/net/minecraft/server/EntityFish.java
index a28fbdf1e..c014c6f6c 100644
index a28fbdf1e..607386791 100644
--- a/src/main/java/net/minecraft/server/EntityFish.java
+++ b/src/main/java/net/minecraft/server/EntityFish.java
@@ -9,6 +9,10 @@ public abstract class EntityFish extends EntityWaterAnimal {
@@ -455,15 +420,12 @@ index a28fbdf1e..c014c6f6c 100644
this.move(EnumMoveType.SELF, this.getMot());
this.setMot(this.getMot().a(0.9D));
if (this.getGoalTarget() == null) {
@@ -117,6 +117,15 @@ public abstract class EntityFish extends EntityWaterAnimal {
@@ -117,6 +117,12 @@ public abstract class EntityFish extends EntityWaterAnimal {
@Override
protected boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ // Purpur start - processInteract
+ if (processInteract(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return processInteract(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+
+ protected boolean processInteract(EntityHuman entityhuman, EnumHand enumhand) {
@@ -471,7 +433,7 @@ index a28fbdf1e..c014c6f6c 100644
ItemStack itemstack = entityhuman.b(enumhand);
if (itemstack.getItem() == Items.WATER_BUCKET && this.isAlive()) {
@@ -162,7 +171,7 @@ public abstract class EntityFish extends EntityWaterAnimal {
@@ -162,7 +168,7 @@ public abstract class EntityFish extends EntityWaterAnimal {
return SoundEffects.ENTITY_FISH_SWIM;
}
@@ -480,7 +442,7 @@ index a28fbdf1e..c014c6f6c 100644
private final EntityFish i;
@@ -171,8 +180,16 @@ public abstract class EntityFish extends EntityWaterAnimal {
@@ -171,8 +177,16 @@ public abstract class EntityFish extends EntityWaterAnimal {
this.i = entityfish;
}
@@ -499,7 +461,7 @@ index a28fbdf1e..c014c6f6c 100644
this.i.setMot(this.i.getMot().add(0.0D, 0.005D, 0.0D));
}
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
index bcbade19e..f45a5c2c7 100644
index bcbade19e..e9962c2a7 100644
--- a/src/main/java/net/minecraft/server/EntityGiantZombie.java
+++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java
@@ -5,7 +5,11 @@ public class EntityGiantZombie extends EntityMonster {
@@ -514,25 +476,22 @@ index bcbade19e..f45a5c2c7 100644
// Purpur end
}
@@ -22,7 +26,16 @@ public class EntityGiantZombie extends EntityMonster {
@@ -22,6 +26,13 @@ public class EntityGiantZombie extends EntityMonster {
this.getAttributeInstance(GenericAttributes.ATTACK_DAMAGE).setValue(50.0D);
}
+ // Purpur start
@Override
+ @Override
+ public boolean a(EntityHuman entityhuman, EnumHand enumhand) { // processInteract
+ if (super.a(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return super.a(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+ // Purpur end
+
@Override
public float a(BlockPosition blockposition, IWorldReader iworldreader) {
return iworldreader.w(blockposition) - 0.5F;
}
diff --git a/src/main/java/net/minecraft/server/EntityGuardian.java b/src/main/java/net/minecraft/server/EntityGuardian.java
index 335416d96..6c41730eb 100644
index 335416d96..62d1f2536 100644
--- a/src/main/java/net/minecraft/server/EntityGuardian.java
+++ b/src/main/java/net/minecraft/server/EntityGuardian.java
@@ -22,8 +22,15 @@ public class EntityGuardian extends EntityMonster {
@@ -570,7 +529,7 @@ index 335416d96..6c41730eb 100644
this.move(EnumMoveType.SELF, this.getMot());
this.setMot(this.getMot().a(0.9D));
if (!this.dY() && this.getGoalTarget() == null) {
@@ -314,7 +322,17 @@ public class EntityGuardian extends EntityMonster {
@@ -314,7 +322,14 @@ public class EntityGuardian extends EntityMonster {
}
@@ -578,10 +537,7 @@ index 335416d96..6c41730eb 100644
+ // Purpur start - processInteract
+ @Override
+ public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ if (super.a(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return super.a(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+ // Purpur end
+
@@ -589,7 +545,7 @@ index 335416d96..6c41730eb 100644
private final EntityGuardian i;
@@ -324,7 +342,16 @@ public class EntityGuardian extends EntityMonster {
@@ -324,7 +339,16 @@ public class EntityGuardian extends EntityMonster {
}
@Override
@@ -878,7 +834,7 @@ index a0c089477..db5284f48 100644
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityIronGolem.java b/src/main/java/net/minecraft/server/EntityIronGolem.java
index 7aebc90af..97a5dcfd0 100644
index 7aebc90af..d9d77ab44 100644
--- a/src/main/java/net/minecraft/server/EntityIronGolem.java
+++ b/src/main/java/net/minecraft/server/EntityIronGolem.java
@@ -9,6 +9,11 @@ public class EntityIronGolem extends EntityGolem {
@@ -893,7 +849,7 @@ index 7aebc90af..97a5dcfd0 100644
}
@Override
@@ -175,4 +180,14 @@ public class EntityIronGolem extends EntityGolem {
@@ -175,4 +180,11 @@ public class EntityIronGolem extends EntityGolem {
return SpawnerCreature.a((IBlockAccess) iworldreader, blockposition2, iblockdata1, iblockdata1.p()) && SpawnerCreature.a((IBlockAccess) iworldreader, blockposition, iworldreader.getType(blockposition), FluidTypes.EMPTY.i()) && iworldreader.i(this);
}
}
@@ -901,10 +857,7 @@ index 7aebc90af..97a5dcfd0 100644
+ // Purpur start - processInteract
+ @Override
+ public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ if (super.a(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return super.a(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+ // Purpur end
}
@@ -1052,7 +1005,7 @@ index f8a8da637..6870fb875 100644
public boolean eI() {
diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java
index d2de3589a..5c113e35c 100644
index d2de3589a..9aa7a8adb 100644
--- a/src/main/java/net/minecraft/server/EntityMushroomCow.java
+++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java
@@ -18,6 +18,11 @@ public class EntityMushroomCow extends EntityCow {
@@ -1067,15 +1020,12 @@ index d2de3589a..5c113e35c 100644
}
@Override
@@ -40,6 +45,15 @@ public class EntityMushroomCow extends EntityCow {
@@ -40,6 +45,12 @@ public class EntityMushroomCow extends EntityCow {
@Override
public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ // Purpur start - processInteract
+ if (processInteract(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return processInteract(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+
+ public boolean processInteract(EntityHuman entityhuman, EnumHand enumhand) {
@@ -1084,7 +1034,7 @@ index d2de3589a..5c113e35c 100644
if (itemstack.getItem() == Items.BOWL && this.getAge() >= 0 && !entityhuman.abilities.canInstantlyBuild) {
diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java
index 1713bead2..21fa1579b 100644
index 1713bead2..3200ac91b 100644
--- a/src/main/java/net/minecraft/server/EntityOcelot.java
+++ b/src/main/java/net/minecraft/server/EntityOcelot.java
@@ -14,6 +14,11 @@ public class EntityOcelot extends EntityAnimal {
@@ -1099,15 +1049,12 @@ index 1713bead2..21fa1579b 100644
}
private boolean isTrusting() {
@@ -127,6 +132,15 @@ public class EntityOcelot extends EntityAnimal {
@@ -127,6 +132,12 @@ public class EntityOcelot extends EntityAnimal {
@Override
public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ // Purpur start - processInteract
+ if (processInteract(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return processInteract(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+
+ public boolean processInteract(EntityHuman entityhuman, EnumHand enumhand) {
@@ -1116,7 +1063,7 @@ index 1713bead2..21fa1579b 100644
if ((this.bD == null || this.bD.h()) && !this.isTrusting() && this.i(itemstack) && entityhuman.h((Entity) this) < 9.0D) {
diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java
index 6aa116f4b..d475cc97e 100644
index 6aa116f4b..15f6d612d 100644
--- a/src/main/java/net/minecraft/server/EntityPhantom.java
+++ b/src/main/java/net/minecraft/server/EntityPhantom.java
@@ -22,6 +22,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
@@ -1132,26 +1079,23 @@ index 6aa116f4b..d475cc97e 100644
@Override
public void movementTick() {
- if (this.isAlive() && this.dS()) {
+ if (this.isAlive() && getRider() == null && this.dS()) { // Purpur - do not set fire if being ridden
+ if (this.isAlive() && getRider() == null && this.isInDaylight()) { // Purpur - do not set fire if being ridden
this.setOnFire(8);
}
@@ -227,6 +228,14 @@ public class EntityPhantom extends EntityFlying implements IMonster {
@@ -227,6 +228,11 @@ public class EntityPhantom extends EntityFlying implements IMonster {
// Paper end
// Purpur start
+ @Override
+ public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ if (super.a(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return super.a(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+
class FindCrystalGoal extends PathfinderGoal {
private final EntityPhantom phantom;
private EntityEnderCrystal crystal;
@@ -605,14 +614,23 @@ public class EntityPhantom extends EntityFlying implements IMonster {
@@ -605,14 +611,23 @@ public class EntityPhantom extends EntityFlying implements IMonster {
}
}
@@ -1177,7 +1121,7 @@ index 6aa116f4b..d475cc97e 100644
}
class d extends EntityAIBodyControl {
@@ -628,7 +646,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
@@ -628,7 +643,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
}
}
@@ -1186,7 +1130,7 @@ index 6aa116f4b..d475cc97e 100644
private float j = 0.1F;
@@ -636,8 +654,19 @@ public class EntityPhantom extends EntityFlying implements IMonster {
@@ -636,8 +651,19 @@ public class EntityPhantom extends EntityFlying implements IMonster {
super(entityinsentient);
}
@@ -1208,7 +1152,7 @@ index 6aa116f4b..d475cc97e 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 616075569..f44bbfcb3 100644
index 616075569..50906c5bd 100644
--- a/src/main/java/net/minecraft/server/EntityPig.java
+++ b/src/main/java/net/minecraft/server/EntityPig.java
@@ -18,6 +18,11 @@ public class EntityPig extends EntityAnimal {
@@ -1223,15 +1167,12 @@ index 616075569..f44bbfcb3 100644
}
@Override
@@ -111,6 +116,15 @@ public class EntityPig extends EntityAnimal {
@@ -111,6 +116,12 @@ public class EntityPig extends EntityAnimal {
@Override
public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ // Purpur start - processInteract
+ if (processInteract(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return processInteract(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+
+ public boolean processInteract(EntityHuman entityhuman, EnumHand enumhand) {
@@ -1239,26 +1180,8 @@ index 616075569..f44bbfcb3 100644
if (!super.a(entityhuman, enumhand)) {
ItemStack itemstack = entityhuman.b(enumhand);
@@ -126,6 +140,17 @@ public class EntityPig extends EntityAnimal {
} else if (itemstack.getItem() == Items.SADDLE) {
itemstack.a(entityhuman, (EntityLiving) this, enumhand);
return true;
+ // Purpur start - get saddle back
+ } else if (hasSaddle() && entityhuman.isSneaking() && itemstack.getItem() == Items.AIR) {
+ setSaddle(false);
+ if (!entityhuman.abilities.canInstantlyBuild) {
+ ItemStack saddle = new ItemStack(Items.SADDLE);
+ if (!entityhuman.inventory.pickup(saddle)) {
+ entityhuman.drop(saddle, false);
+ }
+ }
+ return true;
+ // Purpur end
} else {
return false;
}
diff --git a/src/main/java/net/minecraft/server/EntityPolarBear.java b/src/main/java/net/minecraft/server/EntityPolarBear.java
index 182a3195e..94f561a9d 100644
index 182a3195e..7458f3ff6 100644
--- a/src/main/java/net/minecraft/server/EntityPolarBear.java
+++ b/src/main/java/net/minecraft/server/EntityPolarBear.java
@@ -14,6 +14,11 @@ public class EntityPolarBear extends EntityAnimal {
@@ -1273,17 +1196,14 @@ index 182a3195e..94f561a9d 100644
}
@Override
@@ -154,6 +159,16 @@ public class EntityPolarBear extends EntityAnimal {
@@ -154,6 +159,13 @@ public class EntityPolarBear extends EntityAnimal {
return 0.98F;
}
+ // Purpur start - processInteract
+ @Override
+ public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ if (super.a(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return super.a(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+ // Purpur end
+
@@ -1304,7 +1224,7 @@ index f6fa87158..bd0679e74 100644
double d0 = this.moveController.c();
diff --git a/src/main/java/net/minecraft/server/EntitySheep.java b/src/main/java/net/minecraft/server/EntitySheep.java
index f0cd951ac..311cdb58b 100644
index f0cd951ac..d52a320a6 100644
--- a/src/main/java/net/minecraft/server/EntitySheep.java
+++ b/src/main/java/net/minecraft/server/EntitySheep.java
@@ -55,6 +55,11 @@ public class EntitySheep extends EntityAnimal {
@@ -1319,15 +1239,12 @@ index f0cd951ac..311cdb58b 100644
}
@Override
@@ -144,6 +149,15 @@ public class EntitySheep extends EntityAnimal {
@@ -144,6 +149,12 @@ public class EntitySheep extends EntityAnimal {
@Override
public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ // Purpur start - processInteract
+ if (processInteract(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return processInteract(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+
+ public boolean processInteract(EntityHuman entityhuman, EnumHand enumhand) {
@@ -1336,7 +1253,7 @@ index f0cd951ac..311cdb58b 100644
if (itemstack.getItem() == Items.SHEARS && !this.isSheared() && !this.isBaby()) {
diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java
index d823c6b6d..4bc91b19f 100644
index d823c6b6d..e0a52dbe9 100644
--- a/src/main/java/net/minecraft/server/EntitySilverfish.java
+++ b/src/main/java/net/minecraft/server/EntitySilverfish.java
@@ -10,6 +10,11 @@ public class EntitySilverfish extends EntityMonster {
@@ -1351,17 +1268,14 @@ index d823c6b6d..4bc91b19f 100644
}
@Override
@@ -117,6 +122,16 @@ public class EntitySilverfish extends EntityMonster {
@@ -117,6 +122,13 @@ public class EntitySilverfish extends EntityMonster {
return EnumMonsterType.ARTHROPOD;
}
+ // Purpur start - processInteract
+ @Override
+ public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ if (super.a(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return super.a(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+ // Purpur end
+
@@ -1369,7 +1283,7 @@ index d823c6b6d..4bc91b19f 100644
private EnumDirection h;
diff --git a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
index 85157e80d..94dca9e48 100644
index 85157e80d..4317d9703 100644
--- a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
+++ b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
@@ -24,6 +24,11 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR
@@ -1384,7 +1298,7 @@ index 85157e80d..94dca9e48 100644
}
@Override
@@ -199,4 +204,14 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR
@@ -199,4 +204,11 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR
public double aN() {
return -0.6D;
}
@@ -1392,10 +1306,7 @@ index 85157e80d..94dca9e48 100644
+ // Purpur start - processInteract
+ @Override
+ public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ if (super.a(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return super.a(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+ // Purpur end
}
@@ -1413,7 +1324,7 @@ index d720d0fae..e4f7797ed 100644
this.setMot(vec3d.x, 0.41999998688697815D, vec3d.z);
diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java
index c13dfc6cc..930b4673e 100644
index c13dfc6cc..9997ef494 100644
--- a/src/main/java/net/minecraft/server/EntitySnowman.java
+++ b/src/main/java/net/minecraft/server/EntitySnowman.java
@@ -13,6 +13,11 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity {
@@ -1436,15 +1347,12 @@ index c13dfc6cc..930b4673e 100644
IBlockData iblockdata = Blocks.SNOW.getBlockData();
for (int l = 0; l < 4; ++l) {
@@ -111,6 +117,15 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity {
@@ -111,6 +117,12 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity {
@Override
protected boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ // Purpur start - processInteract
+ if (processInteract(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return processInteract(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+
+ public boolean processInteract(EntityHuman entityhuman, EnumHand enumhand) {
@@ -1453,7 +1361,7 @@ index c13dfc6cc..930b4673e 100644
if (this.hasPumpkin()) { if (itemstack.getItem() == Items.SHEARS) { // Purpur
diff --git a/src/main/java/net/minecraft/server/EntitySpider.java b/src/main/java/net/minecraft/server/EntitySpider.java
index b560a8969..41374df4f 100644
index b560a8969..3089314a8 100644
--- a/src/main/java/net/minecraft/server/EntitySpider.java
+++ b/src/main/java/net/minecraft/server/EntitySpider.java
@@ -9,6 +9,11 @@ public class EntitySpider extends EntityMonster {
@@ -1468,17 +1376,14 @@ index b560a8969..41374df4f 100644
}
@Override
@@ -115,6 +120,16 @@ public class EntitySpider extends EntityMonster {
@@ -115,6 +120,13 @@ public class EntitySpider extends EntityMonster {
this.datawatcher.set(EntitySpider.b, b0);
}
+ // Purpur start - processInteract
+ @Override
+ public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ if (super.a(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return super.a(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+ // Purpur end
+
@@ -1486,7 +1391,7 @@ index b560a8969..41374df4f 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/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java
index 77c0ed42f..e82d4e643 100644
index 77c0ed42f..8dff2065c 100644
--- a/src/main/java/net/minecraft/server/EntitySquid.java
+++ b/src/main/java/net/minecraft/server/EntitySquid.java
@@ -21,6 +21,7 @@ public class EntitySquid extends EntityWaterAnimal {
@@ -1505,24 +1410,21 @@ index 77c0ed42f..e82d4e643 100644
public void a(float f, float f1, float f2) {
this.bH = f;
this.bI = f1;
@@ -184,6 +186,16 @@ public class EntitySquid extends EntityWaterAnimal {
@@ -184,6 +186,13 @@ public class EntitySquid extends EntityWaterAnimal {
return this.bH != 0.0F || this.bI != 0.0F || this.bJ != 0.0F;
}
+ // Purpur start - processInteract
+ @Override
+ public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ if (super.a(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return super.a(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+ // Purpur end
+
class a extends PathfinderGoal {
private int b;
@@ -258,6 +270,39 @@ public class EntitySquid extends EntityWaterAnimal {
@@ -258,6 +267,39 @@ public class EntitySquid extends EntityWaterAnimal {
@Override
public void e() {
@@ -1562,7 +1464,7 @@ index 77c0ed42f..e82d4e643 100644
int i = this.b.cv();
if (i > 100) {
@@ -272,5 +317,17 @@ public class EntitySquid extends EntityWaterAnimal {
@@ -272,5 +314,17 @@ public class EntitySquid extends EntityWaterAnimal {
}
}
@@ -1615,7 +1517,7 @@ index 483c97692..181e92980 100644
if (this.be == null) {
this.be = SystemUtils.a("entity", IRegistry.ENTITY_TYPE.getKey(this));
diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java
index 4167ce8f8..0222399b4 100644
index 4167ce8f8..245d36084 100644
--- a/src/main/java/net/minecraft/server/EntityWolf.java
+++ b/src/main/java/net/minecraft/server/EntityWolf.java
@@ -29,6 +29,11 @@ public class EntityWolf extends EntityTameableAnimal {
@@ -1630,15 +1532,12 @@ index 4167ce8f8..0222399b4 100644
}
@Override
@@ -275,6 +280,15 @@ public class EntityWolf extends EntityTameableAnimal {
@@ -275,6 +280,12 @@ public class EntityWolf extends EntityTameableAnimal {
@Override
public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ // Purpur start - processInteract
+ if (processInteract(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return (!isTamed() && isOwner(entityhuman)) || tryRide(entityhuman, enumhand);
+ return processInteract(entityhuman, enumhand) || ((!isTamed() || isOwner(entityhuman)) && tryRide(entityhuman, enumhand));
+ }
+
+ public boolean processInteract(EntityHuman entityhuman, EnumHand enumhand) {
@@ -1647,7 +1546,7 @@ index 4167ce8f8..0222399b4 100644
Item item = itemstack.getItem();
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
index b06235d46..cff6fb1fb 100644
index b06235d46..f013cfe5b 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -36,6 +36,11 @@ public class EntityZombie extends EntityMonster {
@@ -1662,17 +1561,14 @@ index b06235d46..cff6fb1fb 100644
}
public EntityZombie(World world) {
@@ -460,6 +465,16 @@ public class EntityZombie extends EntityMonster {
@@ -460,6 +465,13 @@ public class EntityZombie extends EntityMonster {
return itemstack.getItem() == Items.EGG && this.isBaby() && this.isPassenger() ? false : super.g(itemstack);
}
+ // Purpur start - processInteract
+ @Override
+ public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ if (super.a(entityhuman, enumhand)) {
+ return true; // vanilla action handled
+ }
+ return tryRide(entityhuman, enumhand);
+ return super.a(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
+ }
+ // Purpur end
+

View File

@@ -1,4 +1,4 @@
From 563416526b8844dbd95d748c683fe8cdf31611cd Mon Sep 17 00:00:00 2001
From 2c8f624c37b9234a4c5f213a2f311dbc46fd6729 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 12 May 2019 00:43:12 -0500
Subject: [PATCH] Make giants naturally spawn and have AI
@@ -55,7 +55,7 @@ index 317db4b12..69ba98b66 100644
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
index f45a5c2c7..3cfbc5c49 100644
index e9962c2a7..f4e087890 100644
--- a/src/main/java/net/minecraft/server/EntityGiantZombie.java
+++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java
@@ -27,6 +27,26 @@ public class EntityGiantZombie extends EntityMonster {
@@ -84,10 +84,10 @@ index f45a5c2c7..3cfbc5c49 100644
+
@Override
public boolean a(EntityHuman entityhuman, EnumHand enumhand) { // processInteract
if (super.a(entityhuman, enumhand)) {
@@ -37,6 +57,6 @@ public class EntityGiantZombie extends EntityMonster {
// Purpur end
return super.a(entityhuman, enumhand) || tryRide(entityhuman, enumhand);
@@ -35,6 +55,6 @@ public class EntityGiantZombie extends EntityMonster {
@Override
public float a(BlockPosition blockposition, IWorldReader iworldreader) {
- return iworldreader.w(blockposition) - 0.5F;
+ return super.a(blockposition, iworldreader); // Purpur - fix light requirements for natural spawns