Avoid trap in Spigot for light levels outside max height

This commit is contained in:
Mike Primm 2014-12-14 20:49:38 -06:00
parent 33bf77ad41
commit 2aa65bdfed

View file

@ -11,6 +11,7 @@ import java.util.List;
import org.bukkit.Chunk; import org.bukkit.Chunk;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.permissions.Permission; import org.bukkit.permissions.Permission;
import org.bukkit.permissions.PermissionDefault; import org.bukkit.permissions.PermissionDefault;
import org.dynmap.DynmapChunk; import org.dynmap.DynmapChunk;
@ -124,8 +125,11 @@ public class BukkitWorld extends DynmapWorld {
@Override @Override
public int getLightLevel(int x, int y, int z) { public int getLightLevel(int x, int y, int z) {
if(world != null) { if(world != null) {
if ((y >= 0) && (y < this.worldheight)) {
return world.getBlockAt(x, y, z).getLightLevel(); return world.getBlockAt(x, y, z).getLightLevel();
} }
return 0;
}
else { else {
return -1; return -1;
} }
@ -149,8 +153,13 @@ public class BukkitWorld extends DynmapWorld {
@Override @Override
public int getSkyLightLevel(int x, int y, int z) { public int getSkyLightLevel(int x, int y, int z) {
if(world != null) { if(world != null) {
if ((y >= 0) && (y < this.worldheight)) {
return world.getBlockAt(x, y, z).getLightFromSky(); return world.getBlockAt(x, y, z).getLightFromSky();
} }
else {
return 15;
}
}
else { else {
return -1; return -1;
} }