Paper/Bukkit-Patches/0029-Check-for-plugins-setting-null-locations-worlds.patch

58 lines
2 KiB
Diff

From 6d80b52489761c3d29e23d3ad6a8c3e9d17d8a55 Mon Sep 17 00:00:00 2001
From: Thinkofdeath <thinkofdeath@spigotmc.org>
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