use regular int for the time
This commit is contained in:
parent
fd133827ec
commit
8ed10d1c80
1 changed files with 17 additions and 8 deletions
|
@ -42,7 +42,7 @@ let entityKeys = {};
|
||||||
global.chunkManager = new ChunkManager();
|
global.chunkManager = new ChunkManager();
|
||||||
global.generatingChunks = false;
|
global.generatingChunks = false;
|
||||||
|
|
||||||
let tickInterval, tickCounter = BigInt(0);
|
let tickInterval, tickCounter = BigInt(0), worldTime = 0;
|
||||||
let tickRate = BigInt(20);
|
let tickRate = BigInt(20);
|
||||||
|
|
||||||
module.exports.init = function(config) {
|
module.exports.init = function(config) {
|
||||||
|
@ -55,7 +55,7 @@ module.exports.init = function(config) {
|
||||||
for (let key of netUserKeys) {
|
for (let key of netUserKeys) {
|
||||||
const user = netUsers[key];
|
const user = netUsers[key];
|
||||||
user.socket.write(new PacketMappingTable[NamedPackets.KeepAlive]().writePacket());
|
user.socket.write(new PacketMappingTable[NamedPackets.KeepAlive]().writePacket());
|
||||||
if (user.loginFinished) user.socket.write(new PacketMappingTable[NamedPackets.TimeUpdate](tickCounter).writePacket());
|
if (user.loginFinished) user.socket.write(new PacketMappingTable[NamedPackets.TimeUpdate](BigInt(worldTime)).writePacket());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Do chunk updates
|
// Do chunk updates
|
||||||
|
@ -113,6 +113,7 @@ module.exports.init = function(config) {
|
||||||
}
|
}
|
||||||
|
|
||||||
tickCounter++;
|
tickCounter++;
|
||||||
|
worldTime++;
|
||||||
}, 1000 / parseInt(tickRate.toString()));
|
}, 1000 / parseInt(tickRate.toString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -148,7 +149,10 @@ module.exports.connection = async function(socket = new Socket) {
|
||||||
|
|
||||||
socket.write(new PacketMappingTable[NamedPackets.Player](true).writePacket());
|
socket.write(new PacketMappingTable[NamedPackets.Player](true).writePacket());
|
||||||
|
|
||||||
socket.write(new PacketMappingTable[NamedPackets.ChatMessage](`\u00A7e${thisUser.username} has joined the game`).writePacket());
|
const joinMessage = new PacketMappingTable[NamedPackets.ChatMessage](`\u00A7e${thisUser.username} has joined the game`).writePacket();
|
||||||
|
for (let key of netUserKeys) {
|
||||||
|
netUsers[key].socket.write(joinMessage);
|
||||||
|
}
|
||||||
|
|
||||||
socket.write(new PacketMappingTable[NamedPackets.PlayerPositionAndLook](8.5, 65 + 1.6200000047683716, 65, 8.5, 0, 0, false).writePacket());
|
socket.write(new PacketMappingTable[NamedPackets.PlayerPositionAndLook](8.5, 65 + 1.6200000047683716, 65, 8.5, 0, 0, false).writePacket());
|
||||||
|
|
||||||
|
@ -180,19 +184,19 @@ module.exports.connection = async function(socket = new Socket) {
|
||||||
} else {
|
} else {
|
||||||
switch (command[2]) {
|
switch (command[2]) {
|
||||||
case "day":
|
case "day":
|
||||||
tickCounter = (BigInt(24000) * (tickCounter / BigInt(24000)));
|
worldTime = (24000 * (worldTime / 24000));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "noon":
|
case "noon":
|
||||||
tickCounter = (BigInt(24000) * (tickCounter / BigInt(24000))) + BigInt(6000);
|
worldTime = (24000 * (worldTime / 24000)) + 6000;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "sunset":
|
case "sunset":
|
||||||
tickCounter = (BigInt(24000) * (tickCounter / BigInt(24000))) + BigInt(12000);
|
worldTime = (24000 * (worldTime / 24000)) + 12000;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "midnight":
|
case "midnight":
|
||||||
tickCounter = (BigInt(24000) * (tickCounter / BigInt(24000))) + BigInt(18000);
|
worldTime = (24000 * (worldTime / 24000)) + 18000;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -212,7 +216,7 @@ module.exports.connection = async function(socket = new Socket) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
console.log("0x" + packetID.toString(16));
|
console.log(toHexValue(packetID));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -227,3 +231,8 @@ module.exports.connection = async function(socket = new Socket) {
|
||||||
removeUser(thisUser.id);
|
removeUser(thisUser.id);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function toHexValue(val = 0x00) {
|
||||||
|
if (val < 16) return `0x0${val.toString(16).toUpperCase()}`;
|
||||||
|
else return `0x${val.toString(16).toUpperCase()}`;
|
||||||
|
}
|
Loading…
Reference in a new issue