@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
19 lines (18 loc) • 3.03 kB
JavaScript
import Identifiers from "../Identifiers.es.js";
//#region src/network/handler/SetDefaultGametypeHandler.ts
var SetDefaultGametypeHandler = class {
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);
}));
}
};
//#endregion
export { SetDefaultGametypeHandler as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2V0RGVmYXVsdEdhbWV0eXBlSGFuZGxlci5lcy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmV0d29yay9oYW5kbGVyL1NldERlZmF1bHRHYW1ldHlwZUhhbmRsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQbGF5ZXJTZXNzaW9uIH0gZnJvbSAnLi4vLi4vJztcbmltcG9ydCB0eXBlIFNlcnZlciBmcm9tICcuLi8uLi9TZXJ2ZXInO1xuaW1wb3J0IElkZW50aWZpZXJzIGZyb20gJy4uL0lkZW50aWZpZXJzJztcbmltcG9ydCB0eXBlIFNldERlZmF1bHRHYW1ldHlwZVBhY2tldCBmcm9tICcuLi9wYWNrZXQvU2V0RGVmYXVsdEdhbWV0eXBlUGFja2V0JztcbmltcG9ydCB0eXBlIFBhY2tldEhhbmRsZXIgZnJvbSAnLi9QYWNrZXRIYW5kbGVyJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2V0RGVmYXVsdEdhbWV0eXBlSGFuZGxlciBpbXBsZW1lbnRzIFBhY2tldEhhbmRsZXI8U2V0RGVmYXVsdEdhbWV0eXBlUGFja2V0PiB7XG4gICAgcHVibGljIHN0YXRpYyBOZXRJRCA9IElkZW50aWZpZXJzLlNldERlZmF1bHRHYW1ldHlwZVBhY2tldDtcblxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGUocGFja2V0OiBTZXREZWZhdWx0R2FtZXR5cGVQYWNrZXQsIHNlcnZlcjogU2VydmVyLCBzZXNzaW9uOiBQbGF5ZXJTZXNzaW9uKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghc2Vzc2lvbi5nZXRQbGF5ZXIoKS5pc09wKCkpIHtcbiAgICAgICAgICAgIHNlcnZlclxuICAgICAgICAgICAgICAgIC5nZXRMb2dnZXIoKVxuICAgICAgICAgICAgICAgIC53YXJuKFxuICAgICAgICAgICAgICAgICAgICBgUGxheWVyICR7c2Vzc2lvbi5nZXRQbGF5ZXIoKS5nZXROYW1lKCl9IHRyaWVkIHRvIGNoYW5nZSBkZWZhdWx0IGdhbWVtb2RlIHdpdGhvdXQgcHJvcGVyIHBlcm1pc3Npb25zLmBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VydmVyLmdldENvbmZpZygpLnNldEdhbWVtb2RlKHBhY2tldC5nYW1lbW9kZSwgdHJ1ZSk7XG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgc2VydmVyXG4gICAgICAgICAgICAgICAgLmdldFNlc3Npb25NYW5hZ2VyKClcbiAgICAgICAgICAgICAgICAuZ2V0QWxsUGxheWVycygpXG4gICAgICAgICAgICAgICAgLm1hcChhc3luYyAocGxheWVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHBsYXllci5zZXRHYW1lbW9kZShwYWNrZXQuZ2FtZW1vZGUpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQU1BLElBQXFCLDRCQUFyQixNQUFrRztDQUM5RixPQUFjLFFBQVEsWUFBWTtDQUVsQyxNQUFhLE9BQU8sUUFBa0MsUUFBZ0IsU0FBdUM7RUFDekcsSUFBSSxDQUFDLFFBQVEsVUFBVSxFQUFFLEtBQUssR0FBRztHQUM3QixPQUNLLFVBQVUsRUFDVixLQUNHLFVBQVUsUUFBUSxVQUFVLEVBQUUsUUFBUSxFQUFFLDhEQUM1QztHQUNKO0VBQ0o7RUFFQSxPQUFPLFVBQVUsRUFBRSxZQUFZLE9BQU8sVUFBVSxJQUFJO0VBQ3BELE1BQU0sUUFBUSxJQUNWLE9BQ0ssa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxJQUFJLE9BQU8sV0FBVztHQUNuQixNQUFNLE9BQU8sWUFBWSxPQUFPLFFBQVE7RUFDNUMsQ0FBQyxDQUNUO0NBQ0o7QUFDSiJ9