@bdsx/containermenu
Version:
ContainerMenu - An API allowing you to create fake container menus.
43 lines • 3.94 kB
JavaScript
;
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=