UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

37 lines (36 loc) 5.21 kB
"use strict"; 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/vanilla/GameruleCommand.ts var GameruleCommand = class extends require_command_Command.Command { constructor() { super({ id: "minecraft:gamerule", description: "Set gamerule value.", permission: "minecraft.command.gamerule" }); } async register(dispatcher) { dispatcher.register((0, _jsprismarine_brigadier.literal)("gamerule").then((0, _jsprismarine_brigadier.argument)("name", (0, _jsprismarine_brigadier.string)()).then((0, _jsprismarine_brigadier.argument)("value", (0, _jsprismarine_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(", ")); })); } }; //#endregion exports.default = GameruleCommand; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2FtZXJ1bGVDb21tYW5kLmNqcy5janMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmQvdmFuaWxsYS9HYW1lcnVsZUNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb21tYW5kRGlzcGF0Y2hlciB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvYnJpZ2FkaWVyJztcbmltcG9ydCB7IGFyZ3VtZW50LCBsaXRlcmFsLCBzdHJpbmcgfSBmcm9tICdAanNwcmlzbWFyaW5lL2JyaWdhZGllcic7XG5cbmltcG9ydCB0eXBlIFBsYXllciBmcm9tICcuLi8uLi9QbGF5ZXInO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJy4uL0NvbW1hbmQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBHYW1lcnVsZUNvbW1hbmQgZXh0ZW5kcyBDb21tYW5kIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIGlkOiAnbWluZWNyYWZ0OmdhbWVydWxlJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2V0IGdhbWVydWxlIHZhbHVlLicsXG4gICAgICAgICAgICBwZXJtaXNzaW9uOiAnbWluZWNyYWZ0LmNvbW1hbmQuZ2FtZXJ1bGUnXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyByZWdpc3RlcihkaXNwYXRjaGVyOiBDb21tYW5kRGlzcGF0Y2hlcjxhbnk+KSB7XG4gICAgICAgIGRpc3BhdGNoZXIucmVnaXN0ZXIoXG4gICAgICAgICAgICBsaXRlcmFsKCdnYW1lcnVsZScpXG4gICAgICAgICAgICAgICAgLnRoZW4oXG4gICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50KCduYW1lJywgc3RyaW5nKCkpLnRoZW4oXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudCgndmFsdWUnLCBzdHJpbmcoKSkuZXhlY3V0ZXMoYXN5bmMgKGNvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2UgPSBjb250ZXh0LmdldFNvdXJjZSgpIGFzIFBsYXllcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuYW1lID0gY29udGV4dC5nZXRBcmd1bWVudCgnbmFtZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNvbnRleHQuZ2V0QXJndW1lbnQoJ3ZhbHVlJykudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlLmdldFdvcmxkKCkuZ2V0R2FtZXJ1bGVNYW5hZ2VyKCkuc2V0R2FtZXJ1bGUobmFtZSwgdmFsdWUsIHRydWUpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzID0gYFNldCAke25hbWV9IHRvICR7dmFsdWV9YDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBzb3VyY2Uuc2VuZE1lc3NhZ2UocmVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuZXhlY3V0ZXMoYXN5bmMgKGNvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc291cmNlID0gY29udGV4dC5nZXRTb3VyY2UoKSBhcyBQbGF5ZXI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGdhbWVydWxlcyA9IEFycmF5LmZyb20oc291cmNlLmdldFdvcmxkKCkuZ2V0R2FtZXJ1bGVNYW5hZ2VyKCkuZ2V0R2FtZXJ1bGVzKCkpO1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCBzb3VyY2Uuc2VuZE1lc3NhZ2UoZ2FtZXJ1bGVzLm1hcCgoW2lkLCBbdmFsdWVdXSkgPT4gYMKnYSR7aWR9wqdyOiDCp2Ike3ZhbHVlfcKncmApLmpvaW4oJywgJykpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFNQSxJQUFxQixrQkFBckIsY0FBNkMsd0JBQUEsUUFBUTtDQUNqRCxjQUFxQjtFQUNqQixNQUFNO0dBQ0YsSUFBSTtHQUNKLGFBQWE7R0FDYixZQUFZO0VBQ2hCLENBQUM7Q0FDTDtDQUVBLE1BQWEsU0FBUyxZQUFvQztFQUN0RCxXQUFXLFVBQUEsR0FBQSx3QkFBQSxTQUNDLFVBQVUsRUFDYixNQUFBLEdBQUEsd0JBQUEsVUFDWSxTQUFBLEdBQUEsd0JBQUEsUUFBZSxDQUFDLEVBQUUsTUFBQSxHQUFBLHdCQUFBLFVBQ2QsVUFBQSxHQUFBLHdCQUFBLFFBQWdCLENBQUMsRUFBRSxTQUFTLE9BQU8sWUFBWTtHQUNwRCxNQUFNLFNBQVMsUUFBUSxVQUFVO0dBQ2pDLE1BQU0sT0FBTyxRQUFRLFlBQVksTUFBTTtHQUN2QyxJQUFJLFFBQVEsUUFBUSxZQUFZLE9BQU8sRUFBRSxZQUFZLE1BQU0sU0FBUyxPQUFPO0dBRTNFLE9BQU8sU0FBUyxFQUFFLG1CQUFtQixFQUFFLFlBQVksTUFBTSxPQUFPLElBQUk7R0FFcEUsTUFBTSxNQUFNLE9BQU8sS0FBSyxNQUFNO0dBQzlCLE1BQU0sT0FBTyxZQUFZLEdBQUc7R0FDNUIsT0FBTztFQUNYLENBQUMsQ0FDTCxDQUNKLEVBQ0MsU0FBUyxPQUFPLFlBQVk7R0FDekIsTUFBTSxTQUFTLFFBQVEsVUFBVTtHQUNqQyxNQUFNLFlBQVksTUFBTSxLQUFLLE9BQU8sU0FBUyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsQ0FBQztHQUNsRixNQUFNLE9BQU8sWUFBWSxVQUFVLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxLQUFLLEdBQUcsUUFBUSxNQUFNLEdBQUcsRUFBRSxLQUFLLElBQUksQ0FBQztFQUNuRyxDQUFDLENBQ1Q7Q0FDSjtBQUNKIn0=