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

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class StructureManager {

#define AFTER_EXTRA

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

public:
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_STRUCTUREMANAGER
#endif
    MCAPI class StructureTemplate & getOrCreate(std::string const &);
    MCAPI class LegacyStructureTemplate & getOrCreateLegacy(std::string const &);
    MCAPI class StructureTemplate * getStructure(std::string const &) const;
    MCAPI bool load(class StructureTemplate &, class ResourcePackManager const *, class LevelStorage *);
    MCAPI bool readStructure(class StructureTemplate &);

//private:
    MCAPI class StructureTemplate * _createAndLoadStructure(std::string const &, class ResourcePackManager const *, class LevelStorage *);
    MCAPI class LegacyStructureTemplate * _getLegacy(std::string const &);
    MCAPI class LegacyStructureTemplate * _readLegacyStructure(std::string const &);

private:
    MCAPI static char const * BEHAVIOR_PACK_STRUCTURES_FOLDER;
    MCAPI static char const * LEVEL_STORAGE_STRUCTURE_TEMPLATE_PREFIX;

};