diff --git a/src/js/net/minecraft/client/Minecraft.js b/src/js/net/minecraft/client/Minecraft.js index 70a79ed..5c06ae3 100644 --- a/src/js/net/minecraft/client/Minecraft.js +++ b/src/js/net/minecraft/client/Minecraft.js @@ -56,7 +56,11 @@ window.Minecraft = class { init() { // Load spawn chunk - this.world.getChunkAt(0, 0); + for (let x = -WorldRenderer.RENDER_DISTANCE; x <= WorldRenderer.RENDER_DISTANCE; x++) { + for (let z = -WorldRenderer.RENDER_DISTANCE; z <= WorldRenderer.RENDER_DISTANCE; z++) { + this.world.getChunkAt(x, z); + } + } this.player.respawn(); // Start render loop @@ -109,7 +113,7 @@ window.Minecraft = class { onRender(partialTicks) { // Player rotation - if (this.hasInGameFocus()) { + if (!this.isPaused()) { this.player.turn(this.window.mouseMotionX, this.window.mouseMotionY); this.window.mouseMotionX = 0; @@ -122,7 +126,9 @@ window.Minecraft = class { } // Render the game - this.worldRenderer.render(partialTicks); + if (this.hasInGameFocus()) { + this.worldRenderer.render(partialTicks); + } this.screenRenderer.render(partialTicks); this.itemRenderer.render(partialTicks); } @@ -149,11 +155,13 @@ window.Minecraft = class { } onTick() { - // Tick world - this.world.onTick(); + if (!this.isPaused()) { + // Tick world + this.world.onTick(); - // Tick the player - this.player.onTick(); + // Tick the player + this.player.onTick(); + } // Update loading progress if (!(this.loadingScreen === null)) { @@ -222,4 +230,8 @@ window.Minecraft = class { this.inventory.shiftSelectedSlot(delta); } + isPaused() { + return false; + //return !this.hasInGameFocus() && this.loadingScreen === null; + } } \ No newline at end of file diff --git a/src/js/net/minecraft/client/gui/IngameOverlay.js b/src/js/net/minecraft/client/gui/IngameOverlay.js index 0cbdfeb..e28c16a 100644 --- a/src/js/net/minecraft/client/gui/IngameOverlay.js +++ b/src/js/net/minecraft/client/gui/IngameOverlay.js @@ -21,7 +21,7 @@ window.IngameOverlay = class extends Gui { " " + this.minecraft.world.lightUpdateQueue.length + " light updates," + " " + this.minecraft.worldRenderer.chunkSectionUpdateQueue.length + " chunk updates", 1, 1); this.drawString(stack, Math.floor(this.minecraft.player.x) + ", " + Math.floor(this.minecraft.player.y) + ", " + Math.floor(this.minecraft.player.z) - + " (" + Math.floor(this.minecraft.player.x >> 4) + ", " + Math.floor(this.minecraft.player.y >> 4) + ", " + Math.floor(this.minecraft.player.z >> 4) + ")", 1, 1 + 9); + + " (" + Math.floor(Math.floor(this.minecraft.player.x) >> 4) + ", " + Math.floor(Math.floor(this.minecraft.player.y) >> 4) + ", " + Math.floor(Math.floor(this.minecraft.player.z) >> 4) + ")", 1, 1 + 9); } renderCrosshair(stack, x, y) { diff --git a/src/js/net/minecraft/client/world/World.js b/src/js/net/minecraft/client/world/World.js index aa6a0dc..3cba175 100644 --- a/src/js/net/minecraft/client/world/World.js +++ b/src/js/net/minecraft/client/world/World.js @@ -211,7 +211,7 @@ window.World = class { } getTotalLightAt(x, y, z) { - if (y < 0) { + if (!this.blockExists(x, y, z)) { return 15; }