mirror of
https://github.com/danbulant/flying-squid
synced 2026-07-05 11:10:44 +00:00
use more es6 arrow function, and directly define the player.f functions instead of defining the function then assigning it
This commit is contained in:
parent
69819b880e
commit
a50642967b
21 changed files with 96 additions and 138 deletions
|
|
@ -2,31 +2,26 @@ module.exports=inject;
|
||||||
|
|
||||||
function inject(serv,player)
|
function inject(serv,player)
|
||||||
{
|
{
|
||||||
async function changeBlock(position,blockType)
|
player.changeBlock=async (position,blockType) =>
|
||||||
{
|
{
|
||||||
serv.players.filter(p => p.world==player.world).forEach(function(p) {
|
serv.players.filter(p => p.world==player.world).forEach(function(p) {
|
||||||
p.sendBlock(position, blockType);
|
p.sendBlock(position, blockType);
|
||||||
});
|
});
|
||||||
return await player.world.setBlockType(position,blockType);
|
return await player.world.setBlockType(position,blockType);
|
||||||
}
|
};
|
||||||
|
|
||||||
function sendBlock(position, blockType) { // Call from player.setBlock unless you want "local" fake blocks
|
player.sendBlock = (position, blockType) => { // Call from player.setBlock unless you want "local" fake blocks
|
||||||
player._client.write("block_change",{
|
player._client.write("block_change",{
|
||||||
location:position,
|
location:position,
|
||||||
type:blockType<<4
|
type:blockType<<4
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
function setBlock(position,blockType)
|
player.setBlock = (position,blockType) =>
|
||||||
{
|
{
|
||||||
serv.players.filter(p => p.world==player.world).forEach(function(player){
|
serv.players.filter(p => p.world==player.world).forEach(function(player){
|
||||||
player.sendBlock(position, blockType);
|
player.sendBlock(position, blockType);
|
||||||
});
|
});
|
||||||
return player.world.setBlockType(position,blockType);
|
return player.world.setBlockType(position,blockType);
|
||||||
}
|
};
|
||||||
|
|
||||||
player.setBlock = setBlock;
|
|
||||||
|
|
||||||
player.changeBlock=changeBlock;
|
|
||||||
player.sendBlock=sendBlock;
|
|
||||||
}
|
}
|
||||||
|
|
@ -13,13 +13,11 @@ function inject(serv, player)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function chat(message) {
|
player.chat = message => {
|
||||||
player._client.write('chat', { message: JSON.stringify(message), position: 0 });
|
player._client.write('chat', { message: JSON.stringify(message), position: 0 });
|
||||||
}
|
};
|
||||||
function system(message) {
|
|
||||||
player._client.write('chat', { message: JSON.stringify(message), position: 2 });
|
|
||||||
}
|
|
||||||
|
|
||||||
player.chat=chat;
|
player.system = message => {
|
||||||
player.system=system;
|
player._client.write('chat', { message: JSON.stringify(message), position: 2 });
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -275,7 +275,7 @@ function inject(serv, player) {
|
||||||
|
|
||||||
serv.commands = base;
|
serv.commands = base;
|
||||||
|
|
||||||
player.handleCommand = function(str) {
|
player.handleCommand = (str) => {
|
||||||
var res = base.use(str);
|
var res = base.use(str);
|
||||||
if(res) player.chat('' + res);
|
if(res) player.chat('' + res);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -2,23 +2,23 @@ module.exports=inject;
|
||||||
|
|
||||||
function inject(serv,player)
|
function inject(serv,player)
|
||||||
{
|
{
|
||||||
player._writeOthers=function(packetName, packetFields) {
|
player._writeOthers= (packetName, packetFields) => {
|
||||||
player.getOthers().forEach(function (otherPlayer) {
|
player.getOthers().forEach(function (otherPlayer) {
|
||||||
otherPlayer._client.write(packetName, packetFields);
|
otherPlayer._client.write(packetName, packetFields);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
player._writeOthersNearby = function(packetName, packetFields) {
|
player._writeOthersNearby = (packetName, packetFields) => {
|
||||||
serv._writeArray(packetName, packetFields, player.nearbyPlayers);
|
serv._writeArray(packetName, packetFields, player.nearbyPlayers);
|
||||||
};
|
};
|
||||||
|
|
||||||
player.getOthers = function() {
|
player.getOthers = () => {
|
||||||
return serv.players.filter(function (otherPlayer) {
|
return serv.players.filter(function (otherPlayer) {
|
||||||
return otherPlayer != player;
|
return otherPlayer != player;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
player.getNearby = function() {
|
player.getNearby = () => {
|
||||||
return serv.getNearby({
|
return serv.getNearby({
|
||||||
world: player.world,
|
world: player.world,
|
||||||
position: player.entity.position,
|
position: player.entity.position,
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,12 @@
|
||||||
|
|
||||||
function inject(serv, player)
|
function inject(serv, player)
|
||||||
{
|
{
|
||||||
function 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)
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
playerlistUpdateText("Flying squid", "Test server")
|
player.playerlistUpdateText("Flying squid", "Test server");
|
||||||
|
|
||||||
player.playerlistUpdateText=playerlistUpdateText;
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ function inject(serv,player)
|
||||||
player.nearbyPlayers=[];
|
player.nearbyPlayers=[];
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateAndSpawnNearbyPlayers()
|
player.updateAndSpawnNearbyPlayers = () =>
|
||||||
{
|
{
|
||||||
player.lastPositionPlayersUpdated=player.entity.position;
|
player.lastPositionPlayersUpdated=player.entity.position;
|
||||||
var updatedPlayers=player.getNearby();
|
var updatedPlayers=player.getNearby();
|
||||||
|
|
@ -39,7 +39,7 @@ function inject(serv,player)
|
||||||
|
|
||||||
player.nearbyPlayers=updatedPlayers;
|
player.nearbyPlayers=updatedPlayers;
|
||||||
|
|
||||||
}
|
};
|
||||||
|
|
||||||
function sendPlayersWhenMove()
|
function sendPlayersWhenMove()
|
||||||
{
|
{
|
||||||
|
|
@ -80,14 +80,14 @@ function inject(serv,player)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function setGameMode(gameMode)
|
player.setGameMode = gameMode =>
|
||||||
{
|
{
|
||||||
player._client.write('game_state_change', {
|
player._client.write('game_state_change', {
|
||||||
reason: 3,
|
reason: 3,
|
||||||
gameMode: gameMode
|
gameMode: gameMode
|
||||||
});
|
});
|
||||||
player.gameMode=gameMode;
|
player.gameMode=gameMode;
|
||||||
}
|
};
|
||||||
|
|
||||||
function fillTabList()
|
function fillTabList()
|
||||||
{
|
{
|
||||||
|
|
@ -120,7 +120,7 @@ function inject(serv,player)
|
||||||
player.emit("connected");
|
player.emit("connected");
|
||||||
}
|
}
|
||||||
|
|
||||||
async function login()
|
player.login = async () =>
|
||||||
{
|
{
|
||||||
if (serv.uuidToPlayer[player._client.uuid]) {
|
if (serv.uuidToPlayer[player._client.uuid]) {
|
||||||
player._client.end("You are already connected");
|
player._client.end("You are already connected");
|
||||||
|
|
@ -140,7 +140,7 @@ function inject(serv,player)
|
||||||
|
|
||||||
|
|
||||||
updateTime();
|
updateTime();
|
||||||
setGameMode(player.gameMode);
|
player.setGameMode(player.gameMode);
|
||||||
fillTabList();
|
fillTabList();
|
||||||
player.updateAndSpawnNearbyPlayers();
|
player.updateAndSpawnNearbyPlayers();
|
||||||
|
|
||||||
|
|
@ -149,9 +149,5 @@ function inject(serv,player)
|
||||||
sendPlayersWhenMove();
|
sendPlayersWhenMove();
|
||||||
|
|
||||||
setTimeout(function(){player.sendRestMap();sendChunkWhenMove();},100);
|
setTimeout(function(){player.sendRestMap();sendChunkWhenMove();},100);
|
||||||
}
|
};
|
||||||
|
|
||||||
player.setGameMode=setGameMode;
|
|
||||||
player.login=login;
|
|
||||||
player.updateAndSpawnNearbyPlayers=updateAndSpawnNearbyPlayers;
|
|
||||||
}
|
}
|
||||||
|
|
@ -2,11 +2,11 @@ module.exports=inject;
|
||||||
|
|
||||||
function inject(serv,player)
|
function inject(serv,player)
|
||||||
{
|
{
|
||||||
function despawnPlayers(despawnedPlayers) {
|
player.despawnPlayers = despawnedPlayers => {
|
||||||
player._client.write('entity_destroy', {
|
player._client.write('entity_destroy', {
|
||||||
'entityIds': despawnedPlayers.map(p => p.entity.id)
|
'entityIds': despawnedPlayers.map(p => p.entity.id)
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
player._client.on('end', function () {
|
player._client.on('end', function () {
|
||||||
if(player.entity) {
|
if(player.entity) {
|
||||||
|
|
@ -32,6 +32,4 @@ function inject(serv,player)
|
||||||
player._client.on('error', function (error) {
|
player._client.on('error', function (error) {
|
||||||
player.emit('error',error);
|
player.emit('error',error);
|
||||||
});
|
});
|
||||||
|
|
||||||
player.despawnPlayers=despawnPlayers;
|
|
||||||
}
|
}
|
||||||
|
|
@ -4,26 +4,22 @@ module.exports=inject;
|
||||||
|
|
||||||
function inject(serv,player)
|
function inject(serv,player)
|
||||||
{
|
{
|
||||||
function kick(reason)
|
player.kick = reason =>
|
||||||
{
|
{
|
||||||
player._client.write('kick_disconnect', {
|
player._client.write('kick_disconnect', {
|
||||||
reason: reason ? JSON.stringify(reason) : '"You were kicked!"'
|
reason: reason ? JSON.stringify(reason) : '"You were kicked!"'
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
function ban(reason) {
|
player.ban = reason => {
|
||||||
reason = reason || "You were banned!";
|
reason = reason || "You were banned!";
|
||||||
player.kick(reason);
|
player.kick(reason);
|
||||||
var uuid=player._client.uuid;
|
var uuid=player._client.uuid;
|
||||||
serv.ban(uuid, reason);
|
serv.ban(uuid, reason);
|
||||||
}
|
};
|
||||||
|
|
||||||
function pardon() {
|
player.pardon = () => {
|
||||||
var uuid=player._client.uuid;
|
var uuid=player._client.uuid;
|
||||||
return serv.pardon(uuid);
|
return serv.pardon(uuid);
|
||||||
}
|
};
|
||||||
|
|
||||||
player.kick=kick;
|
|
||||||
player.ban=ban;
|
|
||||||
player.pardon=pardon;
|
|
||||||
}
|
}
|
||||||
|
|
@ -3,14 +3,14 @@ module.exports=inject;
|
||||||
function inject(serv, player)
|
function inject(serv, player)
|
||||||
{
|
{
|
||||||
|
|
||||||
function updateHealth(health) {
|
player.updateHealth = (health) => {
|
||||||
player.entity.health = health;
|
player.entity.health = health;
|
||||||
player._client.write('update_health', {
|
player._client.write('update_health', {
|
||||||
food: player.entity.food,
|
food: player.entity.food,
|
||||||
foodSaturation: 0.0,
|
foodSaturation: 0.0,
|
||||||
health: player.entity.health
|
health: player.entity.health
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
function attackEntity(entityId)
|
function attackEntity(entityId)
|
||||||
{
|
{
|
||||||
|
|
@ -36,6 +36,4 @@ function inject(serv, player)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
player.updateHealth = updateHealth;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -82,7 +82,7 @@ function inject(serv,player)
|
||||||
player.emit("positionChanged");
|
player.emit("positionChanged");
|
||||||
}
|
}
|
||||||
|
|
||||||
function sendPosition() {
|
player.sendPosition = () => {
|
||||||
player._client.write('position', {
|
player._client.write('position', {
|
||||||
x: player.entity.position.x/32,
|
x: player.entity.position.x/32,
|
||||||
y: player.entity.position.y/32,
|
y: player.entity.position.y/32,
|
||||||
|
|
@ -91,6 +91,5 @@ function inject(serv,player)
|
||||||
pitch: player.entity.pitch,
|
pitch: player.entity.pitch,
|
||||||
flags: 0x00
|
flags: 0x00
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
player.sendPosition = sendPosition;
|
|
||||||
}
|
}
|
||||||
|
|
@ -5,7 +5,7 @@ module.exports = inject;
|
||||||
|
|
||||||
function inject(serv, player) {
|
function inject(serv, player) {
|
||||||
|
|
||||||
function spawnAPlayer(spawnedPlayer) {
|
player.spawnAPlayer = spawnedPlayer => {
|
||||||
player._client.write('named_entity_spawn', {
|
player._client.write('named_entity_spawn', {
|
||||||
entityId: spawnedPlayer.entity.id,
|
entityId: spawnedPlayer.entity.id,
|
||||||
playerUUID: spawnedPlayer._client.uuid,
|
playerUUID: spawnedPlayer._client.uuid,
|
||||||
|
|
@ -19,7 +19,7 @@ function inject(serv, player) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function sendChunk(chunkX,chunkZ,column)
|
player.sendChunk = (chunkX,chunkZ,column) =>
|
||||||
{
|
{
|
||||||
player._client.write('map_chunk', {
|
player._client.write('map_chunk', {
|
||||||
x: chunkX,
|
x: chunkX,
|
||||||
|
|
@ -29,7 +29,7 @@ function inject(serv, player) {
|
||||||
chunkData: column.dump()
|
chunkData: column.dump()
|
||||||
});
|
});
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
}
|
};
|
||||||
|
|
||||||
function spiral(arr)
|
function spiral(arr)
|
||||||
{
|
{
|
||||||
|
|
@ -40,7 +40,7 @@ function inject(serv, player) {
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
|
|
||||||
function sendNearbyChunks(view)
|
player.sendNearbyChunks = view =>
|
||||||
{
|
{
|
||||||
player.lastPositionChunkUpdated=player.entity.position;
|
player.lastPositionChunkUpdated=player.entity.position;
|
||||||
var playerChunkX=Math.floor(player.entity.position.x/16/32);
|
var playerChunkX=Math.floor(player.entity.position.x/16/32);
|
||||||
|
|
@ -63,35 +63,35 @@ function inject(serv, player) {
|
||||||
.then(() => player.world.getColumn(chunkX,chunkZ))
|
.then(() => player.world.getColumn(chunkX,chunkZ))
|
||||||
.then((column) => player.sendChunk(chunkX,chunkZ,column))
|
.then((column) => player.sendChunk(chunkX,chunkZ,column))
|
||||||
,Promise.resolve());
|
,Promise.resolve());
|
||||||
}
|
};
|
||||||
|
|
||||||
function sleep(ms = 0) {
|
function sleep(ms = 0) {
|
||||||
return new Promise(r => setTimeout(r, ms));
|
return new Promise(r => setTimeout(r, ms));
|
||||||
}
|
}
|
||||||
|
|
||||||
function sendMap()
|
player.sendMap = () =>
|
||||||
{
|
{
|
||||||
return player.sendNearbyChunks(3)
|
return player.sendNearbyChunks(3)
|
||||||
.catch((err) => setTimeout(function() { throw err; }), 0);
|
.catch((err) => setTimeout(function() { throw err; }), 0);
|
||||||
}
|
};
|
||||||
|
|
||||||
function sendRestMap()
|
player.sendRestMap = () =>
|
||||||
{
|
{
|
||||||
player.sendingChunks=true;
|
player.sendingChunks=true;
|
||||||
player.sendNearbyChunks(player.view)
|
player.sendNearbyChunks(player.view)
|
||||||
.then(() => player.sendingChunks=false)
|
.then(() => player.sendingChunks=false)
|
||||||
.catch((err)=> setTimeout(function(){throw err;},0));
|
.catch((err)=> setTimeout(function(){throw err;},0));
|
||||||
}
|
};
|
||||||
|
|
||||||
function sendSpawnPosition()
|
player.sendSpawnPosition = () =>
|
||||||
{
|
{
|
||||||
console.log("setting spawn at "+player.spawnPoint);
|
console.log("setting spawn at "+player.spawnPoint);
|
||||||
player._client.write('spawn_position',{
|
player._client.write('spawn_position',{
|
||||||
"location":player.spawnPoint
|
"location":player.spawnPoint
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
async function changeWorld(world, opt) {
|
player.changeWorld = async (world, opt) => {
|
||||||
if(player.world == world) return Promise.resolve();
|
if(player.world == world) return Promise.resolve();
|
||||||
opt = opt || {};
|
opt = opt || {};
|
||||||
player.world = world;
|
player.world = world;
|
||||||
|
|
@ -112,13 +112,5 @@ function inject(serv, player) {
|
||||||
player.sendPosition();
|
player.sendPosition();
|
||||||
|
|
||||||
player.emit('change_world');
|
player.emit('change_world');
|
||||||
}
|
};
|
||||||
|
|
||||||
player.sendNearbyChunks = sendNearbyChunks;
|
|
||||||
player.changeWorld = changeWorld;
|
|
||||||
player.sendChunk = sendChunk;
|
|
||||||
player.sendMap = sendMap;
|
|
||||||
player.sendRestMap = sendRestMap;
|
|
||||||
player.sendSpawnPosition = sendSpawnPosition;
|
|
||||||
player.spawnAPlayer = spawnAPlayer;
|
|
||||||
}
|
}
|
||||||
|
|
@ -2,7 +2,7 @@ module.exports=inject;
|
||||||
|
|
||||||
function inject(serv)
|
function inject(serv)
|
||||||
{
|
{
|
||||||
function broadcast(message, color) {
|
serv.broadcast = (message, color) => {
|
||||||
serv.players.forEach(function(player){
|
serv.players.forEach(function(player){
|
||||||
var msg = {
|
var msg = {
|
||||||
"text": message,
|
"text": message,
|
||||||
|
|
@ -10,7 +10,5 @@ function inject(serv)
|
||||||
};
|
};
|
||||||
player.chat(msg);
|
player.chat(msg);
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
serv.broadcast=broadcast;
|
|
||||||
}
|
}
|
||||||
|
|
@ -2,23 +2,23 @@ module.exports=inject;
|
||||||
|
|
||||||
function inject(serv,settings)
|
function inject(serv,settings)
|
||||||
{
|
{
|
||||||
serv._writeAll=function(packetName, packetFields) {
|
serv._writeAll= (packetName, packetFields) => {
|
||||||
serv.players.forEach(function (player) {
|
serv.players.forEach(function (player) {
|
||||||
player._client.write(packetName, packetFields);
|
player._client.write(packetName, packetFields);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
serv._writeArray=function(packetName, packetFields, players) {
|
serv._writeArray= (packetName, packetFields, players) => {
|
||||||
players.forEach(function(player) {
|
players.forEach(function(player) {
|
||||||
player._client.write(packetName, packetFields);
|
player._client.write(packetName, packetFields);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
serv._writeNearby=function(packetName, packetFields, loc) {
|
serv._writeNearby= (packetName, packetFields, loc) => {
|
||||||
serv._writeArray(packetName, packetFields, serv.getNearby(loc));
|
serv._writeArray(packetName, packetFields, serv.getNearby(loc));
|
||||||
};
|
};
|
||||||
|
|
||||||
serv.getNearby=function(loc) {
|
serv.getNearby= loc => {
|
||||||
return serv.players.filter(function(player) {
|
return serv.players.filter(function(player) {
|
||||||
return player.world == loc.world && player.entity.position.distanceTo(loc.position) <= loc.radius;
|
return player.world == loc.world && player.entity.position.distanceTo(loc.position) <= loc.radius;
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,13 @@
|
||||||
module.exports = inject;
|
module.exports = inject;
|
||||||
|
|
||||||
function inject(serv, settings) {
|
function inject(serv, settings) {
|
||||||
serv.setTime = function(time) {
|
serv.setTime = (time) => {
|
||||||
serv.time = time;
|
serv.time = time;
|
||||||
serv._writeAll('update_time', {
|
serv._writeAll('update_time', {
|
||||||
age: [0, 0], // TODO
|
age: [0, 0], // TODO
|
||||||
time: [0, serv.time]
|
time: [0, serv.time]
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
serv.doDaylightCycle = true;
|
serv.doDaylightCycle = true;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,11 +9,11 @@ module.exports=inject;
|
||||||
function inject(serv,settings)
|
function inject(serv,settings)
|
||||||
{
|
{
|
||||||
serv.on("error",function(error){
|
serv.on("error",function(error){
|
||||||
log('[ERR]: Server: '+error.stack);
|
serv.log('[ERR]: Server: '+error.stack);
|
||||||
});
|
});
|
||||||
|
|
||||||
serv.on("listening",function(port){
|
serv.on("listening",function(port){
|
||||||
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",function(banner,bannedUsername,reason){
|
||||||
|
|
@ -26,16 +26,16 @@ function inject(serv,settings)
|
||||||
|
|
||||||
var logFile=path.join("logs",timeStarted + ".log");
|
var logFile=path.join("logs",timeStarted + ".log");
|
||||||
|
|
||||||
function log(message) {
|
serv.log = message => {
|
||||||
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",function(err){
|
||||||
if (err) console.log(err);
|
if (err) console.log(err);
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
function createLog() {
|
serv.createLog = () => {
|
||||||
if (!settings.logging) return;
|
if (!settings.logging) return;
|
||||||
mkdirp("logs", function(err) {
|
mkdirp("logs", function(err) {
|
||||||
if(err)
|
if(err)
|
||||||
|
|
@ -49,8 +49,5 @@ function inject(serv,settings)
|
||||||
if (err) console.log(err);
|
if (err) console.log(err);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
serv.log=log;
|
|
||||||
serv.createLog=createLog;
|
|
||||||
}
|
}
|
||||||
|
|
@ -7,36 +7,36 @@ module.exports = inject;
|
||||||
function inject(serv)
|
function inject(serv)
|
||||||
{
|
{
|
||||||
|
|
||||||
function ban(uuid, reason) {
|
serv.ban = (uuid, reason) => {
|
||||||
serv.bannedPlayers[uuid] = {
|
serv.bannedPlayers[uuid] = {
|
||||||
time: +moment(),
|
time: +moment(),
|
||||||
reason: reason || "You are banned!"
|
reason: reason || "You are banned!"
|
||||||
};
|
};
|
||||||
}
|
};
|
||||||
|
|
||||||
function uuidInParts(plainUUID)
|
function uuidInParts(plainUUID)
|
||||||
{
|
{
|
||||||
return nodeUuid.unparse(nodeUuid.parse(plainUUID));
|
return nodeUuid.unparse(nodeUuid.parse(plainUUID));
|
||||||
}
|
}
|
||||||
|
|
||||||
function getUUIDFromUsername(username) {
|
serv.getUUIDFromUsername = username => {
|
||||||
return rp('https://api.mojang.com/users/profiles/minecraft/' + username)
|
return rp('https://api.mojang.com/users/profiles/minecraft/' + username)
|
||||||
.then((body) => {
|
.then((body) => {
|
||||||
if(!body) throw new Error("username not found");
|
if(!body) throw new Error("username not found");
|
||||||
return uuidInParts(JSON.parse(body).id)
|
return uuidInParts(JSON.parse(body).id)
|
||||||
})
|
})
|
||||||
.catch(err => {throw new Error("username not found");});
|
.catch(err => {throw new Error("username not found");});
|
||||||
}
|
};
|
||||||
|
|
||||||
function banUsername(username, reason, cb) {
|
serv.banUsername = (username, reason, cb) => {
|
||||||
return serv.getUUIDFromUsername(username)
|
return serv.getUUIDFromUsername(username)
|
||||||
.then(uuid => serv.ban(uuid, reason));
|
.then(uuid => serv.ban(uuid, reason));
|
||||||
}
|
};
|
||||||
|
|
||||||
function pardonUsername(username, cb) {
|
serv.pardonUsername = (username, cb) => {
|
||||||
return serv.getUUIDFromUsername(username)
|
return serv.getUUIDFromUsername(username)
|
||||||
.then(pardon);
|
.then(pardon);
|
||||||
}
|
};
|
||||||
|
|
||||||
function pardon(uuid) {
|
function pardon(uuid) {
|
||||||
if (serv.bannedPlayers[uuid]) {
|
if (serv.bannedPlayers[uuid]) {
|
||||||
|
|
@ -47,8 +47,4 @@ function inject(serv)
|
||||||
}
|
}
|
||||||
|
|
||||||
serv.bannedPlayers = {};
|
serv.bannedPlayers = {};
|
||||||
serv.ban = ban;
|
|
||||||
serv.banUsername = banUsername;
|
|
||||||
serv.pardonUsername = pardonUsername;
|
|
||||||
serv.getUUIDFromUsername = getUUIDFromUsername;
|
|
||||||
}
|
}
|
||||||
|
|
@ -7,12 +7,10 @@ function inject(serv)
|
||||||
serv.uuidToPlayer={};
|
serv.uuidToPlayer={};
|
||||||
serv.entities={};
|
serv.entities={};
|
||||||
|
|
||||||
function getPlayer(username) {
|
serv.getPlayer = username => {
|
||||||
for (var p in serv.players) {
|
for (var p in serv.players) {
|
||||||
if (serv.players[p].username == username) return serv.players[p]
|
if (serv.players[p].username == username) return serv.players[p]
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
};
|
||||||
|
|
||||||
serv.getPlayer = getPlayer;
|
|
||||||
}
|
}
|
||||||
|
|
@ -11,7 +11,7 @@ function inject(serv,settings)
|
||||||
{
|
{
|
||||||
serv.gameMode=settings.gameMode;
|
serv.gameMode=settings.gameMode;
|
||||||
|
|
||||||
serv.getSpawnPoint = function() {
|
serv.getSpawnPoint = () => {
|
||||||
return new vec3(randomInt(5,20),81,randomInt(5,20));
|
return new vec3(randomInt(5,20),81,randomInt(5,20));
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,24 +2,24 @@
|
||||||
module.exports = inject;
|
module.exports = inject;
|
||||||
|
|
||||||
function inject(serv, settings) {
|
function inject(serv, settings) {
|
||||||
serv.setTickInterval = setTickInterval;
|
|
||||||
serv.stopTickInterval = stopTickInterval;
|
|
||||||
serv.tickCount = 0;
|
serv.tickCount = 0;
|
||||||
|
|
||||||
|
|
||||||
|
serv.setTickInterval = ticksPerSecond => {
|
||||||
|
serv.stopTickInterval();
|
||||||
|
|
||||||
|
serv.tickInterval = setInterval(function() {
|
||||||
|
serv.tickCount++;
|
||||||
|
serv.emit('tick', serv.tickCount);
|
||||||
|
}, 1000/ticksPerSecond);
|
||||||
|
};
|
||||||
|
|
||||||
|
serv.stopTickInterval = () => {
|
||||||
|
if (serv.tickInterval) clearInterval(serv.tickInterval);
|
||||||
|
serv.tickInterval = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
serv.setTickInterval(20);
|
serv.setTickInterval(20);
|
||||||
}
|
}
|
||||||
|
|
||||||
function setTickInterval(ticksPerSecond) {
|
|
||||||
var serv = this;
|
|
||||||
serv.stopTickInterval();
|
|
||||||
|
|
||||||
serv.tickInterval = setInterval(function() {
|
|
||||||
serv.tickCount++;
|
|
||||||
serv.emit('tick', serv.tickCount);
|
|
||||||
}, 1000/ticksPerSecond);
|
|
||||||
}
|
|
||||||
|
|
||||||
function stopTickInterval() {
|
|
||||||
if (this.tickInterval) clearInterval(serv.tickInterval);
|
|
||||||
this.tickInterval = null;
|
|
||||||
}
|
|
||||||
|
|
@ -22,7 +22,7 @@ function inject(serv,{regionFolder,generation={"name":"diamond_square","options"
|
||||||
|
|
||||||
serv._worldSync=new WorldSync(serv.overworld);
|
serv._worldSync=new WorldSync(serv.overworld);
|
||||||
|
|
||||||
function pregenWorld(world, size=10) {
|
serv.pregenWorld = (world, size=10) => {
|
||||||
var promises = [];
|
var promises = [];
|
||||||
for (var x = -size; x < size; x++) {
|
for (var x = -size; x < size; x++) {
|
||||||
for (var z = -size; z < size; z++) {
|
for (var z = -size; z < size; z++) {
|
||||||
|
|
@ -30,8 +30,7 @@ function inject(serv,{regionFolder,generation={"name":"diamond_square","options"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Promise.all(promises);
|
return Promise.all(promises);
|
||||||
}
|
};
|
||||||
serv.pregenWorld = pregenWorld;
|
|
||||||
|
|
||||||
//serv.pregenWorld(serv.overworld).then(() => serv.log('Pre-Generated Overworld'));
|
//serv.pregenWorld(serv.overworld).then(() => serv.log('Pre-Generated Overworld'));
|
||||||
//serv.pregenWorld(serv.netherworld).then(() => serv.log('Pre-Generated Nether'));
|
//serv.pregenWorld(serv.netherworld).then(() => serv.log('Pre-Generated Nether'));
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ var boot = require('../app').boot,
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
describe("Server", function() {
|
describe("Server", function() {
|
||||||
if("Is running", function(done) {
|
it("Is running", function(done) {
|
||||||
var client = net.Socket();
|
var client = net.Socket();
|
||||||
client.connect(25565, '127.0.0.1', function() {
|
client.connect(25565, '127.0.0.1', function() {
|
||||||
client.close(); // or whatever the method to close the socket;
|
client.close(); // or whatever the method to close the socket;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue