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#ifdef LL_PLAT_C
34 MCAPI static void assignValidForSlotContainerDelegate(
35 ::SparseContainer& sparseContainer,
36 ::ContainerEnumName containerEnumName,
37 ::ContainerScreenContext const& screenContext
38 );
39
40 MCAPI static void assignValidationDelegates(
41 ::SparseContainer& sparseContainer,
42 ::ContainerEnumName containerEnumName,
43 ::ContainerScreenContext const& screenContext
44 );
45#endif
46 // NOLINTEND
47};
Definition ContainerScreenContext.h:17
Definition ItemStackBase.h:44
Definition SparseContainer.h:24
Definition ContainerValidation.h:15