Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
ContainerValidationBase.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class Container;
9class ItemStackBase;
10// clang-format on
11
13public:
14 // virtual functions
15 // NOLINTBEGIN
16 virtual ~ContainerValidationBase() = default;
17
18 virtual bool isValidSlotForContainer(
19 ::ContainerScreenContext const& screenContext,
20 ::Container const& container,
21 int const slot
22 ) const;
23
24 virtual bool isItemAllowedInSlot(
25 ::ContainerScreenContext const& screenContext,
26 int const slot,
27 ::ItemStackBase const& item,
28 int const amount,
29 bool
30 ) const;
31
32 virtual int getAvailableSetCount(int const slot, ::ItemStackBase const& item) const;
33
34 virtual int
35 getAllowedAddCount(::ContainerScreenContext const& screenContext, ::ItemStackBase const& itemInSlot) const;
36
37 virtual bool
38 isItemAllowedToRemove(::ContainerScreenContext const& screenContext, ::ItemStackBase const& item) const;
39
40 virtual bool canItemMoveToContainer(::ItemStackBase const& item) const;
41
42 virtual bool canDestroy(::ContainerScreenContext const& screenContext) const;
43
44 virtual int getContainerOffset(::ContainerScreenContext const& screenContext) const;
45
46 virtual int getContainerSize(::ContainerScreenContext const& screenContext, ::Container const& container) const;
47 // NOLINTEND
48
49public:
50 // virtual function thunks
51 // NOLINTBEGIN
53 ::ContainerScreenContext const& screenContext,
54 ::Container const& container,
55 int const slot
56 ) const;
57
59 ::ContainerScreenContext const& screenContext,
60 int const slot,
61 ::ItemStackBase const& item,
62 int const amount,
63 bool
64 ) const;
65
66 MCNAPI int $getAvailableSetCount(int const slot, ::ItemStackBase const& item) const;
67
68 MCNAPI int
69 $getAllowedAddCount(::ContainerScreenContext const& screenContext, ::ItemStackBase const& itemInSlot) const;
70
71 MCNAPI bool
72 $isItemAllowedToRemove(::ContainerScreenContext const& screenContext, ::ItemStackBase const& item) const;
73
74 MCNAPI bool $canItemMoveToContainer(::ItemStackBase const& item) const;
75
76 MCNAPI bool $canDestroy(::ContainerScreenContext const& screenContext) const;
77
78 MCNAPI int $getContainerOffset(::ContainerScreenContext const& screenContext) const;
79
80 MCNAPI int $getContainerSize(::ContainerScreenContext const& screenContext, ::Container const& container) const;
81
82
83 // NOLINTEND
84};
Definition ContainerScreenContext.h:16
Definition ContainerValidationBase.h:12
MCAPI bool $canDestroy(::ContainerScreenContext const &screenContext) const
MCAPI bool $isItemAllowedToRemove(::ContainerScreenContext const &screenContext, ::ItemStackBase const &item) const
MCAPI bool $isValidSlotForContainer(::ContainerScreenContext const &screenContext, ::Container const &container, int const slot) const
MCAPI bool $isItemAllowedInSlot(::ContainerScreenContext const &screenContext, int const slot, ::ItemStackBase const &item, int const amount, bool) const
MCAPI int $getAllowedAddCount(::ContainerScreenContext const &screenContext, ::ItemStackBase const &itemInSlot) const
MCAPI int $getContainerOffset(::ContainerScreenContext const &screenContext) const
MCAPI bool $canItemMoveToContainer(::ItemStackBase const &item) const
MCAPI int $getContainerSize(::ContainerScreenContext const &screenContext, ::Container const &container) const
MCAPI int $getAvailableSetCount(int const slot, ::ItemStackBase const &item) const
Definition Container.h:36
Definition ItemStackBase.h:45