UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

41 lines (36 loc) 5.73 kB
'use strict'; 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