@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
27 lines (22 loc) • 3.47 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
const network_Identifiers = require('../Identifiers.cjs.cjs');
class SetDefaultGametypeHandler {
static NetID = network_Identifiers.default.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);
})
);
}
}
exports.default = SetDefaultGametypeHandler;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2V0RGVmYXVsdEdhbWV0eXBlSGFuZGxlci5janMuY2pzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmV0d29yay9oYW5kbGVyL1NldERlZmF1bHRHYW1ldHlwZUhhbmRsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQbGF5ZXJTZXNzaW9uIH0gZnJvbSAnLi4vLi4vJztcbmltcG9ydCB0eXBlIFNlcnZlciBmcm9tICcuLi8uLi9TZXJ2ZXInO1xuaW1wb3J0IElkZW50aWZpZXJzIGZyb20gJy4uL0lkZW50aWZpZXJzJztcbmltcG9ydCB0eXBlIFNldERlZmF1bHRHYW1ldHlwZVBhY2tldCBmcm9tICcuLi9wYWNrZXQvU2V0RGVmYXVsdEdhbWV0eXBlUGFja2V0JztcbmltcG9ydCB0eXBlIFBhY2tldEhhbmRsZXIgZnJvbSAnLi9QYWNrZXRIYW5kbGVyJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2V0RGVmYXVsdEdhbWV0eXBlSGFuZGxlciBpbXBsZW1lbnRzIFBhY2tldEhhbmRsZXI8U2V0RGVmYXVsdEdhbWV0eXBlUGFja2V0PiB7XG4gICAgcHVibGljIHN0YXRpYyBOZXRJRCA9IElkZW50aWZpZXJzLlNldERlZmF1bHRHYW1ldHlwZVBhY2tldDtcblxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGUocGFja2V0OiBTZXREZWZhdWx0R2FtZXR5cGVQYWNrZXQsIHNlcnZlcjogU2VydmVyLCBzZXNzaW9uOiBQbGF5ZXJTZXNzaW9uKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghc2Vzc2lvbi5nZXRQbGF5ZXIoKS5pc09wKCkpIHtcbiAgICAgICAgICAgIHNlcnZlclxuICAgICAgICAgICAgICAgIC5nZXRMb2dnZXIoKVxuICAgICAgICAgICAgICAgIC53YXJuKFxuICAgICAgICAgICAgICAgICAgICBgUGxheWVyICR7c2Vzc2lvbi5nZXRQbGF5ZXIoKS5nZXROYW1lKCl9IHRyaWVkIHRvIGNoYW5nZSBkZWZhdWx0IGdhbWVtb2RlIHdpdGhvdXQgcHJvcGVyIHBlcm1pc3Npb25zLmBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VydmVyLmdldENvbmZpZygpLnNldEdhbWVtb2RlKHBhY2tldC5nYW1lbW9kZSwgdHJ1ZSk7XG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgc2VydmVyXG4gICAgICAgICAgICAgICAgLmdldFNlc3Npb25NYW5hZ2VyKClcbiAgICAgICAgICAgICAgICAuZ2V0QWxsUGxheWVycygpXG4gICAgICAgICAgICAgICAgLm1hcChhc3luYyAocGxheWVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHBsYXllci5zZXRHYW1lbW9kZShwYWNrZXQuZ2FtZW1vZGUpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIklkZW50aWZpZXJzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFNQSxNQUFxQix5QkFBNkUsQ0FBQTtBQUFBLEVBQzlGLE9BQWMsUUFBUUEsMkJBQVksQ0FBQSx3QkFBQTtBQUFBLEVBRWxDLE1BQWEsTUFBQSxDQUFPLE1BQWtDLEVBQUEsTUFBQSxFQUFnQixPQUF1QyxFQUFBO0FBQ3pHLElBQUEsSUFBSSxDQUFDLE9BQUEsQ0FBUSxTQUFVLEVBQUEsQ0FBRSxNQUFRLEVBQUE7QUFDN0IsTUFBQSxNQUFBLENBQ0ssV0FDQSxDQUFBLElBQUE7QUFBQSxRQUNHLENBQVUsT0FBQSxFQUFBLE9BQUEsQ0FBUSxTQUFVLEVBQUEsQ0FBRSxTQUFTLENBQUEsNkRBQUE7QUFBQSxPQUMzQztBQUNKLE1BQUE7QUFBQTtBQUdKLElBQUEsTUFBQSxDQUFPLFNBQVUsRUFBQSxDQUFFLFdBQVksQ0FBQSxNQUFBLENBQU8sVUFBVSxJQUFJLENBQUE7QUFDcEQsSUFBQSxNQUFNLE9BQVEsQ0FBQSxHQUFBO0FBQUEsTUFDVixPQUNLLGlCQUFrQixFQUFBLENBQ2xCLGVBQ0EsQ0FBQSxHQUFBLENBQUksT0FBTyxNQUFXLEtBQUE7QUFDbkIsUUFBTSxNQUFBLE1BQUEsQ0FBTyxXQUFZLENBQUEsTUFBQSxDQUFPLFFBQVEsQ0FBQTtBQUFBLE9BQzNDO0FBQUEsS0FDVDtBQUFBO0FBRVI7Ozs7In0=