Archiviert
13
0

Remove the null world/locations patches

These isn't help catch the plugin causing the issues and actually broke some plugins in the process
Dieser Commit ist enthalten in:
Thinkofdeath 2014-05-13 14:03:01 +01:00
Ursprung 14ba978fd2
Commit fbdc043a85
2 geänderte Dateien mit 0 neuen und 83 gelöschten Zeilen

Datei anzeigen

@ -1,57 +0,0 @@
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

Datei anzeigen

@ -1,26 +0,0 @@
From 2e92cd9a12cc8aacc66f1456420cf90cb09dcf03 Mon Sep 17 00:00:00 2001
From: Thinkofdeath <thinkofdeath@spigotmc.org>
Date: Sun, 11 May 2014 11:24:20 +0100
Subject: [PATCH] Don't fire PlayerPortalEvent when we don't have a target
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index a4a59ee..a033f07 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -609,6 +609,12 @@ public abstract class PlayerList {
}
TravelAgent agent = exit != null ? (TravelAgent) ((CraftWorld) exit.getWorld()).getHandle().getTravelAgent() : org.bukkit.craftbukkit.CraftTravelAgent.DEFAULT; // return arbitrary TA to compensate for implementation dependent plugins
+ // Spigot start
+ if ( exit == null )
+ {
+ return;
+ }
+ // Spigot end
PlayerPortalEvent event = new PlayerPortalEvent(entityplayer.getBukkitEntity(), enter, exit, agent, cause);
event.useTravelAgent(useTravelAgent);
Bukkit.getServer().getPluginManager().callEvent(event);
--
1.9.1