diff --git a/modules/io.github.xenfork.freeworld.client/src/main/java/io/github/xenfork/freeworld/client/render/world/ChunkCompileTask.java b/modules/io.github.xenfork.freeworld.client/src/main/java/io/github/xenfork/freeworld/client/render/world/ChunkCompileTask.java index b1d1d47..e705084 100644 --- a/modules/io.github.xenfork.freeworld.client/src/main/java/io/github/xenfork/freeworld/client/render/world/ChunkCompileTask.java +++ b/modules/io.github.xenfork.freeworld.client/src/main/java/io/github/xenfork/freeworld/client/render/world/ChunkCompileTask.java @@ -52,7 +52,7 @@ public ChunkVertexData call() throws Exception { final int nx = x + direction.axisX(); final int ny = y + direction.axisY(); final int nz = z + direction.axisZ(); - if (chunk.isInBound(nx, ny, nz) && chunk.getBlockType(nx, ny, nz).air()) { + if (chunk.getBlockType(nx, ny, nz).air()) { gameRenderer.blockRenderer().renderBlockFace( builder, chunk.getBlockType(x, y, z), diff --git a/modules/io.github.xenfork.freeworld.client/src/main/java/io/github/xenfork/freeworld/client/world/chunk/ClientChunk.java b/modules/io.github.xenfork.freeworld.client/src/main/java/io/github/xenfork/freeworld/client/world/chunk/ClientChunk.java index 3abd5f5..8c3dd84 100644 --- a/modules/io.github.xenfork.freeworld.client/src/main/java/io/github/xenfork/freeworld/client/world/chunk/ClientChunk.java +++ b/modules/io.github.xenfork.freeworld.client/src/main/java/io/github/xenfork/freeworld/client/world/chunk/ClientChunk.java @@ -90,6 +90,13 @@ public void markDirty() { @Override public void close(GLStateMgr gl) { + if (future != null && future.state() == Future.State.SUCCESS) { + try { + future.get().arena().close(); + } catch (InterruptedException | ExecutionException e) { + throw new RuntimeException(e); + } + } gl.deleteVertexArrays(vao); gl.deleteBuffers(vbo, ebo); }