diff --git a/src/lib/playerPlugins/chest.js b/src/lib/playerPlugins/chest.js index be80f8d..3cb72db 100644 --- a/src/lib/playerPlugins/chest.js +++ b/src/lib/playerPlugins/chest.js @@ -7,19 +7,24 @@ function inject(serv, player) player._client.on('block_place', async function (packet) { var referencePosition=new vec3(packet.location.x,packet.location.y,packet.location.z); if (player.entity.crouching) return; - var id = await serv.world.getBlockType(referencePosition); - var blockAbove = await serv.world.getBlockType(referencePosition.clone().add(new vec3(0, 1, 0))); + try { + var id = await serv.world.getBlockType(referencePosition); + var blockAbove = await serv.world.getBlockType(referencePosition.clone().add(new vec3(0, 1, 0))); - if(id==54) { - if (blockAbove) { - return; + if (id == 54) { + if (blockAbove) { + return; + } + player._client.write("open_window", { + windowId: 165, + inventoryType: "minecraft:chest", + windowTitle: JSON.stringify("Chest"), + slotCount: 9 * 3 + 8 // 3 rows, make nicer later + }); } - player._client.write("open_window",{ - windowId:165, - inventoryType:"minecraft:chest", - windowTitle:JSON.stringify("Chest"), - slotCount:9*3 + 8 // 3 rows, make nicer later - }); + } + catch(err) { + setTimeout(function(){throw err;},0); } }); diff --git a/src/lib/playerPlugins/digging.js b/src/lib/playerPlugins/digging.js index e16f91b..d81bc32 100644 --- a/src/lib/playerPlugins/digging.js +++ b/src/lib/playerPlugins/digging.js @@ -18,7 +18,8 @@ function inject(serv,player) cancelDigging(pos); else if(packet.status==0 && player.gameMode==1) creativeDigging(pos); - }); + }) + .catch((err)=> setTimeout(function(){throw err;},0)); }); function diggingTime(location) diff --git a/src/lib/playerPlugins/login.js b/src/lib/playerPlugins/login.js index 9384225..12c5d26 100644 --- a/src/lib/playerPlugins/login.js +++ b/src/lib/playerPlugins/login.js @@ -94,13 +94,17 @@ function inject(serv,player) function sendRestMap() { player.sendingChunks=true; - sendChunksAroundPlayer(player.view).then(() => player.sendingChunks=false); + sendChunksAroundPlayer(player.view) + .then(() => player.sendingChunks=false) + .catch((err)=> setTimeout(function(){throw err;},0)); player.on("positionChanged",function(){ if(!player.sendingChunks && player.entity.position.distanceTo(player.lastPositionChunkUpdated)>16*32) { player.sendingChunks=true; - sendChunksAroundPlayer(player.view).then(() => player.sendingChunks=false); + sendChunksAroundPlayer(player.view) + .then(() => player.sendingChunks=false) + .catch((err)=> setTimeout(function(){throw err;},0)); } }); }