3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2024-12-21 05:50:05 +01:00

Check world before checking distance. Fixes BUKKIT-1792

Dieser Commit ist enthalten in:
Wesley Wolfe 2012-06-12 10:59:29 -05:00 committet von EvilSeph
Ursprung b7827c4d22
Commit 478654351a

Datei anzeigen

@ -763,6 +763,9 @@ public class CraftWorld implements World {
} }
public void playEffect(Location location, Effect effect, int data, int radius) { public void playEffect(Location location, Effect effect, int data, int radius) {
Validate.notNull(location, "Location cannot be null");
Validate.notNull(effect, "Effect cannot be null");
Validate.notNull(location.getWorld(), "World cannot be null");
int packetData = effect.getId(); int packetData = effect.getId();
Packet61WorldEvent packet = new Packet61WorldEvent(packetData, location.getBlockX(), location.getBlockY(), location.getBlockZ(), data); Packet61WorldEvent packet = new Packet61WorldEvent(packetData, location.getBlockX(), location.getBlockY(), location.getBlockZ(), data);
int distance; int distance;
@ -770,6 +773,7 @@ public class CraftWorld implements World {
for (Player player : getPlayers()) { for (Player player : getPlayers()) {
if (((CraftPlayer) player).getHandle().netServerHandler == null) continue; if (((CraftPlayer) player).getHandle().netServerHandler == null) continue;
if (!location.getWorld().equals(player.getWorld())) continue;
distance = (int) player.getLocation().distanceSquared(location); distance = (int) player.getLocation().distanceSquared(location);
if (distance <= radius) { if (distance <= radius) {