@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
64 lines (59 loc) • 10.9 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
const command_CommandArguments = require('../CommandArguments.cjs.cjs');
const brigadier = require('@jsprismarine/brigadier');
const command_Command = require('../Command.cjs.cjs');
class ExecuteCommand extends command_Command.Command {
constructor() {
super({
id: "minecraft:execute",
description: "Executes a command on a player target.",
permission: "minecraft.command.execute"
});
}
async register(dispatcher) {
dispatcher.register(
brigadier.literal("execute").then(
brigadier.argument("player", new command_CommandArguments.CommandArgumentEntity()).then(
brigadier.argument("command", new command_CommandArguments.CommandArgumentCommand()).executes(async (context) => {
const source = context.getSource();
const targets = context.getArgument("player");
const command = context.getArgument("command");
await Promise.all(
targets.map(
async (target) => source.getServer().getCommandManager().dispatchCommand(source, target, command)
)
);
}).then(
brigadier.argument("arguments", brigadier.greedyString()).executes(async (context) => {
const source = context.getSource();
const targets = context.getArgument("player");
const command = context.getArgument("command");
const args = context.getArgument("arguments");
await Promise.all(
targets.map(
async (target) => source.getServer().getCommandManager().dispatchCommand(source, target, `${command} ${args}`)
)
);
})
)
)
).then(
brigadier.argument("command", new command_CommandArguments.CommandArgumentCommand()).executes(async (context) => {
const source = context.getSource();
const command = context.getArgument("command");
await source.getServer().getCommandManager().dispatchCommand(source, source, command);
}).then(
brigadier.argument("arguments", brigadier.greedyString()).executes(async (context) => {
const source = context.getSource();
const command = context.getArgument("command");
const args = context.getArgument("arguments");
await source.getServer().getCommandManager().dispatchCommand(source, source, `${command} ${args}`);
})
)
)
);
}
}
exports.default = ExecuteCommand;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhlY3V0ZUNvbW1hbmQuY2pzLmNqcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmQvdmFuaWxsYS9FeGVjdXRlQ29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tYW5kQXJndW1lbnRDb21tYW5kLCBDb21tYW5kQXJndW1lbnRFbnRpdHkgfSBmcm9tICcuLi9Db21tYW5kQXJndW1lbnRzJztcbmltcG9ydCB0eXBlIHsgQ29tbWFuZERpc3BhdGNoZXIgfSBmcm9tICdAanNwcmlzbWFyaW5lL2JyaWdhZGllcic7XG5pbXBvcnQgeyBhcmd1bWVudCwgZ3JlZWR5U3RyaW5nLCBsaXRlcmFsIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuXG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnLi4vQ29tbWFuZCc7XG5pbXBvcnQgdHlwZSBQbGF5ZXIgZnJvbSAnLi4vLi4vUGxheWVyJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXhlY3V0ZUNvbW1hbmQgZXh0ZW5kcyBDb21tYW5kIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIGlkOiAnbWluZWNyYWZ0OmV4ZWN1dGUnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdFeGVjdXRlcyBhIGNvbW1hbmQgb24gYSBwbGF5ZXIgdGFyZ2V0LicsXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiAnbWluZWNyYWZ0LmNvbW1hbmQuZXhlY3V0ZSdcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHJlZ2lzdGVyKGRpc3BhdGNoZXI6IENvbW1hbmREaXNwYXRjaGVyPGFueT4pIHtcbiAgICAgICAgZGlzcGF0Y2hlci5yZWdpc3RlcihcbiAgICAgICAgICAgIGxpdGVyYWwoJ2V4ZWN1dGUnKVxuICAgICAgICAgICAgICAgIC50aGVuKFxuICAgICAgICAgICAgICAgICAgICBhcmd1bWVudCgncGxheWVyJywgbmV3IENvbW1hbmRBcmd1bWVudEVudGl0eSgpKS50aGVuKFxuICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnQoJ2NvbW1hbmQnLCBuZXcgQ29tbWFuZEFyZ3VtZW50Q29tbWFuZCgpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5leGVjdXRlcyhhc3luYyAoY29udGV4dCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2UgPSBjb250ZXh0LmdldFNvdXJjZSgpIGFzIFBsYXllcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0cyA9IGNvbnRleHQuZ2V0QXJndW1lbnQoJ3BsYXllcicpIGFzIFBsYXllcltdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb21tYW5kID0gY29udGV4dC5nZXRBcmd1bWVudCgnY29tbWFuZCcpIGFzIHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRzLm1hcChhc3luYyAodGFyZ2V0KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZS5nZXRTZXJ2ZXIoKS5nZXRDb21tYW5kTWFuYWdlcigpLmRpc3BhdGNoQ29tbWFuZChzb3VyY2UsIHRhcmdldCwgY29tbWFuZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudCgnYXJndW1lbnRzJywgZ3JlZWR5U3RyaW5nKCkpLmV4ZWN1dGVzKGFzeW5jIChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2UgPSBjb250ZXh0LmdldFNvdXJjZSgpIGFzIFBsYXllcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldHMgPSBjb250ZXh0LmdldEFyZ3VtZW50KCdwbGF5ZXInKSBhcyBQbGF5ZXJbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbW1hbmQgPSBjb250ZXh0LmdldEFyZ3VtZW50KCdjb21tYW5kJykgYXMgc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJncyA9IGNvbnRleHQuZ2V0QXJndW1lbnQoJ2FyZ3VtZW50cycpIGFzIHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0cy5tYXAoYXN5bmMgKHRhcmdldCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0U2VydmVyKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXRDb21tYW5kTWFuYWdlcigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGlzcGF0Y2hDb21tYW5kKHNvdXJjZSwgdGFyZ2V0LCBgJHtjb21tYW5kfSAke2FyZ3N9YClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAudGhlbihcbiAgICAgICAgICAgICAgICAgICAgYXJndW1lbnQoJ2NvbW1hbmQnLCBuZXcgQ29tbWFuZEFyZ3VtZW50Q29tbWFuZCgpKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmV4ZWN1dGVzKGFzeW5jIChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc291cmNlID0gY29udGV4dC5nZXRTb3VyY2UoKSBhcyBQbGF5ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29tbWFuZCA9IGNvbnRleHQuZ2V0QXJndW1lbnQoJ2NvbW1hbmQnKSBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgc291cmNlLmdldFNlcnZlcigpLmdldENvbW1hbmRNYW5hZ2VyKCkuZGlzcGF0Y2hDb21tYW5kKHNvdXJjZSwgc291cmNlLCBjb21tYW5kKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAudGhlbihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudCgnYXJndW1lbnRzJywgZ3JlZWR5U3RyaW5nKCkpLmV4ZWN1dGVzKGFzeW5jIChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGNvbnRleHQuZ2V0U291cmNlKCkgYXMgUGxheWVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb21tYW5kID0gY29udGV4dC5nZXRBcmd1bWVudCgnY29tbWFuZCcpIGFzIHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYXJncyA9IGNvbnRleHQuZ2V0QXJndW1lbnQoJ2FyZ3VtZW50cycpIGFzIHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgc291cmNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0U2VydmVyKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXRDb21tYW5kTWFuYWdlcigpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGlzcGF0Y2hDb21tYW5kKHNvdXJjZSwgc291cmNlLCBgJHtjb21tYW5kfSAke2FyZ3N9YCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIkNvbW1hbmQiLCJsaXRlcmFsIiwiYXJndW1lbnQiLCJDb21tYW5kQXJndW1lbnRFbnRpdHkiLCJDb21tYW5kQXJndW1lbnRDb21tYW5kIiwiZ3JlZWR5U3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQU9BLE1BQXFCLHVCQUF1QkEsdUJBQVEsQ0FBQTtBQUFBLEVBQ3pDLFdBQWMsR0FBQTtBQUNqQixJQUFNLEtBQUEsQ0FBQTtBQUFBLE1BQ0YsRUFBSSxFQUFBLG1CQUFBO0FBQUEsTUFDSixXQUFhLEVBQUEsd0NBQUE7QUFBQSxNQUNiLFVBQVksRUFBQTtBQUFBLEtBQ2YsQ0FBQTtBQUFBO0FBQ0wsRUFFQSxNQUFhLFNBQVMsVUFBb0MsRUFBQTtBQUN0RCxJQUFXLFVBQUEsQ0FBQSxRQUFBO0FBQUEsTUFDUEMsaUJBQUEsQ0FBUSxTQUFTLENBQ1osQ0FBQSxJQUFBO0FBQUEsUUFDR0Msa0JBQVMsQ0FBQSxRQUFBLEVBQVUsSUFBSUMsOENBQUEsRUFBdUIsQ0FBRSxDQUFBLElBQUE7QUFBQSxVQUM1Q0Qsa0JBQUEsQ0FBUyxXQUFXLElBQUlFLCtDQUFBLEVBQXdCLENB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