diff --git a/src/main/java/net/minecraft/server/PortalTravelAgent.java b/src/main/java/net/minecraft/server/PortalTravelAgent.java index 5d5774e6ed..cb5a0ada00 100644 --- a/src/main/java/net/minecraft/server/PortalTravelAgent.java +++ b/src/main/java/net/minecraft/server/PortalTravelAgent.java @@ -301,11 +301,19 @@ public class PortalTravelAgent { this.a.getServer().getPluginManager().callEvent(event); Location to = event.getTo(); if (event.isCancelled() || to == null || !entity.isAlive()) { - position = from; - velocity = before; + position.setX(from.getX()); + position.setY(from.getY()); + position.setZ(from.getZ()); + position.setYaw(from.getYaw()); + position.setPitch(from.getPitch()); + velocity.copy(before); } else { - position = to; - velocity = event.getAfter(); + position.setX(to.getX()); + position.setY(to.getY()); + position.setZ(to.getZ()); + position.setYaw(to.getYaw()); + position.setPitch(to.getPitch()); + velocity.copy(event.getAfter()); // event.getAfter() will never be null, as setAfter() will cause an NPE if null is passed in } // CraftBukkit end }