UNPKG

@bdsx/containermenu

Version:

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

82 lines (80 loc) 6.66 kB
"use strict"; /* _____ _ ___ __|___ |__ _ __ __| | _____ __ / __|/ _ \ / / _ \ '_ \ _____ / _` |/ _ \ \ / / \__ \ __// / __/ | | |_____| (_| | __/\ V / |___/\___/_/ \___|_| |_| \__,_|\___| \_/ ContainerMenu - An API for BDSX that allows you to create fake interactive container menus ! */ Object.defineProperty(exports, "__esModule", { value: true }); exports.ContainerMenu = exports.ContainerSize = exports.FakeContainerType = void 0; const ChestContainer_1 = require("./containers/ChestContainer"); const PlayerManager_1 = require("./PlayerManager"); const PacketListener_1 = require("./listener/PacketListener"); const HopperContainer_1 = require("./containers/HopperContainer"); const DispenserContainer_1 = require("./containers/DispenserContainer"); const DropperContainer_1 = require("./containers/DropperContainer"); const DoubleChestContainer_1 = require("./containers/DoubleChestContainer"); const TrappedChestContainer_1 = require("./containers/TrappedChestContainer"); const DoubleTrappedChestContainer_1 = require("./containers/DoubleTrappedChestContainer"); PacketListener_1.PacketListener.loadListeners(); /** * All the fake containers types. */ var FakeContainerType; (function (FakeContainerType) { FakeContainerType[FakeContainerType["Chest"] = 0] = "Chest"; FakeContainerType[FakeContainerType["TrappedChest"] = 1] = "TrappedChest"; FakeContainerType[FakeContainerType["DoubleChest"] = 2] = "DoubleChest"; FakeContainerType[FakeContainerType["DoubleTrappedChest"] = 3] = "DoubleTrappedChest"; FakeContainerType[FakeContainerType["Hopper"] = 4] = "Hopper"; FakeContainerType[FakeContainerType["Dropper"] = 5] = "Dropper"; FakeContainerType[FakeContainerType["Dispenser"] = 6] = "Dispenser"; })(FakeContainerType = exports.FakeContainerType || (exports.FakeContainerType = {})); /** * All the containers sizes. */ var ContainerSize; (function (ContainerSize) { ContainerSize[ContainerSize["Chest"] = 27] = "Chest"; ContainerSize[ContainerSize["DoubleChest"] = 54] = "DoubleChest"; ContainerSize[ContainerSize["Hopper"] = 5] = "Hopper"; ContainerSize[ContainerSize["Dropper"] = 9] = "Dropper"; ContainerSize[ContainerSize["Dispenser"] = 9] = "Dispenser"; })(ContainerSize = exports.ContainerSize || (exports.ContainerSize = {})); var ContainerMenu; (function (ContainerMenu) { /** * Creates a fake container for a specific player. * * @param player - The player to create the container for. * @param container - The container type to create. * @param destructItems - Whether the ItemStacks should be automatically destructed. * @param inventory - The inventory of the container. */ function create(player, container, destructItems, inventory) { if (!PlayerManager_1.PlayerManager.hasContainer(player.getNetworkIdentifier())) { switch (container) { case FakeContainerType.Chest: return new ChestContainer_1.ChestContainer(player, destructItems, inventory); case FakeContainerType.TrappedChest: return new TrappedChestContainer_1.TrappedChestContainer(player, destructItems, inventory); case FakeContainerType.DoubleChest: return new DoubleChestContainer_1.DoubleChestContainer(player, destructItems, inventory); case FakeContainerType.DoubleTrappedChest: return new DoubleTrappedChestContainer_1.DoubleTrappedChestContainer(player, destructItems, inventory); case FakeContainerType.Hopper: return new HopperContainer_1.HopperContainer(player, destructItems, inventory); case FakeContainerType.Dropper: return new DropperContainer_1.DropperContainer(player, destructItems, inventory); case FakeContainerType.Dispenser: return new DispenserContainer_1.DispenserContainer(player, destructItems, inventory); } } else throw new Error("Player already has a fake container assigned. Close it before creating a new one."); } ContainerMenu.create = create; })(ContainerMenu = exports.ContainerMenu || (exports.ContainerMenu = {})); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGFpbmVyTWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkNvbnRhaW5lck1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7R0FTRzs7O0FBR0gsZ0VBQTZEO0FBRTdELG1EQUFnRDtBQUNoRCw4REFBMkQ7QUFDM0Qsa0VBQStEO0FBQy9ELHdFQUFxRTtBQUNyRSxvRUFBaUU7QUFFakUsNEVBQXlFO0FBQ3pFLDhFQUEyRTtBQUMzRSwwRkFBdUY7QUFFdkYsK0JBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztBQUUvQjs7R0FFRztBQUNILElBQVksaUJBUVg7QUFSRCxXQUFZLGlCQUFpQjtJQUN6QiwyREFBSyxDQUFBO0lBQ0wseUVBQVksQ0FBQTtJQUNaLHVFQUFXLENBQUE7SUFDWCxxRkFBa0IsQ0FBQTtJQUNsQiw2REFBTSxDQUFBO0lBQ04sK0RBQU8sQ0FBQTtJQUNQLG1FQUFTLENBQUE7QUFDYixDQUFDLEVBUlcsaUJBQWlCLEdBQWpCLHlCQUFpQixLQUFqQix5QkFBaUIsUUFRNUI7QUFFRDs7R0FFRztBQUNILElBQVksYUFNWDtBQU5ELFdBQVksYUFBYTtJQUNyQixvREFBVSxDQUFBO0lBQ1YsZ0VBQWdCLENBQUE7SUFDaEIscURBQVUsQ0FBQTtJQUNWLHVEQUFXLENBQUE7SUFDWCwyREFBYSxDQUFBO0FBQ2pCLENBQUMsRUFOVyxhQUFhLEdBQWIscUJBQWEsS0FBYixxQkFBYSxRQU14QjtBQUlELElBQWlCLGFBQWEsQ0E2QjdCO0FBN0JELFdBQWlCLGFBQWE7SUFDMUI7Ozs7Ozs7T0FPRztJQUNILFNBQWdCLE1BQU0sQ0FBQyxNQUFvQixFQUFFLFNBQTRCLEVBQUUsYUFBdUIsRUFBRSxTQUE4QjtRQUM5SCxJQUFHLENBQUMsNkJBQWEsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLENBQUMsRUFBRTtZQUMzRCxRQUFPLFNBQVMsRUFBRTtnQkFDZCxLQUFLLGlCQUFpQixDQUFDLEtBQUs7b0JBQ3hCLE9BQU8sSUFBSSwrQkFBYyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ2hFLEtBQUssaUJBQWlCLENBQUMsWUFBWTtvQkFDL0IsT0FBTyxJQUFJLDZDQUFxQixDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ3ZFLEtBQUssaUJBQWlCLENBQUMsV0FBVztvQkFDOUIsT0FBTyxJQUFJLDJDQUFvQixDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ3RFLEtBQUssaUJBQWlCLENBQUMsa0JBQWtCO29CQUNyQyxPQUFPLElBQUkseURBQTJCLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDN0UsS0FBSyxpQkFBaUIsQ0FBQyxNQUFNO29CQUN6QixPQUFPLElBQUksaUNBQWUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUNqRSxLQUFLLGlCQUFpQixDQUFDLE9BQU87b0JBQzFCLE9BQU8sSUFBSSxtQ0FBZ0IsQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUNsRSxLQUFLLGlCQUFpQixDQUFDLFNBQVM7b0JBQzVCLE9BQU8sSUFBSSx1Q0FBa0IsQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ3ZFO1NBQ0o7O1lBQU0sTUFBTSxJQUFJLEtBQUssQ0FBQyxtRkFBbUYsQ0FBQyxDQUFDO0lBQ2hILENBQUM7SUFuQmUsb0JBQU0sU0FtQnJCLENBQUE7QUFDTCxDQUFDLEVBN0JnQixhQUFhLEdBQWIscUJBQWEsS0FBYixxQkFBYSxRQTZCN0IifQ==