diff --git a/patches/server/0007-Integrate-ridables.patch b/patches/server/0007-Integrate-ridables.patch index 667506bf3..a6b7db1ec 100644 --- a/patches/server/0007-Integrate-ridables.patch +++ b/patches/server/0007-Integrate-ridables.patch @@ -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 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(); + } + } +