mirror of
https://github.com/danbulant/flying-squid
synced 2026-07-05 03:00:46 +00:00
more es6 refactoring : use destructing and more arrow functions
This commit is contained in:
parent
a50642967b
commit
1a58da904c
27 changed files with 118 additions and 173 deletions
|
|
@ -67,9 +67,7 @@ class Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
add(params) {
|
add(params) {
|
||||||
var command = new Command(params, this);
|
return new Command(params, this);
|
||||||
|
|
||||||
return command;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
space(end) {
|
space(end) {
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,11 @@ module.exports=inject;
|
||||||
|
|
||||||
function inject(serv, player)
|
function inject(serv, player)
|
||||||
{
|
{
|
||||||
player._client.on("arm_animation", function(packet) {
|
player._client.on("arm_animation", () =>
|
||||||
player._writeOthersNearby("animation", {
|
player._writeOthersNearby("animation", {
|
||||||
entityId: player.entity.id,
|
entityId: player.entity.id,
|
||||||
animation: 0
|
animation: 0
|
||||||
});
|
}));
|
||||||
});
|
|
||||||
|
|
||||||
function setMetadata(metadata)
|
function setMetadata(metadata)
|
||||||
{
|
{
|
||||||
|
|
@ -18,15 +17,15 @@ function inject(serv, player)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
player._client.on("entity_action", function(packet) {
|
player._client.on("entity_action", ({actionId} = {}) => {
|
||||||
if(packet.actionId == 3) {
|
if(actionId == 3) {
|
||||||
setMetadata([{"key":0,"type":0,"value": 0x08}]);
|
setMetadata([{"key":0,"type":0,"value": 0x08}]);
|
||||||
} else if(packet.actionId == 4) {
|
} else if(actionId == 4) {
|
||||||
setMetadata([{"key":0,"type":0,"value": 0x00}]);
|
setMetadata([{"key":0,"type":0,"value": 0x00}]);
|
||||||
} else if(packet.actionId == 0) {
|
} else if(actionId == 0) {
|
||||||
setMetadata([{"key":0,"type":0,"value": 0x02}]);
|
setMetadata([{"key":0,"type":0,"value": 0x02}]);
|
||||||
player.entity.crouching = true;
|
player.entity.crouching = true;
|
||||||
} else if(packet.actionId == 1) {
|
} else if(actionId == 1) {
|
||||||
setMetadata([{"key":0,"type":0,"value": 0x00}]);
|
setMetadata([{"key":0,"type":0,"value": 0x00}]);
|
||||||
player.entity.crouching = false;
|
player.entity.crouching = false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,10 @@ function inject(serv,player)
|
||||||
|
|
||||||
player.setBlock = (position,blockType) =>
|
player.setBlock = (position,blockType) =>
|
||||||
{
|
{
|
||||||
serv.players.filter(p => p.world==player.world).forEach(function(player){
|
serv.players
|
||||||
player.sendBlock(position, blockType);
|
.filter(p => p.world==player.world)
|
||||||
});
|
.forEach(player => player.sendBlock(position, blockType));
|
||||||
|
|
||||||
return player.world.setBlockType(position,blockType);
|
return player.world.setBlockType(position,blockType);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -2,14 +2,14 @@ module.exports=inject;
|
||||||
|
|
||||||
function inject(serv, player)
|
function inject(serv, player)
|
||||||
{
|
{
|
||||||
player._client.on('chat', function (packet) {
|
player._client.on('chat', ({message} = {}) => {
|
||||||
if(packet.message[0]=="/") {
|
if(message[0]=="/") {
|
||||||
var command = packet.message.slice(1);
|
var command = message.slice(1);
|
||||||
player.handleCommand(command);
|
player.handleCommand(command);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
serv.broadcast('<' + player.username + '>' + ' ' + packet.message);
|
serv.broadcast('<' + player.username + '>' + ' ' + message);
|
||||||
player.emit("chat",packet.message);
|
player.emit("chat",message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,8 @@ module.exports=inject;
|
||||||
|
|
||||||
function inject(serv, player)
|
function inject(serv, player)
|
||||||
{
|
{
|
||||||
player._client.on('block_place', async function (packet) {
|
player._client.on('block_place', async ({location} = {}) => {
|
||||||
var referencePosition=new vec3(packet.location.x,packet.location.y,packet.location.z);
|
var referencePosition=new vec3(location.x,location.y,location.z);
|
||||||
if (player.entity.crouching) return;
|
if (player.entity.crouching) return;
|
||||||
try {
|
try {
|
||||||
var id = await player.world.getBlockType(referencePosition);
|
var id = await player.world.getBlockType(referencePosition);
|
||||||
|
|
|
||||||
|
|
@ -2,27 +2,21 @@ module.exports=inject;
|
||||||
|
|
||||||
function inject(serv,player)
|
function inject(serv,player)
|
||||||
{
|
{
|
||||||
player._writeOthers= (packetName, packetFields) => {
|
player._writeOthers= (packetName, packetFields) =>
|
||||||
player.getOthers().forEach(function (otherPlayer) {
|
player
|
||||||
otherPlayer._client.write(packetName, packetFields);
|
.getOthers()
|
||||||
});
|
.forEach((otherPlayer) => otherPlayer._client.write(packetName, packetFields));
|
||||||
};
|
|
||||||
|
|
||||||
player._writeOthersNearby = (packetName, packetFields) => {
|
player._writeOthersNearby = (packetName, packetFields) =>
|
||||||
serv._writeArray(packetName, packetFields, player.nearbyPlayers);
|
serv._writeArray(packetName, packetFields, player.nearbyPlayers);
|
||||||
};
|
|
||||||
|
|
||||||
player.getOthers = () => {
|
player.getOthers = () => serv.players.filter((otherPlayer) => otherPlayer != player);
|
||||||
return serv.players.filter(function (otherPlayer) {
|
|
||||||
return otherPlayer != player;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
player.getNearby = () => {
|
player.getNearby = () => serv
|
||||||
return serv.getNearby({
|
.getNearby({
|
||||||
world: player.world,
|
world: player.world,
|
||||||
position: player.entity.position,
|
position: player.entity.position,
|
||||||
radius: player.playerViewDistance*32
|
radius: player.playerViewDistance*32
|
||||||
}).filter((p) => p != player);
|
})
|
||||||
}
|
.filter((p) => p != player);
|
||||||
}
|
}
|
||||||
|
|
@ -4,19 +4,19 @@ module.exports=inject;
|
||||||
|
|
||||||
function inject(serv,player)
|
function inject(serv,player)
|
||||||
{
|
{
|
||||||
player._client.on("block_dig",function(packet){
|
player._client.on("block_dig",({location,status} = {}) => {
|
||||||
var pos=new Vec3(packet.location);
|
var pos=new Vec3(location);
|
||||||
player.world.getBlock(pos)
|
player.world.getBlock(pos)
|
||||||
.then(block => {
|
.then(block => {
|
||||||
currentlyDugBlock=block;
|
currentlyDugBlock=block;
|
||||||
if(currentlyDugBlock.type==0) return;
|
if(currentlyDugBlock.type==0) return;
|
||||||
if(packet.status==0 && player.gameMode!=1)
|
if(status==0 && player.gameMode!=1)
|
||||||
startDigging(pos);
|
startDigging(pos);
|
||||||
else if(packet.status==2)
|
else if(status==2)
|
||||||
completeDigging(pos);
|
completeDigging(pos);
|
||||||
else if(packet.status==1)
|
else if(status==1)
|
||||||
cancelDigging(pos);
|
cancelDigging(pos);
|
||||||
else if(packet.status==0 && player.gameMode==1)
|
else if(status==0 && player.gameMode==1)
|
||||||
creativeDigging(pos);
|
creativeDigging(pos);
|
||||||
})
|
})
|
||||||
.catch((err)=> setTimeout(function(){throw err;},0));
|
.catch((err)=> setTimeout(function(){throw err;},0));
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,11 @@
|
||||||
|
|
||||||
function inject(serv, player)
|
function inject(serv, player)
|
||||||
{
|
{
|
||||||
player.playerlistUpdateText = (header, footer) => {
|
player.playerlistUpdateText = (header, footer) =>
|
||||||
player._client.write('playerlist_header', {
|
player._client.write('playerlist_header', {
|
||||||
header: JSON.stringify(header),
|
header: JSON.stringify(header),
|
||||||
footer: JSON.stringify(footer)
|
footer: JSON.stringify(footer)
|
||||||
});
|
});
|
||||||
};
|
|
||||||
|
|
||||||
player.playerlistUpdateText("Flying squid", "Test server");
|
player.playerlistUpdateText("Flying squid", "Test server");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,8 @@ function inject(serv, player)
|
||||||
player.heldItem=0;
|
player.heldItem=0;
|
||||||
player.inventory=new Array(44);
|
player.inventory=new Array(44);
|
||||||
|
|
||||||
player._client.on("held_item_slot", function (packet) {
|
player._client.on("held_item_slot", ({slotId} = {}) => {
|
||||||
player.heldItemSlot = packet.slotId;
|
player.heldItemSlot = slotId;
|
||||||
if(player.inventory[36+player.heldItemSlot]===undefined){
|
if(player.inventory[36+player.heldItemSlot]===undefined){
|
||||||
player.inventory[36+player.heldItemSlot]={
|
player.inventory[36+player.heldItemSlot]={
|
||||||
blockId:-1
|
blockId:-1
|
||||||
|
|
@ -21,37 +21,37 @@ function inject(serv, player)
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
player._client.on("set_creative_slot", function (packet) {
|
player._client.on("set_creative_slot", ({slot,item} ={}) => {
|
||||||
player.inventory[packet.slot]=packet.item;
|
player.inventory[slot]=item;
|
||||||
if (packet.slot==36)
|
if (slot==36)
|
||||||
player._writeOthersNearby("entity_equipment",{
|
player._writeOthersNearby("entity_equipment",{
|
||||||
entityId:player.entity.id,
|
entityId:player.entity.id,
|
||||||
slot:0,
|
slot:0,
|
||||||
item:packet.item
|
item:item
|
||||||
});
|
});
|
||||||
if (packet.slot==5)
|
if (slot==5)
|
||||||
player._writeOthersNearby("entity_equipment",{
|
player._writeOthersNearby("entity_equipment",{
|
||||||
entityId:player.entity.id,
|
entityId:player.entity.id,
|
||||||
slot:4,
|
slot:4,
|
||||||
item:packet.item
|
item:item
|
||||||
});
|
});
|
||||||
if (packet.slot==6)
|
if (slot==6)
|
||||||
player._writeOthersNearby("entity_equipment",{
|
player._writeOthersNearby("entity_equipment",{
|
||||||
entityId:player.entity.id,
|
entityId:player.entity.id,
|
||||||
slot:3,
|
slot:3,
|
||||||
item:packet.item
|
item:item
|
||||||
});
|
});
|
||||||
if (packet.slot==7)
|
if (slot==7)
|
||||||
player._writeOthersNearby("entity_equipment",{
|
player._writeOthersNearby("entity_equipment",{
|
||||||
entityId:player.entity.id,
|
entityId:player.entity.id,
|
||||||
slot:2,
|
slot:2,
|
||||||
item:packet.item
|
item:item
|
||||||
});
|
});
|
||||||
if (packet.slot==8)
|
if (slot==8)
|
||||||
player._writeOthersNearby("entity_equipment",{
|
player._writeOthersNearby("entity_equipment",{
|
||||||
entityId:player.entity.id,
|
entityId:player.entity.id,
|
||||||
slot:1,
|
slot:1,
|
||||||
item:packet.item
|
item:item
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -3,29 +3,17 @@ module.exports=inject;
|
||||||
function inject(serv,player)
|
function inject(serv,player)
|
||||||
{
|
{
|
||||||
|
|
||||||
player.on("connected",function(){
|
player.on("connected",() => serv.log("[INFO]: " + player.username + ' connected'));
|
||||||
serv.log("[INFO]: " + player.username + ' connected');
|
|
||||||
});
|
|
||||||
|
|
||||||
player.on("spawned",function(){
|
player.on("spawned",() => serv.log("[INFO]: position written, player spawning..."));
|
||||||
serv.log("[INFO]: position written, player spawning...");
|
|
||||||
});
|
|
||||||
|
|
||||||
player.on("disconnected",function(){
|
player.on("disconnected",() => serv.log("[INFO]: " + player.username + ' disconnected'));
|
||||||
serv.log("[INFO]: " + player.username + ' disconnected');
|
|
||||||
});
|
|
||||||
|
|
||||||
player.on("error",function(error){
|
player.on("error", error => serv.log('[ERR]: Client: ' + error.stack));
|
||||||
serv.log('[ERR]: Client: ' + error.stack);
|
|
||||||
});
|
|
||||||
|
|
||||||
player.on("chat",function(message){
|
player.on("chat", message => serv.log("[INFO] " + '<' + player.username + '>' + ' ' + message));
|
||||||
message = '<' + player.username + '>' + ' ' + message;
|
|
||||||
serv.log("[INFO] " + message);
|
|
||||||
});
|
|
||||||
|
|
||||||
player.on("kicked",function(kicker,reason){
|
player.on("kicked",(kicker,reason) =>
|
||||||
serv.log(kicker.username + " kicked " + player.username + (reason ? " (" + reason + ")" : ""));
|
serv.log(kicker.username + " kicked " + player.username + (reason ? " (" + reason + ")" : "")));
|
||||||
})
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -43,7 +43,7 @@ function inject(serv,player)
|
||||||
|
|
||||||
function sendPlayersWhenMove()
|
function sendPlayersWhenMove()
|
||||||
{
|
{
|
||||||
player.on("positionChanged",function(){
|
player.on("positionChanged",() => {
|
||||||
if(player.entity.position.distanceTo(player.lastPositionPlayersUpdated)>2*32)
|
if(player.entity.position.distanceTo(player.lastPositionPlayersUpdated)>2*32)
|
||||||
player.updateAndSpawnNearbyPlayers();
|
player.updateAndSpawnNearbyPlayers();
|
||||||
});
|
});
|
||||||
|
|
@ -66,7 +66,7 @@ function inject(serv,player)
|
||||||
|
|
||||||
function sendChunkWhenMove()
|
function sendChunkWhenMove()
|
||||||
{
|
{
|
||||||
player.on("positionChanged",function(){
|
player.on("positionChanged", () => {
|
||||||
if(!player.sendingChunks && player.entity.position.distanceTo(player.lastPositionChunkUpdated)>16*32)
|
if(!player.sendingChunks && player.entity.position.distanceTo(player.lastPositionChunkUpdated)>16*32)
|
||||||
player.sendRestMap();
|
player.sendRestMap();
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ function inject(serv,player)
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
player._client.on('end', function () {
|
player._client.on('end', () => {
|
||||||
if(player.entity) {
|
if(player.entity) {
|
||||||
serv.broadcast(player.username + ' quit the game.', "yellow");
|
serv.broadcast(player.username + ' quit the game.', "yellow");
|
||||||
player._writeOthers('player_info', {
|
player._writeOthers('player_info', {
|
||||||
|
|
@ -29,7 +29,5 @@ function inject(serv,player)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
player._client.on('error', function (error) {
|
player._client.on('error', error => player.emit('error',error));
|
||||||
player.emit('error',error);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
@ -18,8 +18,5 @@ function inject(serv,player)
|
||||||
serv.ban(uuid, reason);
|
serv.ban(uuid, reason);
|
||||||
};
|
};
|
||||||
|
|
||||||
player.pardon = () => {
|
player.pardon = () => serv.pardon(player._client.uuid);
|
||||||
var uuid=player._client.uuid;
|
|
||||||
return serv.pardon(uuid);
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
@ -4,14 +4,14 @@ module.exports=inject;
|
||||||
|
|
||||||
function inject(serv,player)
|
function inject(serv,player)
|
||||||
{
|
{
|
||||||
player._client.on("block_place",function(packet){
|
player._client.on("block_place",({direction,heldItem,location} = {}) => {
|
||||||
if(packet.direction==-1 || packet.heldItem.blockId==-1) return;
|
if(direction==-1 || heldItem.blockId==-1) return;
|
||||||
var referencePosition=new vec3(packet.location.x,packet.location.y,packet.location.z);
|
var referencePosition=new vec3(location.x,location.y,location.z);
|
||||||
var directionVector=directionToVector[packet.direction];
|
var directionVector=directionToVector[direction];
|
||||||
var placedPosition=referencePosition.plus(directionVector);
|
var placedPosition=referencePosition.plus(directionVector);
|
||||||
if(packet.heldItem.blockId!=323){
|
if(heldItem.blockId!=323){
|
||||||
player.changeBlock(placedPosition,packet.heldItem.blockId);
|
player.changeBlock(placedPosition,heldItem.blockId);
|
||||||
}else if(packet.direction==1){
|
}else if(direction==1){
|
||||||
player.setBlock(placedPosition, 63);
|
player.setBlock(placedPosition, 63);
|
||||||
player._client.write('open_sign_entity', {
|
player._client.write('open_sign_entity', {
|
||||||
location:placedPosition
|
location:placedPosition
|
||||||
|
|
|
||||||
|
|
@ -30,10 +30,9 @@ function inject(serv, player)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
player._client.on("use_entity", function(packet) {
|
player._client.on("use_entity", ({mouse,target} = {}) => {
|
||||||
if(packet.mouse == 1) {
|
if(mouse == 1)
|
||||||
attackEntity(packet.target);
|
attackEntity(target);
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -2,8 +2,8 @@ module.exports=inject;
|
||||||
|
|
||||||
function inject(serv, player)
|
function inject(serv, player)
|
||||||
{
|
{
|
||||||
player._client.on("client_command", function(packet) {
|
player._client.on("client_command", ({payload}) => {
|
||||||
if(packet.payload == 0) {
|
if(payload == 0) {
|
||||||
player._client.write("respawn",{
|
player._client.write("respawn",{
|
||||||
dimension:0,
|
dimension:0,
|
||||||
difficulty:0,
|
difficulty:0,
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@ module.exports=inject;
|
||||||
|
|
||||||
function inject(serv, player)
|
function inject(serv, player)
|
||||||
{
|
{
|
||||||
player._client.on('client_command', function (packet) {
|
player._client.on('client_command', ({payload} = {}) => {
|
||||||
if(packet.payload==1){
|
if(payload==1){
|
||||||
//WIP: dummy
|
//WIP: dummy
|
||||||
player.system ("WIP, press ESC");
|
player.system ("WIP, press ESC");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,7 @@ vec3.Vec3.prototype.toFixedPosition=function() {
|
||||||
|
|
||||||
function inject(serv,player)
|
function inject(serv,player)
|
||||||
{
|
{
|
||||||
player._client.on('look', function(packet) {
|
player._client.on('look', ({yaw,pitch,onGround} = {}) => sendLook(yaw,pitch,onGround));
|
||||||
sendLook(packet.yaw,packet.pitch,packet.onGround)
|
|
||||||
});
|
|
||||||
|
|
||||||
// float (degrees) --> byte (1/256 "degrees")
|
// float (degrees) --> byte (1/256 "degrees")
|
||||||
function conv(f){
|
function conv(f){
|
||||||
|
|
@ -39,17 +37,12 @@ function inject(serv,player)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
player._client.on('position', function (packet) {
|
player._client.on('position', ({x,y,z,onGround} = {}) =>
|
||||||
var position = new vec3(packet.x, packet.y, packet.z);
|
sendRelativePositionChange((new vec3(x, y, z)).toFixedPosition(), onGround));
|
||||||
var onGround = packet.onGround;
|
|
||||||
sendRelativePositionChange(position.toFixedPosition(), onGround);
|
|
||||||
});
|
|
||||||
|
|
||||||
player._client.on('position_look', function (packet) {
|
player._client.on('position_look', ({x,y,z,onGround,yaw,pitch} = {}) => {
|
||||||
var position = new vec3(packet.x, packet.y, packet.z);
|
sendRelativePositionChange((new vec3(x, y, z)).toFixedPosition(), onGround);
|
||||||
var onGround = packet.onGround;
|
sendLook(yaw,pitch,onGround);
|
||||||
sendRelativePositionChange(position.toFixedPosition(), onGround);
|
|
||||||
sendLook(packet.yaw,packet.pitch,packet.onGround);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function sendRelativePositionChange(newPosition, onGround) {
|
function sendRelativePositionChange(newPosition, onGround) {
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ function inject(serv, player) {
|
||||||
currentItem: 0,
|
currentItem: 0,
|
||||||
metadata: spawnedPlayer.entity.metadata
|
metadata: spawnedPlayer.entity.metadata
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
player.sendChunk = (chunkX,chunkZ,column) =>
|
player.sendChunk = (chunkX,chunkZ,column) =>
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,9 @@ module.exports=inject;
|
||||||
|
|
||||||
function inject(serv)
|
function inject(serv)
|
||||||
{
|
{
|
||||||
serv.broadcast = (message, color) => {
|
serv.broadcast = (message, color) =>
|
||||||
serv.players.forEach(function(player){
|
serv.players.forEach(player => player.chat({
|
||||||
var msg = {
|
"text": message,
|
||||||
"text": message,
|
"color": color
|
||||||
"color": color
|
}));
|
||||||
};
|
|
||||||
player.chat(msg);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
@ -2,25 +2,17 @@ module.exports=inject;
|
||||||
|
|
||||||
function inject(serv,settings)
|
function inject(serv,settings)
|
||||||
{
|
{
|
||||||
serv._writeAll= (packetName, packetFields) => {
|
serv._writeAll= (packetName, packetFields) =>
|
||||||
serv.players.forEach(function (player) {
|
serv.players.forEach((player) => player._client.write(packetName, packetFields));
|
||||||
player._client.write(packetName, packetFields);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
serv._writeArray= (packetName, packetFields, players) => {
|
serv._writeArray= (packetName, packetFields, players) =>
|
||||||
players.forEach(function(player) {
|
players.forEach((player) =>player._client.write(packetName, packetFields));
|
||||||
player._client.write(packetName, packetFields);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
serv._writeNearby= (packetName, packetFields, loc) => {
|
serv._writeNearby= (packetName, packetFields, loc) =>
|
||||||
serv._writeArray(packetName, packetFields, serv.getNearby(loc));
|
serv._writeArray(packetName, packetFields, serv.getNearby(loc));
|
||||||
};
|
|
||||||
|
|
||||||
serv.getNearby= loc => {
|
serv.getNearby= loc => serv.players.filter( player =>
|
||||||
return serv.players.filter(function(player) {
|
player.world == loc.world &&
|
||||||
return player.world == loc.world && player.entity.position.distanceTo(loc.position) <= loc.radius;
|
player.entity.position.distanceTo(loc.position) <= loc.radius
|
||||||
});
|
);
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
@ -14,7 +14,7 @@ function inject(serv, settings) {
|
||||||
|
|
||||||
serv.time = 0;
|
serv.time = 0;
|
||||||
|
|
||||||
serv.on('tick', function(count) {
|
serv.on('tick', (count) => {
|
||||||
if (!serv.doDaylightCycle) return;
|
if (!serv.doDaylightCycle) return;
|
||||||
if (count % 20 == 0) {
|
if (count % 20 == 0) {
|
||||||
serv.setTime((serv.time + 20) % 24000); // Vanilla only does it every second
|
serv.setTime((serv.time + 20) % 24000); // Vanilla only does it every second
|
||||||
|
|
|
||||||
|
|
@ -8,21 +8,14 @@ module.exports=inject;
|
||||||
|
|
||||||
function inject(serv,settings)
|
function inject(serv,settings)
|
||||||
{
|
{
|
||||||
serv.on("error",function(error){
|
serv.on("error", error => serv.log('[ERR]: Server: '+error.stack));
|
||||||
serv.log('[ERR]: Server: '+error.stack);
|
|
||||||
});
|
|
||||||
|
|
||||||
serv.on("listening",function(port){
|
serv.on("listening", port => serv.log('[INFO]: Server listening on port '+port));
|
||||||
serv.log('[INFO]: Server listening on port '+port);
|
|
||||||
});
|
|
||||||
|
|
||||||
serv.on("banned",function(banner,bannedUsername,reason){
|
serv.on("banned", (banner,bannedUsername,reason) =>
|
||||||
serv.log(banner.username + " banned " + bannedUsername + (reason ? " (" + reason + ")" : ""));
|
serv.log(banner.username + " banned " + bannedUsername + (reason ? " (" + reason + ")" : "")));
|
||||||
});
|
|
||||||
|
|
||||||
serv.on("seed",function(seed){
|
serv.on("seed", (seed) => serv.log("seed: "+seed));
|
||||||
serv.log("seed: "+seed);
|
|
||||||
});
|
|
||||||
|
|
||||||
var logFile=path.join("logs",timeStarted + ".log");
|
var logFile=path.join("logs",timeStarted + ".log");
|
||||||
|
|
||||||
|
|
@ -30,14 +23,14 @@ function inject(serv,settings)
|
||||||
message=moment().format('MMMM Do YYYY, HH:mm:ss')+" "+message;
|
message=moment().format('MMMM Do YYYY, HH:mm:ss')+" "+message;
|
||||||
console.log(message);
|
console.log(message);
|
||||||
if (!settings.logging) return;
|
if (!settings.logging) return;
|
||||||
fs.appendFile(logFile, message + "\n",function(err){
|
fs.appendFile(logFile, message + "\n", (err) => {
|
||||||
if (err) console.log(err);
|
if (err) console.log(err);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
serv.createLog = () => {
|
serv.createLog = () => {
|
||||||
if (!settings.logging) return;
|
if (!settings.logging) return;
|
||||||
mkdirp("logs", function(err) {
|
mkdirp("logs", (err) => {
|
||||||
if(err)
|
if(err)
|
||||||
{
|
{
|
||||||
console.log(err);
|
console.log(err);
|
||||||
|
|
@ -45,7 +38,7 @@ function inject(serv,settings)
|
||||||
}
|
}
|
||||||
|
|
||||||
fs.writeFile(logFile, "[INFO]: Started logging...\n",
|
fs.writeFile(logFile, "[INFO]: Started logging...\n",
|
||||||
function (err) {
|
(err) => {
|
||||||
if (err) console.log(err);
|
if (err) console.log(err);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ module.exports = inject;
|
||||||
|
|
||||||
function inject(serv,options)
|
function inject(serv,options)
|
||||||
{
|
{
|
||||||
serv._server.on('login', async function (client) {
|
serv._server.on('login', async (client) => {
|
||||||
if(!options["online-mode"])
|
if(!options["online-mode"])
|
||||||
client.uuid=UUID.v3({
|
client.uuid=UUID.v3({
|
||||||
namespace: UUID.namespace.dns,
|
namespace: UUID.namespace.dns,
|
||||||
|
|
@ -18,15 +18,15 @@ function inject(serv,options)
|
||||||
client.compressionThreshold = 256;
|
client.compressionThreshold = 256;
|
||||||
var player=new Player();
|
var player=new Player();
|
||||||
player._client=client;
|
player._client=client;
|
||||||
for(var pluginName in playerPlugins) {
|
Object.keys(playerPlugins)
|
||||||
playerPlugins[pluginName](serv, player, options);
|
.forEach(pluginName => playerPlugins[pluginName](serv, player, options));
|
||||||
}
|
|
||||||
serv.emit("newPlayer",player);
|
serv.emit("newPlayer",player);
|
||||||
try {
|
try {
|
||||||
await player.login();
|
await player.login();
|
||||||
}
|
}
|
||||||
catch(err){
|
catch(err){
|
||||||
setTimeout(function(){throw err;},0)
|
setTimeout(() => {throw err;},0)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -11,7 +11,5 @@ function inject(serv,settings)
|
||||||
{
|
{
|
||||||
serv.gameMode=settings.gameMode;
|
serv.gameMode=settings.gameMode;
|
||||||
|
|
||||||
serv.getSpawnPoint = () => {
|
serv.getSpawnPoint = () => new vec3(randomInt(5,20),81,randomInt(5,20));
|
||||||
return new vec3(randomInt(5,20),81,randomInt(5,20));
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ function inject(serv, settings) {
|
||||||
serv.setTickInterval = ticksPerSecond => {
|
serv.setTickInterval = ticksPerSecond => {
|
||||||
serv.stopTickInterval();
|
serv.stopTickInterval();
|
||||||
|
|
||||||
serv.tickInterval = setInterval(function() {
|
serv.tickInterval = setInterval(() => {
|
||||||
serv.tickCount++;
|
serv.tickCount++;
|
||||||
serv.emit('tick', serv.tickCount);
|
serv.emit('tick', serv.tickCount);
|
||||||
}, 1000/ticksPerSecond);
|
}, 1000/ticksPerSecond);
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ function DiamondSquare(size, roughness, seed) {
|
||||||
var opCount = 0;
|
var opCount = 0;
|
||||||
|
|
||||||
// private field
|
// private field
|
||||||
var data = new Array();
|
var data = [];
|
||||||
|
|
||||||
// public methods
|
// public methods
|
||||||
this.value = function(x, y, v) {
|
this.value = function(x, y, v) {
|
||||||
|
|
@ -20,16 +20,16 @@ function DiamondSquare(size, roughness, seed) {
|
||||||
val(x, y, v);
|
val(x, y, v);
|
||||||
else
|
else
|
||||||
return val(x, y);
|
return val(x, y);
|
||||||
}
|
};
|
||||||
this.clear = function() {
|
this.clear = function() {
|
||||||
data = new Array();
|
data = [];
|
||||||
}
|
};
|
||||||
this.opCount = function(v) {
|
this.opCount = function(v) {
|
||||||
if (typeof(v) != 'undefined')
|
if (typeof(v) != 'undefined')
|
||||||
opCount = v;
|
opCount = v;
|
||||||
else
|
else
|
||||||
return opCount;
|
return opCount;
|
||||||
}
|
};
|
||||||
|
|
||||||
// private methods
|
// private methods
|
||||||
function val(x, y, v) {
|
function val(x, y, v) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue