Fix dolphin mount cooldown

This commit is contained in:
William Blake Galbreath
2019-09-01 13:39:24 -05:00
parent 1840cf270d
commit af1d1ad863

View File

@@ -1,11 +1,11 @@
From 676acbfb7f8a5a1ca13643a7c5509e34309749b1 Mon Sep 17 00:00:00 2001
From dffe3b8944d40fb3abe77cbfc920ae0631dbb86a 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
---
.../server/ControllerLookDolphin.java | 4 +-
.../java/net/minecraft/server/Entity.java | 35 ++++-
.../java/net/minecraft/server/Entity.java | 37 +++++-
.../net/minecraft/server/EntityAgeable.java | 2 +-
.../java/net/minecraft/server/EntityBat.java | 21 +++
.../net/minecraft/server/EntityBlaze.java | 15 ++-
@@ -15,7 +15,7 @@ Subject: [PATCH] Integrate ridables
.../java/net/minecraft/server/EntityCod.java | 1 +
.../java/net/minecraft/server/EntityCow.java | 2 +
.../net/minecraft/server/EntityCreeper.java | 57 ++++++++
.../net/minecraft/server/EntityDolphin.java | 19 ++-
.../net/minecraft/server/EntityDolphin.java | 21 ++-
.../net/minecraft/server/EntityDrowned.java | 7 +-
.../minecraft/server/EntityEnderDragon.java | 1 +
.../net/minecraft/server/EntityEnderman.java | 2 +
@@ -83,7 +83,7 @@ Subject: [PATCH] Integrate ridables
.../pathfinder/PathfinderGoalHasRider.java | 20 +++
.../craftbukkit/entity/CraftLivingEntity.java | 10 ++
.../bukkit/craftbukkit/entity/CraftMob.java | 12 ++
79 files changed, 1256 insertions(+), 114 deletions(-)
79 files changed, 1258 insertions(+), 116 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
@@ -113,7 +113,7 @@ index 454627f65..df3d6cf28 100644
this.d = false;
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
index dd787b7b6..fe7aa9d81 100644
index dd787b7b6..27ae09757 100644
--- a/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
@@ -124,16 +124,18 @@ index dd787b7b6..fe7aa9d81 100644
Throwable addedToWorldStack; // Paper - entity debug
public CraftEntity getBukkitEntity() {
if (bukkitEntity == null) {
@@ -100,7 +101,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -100,8 +101,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
private final EntityTypes<?> f;
private int id;
public boolean i; public final boolean blocksEntitySpawning() { return this.i; } // Paper - OBFHELPER
+ public boolean isRidable = false;// Purpur
public final List<Entity> passengers;
- protected int j;
+ private EntityHuman rider; public EntityHuman getRider() { return rider; } // Purpur
protected int j;
+ protected int j; public int getRideCooldown() { return j; } // Purpur - OBFHELPER
private Entity vehicle;
public boolean attachedToPlayer;
public World world;
@@ -134,7 +137,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
public double H;
public double I;
@@ -431,7 +433,7 @@ index 1e3782122..c0b066d18 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java
index 0c00a86a8..2e3d6b657 100644
index 2446e61c2..5c8fef33b 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 {
@@ -527,7 +529,7 @@ index bcb727630..038ff1d93 100644
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityDolphin.java b/src/main/java/net/minecraft/server/EntityDolphin.java
index 063fb7053..a3972b8e6 100644
index 063fb7053..2dfcea548 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 {
@@ -546,6 +548,15 @@ index 063fb7053..a3972b8e6 100644
this.goalSelector.a(1, new EntityDolphin.b(this));
this.goalSelector.a(2, new EntityDolphin.c(this, 4.0D));
this.goalSelector.a(4, new PathfinderGoalRandomSwim(this, 1.0D, 10));
@@ -163,7 +165,7 @@ public class EntityDolphin extends EntityWaterAnimal {
@Override
protected boolean n(Entity entity) {
- return true;
+ return getRideCooldown() <= 0; // Purpur - make dolphin honor ride cooldown like all other non-boss mobs
}
@Override
@@ -524,7 +526,7 @@ public class EntityDolphin extends EntityWaterAnimal {
}
}
@@ -560,8 +571,7 @@ index 063fb7053..a3972b8e6 100644
}
+ // Purpur start
@Override
- public void a() {
+ @Override
+ public void tick(EntityHuman rider) {
+ if (this.i.getAirTicks() < 150) {
+ // if drowning override player WASD controls to find air
@@ -572,7 +582,8 @@ index 063fb7053..a3972b8e6 100644
+ }
+ }
+
+ @Override
@Override
- public void a() {
+ public void tick() {
+ // Purpur end
if (this.i.isInWater()) {
@@ -1093,7 +1104,7 @@ index 1160929e1..3318e274f 100644
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index 5d3e48ba6..2a943f316 100644
index cd73cde8d..8b5ceec8d 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -362,9 +362,21 @@ public abstract class EntityHuman extends EntityLiving {
@@ -2660,7 +2671,7 @@ index d2bd3bb31..e67980b69 100644
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 0bfcef2d3..61adf7d63 100644
index 960361ff7..d3409155e 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 {