mirror of
https://github.com/danbulant/flying-squid
synced 2026-06-17 21:41:06 +00:00
send rest of the map only when the player has logged, fix #88
This commit is contained in:
parent
a647e34078
commit
6b86cf5e9a
2 changed files with 23 additions and 5 deletions
|
|
@ -15,7 +15,7 @@ function inject(serv,player)
|
|||
player.entity.food = 20;
|
||||
player.entity.crouching = false; // Needs added in prismarine-entity later
|
||||
player.playerViewDistance = 150;
|
||||
player.view=8;
|
||||
player.view=10;
|
||||
player.world=serv.overworld;
|
||||
player.username=player._client.username;
|
||||
serv.players.push(player);
|
||||
|
|
@ -121,6 +121,19 @@ function inject(serv,player)
|
|||
player.emit("connected");
|
||||
}
|
||||
|
||||
player.waitPlayerLogin = () => {
|
||||
var events=["flying","look"];
|
||||
return new Promise(function(resolve){
|
||||
|
||||
var listener=()=> {
|
||||
events.map(event => player._client.removeListener(event,listener));
|
||||
resolve();
|
||||
};
|
||||
events.map(event =>player._client.on(event,listener));
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
player.login = async () =>
|
||||
{
|
||||
if (serv.uuidToPlayer[player._client.uuid]) {
|
||||
|
|
@ -149,6 +162,8 @@ function inject(serv,player)
|
|||
player.emit("spawned");
|
||||
sendPlayersWhenMove();
|
||||
|
||||
setTimeout(() => {player.sendRestMap();sendChunkWhenMove();},100);
|
||||
await player.waitPlayerLogin();
|
||||
player.sendRestMap();
|
||||
sendChunkWhenMove();
|
||||
};
|
||||
}
|
||||
|
|
@ -59,9 +59,9 @@ function inject(serv, player) {
|
|||
})
|
||||
.reduce((acc,{chunkX,chunkZ})=>
|
||||
acc
|
||||
//.then(() => sleep(100))
|
||||
.then(() => player.world.getColumn(chunkX,chunkZ))
|
||||
.then((column) => player.sendChunk(chunkX,chunkZ,column))
|
||||
.then(() => sleep(5))
|
||||
,Promise.resolve());
|
||||
};
|
||||
|
||||
|
|
@ -108,9 +108,12 @@ function inject(serv, player) {
|
|||
player.updateAndSpawnNearbyPlayers();
|
||||
|
||||
await player.sendMap();
|
||||
setTimeout(player.sendRestMap,100);
|
||||
player.sendPosition();
|
||||
|
||||
player.sendPosition();
|
||||
player.emit('change_world');
|
||||
|
||||
await player.waitPlayerLogin();
|
||||
player.sendRestMap();
|
||||
|
||||
};
|
||||
}
|
||||
Loading…
Reference in a new issue