LeviLamina
Loading...
Searching...
No Matches
ActorPlacerItem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/actor/ActorDefinitionIdentifier.h"
7#include "mc/world/item/Item.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
13class Block;
14class BlockPos;
15class BlockSource;
16class CompoundTag;
17class Container;
18class HashedString;
20class ItemDescriptor;
21class ItemRegistryRef;
22class ItemStack;
23class ItemStackBase;
24class Vec3;
26namespace mce { class Color; }
27// clang-format on
28
29class ActorPlacerItem : public ::Item {
30public:
31 // member variables
32 // NOLINTBEGIN
33 ::ll::TypedStorage<8, 176, ::ActorDefinitionIdentifier> mActorID;
34 // NOLINTEND
35
36public:
37 // prevent constructor by default
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 // vIndex: 2
44 virtual void tearDown() /*override*/;
45
46 // vIndex: 110
47 virtual ::ResolvedItemIconInfo getIconInfo(::ItemStackBase const&, int, bool) const /*override*/;
48
49 // vIndex: 73
50 virtual ::ActorDefinitionIdentifier getActorIdentifier(::ItemStack const&) const /*override*/;
51
52 // vIndex: 89
53 virtual ::std::string buildDescriptionId(::ItemDescriptor const&, ::CompoundTag const*) const /*override*/;
54
55 // vIndex: 48
56 virtual bool isLiquidClipItem() const /*override*/;
57
58 // vIndex: 49
59 virtual bool shouldInteractionWithBlockBypassLiquid(::Block const& block) const /*override*/;
60
61 // vIndex: 80
62 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const
63 /*override*/;
64
65 // vIndex: 60
66 virtual bool isValidAuxValue(int auxValue) const /*override*/;
67
68 // vIndex: 65
69 virtual bool isMultiColorTinted(::ItemStack const&) const /*override*/;
70
71 // vIndex: 71
72 virtual ::mce::Color getBaseColor(::ItemStack const&) const /*override*/;
73
74 // vIndex: 72
75 virtual ::mce::Color getSecondaryColor(::ItemStack const&) const /*override*/;
76
77 // vIndex: 64
78 virtual bool isActorPlacerItem() const /*override*/;
79
80 // vIndex: 122
81 virtual ::InteractionResult
82 _useOn(::ItemStack& instance, ::Actor& entity, ::BlockPos pos, uchar face, ::Vec3 const& clickPos) const
83 /*override*/;
84
85 // vIndex: 0
86 virtual ~ActorPlacerItem() /*override*/ = default;
87 // NOLINTEND
88
89public:
90 // member functions
91 // NOLINTBEGIN
92 MCAPI ActorPlacerItem(::std::string const& name, int id, ::ActorDefinitionIdentifier const& actorID);
93
94 MCAPI ::ActorDefinitionIdentifier _getActorID(::BlockSource& region) const;
95
96 MCAPI ::Actor* _spawnActorAt(
97 ::BlockSource& region,
98 ::Vec3 const& pos,
99 ::Vec3 const& playerFeetPos,
100 ::ItemStack const& item,
101 ::Actor* spawner
102 ) const;
103 // NOLINTEND
104
105public:
106 // static functions
107 // NOLINTBEGIN
108 MCAPI static void
109 forEachCustomEgg(::ItemRegistryRef itemRegistry, ::std::function<void(::Item const&)> const& callback);
110
111 MCAPI static void registerCustomEggs(::ItemRegistryRef itemRegistry, ::ActorInfoRegistry const& registry);
112
113 MCAPI static ::Actor* spawnOrMoveAgent(::Vec3 const& pos, ::Actor& owner);
114 // NOLINTEND
115
116public:
117 // static variables
118 // NOLINTBEGIN
119 MCAPI static ::std::unordered_map<uint, ::std::string>& mCustomSpawnEggs();
120
121 MCAPI static ::std::unordered_map<::HashedString, ::ResolvedItemIconInfo>& mEggTextureInfoMap();
122 // NOLINTEND
123
124public:
125 // constructor thunks
126 // NOLINTBEGIN
127 MCAPI void* $ctor(::std::string const& name, int id, ::ActorDefinitionIdentifier const& actorID);
128 // NOLINTEND
129
130public:
131 // virtual function thunks
132 // NOLINTBEGIN
133 MCAPI void $tearDown();
134
135 MCAPI ::ResolvedItemIconInfo $getIconInfo(::ItemStackBase const&, int, bool) const;
136
137 MCAPI ::ActorDefinitionIdentifier $getActorIdentifier(::ItemStack const&) const;
138
139 MCAPI ::std::string $buildDescriptionId(::ItemDescriptor const&, ::CompoundTag const*) const;
140
141 MCFOLD bool $isLiquidClipItem() const;
142
143 MCAPI bool $shouldInteractionWithBlockBypassLiquid(::Block const& block) const;
144
145 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
146
147 MCFOLD bool $isValidAuxValue(int auxValue) const;
148
149 MCFOLD bool $isMultiColorTinted(::ItemStack const&) const;
150
151 MCFOLD ::mce::Color $getBaseColor(::ItemStack const&) const;
152
153 MCFOLD ::mce::Color $getSecondaryColor(::ItemStack const&) const;
154
155 MCFOLD bool $isActorPlacerItem() const;
156
157 MCAPI ::InteractionResult
158 $_useOn(::ItemStack& instance, ::Actor& entity, ::BlockPos pos, uchar face, ::Vec3 const& clickPos) const;
159 // NOLINTEND
160
161public:
162 // vftables
163 // NOLINTBEGIN
164 MCNAPI static void** $vftable();
165 // NOLINTEND
166};
Definition ActorInfoRegistry.h:10
Definition ActorPlacerItem.h:29
static MCAPI void ** $vftable()
Definition Actor.h:102
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition Block.h:37
Definition CompoundTag.h:13
Definition Container.h:31
Definition HashedString.h:5
Definition InteractionResult.h:5
Definition ItemDescriptor.h:22
Definition ItemRegistryRef.h:34
Definition ItemStackBase.h:34
Definition ItemStack.h:23
Definition Item.h:66
Definition Vec3.h:10
Definition ActorDefinitionIdentifier.h:15
Definition ResolvedItemIconInfo.h:8