UNPKG

@bdsx/containermenu

Version:

ContainerMenu - An API allowing you to create fake container menus.

43 lines 3.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PacketListener = void 0; const event_1 = require("bdsx/event"); const packetids_1 = require("bdsx/bds/packetids"); const PlayerManager_1 = require("../PlayerManager"); const common_1 = require("bdsx/common"); const packets_1 = require("bdsx/bds/packets"); var PacketListener; (function (PacketListener) { function loadListeners() { event_1.events.packetBefore(packetids_1.MinecraftPacketIds.ItemStackRequest).on((packet, netId) => { if (PlayerManager_1.PlayerManager.hasContainer(netId)) { const container = PlayerManager_1.PlayerManager.getContainer(netId); packet.getRequestBatch().data.toArray().forEach((requestData) => { requestData.getActions().toArray().forEach((action) => { if (action instanceof packets_1.ItemStackRequestActionTransferBase) { if (container.callTransactionCallback(action) !== common_1.CANCEL) { /* TODO : handle non cancelled requests (allow items to be taken/placed etc) (ItemStackResponsePacket needs to be implemented) */ } } }); }); } }); event_1.events.packetBefore(packetids_1.MinecraftPacketIds.ContainerClose).on((packet, netId) => { if (PlayerManager_1.PlayerManager.hasContainer(netId)) { const container = PlayerManager_1.PlayerManager.getContainer(netId); container.callContainerCloseCallback(); } }); event_1.events.networkDisconnected.on((netId) => { var _a; (_a = PlayerManager_1.PlayerManager.getContainer(netId)) === null || _a === void 0 ? void 0 : _a.destruct(); }); } PacketListener.loadListeners = loadListeners; })(PacketListener = exports.PacketListener || (exports.PacketListener = {})); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2V0TGlzdGVuZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJQYWNrZXRMaXN0ZW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzQ0FBb0M7QUFDcEMsa0RBQXdEO0FBQ3hELG9EQUFpRDtBQUNqRCx3Q0FBcUM7QUFDckMsOENBQXNFO0FBRXRFLElBQWlCLGNBQWMsQ0FrQzlCO0FBbENELFdBQWlCLGNBQWM7SUFFM0IsU0FBZ0IsYUFBYTtRQUV6QixjQUFNLENBQUMsWUFBWSxDQUFDLDhCQUFrQixDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzFFLElBQUcsNkJBQWEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2xDLE1BQU0sU0FBUyxHQUFHLDZCQUFhLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBRSxDQUFDO2dCQUNyRCxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO29CQUM1RCxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7d0JBQ2xELElBQUcsTUFBTSxZQUFZLDRDQUFrQyxFQUFFOzRCQUNyRCxJQUFHLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxlQUFNLEVBQUU7Z0NBQ3JEOzs7O21DQUlHOzZCQUNOO3lCQUNKO29CQUNMLENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQyxDQUFDO2FBQ047UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILGNBQU0sQ0FBQyxZQUFZLENBQUMsOEJBQWtCLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3hFLElBQUcsNkJBQWEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2xDLE1BQU0sU0FBUyxHQUFHLDZCQUFhLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBRSxDQUFDO2dCQUNyRCxTQUFTLENBQUMsMEJBQTBCLEVBQUUsQ0FBQzthQUMxQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsY0FBTSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFOztZQUNwQyxNQUFBLDZCQUFhLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQywwQ0FBRSxRQUFRLEVBQUUsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUEvQmUsNEJBQWEsZ0JBK0I1QixDQUFBO0FBQ0wsQ0FBQyxFQWxDZ0IsY0FBYyxHQUFkLHNCQUFjLEtBQWQsc0JBQWMsUUFrQzlCIn0=