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

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class RuinedPortalPiece : public StructurePiece {

#define AFTER_EXTRA

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

public:
    /*0*/ virtual ~RuinedPortalPiece();
    /*3*/ virtual enum StructurePieceType getType() const;
    /*5*/ virtual bool postProcess(class BlockSource &, class Random &, class BoundingBox const &);
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_RUINEDPORTALPIECE
#endif

//private:
    MCAPI void _addNetherrackDripColumn(class Random &, class BlockSource &, class BlockPos);
    MCAPI void _maybeReplaceBlock(class Random &, class BlockSource &, class BlockPos);
    MCAPI void _maybeReplaceFullStoneBlock(class Random &, class BlockSource &, class BlockPos, class Block const &);
    MCAPI void _maybeReplaceGoldBlock(class Random &, class BlockSource &, class BlockPos);
    MCAPI void _maybeReplaceStairs(class Random &, class BlockSource &, class BlockPos);
    MCAPI void _moveStructureBoundsToSuitableY(class Random &, class BlockSource &);
    MCAPI void _spreadNetherrack(class Random &, class BlockSource &);
    MCAPI bool _threeCornersOnSolidGround(class BlockSource &);
    MCAPI static class Block const & _getRandomFacingStairs(class Random &, class Block const &);
    MCAPI static bool _isLava(class BlockSource &, class BlockPos);
    MCAPI static void _setNetherrackOrMagma(class Random &, class BlockSource &, class BlockPos);

private:

};