@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
29 lines (28 loc) • 3.94 kB
JavaScript
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=