From 6d80b52489761c3d29e23d3ad6a8c3e9d17d8a55 Mon Sep 17 00:00:00 2001 From: Thinkofdeath Date: Sun, 11 May 2014 10:03:12 +0100 Subject: [PATCH] Check for plugins setting null locations/worlds diff --git a/src/main/java/org/bukkit/event/player/PlayerMoveEvent.java b/src/main/java/org/bukkit/event/player/PlayerMoveEvent.java index fa3b340..12b2250 100644 --- a/src/main/java/org/bukkit/event/player/PlayerMoveEvent.java +++ b/src/main/java/org/bukkit/event/player/PlayerMoveEvent.java @@ -5,6 +5,8 @@ import org.bukkit.entity.Player; import org.bukkit.event.Cancellable; import org.bukkit.event.HandlerList; +import org.apache.commons.lang.Validate; // Spigot + /** * Holds information for player movement events */ @@ -16,8 +18,10 @@ public class PlayerMoveEvent extends PlayerEvent implements Cancellable { public PlayerMoveEvent(final Player player, final Location from, final Location to) { super(player); - this.from = from; - this.to = to; + // Spigot start + setFrom( from ); + setTo( to ); + // Spigot end } /** @@ -63,6 +67,10 @@ public class PlayerMoveEvent extends PlayerEvent implements Cancellable { * @param from New location to mark as the players previous location */ public void setFrom(Location from) { + // Spigot start + Validate.notNull(from, "from location cannot be null"); + Validate.notNull(from.getWorld(), "from location's world cannot be null"); + // Spigot end this.from = from; } @@ -81,6 +89,10 @@ public class PlayerMoveEvent extends PlayerEvent implements Cancellable { * @param to New Location this player will move to */ public void setTo(Location to) { + // Spigot start + Validate.notNull(to, "to location cannot be null"); + Validate.notNull(to.getWorld(), "to location's world cannot be null"); + // Spigot end this.to = to; } -- 1.9.1