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

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class LegacyStructureTemplate {

#define AFTER_EXTRA

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

public:
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_LEGACYSTRUCTURETEMPLATE
#endif
    MCAPI class BlockPos _calculateRelativePosition(class BlockPos, class LegacyStructureSettings const &) const;
    MCAPI std::vector<class JigsawStructureBlockInfo> getJigsawMarkers() const;
    MCAPI class std::unordered_map<class BlockPos, std::string, struct std::hash<class BlockPos>, struct std::equal_to<class BlockPos>, class std::allocator<struct std::pair<class BlockPos const, std::string>>> getMarkers(class BlockPos const &, class LegacyStructureSettings &) const;
    MCAPI void load(class CompoundTag &);
    MCAPI void placeInWorld(class BlockSource &, class BlockPos const &, class LegacyStructureSettings &) const;
    MCAPI ~LegacyStructureTemplate();
    MCAPI static std::string const AUTHOR_TAG;
    MCAPI static std::string const BLOCKS_TAG;
    MCAPI static std::string const BLOCK_TAG_NBT;
    MCAPI static std::string const BLOCK_TAG_POS;
    MCAPI static std::string const BLOCK_TAG_STATE;
    MCAPI static int const CHUNK_SIZE;
    MCAPI static std::string const ENTITIES_TAG;
    MCAPI static std::string const ENTITY_TAG_BLOCKPOS;
    MCAPI static std::string const ENTITY_TAG_NBT;
    MCAPI static std::string const ENTITY_TAG_POS;
    MCAPI static std::string const MINECRAFT_PREFIX;
    MCAPI static std::string const PALETTE_TAG;
    MCAPI static std::string const SIZE_TAG;
    MCAPI static std::string const VERSION_TAG;
    MCAPI static class Block const * _mapToBlock(std::string const &);
    MCAPI static class Block const & _mapToData(class Block const &, class LegacyStructureSettings const &);
    MCAPI static class Block const * _mapToProperty(std::string const &, std::string const &, class Block const &);
    MCAPI static class LegacyStructureSettings const defaultSettings;

//private:
    MCAPI std::unique_ptr<class CompoundTag> _mapTag(std::unique_ptr<class CompoundTag>, std::string const &);

private:

};