From 8deca8c9aaadc4f45b3ed27349ceb51be24a9f1c Mon Sep 17 00:00:00 2001 From: md_5 Date: Thu, 21 May 2015 17:10:29 +1000 Subject: SPIGOT-859: Ensure plugins cannot set locations without worlds in move events. --- src/main/java/org/bukkit/event/player/PlayerMoveEvent.java | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/main/java/org/bukkit/event/player/PlayerMoveEvent.java b/src/main/java/org/bukkit/event/player/PlayerMoveEvent.java index fa3b340e..8debcda7 100644 --- a/src/main/java/org/bukkit/event/player/PlayerMoveEvent.java +++ b/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; -- cgit v1.2.3