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

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class BreedableDefinition {

#define AFTER_EXTRA

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

public:
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_BREEDABLEDEFINITION
#endif
    MCAPI void addBreedItemByName(std::string const &);
    MCAPI void addBreedableType(struct BreedableType const &);
    MCAPI void addEnvironmentRequirement(struct EnvironmentRequirement const &);
    MCAPI ~BreedableDefinition();
    MCAPI static void buildSchema(class std::shared_ptr<class JsonUtil::JsonSchemaObjectNode<class JsonUtil::EmptyClass, class BreedableDefinition>> &);

};