mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Use onMount more
This commit is contained in:
@@ -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
|
||||||
+
|
+
|
||||||
|
|||||||
Reference in New Issue
Block a user