UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

23 lines (20 loc) 3.29 kB
import Identifiers from '../Identifiers.es.js'; class SetDefaultGametypeHandler { static NetID = Identifiers.SetDefaultGametypePacket; async handle(packet, server, session) { if (!session.getPlayer().isOp()) { server.getLogger().warn( `Player ${session.getPlayer().getName()} tried to change default gamemode without proper permissions.` ); return; } server.getConfig().setGamemode(packet.gamemode, true); await Promise.all( server.getSessionManager().getAllPlayers().map(async (player) => { await player.setGamemode(packet.gamemode); }) ); } } export { SetDefaultGametypeHandler as default }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2V0RGVmYXVsdEdhbWV0eXBlSGFuZGxlci5lcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL25ldHdvcmsvaGFuZGxlci9TZXREZWZhdWx0R2FtZXR5cGVIYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGxheWVyU2Vzc2lvbiB9IGZyb20gJy4uLy4uLyc7XG5pbXBvcnQgdHlwZSBTZXJ2ZXIgZnJvbSAnLi4vLi4vU2VydmVyJztcbmltcG9ydCBJZGVudGlmaWVycyBmcm9tICcuLi9JZGVudGlmaWVycyc7XG5pbXBvcnQgdHlwZSBTZXREZWZhdWx0R2FtZXR5cGVQYWNrZXQgZnJvbSAnLi4vcGFja2V0L1NldERlZmF1bHRHYW1ldHlwZVBhY2tldCc7XG5pbXBvcnQgdHlwZSBQYWNrZXRIYW5kbGVyIGZyb20gJy4vUGFja2V0SGFuZGxlcic7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNldERlZmF1bHRHYW1ldHlwZUhhbmRsZXIgaW1wbGVtZW50cyBQYWNrZXRIYW5kbGVyPFNldERlZmF1bHRHYW1ldHlwZVBhY2tldD4ge1xuICAgIHB1YmxpYyBzdGF0aWMgTmV0SUQgPSBJZGVudGlmaWVycy5TZXREZWZhdWx0R2FtZXR5cGVQYWNrZXQ7XG5cbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlKHBhY2tldDogU2V0RGVmYXVsdEdhbWV0eXBlUGFja2V0LCBzZXJ2ZXI6IFNlcnZlciwgc2Vzc2lvbjogUGxheWVyU2Vzc2lvbik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoIXNlc3Npb24uZ2V0UGxheWVyKCkuaXNPcCgpKSB7XG4gICAgICAgICAgICBzZXJ2ZXJcbiAgICAgICAgICAgICAgICAuZ2V0TG9nZ2VyKClcbiAgICAgICAgICAgICAgICAud2FybihcbiAgICAgICAgICAgICAgICAgICAgYFBsYXllciAke3Nlc3Npb24uZ2V0UGxheWVyKCkuZ2V0TmFtZSgpfSB0cmllZCB0byBjaGFuZ2UgZGVmYXVsdCBnYW1lbW9kZSB3aXRob3V0IHByb3BlciBwZXJtaXNzaW9ucy5gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlcnZlci5nZXRDb25maWcoKS5zZXRHYW1lbW9kZShwYWNrZXQuZ2FtZW1vZGUsIHRydWUpO1xuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgIHNlcnZlclxuICAgICAgICAgICAgICAgIC5nZXRTZXNzaW9uTWFuYWdlcigpXG4gICAgICAgICAgICAgICAgLmdldEFsbFBsYXllcnMoKVxuICAgICAgICAgICAgICAgIC5tYXAoYXN5bmMgKHBsYXllcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCBwbGF5ZXIuc2V0R2FtZW1vZGUocGFja2V0LmdhbWVtb2RlKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU1BLE1BQXFCLHlCQUE2RSxDQUFBO0FBQUEsRUFDOUYsT0FBYyxRQUFRLFdBQVksQ0FBQSx3QkFBQTtBQUFBLEVBRWxDLE1BQWEsTUFBQSxDQUFPLE1BQWtDLEVBQUEsTUFBQSxFQUFnQixPQUF1QyxFQUFBO0FBQ3pHLElBQUEsSUFBSSxDQUFDLE9BQUEsQ0FBUSxTQUFVLEVBQUEsQ0FBRSxNQUFRLEVBQUE7QUFDN0IsTUFBQSxNQUFBLENBQ0ssV0FDQSxDQUFBLElBQUE7QUFBQSxRQUNHLENBQVUsT0FBQSxFQUFBLE9BQUEsQ0FBUSxTQUFVLEVBQUEsQ0FBRSxTQUFTLENBQUEsNkRBQUE7QUFBQSxPQUMzQztBQUNKLE1BQUE7QUFBQTtBQUdKLElBQUEsTUFBQSxDQUFPLFNBQVUsRUFBQSxDQUFFLFdBQVksQ0FBQSxNQUFBLENBQU8sVUFBVSxJQUFJLENBQUE7QUFDcEQsSUFBQSxNQUFNLE9BQVEsQ0FBQSxHQUFBO0FBQUEsTUFDVixPQUNLLGlCQUFrQixFQUFBLENBQ2xCLGVBQ0EsQ0FBQSxHQUFBLENBQUksT0FBTyxNQUFXLEtBQUE7QUFDbkIsUUFBTSxNQUFBLE1BQUEsQ0FBTyxXQUFZLENBQUEsTUFBQSxDQUFPLFFBQVEsQ0FBQTtBQUFBLE9BQzNDO0FBQUEsS0FDVDtBQUFBO0FBRVI7Ozs7In0=