UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

31 lines (28 loc) 4.38 kB
import { InteractAction } from '../packet/InteractPacket.es.js'; import { Vector3 } from '@jsprismarine/math'; import Identifiers from '../Identifiers.es.js'; import ContainerOpenPacket from '../packet/ContainerOpenPacket.es.js'; class InteractHandler { static NetID = Identifiers.InteractPacket; async handle(packet, server, session) { switch (packet.action) { case InteractAction.LeaveVehicle: case InteractAction.MouseOver: break; case InteractAction.OpenInventory: { const player = session.getPlayer(); const pk = new ContainerOpenPacket(); pk.windowId = player.getInventory().getId(); pk.containerType = -1; pk.containerPos = new 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}`); } } } export { InteractHandler as default }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3RIYW5kbGVyLmVzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmV0d29yay9oYW5kbGVyL0ludGVyYWN0SGFuZGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBJbnRlcmFjdFBhY2tldCBmcm9tICcuLi9wYWNrZXQvSW50ZXJhY3RQYWNrZXQnO1xuaW1wb3J0IHsgSW50ZXJhY3RBY3Rpb24gfSBmcm9tICcuLi9wYWNrZXQvSW50ZXJhY3RQYWNrZXQnO1xuXG5pbXBvcnQgeyBWZWN0b3IzIH0gZnJvbSAnQGpzcHJpc21hcmluZS9tYXRoJztcbmltcG9ydCB0eXBlIHsgUGxheWVyU2Vzc2lvbiB9IGZyb20gJy4uLy4uLyc7XG5pbXBvcnQgdHlwZSBTZXJ2ZXIgZnJvbSAnLi4vLi4vU2VydmVyJztcbmltcG9ydCBJZGVudGlmaWVycyBmcm9tICcuLi9JZGVudGlmaWVycyc7XG5pbXBvcnQgQ29udGFpbmVyT3BlblBhY2tldCBmcm9tICcuLi9wYWNrZXQvQ29udGFpbmVyT3BlblBhY2tldCc7XG5pbXBvcnQgdHlwZSBQYWNrZXRIYW5kbGVyIGZyb20gJy4vUGFja2V0SGFuZGxlcic7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEludGVyYWN0SGFuZGxlciBpbXBsZW1lbnRzIFBhY2tldEhhbmRsZXI8SW50ZXJhY3RQYWNrZXQ+IHtcbiAgICBwdWJsaWMgc3RhdGljIE5ldElEID0gSWRlbnRpZmllcnMuSW50ZXJhY3RQYWNrZXQ7XG5cbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlKHBhY2tldDogSW50ZXJhY3RQYWNrZXQsIHNlcnZlcjogU2VydmVyLCBzZXNzaW9uOiBQbGF5ZXJTZXNzaW9uKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHN3aXRjaCAocGFja2V0LmFjdGlvbikge1xuICAgICAgICAgICAgY2FzZSBJbnRlcmFjdEFjdGlvbi5MZWF2ZVZlaGljbGU6XG4gICAgICAgICAgICBjYXNlIEludGVyYWN0QWN0aW9uLk1vdXNlT3ZlcjpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgSW50ZXJhY3RBY3Rpb24uT3BlbkludmVudG9yeToge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBsYXllciA9IHNlc3Npb24uZ2V0UGxheWVyKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGsgPSBuZXcgQ29udGFpbmVyT3BlblBhY2tldCgpO1xuICAgICAgICAgICAgICAgIHBrLndpbmRvd0lkID0gcGxheWVyLmdldEludmVudG9yeSgpLmdldElkKCk7XG4gICAgICAgICAgICAgICAgcGsuY29udGFpbmVyVHlwZSA9IC0xOyAvLyAtPiBpbnZlbnRvcnkgKFRPRE8pXG4gICAgICAgICAgICAgICAgcGsuY29udGFpbmVyUG9zID0gbmV3IFZlY3RvcjMocGxheWVyLmdldFgoKSwgcGxheWVyLmdldFkoKSwgcGxheWVyLmdldFooKSk7XG4gICAgICAgICAgICAgICAgcGsuY29udGFpbmVyRW50aXR5SWQgPSBwbGF5ZXIuZ2V0UnVudGltZUlkKCk7XG4gICAgICAgICAgICAgICAgYXdhaXQgc2Vzc2lvbi5nZXRDb25uZWN0aW9uKCkuc2VuZERhdGFQYWNrZXQocGspO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBzZXJ2ZXIuZ2V0TG9nZ2VyKCkudmVyYm9zZShgVW5rbm93biBpbnRlcmFjdCBhY3Rpb24gaWQgJHtwYWNrZXQuYWN0aW9ufWApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBVUEsTUFBcUIsZUFBeUQsQ0FBQTtBQUFBLEVBQzFFLE9BQWMsUUFBUSxXQUFZLENBQUEsY0FBQTtBQUFBLEVBRWxDLE1BQWEsTUFBQSxDQUFPLE1BQXdCLEVBQUEsTUFBQSxFQUFnQixPQUF1QyxFQUFBO0FBQy9GLElBQUEsUUFBUSxPQUFPLE1BQVE7QUFBQSxNQUNuQixLQUFLLGNBQWUsQ0FBQSxZQUFBO0FBQUEsTUFDcEIsS0FBSyxjQUFlLENBQUEsU0FBQTtBQUNoQixRQUFBO0FBQUEsTUFDSixLQUFLLGVBQWUsYUFBZSxFQUFBO0FBQy9CLFFBQU0sTUFBQSxNQUFBLEdBQVMsUUFBUSxTQUFVLEVBQUE7QUFDakMsUUFBTSxNQUFBLEVBQUEsR0FBSyxJQUFJLG1CQUFvQixFQUFBO0FBQ25DLFFBQUEsRUFBQSxDQUFHLFFBQVcsR0FBQSxNQUFBLENBQU8sWUFBYSxFQUFBLENBQUUsS0FBTSxFQUFBO0FBQzFDLFFBQUEsRUFBQSxDQUFHLGFBQWdCLEdBQUEsQ0FBQSxDQUFBO0FBQ25CLFFBQUcsRUFBQSxDQUFBLFlBQUEsR0FBZSxJQUFJLE9BQUEsQ0FBUSxNQUFPLENBQUEsSUFBQSxFQUFRLEVBQUEsTUFBQSxDQUFPLElBQUssRUFBQSxFQUFHLE1BQU8sQ0FBQSxJQUFBLEVBQU0sQ0FBQTtBQUN6RSxRQUFHLEVBQUEsQ0FBQSxpQkFBQSxHQUFvQixPQUFPLFlBQWEsRUFBQTtBQUMzQyxRQUFBLE1BQU0sT0FBUSxDQUFBLGFBQUEsRUFBZ0IsQ0FBQSxjQUFBLENBQWUsRUFBRSxDQUFBO0FBQy9DLFFBQUE7QUFBQTtBQUNKLE1BQ0E7QUFDSSxRQUFBLE1BQUEsQ0FBTyxXQUFZLENBQUEsT0FBQSxDQUFRLENBQThCLDJCQUFBLEVBQUEsTUFBQSxDQUFPLE1BQU0sQ0FBRSxDQUFBLENBQUE7QUFBQTtBQUNoRjtBQUVSOzs7OyJ9