From da89815b34a96bb0cefe3a1ae47350ddae67bd60 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 --- .../org/bukkit/craftbukkit/entity/CraftEntity.java | 12 +++++++++++- .../org/bukkit/craftbukkit/entity/CraftPlayer.java | 12 +++++++++++- 2 files changed, 22 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..f0ca40095 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -494,10 +494,20 @@ 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; } + // Purpur start + if (entity.getVehicle() != null) { + System.out.println("1"); + if (entity.getVehicle().getVehicle() == null) { + System.out.println("2"); + return entity.getVehicle().getBukkitEntity().teleport(location, cause); + } + } + // Purpur end + // 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..221e5340c 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,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return false; } + // Purpur start + if (entity.getVehicle() != null) { + System.out.println("1"); + if (entity.getVehicle().getVehicle() == null) { + System.out.println("2"); + return entity.getVehicle().getBukkitEntity().teleport(location, cause); + } + } + // Purpur end + // If this player is riding another entity, we must dismount before teleporting. entity.stopRiding(); -- 2.20.1