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

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class MapItemSavedData {

#define AFTER_EXTRA

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

public:
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_MAPITEMSAVEDDATA
#endif
    MCAPI class std::shared_ptr<class MapItemTrackedActor> addTrackedMapEntity(class Actor &, enum MapDecoration::Type);
    MCAPI std::unique_ptr<class Packet> getFullDataPacket() const;
    MCAPI class std::shared_ptr<class MapItemTrackedActor> getTrackedMapEntity(class Actor &);
    MCAPI std::unique_ptr<class Packet> getUpdatePacket(class ItemStack const &, class Level &, class Actor &) const;
    MCAPI std::unique_ptr<class Packet> getUpdatePacket(class Level &, class BlockPos const &) const;
    MCAPI bool isAdjacent(class MapItemSavedData const &, int) const;
    MCAPI void save(class LevelStorage &);
    MCAPI void serialize(class CompoundTag &) const;
    MCAPI void setOrigin(class Vec3, int, class AutomaticID<class Dimension, int>, bool, bool, class BlockPos const &);
    MCAPI void setPixelDirty(unsigned int, unsigned int);
    MCAPI void tickByBlock(class BlockPos const &, class BlockSource &);
    MCAPI void tickCarriedBy(class Actor &, class CompoundTag const *);
    MCAPI static std::string getSerializationKey(struct ActorUniqueID);

//private:
    MCAPI void _addDecoration(enum MapDecoration::Type, class Level &, struct MapItemTrackedActor::UniqueId const &, class Vec3 const &, std::string const &, class Color const &);
    MCAPI class std::shared_ptr<class MapItemTrackedActor> _addTrackedMapEntity(struct MapItemTrackedActor::UniqueId const &, class BlockSource &, enum MapDecoration::Type);
    MCAPI void _deserializeData(class CompoundTag const &);
    MCAPI void _removeDecoration(struct MapItemTrackedActor::UniqueId const &);
    MCAPI void _removeTrackedMapEntity(struct MapItemTrackedActor::UniqueId const &);
    MCAPI bool _updateTrackedEntityDecoration(class BlockSource &, class std::shared_ptr<class MapItemTrackedActor>);
    MCAPI void _updateTrackedEntityDecorations(class BlockSource &);
    MCAPI void _updateTrackedPlayerDecorations(class BlockSource &, class Player &, class Vec3 &, std::string &, class Color &, class AutomaticID<class Dimension, int>, enum MapDecoration::Type &);

private:

};