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

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class BlockTypeRegistry {

#define AFTER_EXTRA

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

public:
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_BLOCKTYPEREGISTRY
#endif
    MCAPI static void forEachBlock(class std::function<bool (class BlockLegacy const &)>);
    MCAPI static class WeakPtr<class BlockLegacy> lookupByName(std::string const &);
    MCAPI static void unregisterBlock(std::string const &);

//private:

private:
    MCAPI static class std::unordered_map<std::string, class SharedPtr<class BlockLegacy>, struct std::hash<std::string>, struct std::equal_to<std::string>, class std::allocator<struct std::pair<std::string const, class SharedPtr<class BlockLegacy>>>> mBlockLookupMap;

};