// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "../Global.h"
#include "MapItemSavedData.hpp"
#include "Item.hpp"

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class MapItem : public Item {

#define AFTER_EXTRA

#undef AFTER_EXTRA
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_MAPITEM
public:
    class MapItem& operator=(class MapItem const &) = delete;
    MapItem(class MapItem const &) = delete;
    MapItem() = delete;
#endif

public:
    /*0*/ virtual ~MapItem();
    /*5*/ virtual void __unk_vfn_5();
    /*26*/ virtual void __unk_vfn_26();
    /*27*/ virtual void __unk_vfn_27();
    /*31*/ virtual void __unk_vfn_31();
    /*32*/ virtual void __unk_vfn_32();
    /*34*/ virtual void __unk_vfn_34();
    /*37*/ virtual void __unk_vfn_37();
    /*38*/ virtual void appendFormattedHovertext(class ItemStackBase const &, class Level &, std::string &, bool) const;
    /*43*/ virtual void __unk_vfn_43();
    /*46*/ virtual void __unk_vfn_46();
    /*47*/ virtual void __unk_vfn_47();
    /*49*/ virtual void __unk_vfn_49();
    /*50*/ virtual void __unk_vfn_50();
    /*65*/ virtual std::string buildDescriptionId(class ItemDescriptor const &, class CompoundTag const *) const;
    /*71*/ virtual bool inventoryTick(class ItemStack &, class Level &, class Actor &, int, bool) const;
    /*72*/ virtual void refreshedInContainer(class ItemStackBase const &, class Level &) const;
    /*76*/ virtual void fixupOnLoad(class ItemStackBase &, class Level &) const;
    /*79*/ virtual void __unk_vfn_79();
    /*80*/ virtual void __unk_vfn_80();
    /*81*/ virtual bool isSameItem(class ItemStackBase const &, class ItemStackBase const &) const;
    /*85*/ virtual struct TextureUVCoordinateSet const & getIcon(class ItemStackBase const &, int, bool) const;
    /*87*/ virtual class Item & setIcon(std::string const &, int);
    /*90*/ virtual void __unk_vfn_90();
    /*97*/ virtual void __unk_vfn_97();
    /*100*/ virtual std::unique_ptr<class Packet> getUpdatePacket(class ItemStack const &, class Level &, class Actor &) const;
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_MAPITEM
#endif
    MCAPI void update(class Level &, class Actor &, class MapItemSavedData &) const;
    MCAPI static std::string const TAG_MAP_INIT;
    MCAPI static std::string const TAG_MAP_NAME_INDEX;
    MCAPI static std::string const TAG_MAP_PLAYER_DISPLAY;
    MCAPI static std::string const TAG_MAP_SCALE;
    MCAPI static std::string const TAG_MAP_SCALING;
    MCAPI static std::string const TAG_MAP_UUID;
    MCAPI static bool doesDisplayPlayerMarkers(class ItemStack const &);
    MCAPI static struct ActorUniqueID getMapId(class CompoundTag const *);
    MCAPI static void renderBiomePreviewMap(class Dimension &, class MapItemSavedData &);
    MCAPI static void sampleMapData(class BlockSource &, int, class BlockPos const &, class BlockPos const &, int, int, std::vector<struct MapSample> *, class MapItemSavedData *, class MapItemTrackedActor *);
    MCAPI static void serializeMapData(std::vector<struct MapSample> const &, std::string &);
    MCAPI static void setItemInstanceInfo(class ItemInstance &, class MapItemSavedData &);
    MCAPI static void setItemInstanceInfo(class ItemStack &, class MapItemSavedData &);

//private:
    MCAPI void _makeNewExplorationMap(class ItemStack &, class Level &, class Actor *, std::string &) const;
    MCAPI static void _scheduleMapChunkRendering(class Dimension &, class MapItemSavedData const &, struct MapItemSavedData::ChunkBounds, class std::shared_ptr<bool>);

private:

};