From a0022c54d19adb8433fffeebeed21b3784a13005 Mon Sep 17 00:00:00 2001 From: Bukkit/Spigot Date: Thu, 21 May 2015 17:10:29 +1000 Subject: [PATCH] SPIGOT-859: Ensure plugins cannot set locations without worlds in move events. By: md_5 --- .../main/java/org/bukkit/event/player/PlayerMoveEvent.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/paper-api/src/main/java/org/bukkit/event/player/PlayerMoveEvent.java b/paper-api/src/main/java/org/bukkit/event/player/PlayerMoveEvent.java index fa3b340ed5..8debcda7dc 100644 --- a/paper-api/src/main/java/org/bukkit/event/player/PlayerMoveEvent.java +++ b/paper-api/src/main/java/org/bukkit/event/player/PlayerMoveEvent.java @@ -1,5 +1,6 @@ package org.bukkit.event.player; +import com.google.common.base.Preconditions; import org.bukkit.Location; import org.bukkit.entity.Player; import org.bukkit.event.Cancellable; @@ -63,6 +64,7 @@ public class PlayerMoveEvent extends PlayerEvent implements Cancellable { * @param from New location to mark as the players previous location */ public void setFrom(Location from) { + validateLocation(to); this.from = from; } @@ -81,9 +83,14 @@ public class PlayerMoveEvent extends PlayerEvent implements Cancellable { * @param to New Location this player will move to */ public void setTo(Location to) { + validateLocation(to); this.to = to; } + private void validateLocation(Location loc) { + Preconditions.checkArgument(loc != null, "Cannot use location with null world!"); + } + @Override public HandlerList getHandlers() { return handlers;