Add spacebar control to polar bear

This commit is contained in:
William Blake Galbreath
2019-06-10 19:30:50 -05:00
parent 637e0d660a
commit 67cc353e60

View File

@@ -1,4 +1,4 @@
From d9f9e5e007dc1a0245a60e7b4f93f394f5f6ab0a Mon Sep 17 00:00:00 2001
From f92fc627696ee6a3d0ab4776af2f286fc9ea3708 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
@@ -50,7 +50,7 @@ Subject: [PATCH] Integrate ridables
.../java/net/minecraft/server/EntityPig.java | 34 ++---
.../net/minecraft/server/EntityPigZombie.java | 1 +
.../net/minecraft/server/EntityPillager.java | 1 +
.../net/minecraft/server/EntityPolarBear.java | 1 +
.../net/minecraft/server/EntityPolarBear.java | 29 ++++
.../minecraft/server/EntityPufferFish.java | 1 +
.../net/minecraft/server/EntityRabbit.java | 3 +-
.../net/minecraft/server/EntityRavager.java | 1 +
@@ -86,7 +86,7 @@ Subject: [PATCH] Integrate ridables
.../controller/ControllerMoveWASDWater.java | 42 ++++++
.../craftbukkit/entity/CraftLivingEntity.java | 10 ++
.../bukkit/craftbukkit/entity/CraftMob.java | 12 ++
82 files changed, 838 insertions(+), 92 deletions(-)
82 files changed, 866 insertions(+), 92 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
@@ -1507,10 +1507,19 @@ index 845f7ac32..c945f52f2 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityPolarBear.java b/src/main/java/net/minecraft/server/EntityPolarBear.java
index 182a3195e..caae82e16 100644
index 182a3195e..8ecd2a6f2 100644
--- a/src/main/java/net/minecraft/server/EntityPolarBear.java
+++ b/src/main/java/net/minecraft/server/EntityPolarBear.java
@@ -14,6 +14,7 @@ public class EntityPolarBear extends EntityAnimal {
@@ -1,5 +1,8 @@
package net.minecraft.server;
+import net.pl3x.purpur.controller.ControllerMoveWASD;
+import org.bukkit.scheduler.BukkitRunnable;
+
import java.util.Iterator;
import java.util.List;
import java.util.function.Predicate;
@@ -14,6 +17,7 @@ public class EntityPolarBear extends EntityAnimal {
public EntityPolarBear(EntityTypes<? extends EntityPolarBear> entitytypes, World world) {
super(entitytypes, world);
@@ -1518,6 +1527,57 @@ index 182a3195e..caae82e16 100644
}
@Override
@@ -116,6 +120,11 @@ public class EntityPolarBear extends EntityAnimal {
--this.bD;
}
+ // Purpur start
+ if (isStanding() && --standTimer <= 0) {
+ setStanding(false);
+ }
+ // Purpur end
}
@Override
@@ -141,11 +150,14 @@ public class EntityPolarBear extends EntityAnimal {
return flag;
}
+ public boolean isStanding() { return dW(); } // Purpur - OBFHELPER
public boolean dW() {
return (Boolean) this.datawatcher.get(EntityPolarBear.bz);
}
+ public void setStanding(boolean standing) { r(standing); } // Purpur - OBFHELPER
public void r(boolean flag) {
+ standTimer = flag ? 20 : -1; // Purpur
this.datawatcher.set(EntityPolarBear.bz, flag);
}
@@ -165,6 +177,23 @@ public class EntityPolarBear extends EntityAnimal {
return (GroupDataEntity) groupdataentity;
}
+ // Purpur start
+ private int standTimer = 0;
+
+ @Override
+ public boolean onSpacebar() {
+ if (!isStanding()) {
+ EntityHuman rider = getRider();
+ if (rider != null && rider.getForward() == 0 && rider.getStrafe() == 0) {
+ setStanding(true);
+ a(SoundEffects.ENTITY_POLAR_BEAR_WARNING, 1.0F, 1.0F); // playSound
+ }
+ }
+ return false;
+ }
+
+ // Purpur end
+
class e extends PathfinderGoalPanic {
public e() {
diff --git a/src/main/java/net/minecraft/server/EntityPufferFish.java b/src/main/java/net/minecraft/server/EntityPufferFish.java
index 153d34120..7a008627b 100644
--- a/src/main/java/net/minecraft/server/EntityPufferFish.java