LeviLamina
Loading...
Searching...
No Matches
ContainerValidation.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/containers/ContainerEnumName.h"
7
8// auto generated forward declare list
9// clang-format off
11class ItemStackBase;
12class SparseContainer;
13// clang-format on
14
16public:
17 // ContainerValidation inner types define
18 using AllowedItemInContainerDelegate = ::std::function<bool(::ItemStackBase const&)>;
19
20 using AllowedItemInSlotDelegate = ::std::function<bool(int, ::ItemStackBase const&, int)>;
21
22 using AllowedItemToAddDelegate = ::std::function<bool(::ItemStackBase const&)>;
23
24 using AllowedItemToRemoveDelegate = ::std::function<bool(::ItemStackBase const&)>;
25
26 using AvailableSetCountDelegate = ::std::function<int(int, ::ItemStackBase const&)>;
27
28 using ValidSlotForContainerDelegate = ::std::function<bool(int)>;
29
30public:
31 // static functions
32 // NOLINTBEGIN
33 MCNAPI_C static void assignValidForSlotContainerDelegate(
34 ::SparseContainer& sparseContainer,
35 ::ContainerEnumName containerEnumName,
36 ::ContainerScreenContext const& screenContext
37 );
38
39 MCNAPI_C static void assignValidationDelegates(
40 ::SparseContainer& sparseContainer,
41 ::ContainerEnumName containerEnumName,
42 ::ContainerScreenContext const& screenContext
43 );
44 // NOLINTEND
45};
Definition ContainerScreenContext.h:17
Definition ItemStackBase.h:44
Definition SparseContainer.h:24
Definition ContainerValidation.h:15