@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
35 lines (30 loc) • 4.79 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
const network_packet_InteractPacket = require('../packet/InteractPacket.cjs.cjs');
const math = require('@jsprismarine/math');
const network_Identifiers = require('../Identifiers.cjs.cjs');
const network_packet_ContainerOpenPacket = require('../packet/ContainerOpenPacket.cjs.cjs');
class InteractHandler {
static NetID = network_Identifiers.default.InteractPacket;
async handle(packet, server, session) {
switch (packet.action) {
case network_packet_InteractPacket.InteractAction.LeaveVehicle:
case network_packet_InteractPacket.InteractAction.MouseOver:
break;
case network_packet_InteractPacket.InteractAction.OpenInventory: {
const player = session.getPlayer();
const pk = new network_packet_ContainerOpenPacket.default();
pk.windowId = player.getInventory().getId();
pk.containerType = -1;
pk.containerPos = new math.Vector3(player.getX(), player.getY(), player.getZ());
pk.containerEntityId = player.getRuntimeId();
await session.getConnection().sendDataPacket(pk);
break;
}
default:
server.getLogger().verbose(`Unknown interact action id ${packet.action}`);
}
}
}
exports.default = InteractHandler;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3RIYW5kbGVyLmNqcy5janMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZXR3b3JrL2hhbmRsZXIvSW50ZXJhY3RIYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIEludGVyYWN0UGFja2V0IGZyb20gJy4uL3BhY2tldC9JbnRlcmFjdFBhY2tldCc7XG5pbXBvcnQgeyBJbnRlcmFjdEFjdGlvbiB9IGZyb20gJy4uL3BhY2tldC9JbnRlcmFjdFBhY2tldCc7XG5cbmltcG9ydCB7IFZlY3RvcjMgfSBmcm9tICdAanNwcmlzbWFyaW5lL21hdGgnO1xuaW1wb3J0IHR5cGUgeyBQbGF5ZXJTZXNzaW9uIH0gZnJvbSAnLi4vLi4vJztcbmltcG9ydCB0eXBlIFNlcnZlciBmcm9tICcuLi8uLi9TZXJ2ZXInO1xuaW1wb3J0IElkZW50aWZpZXJzIGZyb20gJy4uL0lkZW50aWZpZXJzJztcbmltcG9ydCBDb250YWluZXJPcGVuUGFja2V0IGZyb20gJy4uL3BhY2tldC9Db250YWluZXJPcGVuUGFja2V0JztcbmltcG9ydCB0eXBlIFBhY2tldEhhbmRsZXIgZnJvbSAnLi9QYWNrZXRIYW5kbGVyJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW50ZXJhY3RIYW5kbGVyIGltcGxlbWVudHMgUGFja2V0SGFuZGxlcjxJbnRlcmFjdFBhY2tldD4ge1xuICAgIHB1YmxpYyBzdGF0aWMgTmV0SUQgPSBJZGVudGlmaWVycy5JbnRlcmFjdFBhY2tldDtcblxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGUocGFja2V0OiBJbnRlcmFjdFBhY2tldCwgc2VydmVyOiBTZXJ2ZXIsIHNlc3Npb246IFBsYXllclNlc3Npb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgc3dpdGNoIChwYWNrZXQuYWN0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEludGVyYWN0QWN0aW9uLkxlYXZlVmVoaWNsZTpcbiAgICAgICAgICAgIGNhc2UgSW50ZXJhY3RBY3Rpb24uTW91c2VPdmVyOlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBJbnRlcmFjdEFjdGlvbi5PcGVuSW52ZW50b3J5OiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGxheWVyID0gc2Vzc2lvbi5nZXRQbGF5ZXIoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwayA9IG5ldyBDb250YWluZXJPcGVuUGFja2V0KCk7XG4gICAgICAgICAgICAgICAgcGsud2luZG93SWQgPSBwbGF5ZXIuZ2V0SW52ZW50b3J5KCkuZ2V0SWQoKTtcbiAgICAgICAgICAgICAgICBway5jb250YWluZXJUeXBlID0gLTE7IC8vIC0+IGludmVudG9yeSAoVE9ETylcbiAgICAgICAgICAgICAgICBway5jb250YWluZXJQb3MgPSBuZXcgVmVjdG9yMyhwbGF5ZXIuZ2V0WCgpLCBwbGF5ZXIuZ2V0WSgpLCBwbGF5ZXIuZ2V0WigpKTtcbiAgICAgICAgICAgICAgICBway5jb250YWluZXJFbnRpdHlJZCA9IHBsYXllci5nZXRSdW50aW1lSWQoKTtcbiAgICAgICAgICAgICAgICBhd2FpdCBzZXNzaW9uLmdldENvbm5lY3Rpb24oKS5zZW5kRGF0YVBhY2tldChwayk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHNlcnZlci5nZXRMb2dnZXIoKS52ZXJib3NlKGBVbmtub3duIGludGVyYWN0IGFjdGlvbiBpZCAke3BhY2tldC5hY3Rpb259YCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXSwibmFtZXMiOlsiSWRlbnRpZmllcnMiLCJJbnRlcmFjdEFjdGlvbiIsIkNvbnRhaW5lck9wZW5QYWNrZXQiLCJWZWN0b3IzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFVQSxNQUFxQixlQUF5RCxDQUFBO0FBQUEsRUFDMUUsT0FBYyxRQUFRQSwyQkFBWSxDQUFBLGNBQUE7QUFBQSxFQUVsQyxNQUFhLE1BQUEsQ0FBTyxNQUF3QixFQUFBLE1BQUEsRUFBZ0IsT0FBdUMsRUFBQTtBQUMvRixJQUFBLFFBQVEsT0FBTyxNQUFRO0FBQUEsTUFDbkIsS0FBS0MsNENBQWUsQ0FBQSxZQUFBO0FBQUEsTUFDcEIsS0FBS0EsNENBQWUsQ0FBQSxTQUFBO0FBQ2hCLFFBQUE7QUFBQSxNQUNKLEtBQUtBLDZDQUFlLGFBQWUsRUFBQTtBQUMvQixRQUFNLE1BQUEsTUFBQSxHQUFTLFFBQVEsU0FBVSxFQUFBO0FBQ2pDLFFBQU0sTUFBQSxFQUFBLEdBQUssSUFBSUMsMENBQW9CLEVBQUE7QUFDbkMsUUFBQSxFQUFBLENBQUcsUUFBVyxHQUFBLE1BQUEsQ0FBTyxZQUFhLEVBQUEsQ0FBRSxLQUFNLEVBQUE7QUFDMUMsUUFBQSxFQUFBLENBQUcsYUFBZ0IsR0FBQSxDQUFBLENBQUE7QUFDbkIsUUFBRyxFQUFBLENBQUEsWUFBQSxHQUFlLElBQUlDLFlBQUEsQ0FBUSxNQUFPLENBQUEsSUFBQSxFQUFRLEVBQUEsTUFBQSxDQUFPLElBQUssRUFBQSxFQUFHLE1BQU8sQ0FBQSxJQUFBLEVBQU0sQ0FBQTtBQUN6RSxRQUFHLEVBQUEsQ0FBQSxpQkFBQSxHQUFvQixPQUFPLFlBQWEsRUFBQTtBQUMzQyxRQUFBLE1BQU0sT0FBUSxDQUFBLGFBQUEsRUFBZ0IsQ0FBQSxjQUFBLENBQWUsRUFBRSxDQUFBO0FBQy9DLFFBQUE7QUFBQTtBQUNKLE1BQ0E7QUFDSSxRQUFBLE1BQUEsQ0FBTyxXQUFZLENBQUEsT0FBQSxDQUFRLENBQThCLDJCQUFBLEVBQUEsTUFBQSxDQUFPLE1BQU0sQ0FBRSxDQUFBLENBQUE7QUFBQTtBQUNoRjtBQUVSOzs7OyJ9