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 Agent;
14class Block;
15class BlockPos;
16class BlockSource;
17class CompoundTag;
18class Container;
19class HashedString;
21class ItemDescriptor;
22class ItemRegistryRef;
23class ItemStack;
24class ItemStackBase;
25class Player;
26class 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 // virtual function thunks
124 // NOLINTBEGIN
125 MCAPI void $tearDown();
126
127 MCAPI ::ResolvedItemIconInfo $getIconInfo(::ItemStackBase const&, int, bool) const;
128
129 MCAPI ::ActorDefinitionIdentifier $getActorIdentifier(::ItemStack const&) const;
130
131 MCAPI ::std::string $buildDescriptionId(::ItemDescriptor const&, ::CompoundTag const*) const;
132
133 MCFOLD bool $isLiquidClipItem() const;
134
135 MCAPI bool $shouldInteractionWithBlockBypassLiquid(::Block const& block) const;
136
137 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
138
139 MCFOLD bool $isValidAuxValue(int auxValue) const;
140
141 MCFOLD bool $isMultiColorTinted(::ItemStack const&) const;
142
143 MCFOLD ::mce::Color $getBaseColor(::ItemStack const&) const;
144
145 MCFOLD ::mce::Color $getSecondaryColor(::ItemStack const&) const;
146
147 MCFOLD bool $isActorPlacerItem() const;
148
149 MCAPI ::InteractionResult
150 $_useOn(::ItemStack& instance, ::Actor& entity, ::BlockPos pos, uchar face, ::Vec3 const& clickPos) const;
151 // NOLINTEND
152
153public:
154 // vftables
155 // NOLINTBEGIN
156 MCNAPI static void** $vftable();
157 // NOLINTEND
158};
Definition ActorInfoRegistry.h:10
Definition ActorPlacerItem.h:31
static MCAPI void ** $vftable()
Definition Actor.h:103
Definition Agent.h:29
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:38
Definition CompoundTag.h:13
Definition Container.h:30
Definition HashedString.h:5
Definition InteractionResult.h:5
Definition ItemDescriptor.h:22
Definition ItemRegistryRef.h:31
Definition ItemStackBase.h:35
Definition ItemStack.h:25
Definition Item.h:65
Definition Player.h:119
Definition Vec3.h:10
Definition ResolvedItemIconInfo.h:8