From cfc0e6ba5c3aca2801275d1785a62d7f8a9efad7 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 7 Jul 2019 18:25:05 -0500 Subject: [PATCH] Teleport with vehicle/passenger --- src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java | 4 +++- src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java index 15042943c..45e16f8e9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -494,10 +494,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { Preconditions.checkArgument(location != null, "location"); location.checkFinite(); - if (entity.isVehicle() || entity.dead) { + if (entity.dead) { // Purpur return false; } + if (entity.isVehicle() && !entity.getVehicle().isVehicle()) return entity.getVehicle().getBukkitEntity().teleport(location, cause); // Purpur + // If this entity is riding another entity, we must dismount before teleporting. entity.stopRiding(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java index c94944dfe..992a061a0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -752,7 +752,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return false; } - if (entity.isVehicle()) { + if (false && entity.isVehicle()) { // Purpur return false; } @@ -769,6 +769,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return false; } + if (entity.isVehicle() && !entity.getVehicle().isVehicle()) return entity.getVehicle().getBukkitEntity().teleport(location, cause); // Purpur + // If this player is riding another entity, we must dismount before teleporting. entity.stopRiding(); -- 2.20.1