@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
33 lines (32 loc) • 4.86 kB
JavaScript
;
Object.defineProperties(exports, {
__esModule: { value: true },
[Symbol.toStringTag]: { value: "Module" }
});
const require_network_Identifiers = require("../Identifiers.cjs.cjs");
const require_network_type_MovementType = require("../type/MovementType.cjs.cjs");
const require_events_player_PlayerMoveEvent = require("../../events/player/PlayerMoveEvent.cjs.cjs");
//#region src/network/handler/MovePlayerHandler.ts
var MovePlayerHandler = class {
static NetID = require_network_Identifiers.default.MovePlayerPacket;
async handle(packet, server, session) {
const player = session.getPlayer();
const event = new require_events_player_PlayerMoveEvent.default(player, packet.position, packet.mode);
server.post(["playerMove", event]);
if (event.isCancelled()) {
await session.broadcastMove(player, require_network_type_MovementType.default.Reset);
return;
}
await player.setPosition({
position: packet.position,
pitch: packet.pitch,
yaw: packet.yaw,
headYaw: packet.headYaw
}, false);
await player.setOnGround(packet.onGround);
await Promise.all(player.getWorld().getPlayers().filter((target) => target.getUUID() !== player.getUUID()).map((target) => target.getNetworkSession().broadcastMove(player, require_network_type_MovementType.default.Normal)));
}
};
//#endregion
exports.default = MovePlayerHandler;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW92ZVBsYXllckhhbmRsZXIuY2pzLmNqcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmV0d29yay9oYW5kbGVyL01vdmVQbGF5ZXJIYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGxheWVyU2Vzc2lvbiB9IGZyb20gJy4uLy4uLyc7XG5pbXBvcnQgdHlwZSBTZXJ2ZXIgZnJvbSAnLi4vLi4vU2VydmVyJztcbmltcG9ydCBQbGF5ZXJNb3ZlRXZlbnQgZnJvbSAnLi4vLi4vZXZlbnRzL3BsYXllci9QbGF5ZXJNb3ZlRXZlbnQnO1xuaW1wb3J0IElkZW50aWZpZXJzIGZyb20gJy4uL0lkZW50aWZpZXJzJztcbmltcG9ydCB0eXBlIE1vdmVQbGF5ZXJQYWNrZXQgZnJvbSAnLi4vcGFja2V0L01vdmVQbGF5ZXJQYWNrZXQnO1xuaW1wb3J0IE1vdmVtZW50VHlwZSBmcm9tICcuLi90eXBlL01vdmVtZW50VHlwZSc7XG5pbXBvcnQgdHlwZSBQYWNrZXRIYW5kbGVyIGZyb20gJy4vUGFja2V0SGFuZGxlcic7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1vdmVQbGF5ZXJIYW5kbGVyIGltcGxlbWVudHMgUGFja2V0SGFuZGxlcjxNb3ZlUGxheWVyUGFja2V0PiB7XG4gICAgcHVibGljIHN0YXRpYyBOZXRJRCA9IElkZW50aWZpZXJzLk1vdmVQbGF5ZXJQYWNrZXQ7XG5cbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlKHBhY2tldDogTW92ZVBsYXllclBhY2tldCwgc2VydmVyOiBTZXJ2ZXIsIHNlc3Npb246IFBsYXllclNlc3Npb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcGxheWVyID0gc2Vzc2lvbi5nZXRQbGF5ZXIoKTtcblxuICAgICAgICAvLyBFbWl0IG1vdmUgZXZlbnQuXG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IFBsYXllck1vdmVFdmVudChwbGF5ZXIsIHBhY2tldC5wb3NpdGlvbiwgcGFja2V0Lm1vZGUpO1xuICAgICAgICBzZXJ2ZXIucG9zdChbJ3BsYXllck1vdmUnLCBldmVudF0pO1xuICAgICAgICBpZiAoZXZlbnQuaXNDYW5jZWxsZWQoKSkge1xuICAgICAgICAgICAgLy8gU2luY2Ugd2UncmUgY2FuY2VsbGluZyB0aGUgZXZlbnQsIHdlIHNob3VsZCByZXNldCB0aGUgcGxheWVyJ3MgcG9zaXRpb24uXG4gICAgICAgICAgICBhd2FpdCBzZXNzaW9uLmJyb2FkY2FzdE1vdmUocGxheWVyLCBNb3ZlbWVudFR5cGUuUmVzZXQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXBkYXRlIHBsYXllciBwb3NpdGlvbi5cbiAgICAgICAgYXdhaXQgcGxheWVyLnNldFBvc2l0aW9uKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBwYWNrZXQucG9zaXRpb24sXG4gICAgICAgICAgICAgICAgcGl0Y2g6IHBhY2tldC5waXRjaCxcbiAgICAgICAgICAgICAgICB5YXc6IHBhY2tldC55YXcsXG4gICAgICAgICAgICAgICAgaGVhZFlhdzogcGFja2V0LmhlYWRZYXdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIEFkZGl0aW9uYWwgZmllbGRzLlxuICAgICAgICBhd2FpdCBwbGF5ZXIuc2V0T25Hcm91bmQocGFja2V0Lm9uR3JvdW5kKTtcblxuICAgICAgICAvLyBGaW5hbGx5LCBicm9hZGNhc3QgdGhlIG1vdmUgdG8gYWxsIHBsYXllcnMgZXhjZXB0IHRoZSBwbGF5ZXIgaXRzZWxmIGluIHRoZSB3b3JsZC5cbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICBwbGF5ZXJcbiAgICAgICAgICAgICAgICAuZ2V0V29ybGQoKVxuICAgICAgICAgICAgICAgIC5nZXRQbGF5ZXJzKClcbiAgICAgICAgICAgICAgICAuZmlsdGVyKCh0YXJnZXQpID0+IHRhcmdldC5nZXRVVUlEKCkgIT09IHBsYXllci5nZXRVVUlEKCkpXG4gICAgICAgICAgICAgICAgLm1hcCgodGFyZ2V0KSA9PiB0YXJnZXQuZ2V0TmV0d29ya1Nlc3Npb24oKS5icm9hZGNhc3RNb3ZlKHBsYXllciwgTW92ZW1lbnRUeXBlLk5vcm1hbCkpXG4gICAgICAgICk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFRQSxJQUFxQixvQkFBckIsTUFBa0Y7Q0FDOUUsT0FBYyxRQUFRLDRCQUFBLFFBQVk7Q0FFbEMsTUFBYSxPQUFPLFFBQTBCLFFBQWdCLFNBQXVDO0VBQ2pHLE1BQU0sU0FBUyxRQUFRLFVBQVU7RUFHakMsTUFBTSxRQUFRLElBQUksc0NBQUEsUUFBZ0IsUUFBUSxPQUFPLFVBQVUsT0FBTyxJQUFJO0VBQ3RFLE9BQU8sS0FBSyxDQUFDLGNBQWMsS0FBSyxDQUFDO0VBQ2pDLElBQUksTUFBTSxZQUFZLEdBQUc7R0FFckIsTUFBTSxRQUFRLGNBQWMsUUFBUSxrQ0FBQSxRQUFhLEtBQUs7R0FDdEQ7RUFDSjtFQUdBLE1BQU0sT0FBTyxZQUNUO0dBQ0ksVUFBVSxPQUFPO0dBQ2pCLE9BQU8sT0FBTztHQUNkLEtBQUssT0FBTztHQUNaLFNBQVMsT0FBTztFQUNwQixHQUNBLEtBQ0o7RUFHQSxNQUFNLE9BQU8sWUFBWSxPQUFPLFFBQVE7RUFHeEMsTUFBTSxRQUFRLElBQ1YsT0FDSyxTQUFTLEVBQ1QsV0FBVyxFQUNYLFFBQVEsV0FBVyxPQUFPLFFBQVEsTUFBTSxPQUFPLFFBQVEsQ0FBQyxFQUN4RCxLQUFLLFdBQVcsT0FBTyxrQkFBa0IsRUFBRSxjQUFjLFFBQVEsa0NBQUEsUUFBYSxNQUFNLENBQUMsQ0FDOUY7Q0FDSjtBQUNKIn0=