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

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class CoralCrustFeature : public Feature {

#define AFTER_EXTRA

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

public:
    /*0*/ virtual ~CoralCrustFeature();
    /*1*/ virtual bool place(class BlockSource &, class BlockPos const &, class Random &) const;
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_CORALCRUSTFEATURE
#endif

//private:
    MCAPI class BlockPos _getCropOffsetFromRot(int, int) const;
    MCAPI class BlockPos _getOffsetFromRot(int, int) const;
    MCAPI void _placeCoral(class BlockSource &, class BlockPos const &, class Random &, std::vector<class BlockPos> &, std::vector<struct std::pair<class BlockPos, unsigned char>> &, int) const;
    MCAPI void _placeCoralBase(class BlockSource &, class BlockPos const &, class Random &, class LegacyStructureTemplate &, class LegacyStructureSettings &) const;
    MCAPI void _placeSideDecorations(class BlockSource &, class BlockPos const &, class Random &, unsigned char) const;
    MCAPI void _placeTopDecorations(class BlockSource &, class BlockPos const &, class Random &) const;
    MCAPI class gsl::not_null<class Block const *> _setCoralHangData(int, int, int) const;

private:

};