@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
49 lines (48 loc) • 6.55 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/vanilla/TimeCommand.ts
var TimeCommand = class extends require_command_Command.Command {
constructor() {
super({
id: "minecraft:time",
description: "Get, set and add to the current time.",
permission: "minecraft.command.time"
});
}
async register(dispatcher) {
dispatcher.register((0, _jsprismarine_brigadier.literal)("time").then((0, _jsprismarine_brigadier.argument)("action", (0, _jsprismarine_brigadier.string)()).then((0, _jsprismarine_brigadier.argument)("value", (0, _jsprismarine_brigadier.integer)()).executes(async (context) => {
const source = context.getSource();
const world = source.getWorld();
const value = context.getArgument("value");
if (value < 0) throw new Error("value can not be less than 0");
switch (context.getArgument("action").toLowerCase()) {
case "set":
world.setTicks(value);
break;
case "add":
world.setTicks(world.getTicks() + value);
break;
case "sub":
world.setTicks(world.getTicks() - value);
break;
default: throw new Error(`Invalid argument "${context.getArgument("action")}"`);
}
await world.sendTime();
await source.sendMessage(`Set time to: ${world.getTicks()}`);
return `Set time to: ${world.getTicks()}`;
}))).executes(async (context) => {
const source = context.getSource();
const world = source.getWorld();
await source.sendMessage(`The current time is ${world.getTicks()}`);
}));
}
};
//#endregion
exports.default = TimeCommand;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZUNvbW1hbmQuY2pzLmNqcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZC92YW5pbGxhL1RpbWVDb21tYW5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29tbWFuZERpc3BhdGNoZXIgfSBmcm9tICdAanNwcmlzbWFyaW5lL2JyaWdhZGllcic7XG5pbXBvcnQgeyBhcmd1bWVudCwgaW50ZWdlciwgbGl0ZXJhbCwgc3RyaW5nIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuXG5pbXBvcnQgdHlwZSBQbGF5ZXIgZnJvbSAnLi4vLi4vUGxheWVyJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICcuLi9Db21tYW5kJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGltZUNvbW1hbmQgZXh0ZW5kcyBDb21tYW5kIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIGlkOiAnbWluZWNyYWZ0OnRpbWUnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdHZXQsIHNldCBhbmQgYWRkIHRvIHRoZSBjdXJyZW50IHRpbWUuJyxcbiAgICAgICAgICAgIHBlcm1pc3Npb246ICdtaW5lY3JhZnQuY29tbWFuZC50aW1lJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcmVnaXN0ZXIoZGlzcGF0Y2hlcjogQ29tbWFuZERpc3BhdGNoZXI8YW55Pikge1xuICAgICAgICBkaXNwYXRjaGVyLnJlZ2lzdGVyKFxuICAgICAgICAgICAgbGl0ZXJhbCgndGltZScpXG4gICAgICAgICAgICAgICAgLnRoZW4oXG4gICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50KCdhY3Rpb24nLCBzdHJpbmcoKSkudGhlbihcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50KCd2YWx1ZScsIGludGVnZXIoKSkuZXhlY3V0ZXMoYXN5bmMgKGNvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2UgPSBjb250ZXh0LmdldFNvdXJjZSgpIGFzIFBsYXllcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3b3JsZCA9IHNvdXJjZS5nZXRXb3JsZCgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBjb250ZXh0LmdldEFyZ3VtZW50KCd2YWx1ZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA8IDApIHRocm93IG5ldyBFcnJvcigndmFsdWUgY2FuIG5vdCBiZSBsZXNzIHRoYW4gMCcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChjb250ZXh0LmdldEFyZ3VtZW50KCdhY3Rpb24nKS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3NldCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JsZC5zZXRUaWNrcyh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnYWRkJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmxkLnNldFRpY2tzKHdvcmxkLmdldFRpY2tzKCkgKyB2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnc3ViJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmxkLnNldFRpY2tzKHdvcmxkLmdldFRpY2tzKCkgLSB2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcmd1bWVudCBcIiR7Y29udGV4dC5nZXRBcmd1bWVudCgnYWN0aW9uJyl9XCJgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB3b3JsZC5zZW5kVGltZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHNvdXJjZS5zZW5kTWVzc2FnZShgU2V0IHRpbWUgdG86ICR7d29ybGQuZ2V0VGlja3MoKX1gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYFNldCB0aW1lIHRvOiAke3dvcmxkLmdldFRpY2tzKCl9YDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmV4ZWN1dGVzKGFzeW5jIChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGNvbnRleHQuZ2V0U291cmNlKCkgYXMgUGxheWVyO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB3b3JsZCA9IHNvdXJjZS5nZXRXb3JsZCgpO1xuXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHNvdXJjZS5zZW5kTWVzc2FnZShgVGhlIGN1cnJlbnQgdGltZSBpcyAke3dvcmxkLmdldFRpY2tzKCl9YCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQU1BLElBQXFCLGNBQXJCLGNBQXlDLHdCQUFBLFFBQVE7Q0FDN0MsY0FBcUI7RUFDakIsTUFBTTtHQUNGLElBQUk7R0FDSixhQUFhO0dBQ2IsWUFBWTtFQUNoQixDQUFDO0NBQ0w7Q0FFQSxNQUFhLFNBQVMsWUFBb0M7RUFDdEQsV0FBVyxVQUFBLEdBQUEsd0JBQUEsU0FDQyxNQUFNLEVBQ1QsTUFBQSxHQUFBLHdCQUFBLFVBQ1ksV0FBQSxHQUFBLHdCQUFBLFFBQWlCLENBQUMsRUFBRSxNQUFBLEdBQUEsd0JBQUEsVUFDaEIsVUFBQSxHQUFBLHdCQUFBLFNBQWlCLENBQUMsRUFBRSxTQUFTLE9BQU8sWUFBWTtHQUNyRCxNQUFNLFNBQVMsUUFBUSxVQUFVO0dBQ2pDLE1BQU0sUUFBUSxPQUFPLFNBQVM7R0FFOUIsTUFBTSxRQUFRLFFBQVEsWUFBWSxPQUFPO0dBQ3pDLElBQUksUUFBUSxHQUFHLE1BQU0sSUFBSSxNQUFNLDhCQUE4QjtHQUU3RCxRQUFRLFFBQVEsWUFBWSxRQUFRLEVBQUUsWUFBWSxHQUFsRDtJQUNJLEtBQUs7S0FDRCxNQUFNLFNBQVMsS0FBSztLQUNwQjtJQUNKLEtBQUs7S0FDRCxNQUFNLFNBQVMsTUFBTSxTQUFTLElBQUksS0FBSztLQUN2QztJQUNKLEtBQUs7S0FDRCxNQUFNLFNBQVMsTUFBTSxTQUFTLElBQUksS0FBSztLQUN2QztJQUNKLFNBQ0ksTUFBTSxJQUFJLE1BQU0scUJBQXFCLFFBQVEsWUFBWSxRQUFRLEVBQUUsRUFBRTtHQUM3RTtHQUVBLE1BQU0sTUFBTSxTQUFTO0dBQ3JCLE1BQU0sT0FBTyxZQUFZLGdCQUFnQixNQUFNLFNBQVMsR0FBRztHQUMzRCxPQUFPLGdCQUFnQixNQUFNLFNBQVM7RUFDMUMsQ0FBQyxDQUNMLENBQ0osRUFDQyxTQUFTLE9BQU8sWUFBWTtHQUN6QixNQUFNLFNBQVMsUUFBUSxVQUFVO0dBQ2pDLE1BQU0sUUFBUSxPQUFPLFNBQVM7R0FFOUIsTUFBTSxPQUFPLFlBQVksdUJBQXVCLE1BQU0sU0FBUyxHQUFHO0VBQ3RFLENBQUMsQ0FDVDtDQUNKO0FBQ0oifQ==