Use onMount more

This commit is contained in:
William Blake Galbreath
2019-06-15 16:23:56 -05:00
parent 6f7de9e0e3
commit c548578b75

View File

@@ -1,20 +1,20 @@
From 6f07fe3a5416402a1f559f3f70328ac6dceed30c Mon Sep 17 00:00:00 2001 From 97c7a12cb8b363b0d51dc2d80c9528718eb29e49 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com> From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Tue, 30 Apr 2019 19:17:21 -0500 Date: Tue, 30 Apr 2019 19:17:21 -0500
Subject: [PATCH] Integrate ridables Subject: [PATCH] Integrate ridables
--- ---
.../server/ControllerLookDolphin.java | 4 +- .../server/ControllerLookDolphin.java | 4 +-
.../java/net/minecraft/server/Entity.java | 25 +++- .../java/net/minecraft/server/Entity.java | 28 +++-
.../net/minecraft/server/EntityAgeable.java | 2 +- .../net/minecraft/server/EntityAgeable.java | 2 +-
.../java/net/minecraft/server/EntityBat.java | 25 ++++ .../java/net/minecraft/server/EntityBat.java | 22 +++
.../net/minecraft/server/EntityBlaze.java | 15 +- .../net/minecraft/server/EntityBlaze.java | 15 +-
.../java/net/minecraft/server/EntityCat.java | 34 +++-- .../java/net/minecraft/server/EntityCat.java | 36 +++--
.../minecraft/server/EntityCaveSpider.java | 1 + .../minecraft/server/EntityCaveSpider.java | 1 +
.../net/minecraft/server/EntityChicken.java | 3 +- .../net/minecraft/server/EntityChicken.java | 3 +-
.../java/net/minecraft/server/EntityCod.java | 1 + .../java/net/minecraft/server/EntityCod.java | 1 +
.../java/net/minecraft/server/EntityCow.java | 1 + .../java/net/minecraft/server/EntityCow.java | 1 +
.../net/minecraft/server/EntityCreeper.java | 50 +++++++ .../net/minecraft/server/EntityCreeper.java | 56 ++++++++
.../net/minecraft/server/EntityDolphin.java | 18 ++- .../net/minecraft/server/EntityDolphin.java | 18 ++-
.../net/minecraft/server/EntityDrowned.java | 7 +- .../net/minecraft/server/EntityDrowned.java | 7 +-
.../minecraft/server/EntityEnderDragon.java | 1 + .../minecraft/server/EntityEnderDragon.java | 1 +
@@ -142,7 +142,7 @@ Subject: [PATCH] Integrate ridables
.../controller/ControllerMoveWASDWater.java | 42 ++++++ .../controller/ControllerMoveWASDWater.java | 42 ++++++
.../craftbukkit/entity/CraftLivingEntity.java | 10 ++ .../craftbukkit/entity/CraftLivingEntity.java | 10 ++
.../bukkit/craftbukkit/entity/CraftMob.java | 12 ++ .../bukkit/craftbukkit/entity/CraftMob.java | 12 ++
138 files changed, 1137 insertions(+), 107 deletions(-) 138 files changed, 1145 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/ControllerLookWASD.java
create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.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 create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java
@@ -171,7 +171,7 @@ index 454627f65..df3d6cf28 100644
this.d = false; this.d = false;
this.a.aM = this.a(this.a.aM, this.h() + 20.0F, this.b); this.a.aM = this.a(this.a.aM, 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 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 352b6dfb3..0a34957d8 100644 index 352b6dfb3..a0e66b7d0 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -78,6 +78,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -78,6 +78,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -221,13 +221,16 @@ index 352b6dfb3..0a34957d8 100644
this.passengers.remove(entity); this.passengers.remove(entity);
entity.j = 60; entity.j = 60;
} }
@@ -3221,4 +3231,17 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -3221,4 +3231,20 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
public void setMot(double d0, double d1, double d2) { public void setMot(double d0, double d1, double d2) {
this.setMot(new Vec3D(d0, d1, d2)); this.setMot(new Vec3D(d0, d1, d2));
} }
+ +
+ // Purpur start + // Purpur start
+ public void onMount(EntityHuman entityhuman) { + public void onMount(EntityHuman entityhuman) {
+ if (this instanceof EntityInsentient) {
+ ((EntityInsentient) this).setGoalTarget(null);
+ }
+ entityhuman.setJumping(false); // fixes jump on mount + entityhuman.setJumping(false); // fixes jump on mount
+ } + }
+ +
@@ -253,7 +256,7 @@ index e87754ef3..553245ebe 100644
} }
diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java
index 4c283c33b..5344a6cf2 100644 index 4c283c33b..3175f6062 100644
--- a/src/main/java/net/minecraft/server/EntityBat.java --- a/src/main/java/net/minecraft/server/EntityBat.java
+++ b/src/main/java/net/minecraft/server/EntityBat.java +++ b/src/main/java/net/minecraft/server/EntityBat.java
@@ -3,6 +3,7 @@ package net.minecraft.server; @@ -3,6 +3,7 @@ package net.minecraft.server;
@@ -289,21 +292,18 @@ index 4c283c33b..5344a6cf2 100644
super.mobTick(); super.mobTick();
BlockPosition blockposition = new BlockPosition(this); BlockPosition blockposition = new BlockPosition(this);
BlockPosition blockposition1 = blockposition.up(); BlockPosition blockposition1 = blockposition.up();
@@ -229,4 +241,17 @@ public class EntityBat extends EntityAmbient { @@ -229,4 +241,14 @@ public class EntityBat extends EntityAmbient {
protected float b(EntityPose entitypose, EntitySize entitysize) { protected float b(EntityPose entitypose, EntitySize entitysize) {
return entitysize.height / 2.0F; return entitysize.height / 2.0F;
} }
+ +
+ // Purpur start + // Purpur start
+ @Override + @Override
+ protected boolean a(EntityHuman entityhuman, EnumHand enumhand) { + public void onMount(EntityHuman entityhuman) {
+ if (isAsleep()) { + if (isAsleep()) {
+ if (CraftEventFactory.handleBatToggleSleepEvent(this, true)) { + setAsleep(false);
+ setAsleep(false); + world.a(null, 1025, new BlockPosition(this).up(), 0);
+ world.a(null, 1025, new BlockPosition(this).up(), 0);
+ }
+ } + }
+ return !isAsleep() && super.a(entityhuman, enumhand);
+ } + }
+ // Purpur end + // Purpur end
} }
@@ -355,7 +355,7 @@ index 15db67de0..325c642f1 100644
return entityliving != null && entityliving.isAlive(); 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 diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java
index 719983077..4fa638b05 100644 index 719983077..ed18dedd6 100644
--- a/src/main/java/net/minecraft/server/EntityCat.java --- a/src/main/java/net/minecraft/server/EntityCat.java
+++ b/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 { @@ -16,7 +16,7 @@ public class EntityCat extends EntityTameableAnimal {
@@ -410,21 +410,23 @@ index 719983077..4fa638b05 100644
this.goalSit.setSitting(!this.isSitting()); this.goalSit.setSitting(!this.isSitting());
} }
} }
@@ -347,6 +349,13 @@ public class EntityCat extends EntityTameableAnimal { @@ -381,6 +383,15 @@ public class EntityCat extends EntityTameableAnimal {
boolean flag = super.a(entityhuman, enumhand);
if (flag) { }
+ // Purpur start
+ if (getRider() != null) {
+ setSitting(false);
+ u(false); // setSleepingWithOwner
+ v(false); // setHeadDown
+ }
+ // Purpur end
this.setPersistent();
}
@@ -394,7 +403,7 @@ public class EntityCat extends EntityTameableAnimal { + // Purpur start
+ public void onMount(EntityHuman entityhuman) {
+ setSitting(false);
+ u(false); // setSleepingWithOwner
+ v(false); // setHeadDown
+ super.onMount(entityhuman);
+ }
+ // Purpur end
+
static class b extends PathfinderGoal {
private final EntityCat a;
@@ -394,7 +405,7 @@ public class EntityCat extends EntityTameableAnimal {
@Override @Override
public boolean a() { public boolean a() {
@@ -433,7 +435,7 @@ index 719983077..4fa638b05 100644
return false; return false;
} else if (this.a.isSitting()) { } else if (this.a.isSitting()) {
return false; return false;
@@ -447,7 +456,7 @@ public class EntityCat extends EntityTameableAnimal { @@ -447,7 +458,7 @@ public class EntityCat extends EntityTameableAnimal {
@Override @Override
public boolean b() { public boolean b() {
@@ -442,7 +444,7 @@ index 719983077..4fa638b05 100644
} }
@Override @Override
@@ -544,8 +553,15 @@ public class EntityCat extends EntityTameableAnimal { @@ -544,8 +555,15 @@ public class EntityCat extends EntityTameableAnimal {
@Override @Override
public boolean a() { public boolean a() {
@@ -459,7 +461,7 @@ index 719983077..4fa638b05 100644
} }
static class a<T extends EntityLiving> extends PathfinderGoalAvoidTarget<T> { static class a<T extends EntityLiving> extends PathfinderGoalAvoidTarget<T> {
@@ -561,12 +577,12 @@ public class EntityCat extends EntityTameableAnimal { @@ -561,12 +579,12 @@ public class EntityCat extends EntityTameableAnimal {
@Override @Override
public boolean a() { public boolean a() {
@@ -532,7 +534,7 @@ index f053ff0e5..16a35418f 100644
@Override @Override
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
index 0c2c3c730..f4b6f6846 100644 index 0c2c3c730..c66aed65e 100644
--- a/src/main/java/net/minecraft/server/EntityCreeper.java --- a/src/main/java/net/minecraft/server/EntityCreeper.java
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java +++ b/src/main/java/net/minecraft/server/EntityCreeper.java
@@ -20,6 +20,7 @@ public class EntityCreeper extends EntityMonster { @@ -20,6 +20,7 @@ public class EntityCreeper extends EntityMonster {
@@ -543,7 +545,7 @@ index 0c2c3c730..f4b6f6846 100644
} }
@Override @Override
@@ -275,4 +276,53 @@ public class EntityCreeper extends EntityMonster { @@ -275,4 +276,59 @@ public class EntityCreeper extends EntityMonster {
public void setCausedHeadDrop() { public void setCausedHeadDrop() {
++this.bD; ++this.bD;
} }
@@ -567,6 +569,12 @@ index 0c2c3c730..f4b6f6846 100644
+ super.mobTick(); + super.mobTick();
+ } + }
+ +
+ @Override
+ public void onMount(EntityHuman entityhuman) {
+ setIgnited(false);
+ super.onMount(entityhuman);
+ }
+
+ private int spacebarCharge = 0; + private int spacebarCharge = 0;
+ private int prevSpacebarCharge = 0; + private int prevSpacebarCharge = 0;
+ private int powerToggleDelay = 0; + private int powerToggleDelay = 0;
@@ -800,7 +808,7 @@ index a28fbdf1e..36229a2c4 100644
this.i.setMot(this.i.getMot().add(0.0D, 0.005D, 0.0D)); 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 diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java
index b363e9ce9..b9f0d1edb 100644 index b363e9ce9..b44e71402 100644
--- a/src/main/java/net/minecraft/server/EntityFox.java --- a/src/main/java/net/minecraft/server/EntityFox.java
+++ b/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 { @@ -48,6 +48,7 @@ public class EntityFox extends EntityAnimal {
@@ -882,15 +890,15 @@ index b363e9ce9..b9f0d1edb 100644
+ public void onMount(EntityHuman entityhuman) { + public void onMount(EntityHuman entityhuman) {
+ setCanPickupLoot(false); + setCanPickupLoot(false);
+ stopActions(); + stopActions();
+ setGoalTarget(null);
+ setChasing(false); + setChasing(false);
+ spit(getEquipment(EnumItemSlot.MAINHAND)); + spit(getEquipment(EnumItemSlot.MAINHAND));
+ + super.onMount(entityhuman);
+ } + }
+ +
+ @Override + @Override
+ public void onDismount(EntityHuman entityhuman) { + public void onDismount(EntityHuman entityhuman) {
+ setCanPickupLoot(true); + setCanPickupLoot(true);
+ super.onDismount(entityhuman);
+ } + }
+ // Purpur end + // Purpur end
+ +