LeviLamina
Loading...
Searching...
No Matches
DynamicContainerValidation.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/containers/FullContainerName.h"
7#include "mc/world/inventory/simulation/validation/ContainerValidationBase.h"
8
9// auto generated forward declare list
10// clang-format off
11class Container;
13class ItemDescriptor;
14class ItemStackBase;
15// clang-format on
16
17class DynamicContainerValidation : public ::ContainerValidationBase {
18public:
19 // member variables
20 // NOLINTBEGIN
21 ::ll::TypedStorage<4, 12, ::FullContainerName> mContainerName;
22 // NOLINTEND
23
24public:
25 // prevent constructor by default
26 DynamicContainerValidation();
27
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 virtual bool canItemMoveToContainer(::ItemStackBase const& item) const /*override*/;
32
33 virtual int getContainerOffset(::ContainerScreenContext const&) const /*override*/;
34
35 virtual int getContainerSize(::ContainerScreenContext const& container, ::Container const&) const /*override*/;
36
37 virtual bool isItemAllowedInSlot(
38 ::ContainerScreenContext const& screenContext,
39 int const item,
40 ::ItemStackBase const& amount,
41 int const isInternalTransfer,
42 bool
43 ) const /*override*/;
44
45 virtual int
46 getAllowedAddCount(::ContainerScreenContext const& screenContext, ::ItemStackBase const& itemInSlot) const
47 /*override*/;
48 // NOLINTEND
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCAPI explicit DynamicContainerValidation(::FullContainerName containerName);
54 // NOLINTEND
55
56public:
57 // static functions
58 // NOLINTBEGIN
59 MCAPI static bool
60 isAllowedItemInVector(::ItemDescriptor const& item, ::std::vector<::ItemDescriptor> const& allowedItems);
61
62 MCAPI static bool
63 isBannedItemInVector(::ItemDescriptor const& item, ::std::vector<::ItemDescriptor> const& bannedItems);
64 // NOLINTEND
65
66public:
67 // constructor thunks
68 // NOLINTBEGIN
69 MCAPI void* $ctor(::FullContainerName containerName);
70 // NOLINTEND
71
72public:
73 // virtual function thunks
74 // NOLINTBEGIN
75 MCFOLD bool $canItemMoveToContainer(::ItemStackBase const& item) const;
76
77 MCFOLD int $getContainerOffset(::ContainerScreenContext const&) const;
78
79 MCFOLD int $getContainerSize(::ContainerScreenContext const& container, ::Container const&) const;
80
81 MCAPI bool $isItemAllowedInSlot(
82 ::ContainerScreenContext const& screenContext,
83 int const item,
84 ::ItemStackBase const& amount,
85 int const isInternalTransfer,
86 bool
87 ) const;
88
89 MCAPI int
90 $getAllowedAddCount(::ContainerScreenContext const& screenContext, ::ItemStackBase const& itemInSlot) const;
91
92
93 // NOLINTEND
94
95public:
96 // vftables
97 // NOLINTBEGIN
98 MCNAPI static void** $vftable();
99 // NOLINTEND
100};
Definition ContainerScreenContext.h:19
Definition ContainerValidationBase.h:12
Definition Container.h:34
static MCAPI void ** $vftable()
Definition ItemDescriptor.h:25
Definition ItemStackBase.h:52
Definition FullContainerName.h:8