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