mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Make spiders ridable
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From a64d82bf60a0044ead61b859b66502aca110e2fd Mon Sep 17 00:00:00 2001
|
||||
From 6dd27fbce0f0f793d7c2727bbdd9acc8d1bdc52d 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
|
||||
@@ -18,9 +18,9 @@ Subject: [PATCH] Integrate ridables
|
||||
.../minecraft/server/EntityHorseSkeleton.java | 15 ++--
|
||||
.../minecraft/server/EntityHorseZombie.java | 12 +--
|
||||
.../net/minecraft/server/EntityHuman.java | 14 +++-
|
||||
.../minecraft/server/EntityInsentient.java | 35 +++++++++
|
||||
.../minecraft/server/EntityInsentient.java | 39 ++++++++++
|
||||
.../net/minecraft/server/EntityIronGolem.java | 15 ++++
|
||||
.../net/minecraft/server/EntityLiving.java | 19 ++++-
|
||||
.../net/minecraft/server/EntityLiving.java | 20 ++++-
|
||||
.../net/minecraft/server/EntityLlama.java | 37 ++++++++-
|
||||
.../minecraft/server/EntityMushroomCow.java | 14 ++++
|
||||
.../net/minecraft/server/EntityOcelot.java | 14 ++++
|
||||
@@ -28,13 +28,14 @@ Subject: [PATCH] Integrate ridables
|
||||
.../net/minecraft/server/EntityPolarBear.java | 15 ++++
|
||||
.../net/minecraft/server/EntitySheep.java | 14 ++++
|
||||
.../net/minecraft/server/EntitySnowman.java | 15 ++++
|
||||
.../net/minecraft/server/EntitySpider.java | 15 ++++
|
||||
.../server/EntityTameableAnimal.java | 6 ++
|
||||
.../net/minecraft/server/EntityTypes.java | 6 ++
|
||||
.../java/net/minecraft/server/EntityWolf.java | 14 ++++
|
||||
.../purpur/controller/ControllerLookWASD.java | 44 +++++++++++
|
||||
.../purpur/controller/ControllerMoveWASD.java | 78 +++++++++++++++++++
|
||||
.../purpur/controller/ControllerMoveWASD.java | 77 +++++++++++++++++++
|
||||
.../craftbukkit/entity/CraftLivingEntity.java | 12 +++
|
||||
30 files changed, 488 insertions(+), 28 deletions(-)
|
||||
31 files changed, 507 insertions(+), 28 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
|
||||
|
||||
@@ -449,7 +450,7 @@ index fdbe9a2a..3fbfa6d7 100644
|
||||
this.setSneaking(false);
|
||||
} else {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index d1ec201d..6da1b350 100644
|
||||
index d1ec201d..ae9d0585 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -515,6 +515,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -460,7 +461,7 @@ index d1ec201d..6da1b350 100644
|
||||
public void o(float f) {
|
||||
super.o(f);
|
||||
this.r(f);
|
||||
@@ -1310,4 +1311,38 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -1310,4 +1311,42 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -497,6 +498,10 @@ index d1ec201d..6da1b350 100644
|
||||
+ }
|
||||
+ return entityhuman.mounting = false;
|
||||
+ }
|
||||
+
|
||||
+ public boolean onSpacebar() {
|
||||
+ return false;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityIronGolem.java b/src/main/java/net/minecraft/server/EntityIronGolem.java
|
||||
@@ -531,7 +536,7 @@ index ae269270..8140fa12 100644
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 4d5459d2..df9568fc 100644
|
||||
index 4d5459d2..499d9210 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -90,9 +90,9 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -565,7 +570,15 @@ index 4d5459d2..df9568fc 100644
|
||||
}
|
||||
|
||||
protected void cb() {
|
||||
@@ -2082,10 +2090,12 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -1838,6 +1846,7 @@ public abstract class EntityLiving extends Entity {
|
||||
return 0.42F;
|
||||
}
|
||||
|
||||
+ public void jump() { cH(); } // Purpur - OBFHELPER
|
||||
protected void cH() {
|
||||
this.motY = (double) this.cG();
|
||||
if (this.hasEffect(MobEffects.JUMP)) {
|
||||
@@ -2082,10 +2091,12 @@ public abstract class EntityLiving extends Entity {
|
||||
this.aK += this.aJ;
|
||||
}
|
||||
|
||||
@@ -578,7 +591,7 @@ index 4d5459d2..df9568fc 100644
|
||||
public void o(float f) {
|
||||
this.bI = f;
|
||||
}
|
||||
@@ -2499,6 +2509,7 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -2499,6 +2510,7 @@ public abstract class EntityLiving extends Entity {
|
||||
this.fallDistance = 0.0F;
|
||||
}
|
||||
|
||||
@@ -863,6 +876,39 @@ index 277ef077..0a7c8872 100644
|
||||
ItemStack itemstack = entityhuman.b(enumhand);
|
||||
|
||||
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 9ef1c9ba..8ac330dc 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntitySpider.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntitySpider.java
|
||||
@@ -10,6 +10,11 @@ public class EntitySpider extends EntityMonster {
|
||||
protected EntitySpider(EntityTypes<?> entitytypes, World world) {
|
||||
super(entitytypes, world);
|
||||
this.setSize(1.4F, 0.9F);
|
||||
+ // Purpur start
|
||||
+ this.moveController = new net.pl3x.purpur.controller.ControllerMoveWASD(this);
|
||||
+ this.lookController = new net.pl3x.purpur.controller.ControllerLookWASD(this);
|
||||
+ this.canBeRiddenInWater = true;
|
||||
+ // Purpur end
|
||||
}
|
||||
|
||||
public EntitySpider(World world) {
|
||||
@@ -106,6 +111,16 @@ public class EntitySpider extends EntityMonster {
|
||||
this.datawatcher.set(EntitySpider.a, 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);
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@Nullable
|
||||
public GroupDataEntity prepare(DifficultyDamageScaler difficultydamagescaler, @Nullable GroupDataEntity groupdataentity, @Nullable NBTTagCompound nbttagcompound) {
|
||||
Object object = super.prepare(difficultydamagescaler, groupdataentity, nbttagcompound);
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTameableAnimal.java b/src/main/java/net/minecraft/server/EntityTameableAnimal.java
|
||||
index 5262ede2..d3d4c5df 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTameableAnimal.java
|
||||
@@ -981,10 +1027,10 @@ index 00000000..22e45e81
|
||||
+}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java
|
||||
new file mode 100644
|
||||
index 00000000..e1cec806
|
||||
index 00000000..4f7dec9b
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java
|
||||
@@ -0,0 +1,78 @@
|
||||
@@ -0,0 +1,77 @@
|
||||
+package net.pl3x.purpur.controller;
|
||||
+
|
||||
+import net.minecraft.server.ControllerMove;
|
||||
@@ -1049,10 +1095,9 @@ index 00000000..e1cec806
|
||||
+ ((ControllerLookWASD) entity.getControllerLook()).setOffsets(yaw - rider.yaw, 0);
|
||||
+
|
||||
+ if (rider.isJumping()) {
|
||||
+ //RidableSpacebarEvent event = new RidableSpacebarEvent(ridable);
|
||||
+ //Bukkit.getPluginManager().callEvent(event);
|
||||
+ if (/*!event.isCancelled() && !event.isHandled() && !ridable.onSpacebar() &&*/ entity.onGround) {
|
||||
+ entity.getControllerJump().jump();
|
||||
+ //RidableSpacebarEvent event = new RidableSpacebarEvent(entity);
|
||||
+ if (/*event.callEvent() && !event.isHandled() &&*/ !entity.onSpacebar() && entity.onGround) {
|
||||
+ entity.jump();
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
|
||||
Reference in New Issue
Block a user