@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
41 lines (36 loc) • 5.73 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
const brigadier = require('@jsprismarine/brigadier');
const command_Command = require('../Command.cjs.cjs');
class GameruleCommand extends command_Command.Command {
constructor() {
super({
id: "minecraft:gamerule",
description: "Set gamerule value.",
permission: "minecraft.command.gamerule"
});
}
async register(dispatcher) {
dispatcher.register(
brigadier.literal("gamerule").then(
brigadier.argument("name", brigadier.string()).then(
brigadier.argument("value", brigadier.string()).executes(async (context) => {
const source = context.getSource();
const name = context.getArgument("name");
let value = context.getArgument("value").toLowerCase() === "true" ? true : false;
source.getWorld().getGameruleManager().setGamerule(name, value, true);
const res = `Set ${name} to ${value}`;
await source.sendMessage(res);
return res;
})
)
).executes(async (context) => {
const source = context.getSource();
const gamerules = Array.from(source.getWorld().getGameruleManager().getGamerules());
await source.sendMessage(gamerules.map(([id, [value]]) => `§a${id}§r: §b${value}§r`).join(", "));
})
);
}
}
exports.default = GameruleCommand;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2FtZXJ1bGVDb21tYW5kLmNqcy5janMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kL3ZhbmlsbGEvR2FtZXJ1bGVDb21tYW5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29tbWFuZERpc3BhdGNoZXIgfSBmcm9tICdAanNwcmlzbWFyaW5lL2JyaWdhZGllcic7XG5pbXBvcnQgeyBhcmd1bWVudCwgbGl0ZXJhbCwgc3RyaW5nIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuXG5pbXBvcnQgdHlwZSBQbGF5ZXIgZnJvbSAnLi4vLi4vUGxheWVyJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICcuLi9Db21tYW5kJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgR2FtZXJ1bGVDb21tYW5kIGV4dGVuZHMgQ29tbWFuZCB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7XG4gICAgICAgICAgICBpZDogJ21pbmVjcmFmdDpnYW1lcnVsZScsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1NldCBnYW1lcnVsZSB2YWx1ZS4nLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogJ21pbmVjcmFmdC5jb21tYW5kLmdhbWVydWxlJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcmVnaXN0ZXIoZGlzcGF0Y2hlcjogQ29tbWFuZERpc3BhdGNoZXI8YW55Pikge1xuICAgICAgICBkaXNwYXRjaGVyLnJlZ2lzdGVyKFxuICAgICAgICAgICAgbGl0ZXJhbCgnZ2FtZXJ1bGUnKVxuICAgICAgICAgICAgICAgIC50aGVuKFxuICAgICAgICAgICAgICAgICAgICBhcmd1bWVudCgnbmFtZScsIHN0cmluZygpKS50aGVuKFxuICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnQoJ3ZhbHVlJywgc3RyaW5nKCkpLmV4ZWN1dGVzKGFzeW5jIChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc291cmNlID0gY29udGV4dC5nZXRTb3VyY2UoKSBhcyBQbGF5ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmFtZSA9IGNvbnRleHQuZ2V0QXJndW1lbnQoJ25hbWUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBjb250ZXh0LmdldEFyZ3VtZW50KCd2YWx1ZScpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZS5nZXRXb3JsZCgpLmdldEdhbWVydWxlTWFuYWdlcigpLnNldEdhbWVydWxlKG5hbWUsIHZhbHVlLCB0cnVlKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGBTZXQgJHtuYW1lfSB0byAke3ZhbHVlfWA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgc291cmNlLnNlbmRNZXNzYWdlKHJlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmV4ZWN1dGVzKGFzeW5jIChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGNvbnRleHQuZ2V0U291cmNlKCkgYXMgUGxheWVyO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBnYW1lcnVsZXMgPSBBcnJheS5mcm9tKHNvdXJjZS5nZXRXb3JsZCgpLmdldEdhbWVydWxlTWFuYWdlcigpLmdldEdhbWVydWxlcygpKTtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgc291cmNlLnNlbmRNZXNzYWdlKGdhbWVydWxlcy5tYXAoKFtpZCwgW3ZhbHVlXV0pID0+IGDCp2Eke2lkfcKncjogwqdiJHt2YWx1ZX3Cp3JgKS5qb2luKCcsICcpKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJDb21tYW5kIiwibGl0ZXJhbCIsImFyZ3VtZW50Iiwic3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBTUEsTUFBcUIsd0JBQXdCQSx1QkFBUSxDQUFBO0FBQUEsRUFDMUMsV0FBYyxHQUFBO0FBQ2pCLElBQU0sS0FBQSxDQUFBO0FBQUEsTUFDRixFQUFJLEVBQUEsb0JBQUE7QUFBQSxNQUNKLFdBQWEsRUFBQSxxQkFBQTtBQUFBLE1BQ2IsVUFBWSxFQUFBO0FBQUEsS0FDZixDQUFBO0FBQUE7QUFDTCxFQUVBLE1BQWEsU0FBUyxVQUFvQyxFQUFBO0FBQ3RELElBQVcsVUFBQSxDQUFBLFFBQUE7QUFBQSxNQUNQQyxpQkFBQSxDQUFRLFVBQVUsQ0FDYixDQUFBLElBQUE7QUFBQSxRQUNHQyxrQkFBUyxDQUFBLE1BQUEsRUFBUUMsZ0JBQU8sRUFBQyxDQUFFLENBQUEsSUFBQTtBQUFBLFVBQ3ZCRCxtQkFBUyxPQUFTLEVBQUFDLGdCQUFBLEVBQVEsQ0FBRSxDQUFBLFFBQUEsQ0FBUyxPQUFPLE9BQVksS0FBQTtBQUNwRCxZQUFNLE1BQUEsTUFBQSxHQUFTLFFBQVEsU0FBVSxFQUFBO0FBQ2pDLFlBQU0sTUFBQSxJQUFBLEdBQU8sT0FBUSxDQUFBLFdBQUEsQ0FBWSxNQUFNLENBQUE7QUFDdkMsWUFBSSxJQUFBLEtBQUEsR0FBUSxRQUFRLFdBQVksQ0FBQSxPQUFPLEVBQUUsV0FBWSxFQUFBLEtBQU0sU0FBUyxJQUFPLEdBQUEsS0FBQTtBQUUzRSxZQUFBLE1BQUEsQ0FBTyxVQUFXLENBQUEsa0JBQUEsR0FBcUIsV0FBWSxDQUFBLElBQUEsRUFBTSxPQUFPLElBQUksQ0FBQTtBQUVwRSxZQUFBLE1BQU0sR0FBTSxHQUFBLENBQUEsSUFBQSxFQUFPLElBQUksQ0FBQSxJQUFBLEVBQU8sS0FBSyxDQUFBLENBQUE7QUFDbkMsWUFBTSxNQUFBLE1BQUEsQ0FBTyxZQUFZLEdBQUcsQ0FBQTtBQUM1QixZQUFPLE9BQUEsR0FBQTtBQUFBLFdBQ1Y7QUFBQTtBQUNMLE9BQ0osQ0FDQyxRQUFTLENBQUEsT0FBTyxPQUFZLEtBQUE7QUFDekIsUUFBTSxNQUFBLE1BQUEsR0FBUyxRQUFRLFNBQVUsRUFBQTtBQUNqQyxRQUFNLE1BQUEsU0FBQSxHQUFZLE1BQU0sSUFBSyxDQUFBLE1BQUEsQ0FBTyxVQUFXLENBQUEsa0JBQUEsRUFBcUIsQ0FBQSxZQUFBLEVBQWMsQ0FBQTtBQUNsRixRQUFBLE1BQU0sT0FBTyxXQUFZLENBQUEsU0FBQSxDQUFVLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBTSxLQUFBLENBQUEsRUFBQSxFQUFLLEVBQUUsQ0FBUyxNQUFBLEVBQUEsS0FBSyxJQUFJLENBQUUsQ0FBQSxJQUFBLENBQUssSUFBSSxDQUFDLENBQUE7QUFBQSxPQUNsRztBQUFBLEtBQ1Q7QUFBQTtBQUVSOzs7OyJ9