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

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class ContainerComponent {

#define AFTER_EXTRA

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

public:
    /*0*/ virtual void containerContentChanged(int);
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_CONTAINERCOMPONENT
#endif
    MCAPI ContainerComponent(class ContainerComponent &&);
    MCAPI void addAdditionalSaveData(class CompoundTag &);
    MCAPI bool addItem(class ItemActor &);
    MCAPI bool addItem(class BlockSource &, class ItemStack &, int, int);
    MCAPI bool canOpenContainer(class Actor const &, class Player &) const;
    MCAPI int countItemsOfType(class ItemStack const &) const;
    MCAPI void dropContents(class BlockSource &, class Vec3 const &, bool);
    MCAPI int getContainerSize() const;
    MCAPI class ItemStack const & getItem(int) const;
    MCAPI void initFromDefinition(class Actor &, struct ContainerDescription const &);
    MCAPI bool openContainer(class Actor &, class Player &);
    MCAPI void readAdditionalSaveData(class Actor &, class CompoundTag const &, class DataLoadHelper &);
    MCAPI void rebuildContainer(class Actor &, enum ContainerType, int, bool, int, bool);
    MCAPI void removeItemsOfType(class ItemStack const &, int);
    MCAPI bool setItem(int, class ItemStack const &);

//private:
    MCAPI bool _tryMoveInItem(class BlockSource &, class ItemStack &, int, int, int);
    MCAPI void _unpackLootTable(class Level &);

private:

};