mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-27 04:55:47 +01:00
Fix teleporting entities with vehicles/passengers teleporting you illegally. Fixes BUKKIT-2821
Also some formatting...
This commit is contained in:
parent
fed863049d
commit
71b0510f88
@ -346,7 +346,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@Override
|
||||
public boolean teleport(Location location, PlayerTeleportEvent.TeleportCause cause) {
|
||||
EntityPlayer entity = getHandle();
|
||||
if (entity.netServerHandler == null || entity.netServerHandler.disconnected) return false;
|
||||
|
||||
if (entity.netServerHandler == null || entity.netServerHandler.disconnected) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (entity.vehicle != null || entity.passenger != null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// From = Players current Location
|
||||
Location from = this.getLocation();
|
||||
@ -355,10 +362,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
// Create & Call the Teleport Event.
|
||||
PlayerTeleportEvent event = new PlayerTeleportEvent((Player) this, from, to, cause);
|
||||
server.getPluginManager().callEvent(event);
|
||||
|
||||
// Return False to inform the Plugin that the Teleport was unsuccessful/cancelled.
|
||||
if (event.isCancelled() == true) {
|
||||
if (event.isCancelled()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Update the From Location
|
||||
from = event.getFrom();
|
||||
// Grab the new To Location dependent on whether the event was cancelled.
|
||||
|
Loading…
Reference in New Issue
Block a user