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

#define BEFORE_EXTRA
// Include Headers or Declare Types Here
struct ItemStackNetIdTag;
struct ItemStackLegacyRequestIdTag;
struct ItemStackRequestIdTag;
enum ItemStackNetIdType : unsigned char {
    ItemStackNetId_TypedServerNetId = 0,
    ItemStackRequestId_TypedClientNetId = 1,
    ItemStackLegacyRequestId_TypedClientNetId = 2,
};

#undef BEFORE_EXTRA

struct ItemStackNetIdVariant {

#define AFTER_EXTRA
// Add Member There
    std::variant<
        TypedServerNetId<ItemStackNetIdTag, int, 0>, TypedClientNetId<ItemStackRequestIdTag, int, 0>,
        TypedClientNetId<ItemStackLegacyRequestIdTag, int, 0>>
        id;

#undef AFTER_EXTRA
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_ITEMSTACKNETIDVARIANT
public:
    struct ItemStackNetIdVariant& operator=(struct ItemStackNetIdVariant const &) = delete;
    ItemStackNetIdVariant(struct ItemStackNetIdVariant const &) = delete;
    ItemStackNetIdVariant() = delete;
#endif
public:
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_ITEMSTACKNETIDVARIANT
#endif
    MCAPI void deserialize(class ReadOnlyBinaryStream &);
    MCAPI struct ItemStackNetIdVariant & operator=(struct ItemStackNetIdVariant &&);
    MCAPI ~ItemStackNetIdVariant();

};