#pragma once #include #include class LocalPlayer; class Inventory; class Container; class Level; class FurnaceTileEntity; class BrewingStandTileEntity; class DispenserTileEntity; class SignTileEntity; class CommandBlockEntity; class HopperTileEntity; class MinecartHopper; class EntityHorse; class BeaconTileEntity; class Merchant; class IMenuService { public: virtual ~IMenuService() = default; virtual bool openInventory(int iPad, std::shared_ptr player, bool navigateBack = false) = 0; virtual bool openCreative(int iPad, std::shared_ptr player, bool navigateBack = false) = 0; virtual bool openCrafting2x2(int iPad, std::shared_ptr player) = 0; virtual bool openCrafting3x3(int iPad, std::shared_ptr player, int x, int y, int z) = 0; virtual bool openEnchanting(int iPad, std::shared_ptr inventory, int x, int y, int z, Level* level, const std::string& name) = 0; virtual bool openFurnace(int iPad, std::shared_ptr inventory, std::shared_ptr furnace) = 0; virtual bool openBrewingStand( int iPad, std::shared_ptr inventory, std::shared_ptr brewingStand) = 0; virtual bool openContainer(int iPad, std::shared_ptr inventory, std::shared_ptr container) = 0; virtual bool openTrap(int iPad, std::shared_ptr inventory, std::shared_ptr trap) = 0; virtual bool openFireworks(int iPad, std::shared_ptr player, int x, int y, int z) = 0; virtual bool openSign(int iPad, std::shared_ptr sign) = 0; virtual bool openRepairing(int iPad, std::shared_ptr inventory, Level* level, int x, int y, int z) = 0; virtual bool openTrading(int iPad, std::shared_ptr inventory, std::shared_ptr trader, Level* level, const std::string& name) = 0; virtual bool openCommandBlock( int iPad, std::shared_ptr commandBlock) = 0; virtual bool openHopper(int iPad, std::shared_ptr inventory, std::shared_ptr hopper) = 0; virtual bool openHopperMinecart( int iPad, std::shared_ptr inventory, std::shared_ptr hopper) = 0; virtual bool openHorse(int iPad, std::shared_ptr inventory, std::shared_ptr container, std::shared_ptr horse) = 0; virtual bool openBeacon(int iPad, std::shared_ptr inventory, std::shared_ptr beacon) = 0; };