UNPKG

@jsprismarine/prismarine

Version:

Dedicated Minecraft Bedrock Edition server written in TypeScript

29 lines (28 loc) 3.94 kB
import Identifiers from "../Identifiers.es.js"; import ContainerOpenPacket from "../packet/ContainerOpenPacket.es.js"; import { InteractAction } from "../packet/InteractPacket.es.js"; import { Vector3 } from "@jsprismarine/math"; //#region src/network/handler/InteractHandler.ts var InteractHandler = class { 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}`); } } }; //#endregion export { InteractHandler as default }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3RIYW5kbGVyLmVzLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZXR3b3JrL2hhbmRsZXIvSW50ZXJhY3RIYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIEludGVyYWN0UGFja2V0IGZyb20gJy4uL3BhY2tldC9JbnRlcmFjdFBhY2tldCc7XG5pbXBvcnQgeyBJbnRlcmFjdEFjdGlvbiB9IGZyb20gJy4uL3BhY2tldC9JbnRlcmFjdFBhY2tldCc7XG5cbmltcG9ydCB7IFZlY3RvcjMgfSBmcm9tICdAanNwcmlzbWFyaW5lL21hdGgnO1xuaW1wb3J0IHR5cGUgeyBQbGF5ZXJTZXNzaW9uIH0gZnJvbSAnLi4vLi4vJztcbmltcG9ydCB0eXBlIFNlcnZlciBmcm9tICcuLi8uLi9TZXJ2ZXInO1xuaW1wb3J0IElkZW50aWZpZXJzIGZyb20gJy4uL0lkZW50aWZpZXJzJztcbmltcG9ydCBDb250YWluZXJPcGVuUGFja2V0IGZyb20gJy4uL3BhY2tldC9Db250YWluZXJPcGVuUGFja2V0JztcbmltcG9ydCB0eXBlIFBhY2tldEhhbmRsZXIgZnJvbSAnLi9QYWNrZXRIYW5kbGVyJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW50ZXJhY3RIYW5kbGVyIGltcGxlbWVudHMgUGFja2V0SGFuZGxlcjxJbnRlcmFjdFBhY2tldD4ge1xuICAgIHB1YmxpYyBzdGF0aWMgTmV0SUQgPSBJZGVudGlmaWVycy5JbnRlcmFjdFBhY2tldDtcblxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGUocGFja2V0OiBJbnRlcmFjdFBhY2tldCwgc2VydmVyOiBTZXJ2ZXIsIHNlc3Npb246IFBsYXllclNlc3Npb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgc3dpdGNoIChwYWNrZXQuYWN0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEludGVyYWN0QWN0aW9uLkxlYXZlVmVoaWNsZTpcbiAgICAgICAgICAgIGNhc2UgSW50ZXJhY3RBY3Rpb24uTW91c2VPdmVyOlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBJbnRlcmFjdEFjdGlvbi5PcGVuSW52ZW50b3J5OiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGxheWVyID0gc2Vzc2lvbi5nZXRQbGF5ZXIoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwayA9IG5ldyBDb250YWluZXJPcGVuUGFja2V0KCk7XG4gICAgICAgICAgICAgICAgcGsud2luZG93SWQgPSBwbGF5ZXIuZ2V0SW52ZW50b3J5KCkuZ2V0SWQoKTtcbiAgICAgICAgICAgICAgICBway5jb250YWluZXJUeXBlID0gLTE7IC8vIC0+IGludmVudG9yeSAoVE9ETylcbiAgICAgICAgICAgICAgICBway5jb250YWluZXJQb3MgPSBuZXcgVmVjdG9yMyhwbGF5ZXIuZ2V0WCgpLCBwbGF5ZXIuZ2V0WSgpLCBwbGF5ZXIuZ2V0WigpKTtcbiAgICAgICAgICAgICAgICBway5jb250YWluZXJFbnRpdHlJZCA9IHBsYXllci5nZXRSdW50aW1lSWQoKTtcbiAgICAgICAgICAgICAgICBhd2FpdCBzZXNzaW9uLmdldENvbm5lY3Rpb24oKS5zZW5kRGF0YVBhY2tldChwayk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHNlcnZlci5nZXRMb2dnZXIoKS52ZXJib3NlKGBVbmtub3duIGludGVyYWN0IGFjdGlvbiBpZCAke3BhY2tldC5hY3Rpb259YCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBVUEsSUFBcUIsa0JBQXJCLE1BQThFO0NBQzFFLE9BQWMsUUFBUSxZQUFZO0NBRWxDLE1BQWEsT0FBTyxRQUF3QixRQUFnQixTQUF1QztFQUMvRixRQUFRLE9BQU8sUUFBZjtHQUNJLEtBQUssZUFBZTtHQUNwQixLQUFLLGVBQWUsV0FDaEI7R0FDSixLQUFLLGVBQWUsZUFBZTtJQUMvQixNQUFNLFNBQVMsUUFBUSxVQUFVO0lBQ2pDLE1BQU0sS0FBSyxJQUFJLG9CQUFvQjtJQUNuQyxHQUFHLFdBQVcsT0FBTyxhQUFhLEVBQUUsTUFBTTtJQUMxQyxHQUFHLGdCQUFnQjtJQUNuQixHQUFHLGVBQWUsSUFBSSxRQUFRLE9BQU8sS0FBSyxHQUFHLE9BQU8sS0FBSyxHQUFHLE9BQU8sS0FBSyxDQUFDO0lBQ3pFLEdBQUcsb0JBQW9CLE9BQU8sYUFBYTtJQUMzQyxNQUFNLFFBQVEsY0FBYyxFQUFFLGVBQWUsRUFBRTtJQUMvQztHQUNKO0dBQ0EsU0FDSSxPQUFPLFVBQVUsRUFBRSxRQUFRLDhCQUE4QixPQUFPLFFBQVE7RUFDaEY7Q0FDSjtBQUNKIn0=