@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
66 lines (65 loc) • 11.6 kB
JavaScript
;
Object.defineProperties(exports, {
__esModule: { value: true },
[Symbol.toStringTag]: { value: "Module" }
});
require("../../_virtual/_rolldown/runtime.cjs.cjs");
const require_command_Command = require("../Command.cjs.cjs");
let _jsprismarine_brigadier = require("@jsprismarine/brigadier");
//#region src/command/jsprismarine/DebugCommand.ts
var DebugCommand = class extends require_command_Command.Command {
constructor() {
super({
id: "jsprismarine:debug",
description: "Debug output.",
permission: "jsprismarine.command.debug"
});
}
async register(dispatcher) {
dispatcher.register((0, _jsprismarine_brigadier.literal)("debug").then((0, _jsprismarine_brigadier.argument)("action", (0, _jsprismarine_brigadier.string)()).then((0, _jsprismarine_brigadier.argument)("value", (0, _jsprismarine_brigadier.greedyString)()).executes(async (context) => {
const source = context.getSource();
const action = context.getArgument("action");
const value = context.getArgument("value");
switch (action) {
case "loadWorld": {
const worldData = source.getServer().getConfig().getWorlds()[value];
return `Loaded world ${(await source.getServer().getWorldManager().loadWorld(worldData, value)).getName()}`;
}
case "changeWorld": {
const world = source.getServer().getWorldManager().getWorldByName(value);
await source.setWorld(world);
return `Moved ${source.getFormattedUsername()} to ${world.getName()}`;
}
case "setConfig": {
const config = value.split(" ")[0];
const data = value.replace(`${config} `, "");
source.getServer().getConfig()[config] = data;
return `Set config ${config} to ${data}`;
}
default: throw new Error("Invalid action!");
}
}))).executes(async (context) => {
const source = context.getSource();
const worlds = source.getServer().getWorldManager().getWorlds();
await source.sendMessage(`§dWorlds Loaded§r (${worlds.length}):`);
for (const world of worlds) {
await source.sendMessage(`- uuid: §a${world.getUUID()}§r, name: §b${world.getName()}§r, ticks: §b${world.getTicks()}§r`);
const gamerules = Array.from(world.getGameruleManager().getGamerules());
await source.sendMessage(` §dGamerules§r (${gamerules.length}):`);
await Promise.all(gamerules.map(async ([id, value]) => {
await source.sendMessage(` - id: §a${id}§r, value: §b${value}§r`);
}));
const entities = world.getEntities();
await source.sendMessage(` §dEntities§r (${entities.length}):`);
await Promise.all(entities.map(async (e) => source.sendMessage(` - ${e.toString()}`)));
}
await source.sendMessage(`§dConfig§r:`);
await source.sendMessage(` - online-mode: ${source.getServer().getConfig().getOnlineMode()}`);
await source.sendMessage(` - max-players: ${source.getServer().getConfig().getMaxPlayers()}`);
await source.sendMessage(` - motd: ${source.getServer().getConfig().getMotd()}`);
}));
}
};
//#endregion
exports.default = DebugCommand;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVidWdDb21tYW5kLmNqcy5janMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmQvanNwcmlzbWFyaW5lL0RlYnVnQ29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbW1hbmREaXNwYXRjaGVyIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuaW1wb3J0IHsgYXJndW1lbnQsIGdyZWVkeVN0cmluZywgbGl0ZXJhbCwgc3RyaW5nIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuXG5pbXBvcnQgdHlwZSBQbGF5ZXIgZnJvbSAnLi4vLi4vUGxheWVyJztcbmltcG9ydCB0eXBlIHsgV29ybGREYXRhIH0gZnJvbSAnLi4vLi4vd29ybGQvV29ybGRNYW5hZ2VyJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICcuLi9Db21tYW5kJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGVidWdDb21tYW5kIGV4dGVuZHMgQ29tbWFuZCB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7XG4gICAgICAgICAgICBpZDogJ2pzcHJpc21hcmluZTpkZWJ1ZycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0RlYnVnIG91dHB1dC4nLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogJ2pzcHJpc21hcmluZS5jb21tYW5kLmRlYnVnJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcmVnaXN0ZXIoZGlzcGF0Y2hlcjogQ29tbWFuZERpc3BhdGNoZXI8YW55Pikge1xuICAgICAgICBkaXNwYXRjaGVyLnJlZ2lzdGVyKFxuICAgICAgICAgICAgbGl0ZXJhbCgnZGVidWcnKVxuICAgICAgICAgICAgICAgIC50aGVuKFxuICAgICAgICAgICAgICAgICAgICBhcmd1bWVudCgnYWN0aW9uJywgc3RyaW5nKCkpLnRoZW4oXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudCgndmFsdWUnLCBncmVlZHlTdHJpbmcoKSkuZXhlY3V0ZXMoYXN5bmMgKGNvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2UgPSBjb250ZXh0LmdldFNvdXJjZSgpIGFzIFBsYXllcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3Rpb24gPSBjb250ZXh0LmdldEFyZ3VtZW50KCdhY3Rpb24nKSBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBjb250ZXh0LmdldEFyZ3VtZW50KCd2YWx1ZScpIGFzIHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2xvYWRXb3JsZCc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHdvcmxkRGF0YSA9IHNvdXJjZS5nZXRTZXJ2ZXIoKS5nZXRDb25maWcoKS5nZXRXb3JsZHMoKVt2YWx1ZV0gYXMgV29ybGREYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgd29ybGQgPSBhd2FpdCBzb3VyY2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0U2VydmVyKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0V29ybGRNYW5hZ2VyKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubG9hZFdvcmxkKHdvcmxkRGF0YSwgdmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBMb2FkZWQgd29ybGQgJHt3b3JsZC5nZXROYW1lKCl9YDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdjaGFuZ2VXb3JsZCc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHdvcmxkID0gc291cmNlLmdldFNlcnZlcigpLmdldFdvcmxkTWFuYWdlcigpLmdldFdvcmxkQnlOYW1lKHZhbHVlKSE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBzb3VyY2Uuc2V0V29ybGQod29ybGQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBNb3ZlZCAke3NvdXJjZS5nZXRGb3JtYXR0ZWRVc2VybmFtZSgpfSB0byAke3dvcmxkLmdldE5hbWUoKX1gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3NldENvbmZpZyc6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHZhbHVlLnNwbGl0KCcgJylbMF0hO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHZhbHVlLnJlcGxhY2UoYCR7Y29uZmlnfSBgLCAnJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzb3VyY2UuZ2V0U2VydmVyKCkuZ2V0Q29uZmlnKCkgYXMgYW55KVtjb25maWddID0gZGF0YTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgU2V0IGNvbmZpZyAke2NvbmZpZ30gdG8gJHtkYXRhfWA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGFjdGlvbiEnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmV4ZWN1dGVzKGFzeW5jIChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGNvbnRleHQuZ2V0U291cmNlKCkgYXMgUGxheWVyO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHdvcmxkcyA9IHNvdXJjZS5nZXRTZXJ2ZXIoKS5nZXRXb3JsZE1hbmFnZXIoKS5nZXRXb3JsZHMoKTtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgc291cmNlLnNlbmRNZXNzYWdlKGDCp2RXb3JsZHMgTG9hZGVkwqdyICgke3dvcmxkcy5sZW5ndGh9KTpgKTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB3b3JsZCBvZiB3b3JsZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHNvdXJjZS5zZW5kTWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLSB1dWlkOiDCp2Eke3dvcmxkLmdldFVVSUQoKX3Cp3IsIG5hbWU6IMKnYiR7d29ybGQuZ2V0TmFtZSgpfcKnciwgdGlja3M6IMKnYiR7d29ybGQuZ2V0VGlja3MoKX3Cp3JgXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnYW1lcnVsZXMgPSBBcnJheS5mcm9tKHdvcmxkLmdldEdhbWVydWxlTWFuYWdlcigpLmdldEdhbWVydWxlcygpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHNvdXJjZS5zZW5kTWVzc2FnZShgICDCp2RHYW1lcnVsZXPCp3IgKCR7Z2FtZXJ1bGVzLmxlbmd0aH0pOmApO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FtZXJ1bGVzLm1hcChhc3luYyAoW2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgc291cmNlLnNlbmRNZXNzYWdlKGAgIC0gaWQ6IMKnYSR7aWR9wqdyLCB2YWx1ZTogwqdiJHt2YWx1ZX3Cp3JgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZW50aXRpZXMgPSB3b3JsZC5nZXRFbnRpdGllcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgc291cmNlLnNlbmRNZXNzYWdlKGAgIMKnZEVudGl0aWVzwqdyICgke2VudGl0aWVzLmxlbmd0aH0pOmApO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoZW50aXRpZXMubWFwKGFzeW5jIChlKSA9PiBzb3VyY2Uuc2VuZE1lc3NhZ2UoYCAgLSAke2UudG9TdHJpbmcoKX1gKSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgc291cmNlLnNlbmRNZXNzYWdlKGDCp2RDb25maWfCp3I6YCk7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHNvdXJjZS5zZW5kTWVzc2FnZShgICAtIG9ubGluZS1tb2RlOiAke3NvdXJjZS5nZXRTZXJ2ZXIoKS5nZXRDb25maWcoKS5nZXRPbmxpbmVNb2RlKCl9YCk7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHNvdXJjZS5zZW5kTWVzc2FnZShgICAtIG1heC1wbGF5ZXJzOiAke3NvdXJjZS5nZXRTZXJ2ZXIoKS5nZXRDb25maWcoKS5nZXRNYXhQbGF5ZXJzKCl9YCk7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHNvdXJjZS5zZW5kTWVzc2FnZShgICAtIG1vdGQ6ICR7c291cmNlLmdldFNlcnZlcigpLmdldENvbmZpZygpLmdldE1vdGQoKX1gKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBT0EsSUFBcUIsZUFBckIsY0FBMEMsd0JBQUEsUUFBUTtDQUM5QyxjQUFxQjtFQUNqQixNQUFNO0dBQ0YsSUFBSTtHQUNKLGFBQWE7R0FDYixZQUFZO0VBQ2hCLENBQUM7Q0FDTDtDQUVBLE1BQWEsU0FBUyxZQUFvQztFQUN0RCxXQUFXLFVBQUEsR0FBQSx3QkFBQSxTQUNDLE9BQU8sRUFDVixNQUFBLEdBQUEsd0JBQUEsVUFDWSxXQUFBLEdBQUEsd0JBQUEsUUFBaUIsQ0FBQyxFQUFFLE1BQUEsR0FBQSx3QkFBQSxVQUNoQixVQUFBLEdBQUEsd0JBQUEsY0FBc0IsQ0FBQyxFQUFFLFNBQVMsT0FBTyxZQUFZO0dBQzFELE1BQU0sU0FBUyxRQUFRLFVBQVU7R0FDakMsTUFBTSxTQUFTLFFBQVEsWUFBWSxRQUFRO0dBQzNDLE1BQU0sUUFBUSxRQUFRLFlBQVksT0FBTztHQUV6QyxRQUFRLFFBQVI7SUFDSSxLQUFLLGFBQWE7S0FDZCxNQUFNLFlBQVksT0FBTyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRTtLQUs3RCxPQUFPLGlCQUFnQixNQUpILE9BQ2YsVUFBVSxFQUNWLGdCQUFnQixFQUNoQixVQUFVLFdBQVcsS0FBSyxHQUNGLFFBQVE7SUFDekM7SUFDQSxLQUFLLGVBQWU7S0FDaEIsTUFBTSxRQUFRLE9BQU8sVUFBVSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsS0FBSztLQUN2RSxNQUFNLE9BQU8sU0FBUyxLQUFLO0tBQzNCLE9BQU8sU0FBUyxPQUFPLHFCQUFxQixFQUFFLE1BQU0sTUFBTSxRQUFRO0lBQ3RFO0lBQ0EsS0FBSyxhQUFhO0tBQ2QsTUFBTSxTQUFTLE1BQU0sTUFBTSxHQUFHLEVBQUU7S0FDaEMsTUFBTSxPQUFPLE1BQU0sUUFBUSxHQUFHLE9BQU8sSUFBSSxFQUFFO0tBRTNDLE9BQVEsVUFBVSxFQUFFLFVBQVUsRUFBVSxVQUFVO0tBQ2xELE9BQU8sY0FBYyxPQUFPLE1BQU07SUFDdEM7SUFDQSxTQUNJLE1BQU0sSUFBSSxNQUFNLGlCQUFpQjtHQUV6QztFQUNKLENBQUMsQ0FDTCxDQUNKLEVBQ0MsU0FBUyxPQUFPLFlBQVk7R0FDekIsTUFBTSxTQUFTLFFBQVEsVUFBVTtHQUVqQyxNQUFNLFNBQVMsT0FBTyxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVTtHQUM5RCxNQUFNLE9BQU8sWUFBWSxzQkFBc0IsT0FBTyxPQUFPLEdBQUc7R0FDaEUsS0FBSyxNQUFNLFNBQVMsUUFBUTtJQUN4QixNQUFNLE9BQU8sWUFDVCxhQUFhLE1BQU0sUUFBUSxFQUFFLGNBQWMsTUFBTSxRQUFRLEVBQUUsZUFBZSxNQUFNLFNBQVMsRUFBRSxHQUMvRjtJQUVBLE1BQU0sWUFBWSxNQUFNLEtBQUssTUFBTSxtQkFBbUIsRUFBRSxhQUFhLENBQUM7SUFDdEUsTUFBTSxPQUFPLFlBQVksb0JBQW9CLFVBQVUsT0FBTyxHQUFHO0lBQ2pFLE1BQU0sUUFBUSxJQUNWLFVBQVUsSUFBSSxPQUFPLENBQUMsSUFBSSxXQUFXO0tBQ2pDLE1BQU0sT0FBTyxZQUFZLGFBQWEsR0FBRyxlQUFlLE1BQU0sR0FBRztJQUNyRSxDQUFDLENBQ0w7SUFFQSxNQUFNLFdBQVcsTUFBTSxZQUFZO0lBQ25DLE1BQU0sT0FBTyxZQUFZLG1CQUFtQixTQUFTLE9BQU8sR0FBRztJQUMvRCxNQUFNLFFBQVEsSUFBSSxTQUFTLElBQUksT0FBTyxNQUFNLE9BQU8sWUFBWSxPQUFPLEVBQUUsU0FBUyxHQUFHLENBQUMsQ0FBQztHQUMxRjtHQUVBLE1BQU0sT0FBTyxZQUFZLGFBQWE7R0FDdEMsTUFBTSxPQUFPLFlBQVksb0JBQW9CLE9BQU8sVUFBVSxFQUFFLFVBQVUsRUFBRSxjQUFjLEdBQUc7R0FDN0YsTUFBTSxPQUFPLFlBQVksb0JBQW9CLE9BQU8sVUFBVSxFQUFFLFVBQVUsRUFBRSxjQUFjLEdBQUc7R0FDN0YsTUFBTSxPQUFPLFlBQVksYUFBYSxPQUFPLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxHQUFHO0VBQ3BGLENBQUMsQ0FDVDtDQUNKO0FBQ0oifQ==