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

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class BeehiveBlockActor : public BlockActor {

#define AFTER_EXTRA

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

public:
    /*0*/ virtual ~BeehiveBlockActor();
    /*1*/ virtual void load(class Level &, class CompoundTag const &, class DataLoadHelper &);
    /*2*/ virtual bool save(class CompoundTag &) const;
    /*7*/ virtual void tick(class BlockSource &);
    /*13*/ virtual void __unk_vfn_13();
    /*17*/ virtual void __unk_vfn_17();
    /*29*/ virtual void __unk_vfn_29();
    /*30*/ virtual void __unk_vfn_30();
    /*32*/ virtual void __unk_vfn_32();
    /*33*/ virtual void __unk_vfn_33();
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_BEEHIVEBLOCKACTOR
#endif
    MCAPI void evictAll(class BlockSource &, bool);
    MCAPI void saveUserData(class CompoundTag &) const;
    MCAPI bool tryAdmit(class Actor &);
    MCAPI static enum BlockActorType const TypeId;
    MCAPI static std::string const TypeString;

//private:
    MCAPI std::vector<unsigned char> _findFreeDirections(class BlockSource &, unsigned char, unsigned __int64);
    MCAPI bool _isUsableAsSpawnBlock(class BlockSource &, unsigned char);
    MCAPI class Actor * _revive(class BlockSource &, struct BeehiveBlockActor::Occupant const &, unsigned char);
    MCAPI void _trySpawnBees(class BlockSource &);

private:

};