@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
27 lines (26 loc) • 4.14 kB
JavaScript
import Identifiers from "../../network/Identifiers.es.js";
import { Command } from "../Command.es.js";
import { literal } from "@jsprismarine/brigadier";
//#region src/command/jsprismarine/VersionCommand.ts
var VersionCommand = class extends Command {
constructor() {
super({
id: "jsprismarine:version",
description: "Displays general server information.",
permission: "jsprismarine.command.version",
aliases: ["about"]
});
}
async register(dispatcher) {
dispatcher.register(literal("version").executes(async (context) => {
const source = context.getSource();
const serverVersion = source.getServer().getVersion();
const protocolVersion = Identifiers.Protocol;
const advertisedVersion = Identifiers.MinecraftVersions.length <= 1 ? `§ev${Identifiers.MinecraftVersions.at(0)}§r` : `§ev${Identifiers.MinecraftVersions.at(0)}§r-§ev${Identifiers.MinecraftVersions.at(-1)}§r`;
await source.sendMessage(`This server is running on JSPrismarine §e${serverVersion}§r for Minecraft: Bedrock Edition ${advertisedVersion} (protocol version §e${protocolVersion}§r)`);
}));
}
};
//#endregion
export { VersionCommand as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVyc2lvbkNvbW1hbmQuZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmQvanNwcmlzbWFyaW5lL1ZlcnNpb25Db21tYW5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29tbWFuZERpc3BhdGNoZXIgfSBmcm9tICdAanNwcmlzbWFyaW5lL2JyaWdhZGllcic7XG5pbXBvcnQgeyBsaXRlcmFsIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuXG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnLi4vQ29tbWFuZCc7XG5pbXBvcnQgSWRlbnRpZmllcnMgZnJvbSAnLi4vLi4vbmV0d29yay9JZGVudGlmaWVycyc7XG5pbXBvcnQgdHlwZSBQbGF5ZXIgZnJvbSAnLi4vLi4vUGxheWVyJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVyc2lvbkNvbW1hbmQgZXh0ZW5kcyBDb21tYW5kIHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIGlkOiAnanNwcmlzbWFyaW5lOnZlcnNpb24nLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdEaXNwbGF5cyBnZW5lcmFsIHNlcnZlciBpbmZvcm1hdGlvbi4nLFxuICAgICAgICAgICAgcGVybWlzc2lvbjogJ2pzcHJpc21hcmluZS5jb21tYW5kLnZlcnNpb24nLFxuICAgICAgICAgICAgYWxpYXNlczogWydhYm91dCddXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyByZWdpc3RlcihkaXNwYXRjaGVyOiBDb21tYW5kRGlzcGF0Y2hlcjxhbnk+KSB7XG4gICAgICAgIGRpc3BhdGNoZXIucmVnaXN0ZXIoXG4gICAgICAgICAgICBsaXRlcmFsKCd2ZXJzaW9uJykuZXhlY3V0ZXMoYXN5bmMgKGNvbnRleHQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2UgPSBjb250ZXh0LmdldFNvdXJjZSgpIGFzIFBsYXllcjtcbiAgICAgICAgICAgICAgICBjb25zdCBzZXJ2ZXJWZXJzaW9uID0gc291cmNlLmdldFNlcnZlcigpLmdldFZlcnNpb24oKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwcm90b2NvbFZlcnNpb24gPSBJZGVudGlmaWVycy5Qcm90b2NvbDtcbiAgICAgICAgICAgICAgICBjb25zdCBhZHZlcnRpc2VkVmVyc2lvbiA9XG4gICAgICAgICAgICAgICAgICAgIElkZW50aWZpZXJzLk1pbmVjcmFmdFZlcnNpb25zLmxlbmd0aCA8PSAxXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGDCp2V2JHtJZGVudGlmaWVycy5NaW5lY3JhZnRWZXJzaW9ucy5hdCgwKX3Cp3JgXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGDCp2V2JHtJZGVudGlmaWVycy5NaW5lY3JhZnRWZXJzaW9ucy5hdCgwKX3Cp3ItwqdldiR7SWRlbnRpZmllcnMuTWluZWNyYWZ0VmVyc2lvbnMuYXQoLTEpfcKncmA7XG5cbiAgICAgICAgICAgICAgICBhd2FpdCBzb3VyY2Uuc2VuZE1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgICAgIGBUaGlzIHNlcnZlciBpcyBydW5uaW5nIG9uIEpTUHJpc21hcmluZSDCp2Uke3NlcnZlclZlcnNpb259wqdyIGZvciBNaW5lY3JhZnQ6IEJlZHJvY2sgRWRpdGlvbiAke2FkdmVydGlzZWRWZXJzaW9ufSAocHJvdG9jb2wgdmVyc2lvbiDCp2Uke3Byb3RvY29sVmVyc2lvbn3Cp3IpYFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQU9BLElBQXFCLGlCQUFyQixjQUE0QyxRQUFRO0NBQ2hELGNBQXFCO0VBQ2pCLE1BQU07R0FDRixJQUFJO0dBQ0osYUFBYTtHQUNiLFlBQVk7R0FDWixTQUFTLENBQUMsT0FBTztFQUNyQixDQUFDO0NBQ0w7Q0FFQSxNQUFhLFNBQVMsWUFBb0M7RUFDdEQsV0FBVyxTQUNQLFFBQVEsU0FBUyxFQUFFLFNBQVMsT0FBTyxZQUFZO0dBQzNDLE1BQU0sU0FBUyxRQUFRLFVBQVU7R0FDakMsTUFBTSxnQkFBZ0IsT0FBTyxVQUFVLEVBQUUsV0FBVztHQUNwRCxNQUFNLGtCQUFrQixZQUFZO0dBQ3BDLE1BQU0sb0JBQ0YsWUFBWSxrQkFBa0IsVUFBVSxJQUNsQyxNQUFNLFlBQVksa0JBQWtCLEdBQUcsQ0FBQyxFQUFFLE1BQzFDLE1BQU0sWUFBWSxrQkFBa0IsR0FBRyxDQUFDLEVBQUUsUUFBUSxZQUFZLGtCQUFrQixHQUFHLEVBQUUsRUFBRTtHQUVqRyxNQUFNLE9BQU8sWUFDVCw0Q0FBNEMsY0FBYyxvQ0FBb0Msa0JBQWtCLHVCQUF1QixnQkFBZ0IsSUFDM0o7RUFDSixDQUFDLENBQ0w7Q0FDSjtBQUNKIn0=