diff --git a/src/main/java/com/loohp/limbo/Entity/EntityType.java b/src/main/java/com/loohp/limbo/Entity/EntityType.java index 9066a38..fa179f3 100644 --- a/src/main/java/com/loohp/limbo/Entity/EntityType.java +++ b/src/main/java/com/loohp/limbo/Entity/EntityType.java @@ -3,8 +3,9 @@ package com.loohp.limbo.Entity; import java.util.HashMap; import java.util.Map; -import com.loohp.limbo.Utils.NamespacedKey; import com.loohp.limbo.Player.Player; +import com.loohp.limbo.Utils.NamespacedKey; +import com.loohp.limbo.World.World; public enum EntityType { diff --git a/src/main/java/com/loohp/limbo/Location/Location.java b/src/main/java/com/loohp/limbo/Location/Location.java index 60de412..1fd692d 100644 --- a/src/main/java/com/loohp/limbo/Location/Location.java +++ b/src/main/java/com/loohp/limbo/Location/Location.java @@ -7,12 +7,12 @@ import com.loohp.limbo.World.World; public class Location implements Cloneable { - World world; - double x; - double y; - double z; - float yaw; - float pitch; + private World world; + private double x; + private double y; + private double z; + private float yaw; + private float pitch; public Location(World world, double x, double y, double z, float yaw, float pitch) { this.world = world; diff --git a/src/main/java/com/loohp/limbo/Player/Player.java b/src/main/java/com/loohp/limbo/Player/Player.java index cd832ea..c8ca1a3 100644 --- a/src/main/java/com/loohp/limbo/Player/Player.java +++ b/src/main/java/com/loohp/limbo/Player/Player.java @@ -16,9 +16,9 @@ import com.loohp.limbo.Location.Location; import com.loohp.limbo.Server.ClientConnection; import com.loohp.limbo.Server.Packets.PacketPlayOutChat; import com.loohp.limbo.Server.Packets.PacketPlayOutGameState; +import com.loohp.limbo.Server.Packets.PacketPlayOutHeldItemChange; import com.loohp.limbo.Server.Packets.PacketPlayOutPositionAndLook; import com.loohp.limbo.Server.Packets.PacketPlayOutRespawn; -import com.loohp.limbo.Server.Packets.PacketPlayOutHeldItemChange; import com.loohp.limbo.Utils.GameMode; import net.md_5.bungee.api.chat.BaseComponent; diff --git a/src/main/java/com/loohp/limbo/Server/ClientConnection.java b/src/main/java/com/loohp/limbo/Server/ClientConnection.java index b2c3a0f..a42e0e5 100644 --- a/src/main/java/com/loohp/limbo/Server/ClientConnection.java +++ b/src/main/java/com/loohp/limbo/Server/ClientConnection.java @@ -22,8 +22,8 @@ import com.loohp.limbo.Events.PlayerJoinEvent; import com.loohp.limbo.Events.PlayerLoginEvent; import com.loohp.limbo.Events.PlayerMoveEvent; import com.loohp.limbo.Events.PlayerQuitEvent; -import com.loohp.limbo.Events.StatusPingEvent; import com.loohp.limbo.Events.PlayerSelectedSlotChangeEvent; +import com.loohp.limbo.Events.StatusPingEvent; import com.loohp.limbo.File.ServerProperties; import com.loohp.limbo.Location.Location; import com.loohp.limbo.Player.Player; @@ -35,6 +35,7 @@ import com.loohp.limbo.Server.Packets.PacketLoginOutDisconnect; import com.loohp.limbo.Server.Packets.PacketLoginOutLoginSuccess; import com.loohp.limbo.Server.Packets.PacketOut; import com.loohp.limbo.Server.Packets.PacketPlayInChat; +import com.loohp.limbo.Server.Packets.PacketPlayInHeldItemChange; import com.loohp.limbo.Server.Packets.PacketPlayInKeepAlive; import com.loohp.limbo.Server.Packets.PacketPlayInPosition; import com.loohp.limbo.Server.Packets.PacketPlayInPositionAndLook; @@ -43,6 +44,7 @@ import com.loohp.limbo.Server.Packets.PacketPlayInTabComplete; import com.loohp.limbo.Server.Packets.PacketPlayOutDeclareCommands; import com.loohp.limbo.Server.Packets.PacketPlayOutDisconnect; import com.loohp.limbo.Server.Packets.PacketPlayOutEntityMetadata; +import com.loohp.limbo.Server.Packets.PacketPlayOutHeldItemChange; import com.loohp.limbo.Server.Packets.PacketPlayOutLogin; import com.loohp.limbo.Server.Packets.PacketPlayOutPlayerAbilities; import com.loohp.limbo.Server.Packets.PacketPlayOutPlayerAbilities.PlayerAbilityFlags; @@ -59,8 +61,6 @@ import com.loohp.limbo.Server.Packets.PacketStatusInPing; import com.loohp.limbo.Server.Packets.PacketStatusInRequest; import com.loohp.limbo.Server.Packets.PacketStatusOutPong; import com.loohp.limbo.Server.Packets.PacketStatusOutResponse; -import com.loohp.limbo.Server.Packets.PacketPlayInHeldItemChange; -import com.loohp.limbo.Server.Packets.PacketPlayOutHeldItemChange; import com.loohp.limbo.Utils.CustomStringUtils; import com.loohp.limbo.Utils.DataTypeIO; import com.loohp.limbo.Utils.GameMode; diff --git a/src/main/java/com/loohp/limbo/World/LightEngineBlock.java b/src/main/java/com/loohp/limbo/World/LightEngineBlock.java index bc56daf..eb14285 100644 --- a/src/main/java/com/loohp/limbo/World/LightEngineBlock.java +++ b/src/main/java/com/loohp/limbo/World/LightEngineBlock.java @@ -34,17 +34,19 @@ public class LightEngineBlock extends LightEngine { } private void propergate(int level, int x, int y, int z) { - if (blockLightArray[x][y + 16][z] < level) { - blockLightArray[x][y + 16][z] = (byte) level; - if (level > 1) { - propergate(level - 1, x + 1, y, z); - propergate(level - 1, x - 1, y, z); - propergate(level - 1, x, y + 1, z); - propergate(level - 1, x, y - 1, z); - propergate(level - 1, x, y, z + 1); - propergate(level - 1, x, y, z - 1); + try { + if (blockLightArray[x][y + 16][z] < level) { + blockLightArray[x][y + 16][z] = (byte) level; + if (level > 1) { + try {propergate(level - 1, x + 1, y, z);} catch (ArrayIndexOutOfBoundsException e) {} + try {propergate(level - 1, x - 1, y, z);} catch (ArrayIndexOutOfBoundsException e) {} + try {propergate(level - 1, x, y + 1, z);} catch (ArrayIndexOutOfBoundsException e) {} + try {propergate(level - 1, x, y - 1, z);} catch (ArrayIndexOutOfBoundsException e) {} + try {propergate(level - 1, x, y, z + 1);} catch (ArrayIndexOutOfBoundsException e) {} + try {propergate(level - 1, x, y, z - 1);} catch (ArrayIndexOutOfBoundsException e) {} + } } - } + } catch (ArrayIndexOutOfBoundsException e) {} } public List getBlockLightBitMask(int chunkX, int chunkZ) { diff --git a/src/main/java/com/loohp/limbo/World/LightEngineSky.java b/src/main/java/com/loohp/limbo/World/LightEngineSky.java index 76e650e..7192a06 100644 --- a/src/main/java/com/loohp/limbo/World/LightEngineSky.java +++ b/src/main/java/com/loohp/limbo/World/LightEngineSky.java @@ -49,11 +49,11 @@ public class LightEngineSky extends LightEngine { if (skyLightArray[x][y + 16][z] < level) { skyLightArray[x][y + 16][z] = (byte) level; if (level > 1) { - propergate(level - 1, x + 1, y, z); - propergate(level - 1, x - 1, y, z); - propergate(level - 1, x, y + 1, z); - propergate(level - 1, x, y, z + 1); - propergate(level - 1, x, y, z - 1); + try {propergate(level - 1, x + 1, y, z);} catch (ArrayIndexOutOfBoundsException e) {} + try {propergate(level - 1, x - 1, y, z);} catch (ArrayIndexOutOfBoundsException e) {} + try {propergate(level - 1, x, y + 1, z);} catch (ArrayIndexOutOfBoundsException e) {} + try {propergate(level - 1, x, y, z + 1);} catch (ArrayIndexOutOfBoundsException e) {} + try {propergate(level - 1, x, y, z - 1);} catch (ArrayIndexOutOfBoundsException e) {} } } } catch (ArrayIndexOutOfBoundsException e) {}