mirror of
https://github.com/danbulant/flying-squid
synced 2026-07-09 13:10:59 +00:00
move code to inject section
This commit is contained in:
parent
75f974ecc8
commit
19b5c9a9cc
1 changed files with 295 additions and 295 deletions
|
|
@ -1,9 +1,10 @@
|
||||||
var Vec3 = require('vec3');
|
var Vec3 = require('vec3');
|
||||||
module.exports = inject;
|
module.exports = inject;
|
||||||
|
|
||||||
var hash = {};
|
function inject(serv, player, options) {
|
||||||
|
var hash = {};
|
||||||
|
|
||||||
class Command {
|
class Command {
|
||||||
constructor(params, parent) {
|
constructor(params, parent) {
|
||||||
this.params = params;
|
this.params = params;
|
||||||
this.parent = parent;
|
this.parent = parent;
|
||||||
|
|
@ -29,7 +30,7 @@ class Command {
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
static use(command, serv, player, options) {
|
static use(command) {
|
||||||
var res = this.find(command);
|
var res = this.find(command);
|
||||||
|
|
||||||
if(res) {
|
if(res) {
|
||||||
|
|
@ -48,7 +49,7 @@ class Command {
|
||||||
res[1].shift();
|
res[1].shift();
|
||||||
}
|
}
|
||||||
|
|
||||||
res = res[0].params.action(res[1], serv, player, options);
|
res = res[0].params.action(res[1]);
|
||||||
if(res) player.chat('' + res);
|
if(res) player.chat('' + res);
|
||||||
} else {
|
} else {
|
||||||
player.chat('Command not found');
|
player.chat('Command not found');
|
||||||
|
|
@ -83,15 +84,15 @@ class Command {
|
||||||
var first = !(this.parent && this.parent.parent);
|
var first = !(this.parent && this.parent.parent);
|
||||||
return this.params.merged || (!end && first) ? '' : ' ';
|
return this.params.merged || (!end && first) ? '' : ' ';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var base = new Command({ basic: true });
|
var base = new Command({ basic: true });
|
||||||
|
|
||||||
base.add({
|
base.add({
|
||||||
base: 'help',
|
base: 'help',
|
||||||
info: 'for show all commands',
|
info: 'for show all commands',
|
||||||
usage: '/help [command]',
|
usage: '/help [command]',
|
||||||
action(params, serv, player, options) {
|
action(params) {
|
||||||
var c = params[0];
|
var c = params[0];
|
||||||
|
|
||||||
if(c) {
|
if(c) {
|
||||||
|
|
@ -116,9 +117,9 @@ base.add({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
base.add({
|
base.add({
|
||||||
base: 'gamemode',
|
base: 'gamemode',
|
||||||
aliases: ['gm'],
|
aliases: ['gm'],
|
||||||
info: 'for change game mode',
|
info: 'for change game mode',
|
||||||
|
|
@ -128,12 +129,12 @@ base.add({
|
||||||
if(mode < 0 || mode > 3) return false;
|
if(mode < 0 || mode > 3) return false;
|
||||||
else return mode;
|
else return mode;
|
||||||
},
|
},
|
||||||
action(mode, serv, player) {
|
action(mode) {
|
||||||
player.setGameMode(mode);
|
player.setGameMode(mode);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
base.add({
|
base.add({
|
||||||
base: 'setblock',
|
base: 'setblock',
|
||||||
info: 'for put block',
|
info: 'for put block',
|
||||||
usage: '/setblock <x> <y> <z> <id>',
|
usage: '/setblock <x> <y> <z> <id>',
|
||||||
|
|
@ -143,7 +144,7 @@ base.add({
|
||||||
if(!results) return false;
|
if(!results) return false;
|
||||||
else return results;
|
else return results;
|
||||||
},
|
},
|
||||||
action(params, serv, player) {
|
action(params) {
|
||||||
var res = params.map(function (num, i) { // parseInt paramaters
|
var res = params.map(function (num, i) { // parseInt paramaters
|
||||||
if (num.indexOf('~') == 0) {
|
if (num.indexOf('~') == 0) {
|
||||||
return (player.entity.position[['', 'x', 'y', 'z'][i]] >> 5) + parseInt(num.slice(1) || 0);
|
return (player.entity.position[['', 'x', 'y', 'z'][i]] >> 5) + parseInt(num.slice(1) || 0);
|
||||||
|
|
@ -154,9 +155,9 @@ base.add({
|
||||||
|
|
||||||
serv.setBlock(new Vec3(res[1], res[2], res[3]), res[4]);
|
serv.setBlock(new Vec3(res[1], res[2], res[3]), res[4]);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
base.add({
|
base.add({
|
||||||
base: 'kick',
|
base: 'kick',
|
||||||
info: 'for kick a player',
|
info: 'for kick a player',
|
||||||
usage: '/kick <player> [reason]',
|
usage: '/kick <player> [reason]',
|
||||||
|
|
@ -173,7 +174,7 @@ base.add({
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
},
|
},
|
||||||
action(params, serv, player) {
|
action(params) {
|
||||||
var username = params[0];
|
var username = params[0];
|
||||||
var reason = params[1];
|
var reason = params[1];
|
||||||
|
|
||||||
|
|
@ -185,9 +186,9 @@ base.add({
|
||||||
kickPlayer.emit("kicked", player, reason);
|
kickPlayer.emit("kicked", player, reason);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
base.add({
|
base.add({
|
||||||
base: 'ban',
|
base: 'ban',
|
||||||
info: 'for ban a player',
|
info: 'for ban a player',
|
||||||
usage: '/ban <player> [reason]',
|
usage: '/ban <player> [reason]',
|
||||||
|
|
@ -204,7 +205,7 @@ base.add({
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
},
|
},
|
||||||
action(params, serv, player) {
|
action(params) {
|
||||||
var username = params[0];
|
var username = params[0];
|
||||||
var reason = params[1];
|
var reason = params[1];
|
||||||
|
|
||||||
|
|
@ -222,9 +223,9 @@ base.add({
|
||||||
serv.emit("banned", player, username, reason);
|
serv.emit("banned", player, username, reason);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
base.add({
|
base.add({
|
||||||
base: 'pardon',
|
base: 'pardon',
|
||||||
info: 'for pardon a player',
|
info: 'for pardon a player',
|
||||||
usage: '/pardon <player>',
|
usage: '/pardon <player>',
|
||||||
|
|
@ -237,14 +238,14 @@ base.add({
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
},
|
},
|
||||||
action(nick, serv, player) {
|
action(nick) {
|
||||||
serv.pardonUsername(nick)
|
serv.pardonUsername(nick)
|
||||||
.then(()=> player.chat(nick + " is unbanned"))
|
.then(()=> player.chat(nick + " is unbanned"))
|
||||||
.catch(err => player.chat(nick + " is not banned"));
|
.catch(err => player.chat(nick + " is not banned"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
base.add({
|
base.add({
|
||||||
base: 'time',
|
base: 'time',
|
||||||
info: 'for change a time',
|
info: 'for change a time',
|
||||||
usage: '/time <add|query|set> <value>',
|
usage: '/time <add|query|set> <value>',
|
||||||
|
|
@ -258,7 +259,7 @@ base.add({
|
||||||
|
|
||||||
return [data[1], data[2]];
|
return [data[1], data[2]];
|
||||||
},
|
},
|
||||||
action(params, serv, player) {
|
action(params) {
|
||||||
var action = params[0];
|
var action = params[0];
|
||||||
var value = params[1] !== undefined ? parseInt(params[1]) : null;
|
var value = params[1] !== undefined ? parseInt(params[1]) : null;
|
||||||
|
|
||||||
|
|
@ -277,22 +278,22 @@ base.add({
|
||||||
serv.setTime(newTime);
|
serv.setTime(newTime);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
base.add({
|
base.add({
|
||||||
base: 'day',
|
base: 'day',
|
||||||
info: 'for change a time to day',
|
info: 'for change a time to day',
|
||||||
usage: '/day',
|
usage: '/day',
|
||||||
action(params, serv, player) {
|
action(params) {
|
||||||
player.handleCommand('time set day');
|
player.handleCommand('time set day');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
base.add({
|
base.add({
|
||||||
base: 'ping',
|
base: 'ping',
|
||||||
info: 'for pong!',
|
info: 'for pong!',
|
||||||
usage: '/ping [number]',
|
usage: '/ping [number]',
|
||||||
action(params, serv, player) {
|
action(params) {
|
||||||
var num = params[0] * 1 + 1;
|
var num = params[0] * 1 + 1;
|
||||||
|
|
||||||
var str = 'pong';
|
var str = 'pong';
|
||||||
|
|
@ -300,45 +301,44 @@ base.add({
|
||||||
|
|
||||||
player.chat(str + '!');
|
player.chat(str + '!');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
base.add({
|
base.add({
|
||||||
base: 'night',
|
base: 'night',
|
||||||
info: 'for change a time to night',
|
info: 'for change a time to night',
|
||||||
usage: '/night',
|
usage: '/night',
|
||||||
action(params, serv, player) {
|
action(params) {
|
||||||
player.handleCommand('time set night');
|
player.handleCommand('time set night');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
base.add({
|
base.add({
|
||||||
base: 'modpe',
|
base: 'modpe',
|
||||||
info: 'for modpe commands',
|
info: 'for modpe commands',
|
||||||
usage: '/modpe <params>',
|
usage: '/modpe <params>',
|
||||||
parse(str) { return str ? str : false },
|
parse(str) { return str ? str : false },
|
||||||
action(str, serv, player) {
|
action(str) {
|
||||||
player.emit("modpe", str);
|
player.emit("modpe", str);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
base.add({
|
base.add({
|
||||||
base: 'version',
|
base: 'version',
|
||||||
info: 'for get version of the server',
|
info: 'for get version of the server',
|
||||||
action() {
|
action() {
|
||||||
return 'This server is running flying-squid version 0.1.0';
|
return 'This server is running flying-squid version 0.1.0';
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
base.add({
|
base.add({
|
||||||
base: 'bug',
|
base: 'bug',
|
||||||
info: 'for bug report',
|
info: 'for bug report',
|
||||||
action() {
|
action() {
|
||||||
return 'Report bugs / issues here: https://github.com/mhsjlw/flying-squid/issues';
|
return 'Report bugs / issues here: https://github.com/mhsjlw/flying-squid/issues';
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function inject(serv, player, options) {
|
serv.commands = base;
|
||||||
player.handleCommand = function(str) {
|
|
||||||
return Command.use(str, serv, player, options);
|
player.handleCommand = Command.use.bind(Command);
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue