mirror of
https://github.com/danbulant/flying-squid
synced 2026-06-21 15:51:51 +00:00
37 lines
No EOL
1.2 KiB
JavaScript
37 lines
No EOL
1.2 KiB
JavaScript
var Vec3 = require('vec3');
|
|
|
|
module.exports=inject;
|
|
|
|
function inject(serv, player, options)
|
|
{
|
|
function handleCommand(command)
|
|
{
|
|
var results;
|
|
if(options.commands[command])
|
|
player.chat("" + options.commands[command]);
|
|
else if(results=command.match(/^gamemode ([0-3])$/)) {
|
|
var gameMode=parseInt(results[1]);
|
|
player.setGameMode(gameMode);
|
|
}
|
|
else if(results=command.match(/^setblock/)) { // Like old version which uses ids
|
|
results = command.match(/^setblock (~|~?-?[0-9]*) (~|~?-?[0-9]*) (~|~?-?[0-9]*) ([0-9]{1,3})/);
|
|
if(!results) {
|
|
player.chat("Usage: /setblock <x> <y> <z> <id>");
|
|
}
|
|
else {
|
|
results = results.map(function(num, i) { // parseInt paramaters
|
|
if (num.indexOf('~') == 0) {
|
|
return (player.entity.position[['','x', 'y', 'z'][i]]>>5) + parseInt(num.slice(1) || 0);
|
|
}
|
|
else
|
|
return parseInt(num); // return parseInt>>5 if position, not id
|
|
});
|
|
serv.setBlock(new Vec3(results[1], results[2], results[3]), results[4]);
|
|
}
|
|
}
|
|
else
|
|
player.chat("Invalid command.");
|
|
}
|
|
|
|
player.handleCommand=handleCommand;
|
|
} |