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;
25struct ItemTintStrategy;
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 // virtual functions
38 // NOLINTBEGIN
39 virtual void tearDown() /*override*/;
40
41 virtual ::ResolvedItemIconInfo getIconInfo(::ItemStackBase const&, int, bool) const /*override*/;
42
43 virtual ::ActorDefinitionIdentifier getActorIdentifier(::ItemStack const&) const /*override*/;
44
45 virtual ::std::string buildDescriptionId(::ItemDescriptor const&, ::CompoundTag const*) const /*override*/;
46
47 virtual bool isLiquidClipItem() const /*override*/;
48
49 virtual bool shouldInteractionWithBlockBypassLiquid(::Block const& block) const /*override*/;
50
51 virtual bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const
52 /*override*/;
53
54 virtual bool isValidAuxValue(int auxValue) const /*override*/;
55
56 virtual ::ItemTintStrategy getTintStrategy() const /*override*/;
57
58 virtual bool isActorPlacerItem() const /*override*/;
59
60 virtual ::InteractionResult
61 _useOn(::ItemStack& instance, ::Actor& entity, ::BlockPos pos, uchar face, ::Vec3 const& clickPos) const
62 /*override*/;
63
64 virtual ~ActorPlacerItem() /*override*/ = default;
65 // NOLINTEND
66
67public:
68 // member functions
69 // NOLINTBEGIN
70 MCAPI ::ActorDefinitionIdentifier _getActorID(::BlockSource& region) const;
71
72 MCAPI ::Actor* _spawnActorAt(
73 ::BlockSource& region,
74 ::Vec3 const& pos,
75 ::Vec3 const& playerFeetPos,
76 ::ItemStack const& item,
77 ::Actor* spawner
78 ) const;
79 // NOLINTEND
80
81public:
82 // static functions
83 // NOLINTBEGIN
84 MCAPI static void
85 forEachCustomEgg(::ItemRegistryRef itemRegistry, ::std::function<void(::Item const&)> const& callback);
86
87 MCAPI_C static void initializeIcons(::std::unordered_map<::HashedString, ::ResolvedItemIconInfo> icons);
88
89 MCAPI static void registerCustomEggs(::ItemRegistryRef itemRegistry, ::ActorInfoRegistry const& registry);
90
91 MCAPI static ::Actor* spawnOrMoveAgent(::Vec3 const& pos, ::Actor& owner);
92 // NOLINTEND
93
94public:
95 // static variables
96 // NOLINTBEGIN
97 MCAPI static ::std::unordered_map<uint, ::std::string>& mCustomSpawnEggs();
98
99 MCAPI static ::std::unordered_map<::HashedString, ::ResolvedItemIconInfo>& mEggTextureInfoMap();
100 // NOLINTEND
101
102public:
103 // virtual function thunks
104 // NOLINTBEGIN
105 MCAPI void $tearDown();
106
107 MCAPI ::ResolvedItemIconInfo $getIconInfo(::ItemStackBase const&, int, bool) const;
108
109 MCAPI ::ActorDefinitionIdentifier $getActorIdentifier(::ItemStack const&) const;
110
111 MCAPI ::std::string $buildDescriptionId(::ItemDescriptor const&, ::CompoundTag const*) const;
112
113 MCFOLD bool $isLiquidClipItem() const;
114
115 MCAPI bool $shouldInteractionWithBlockBypassLiquid(::Block const& block) const;
116
117 MCAPI bool $dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
118
119 MCFOLD bool $isValidAuxValue(int auxValue) const;
120
121 MCAPI ::ItemTintStrategy $getTintStrategy() const;
122
123 MCFOLD bool $isActorPlacerItem() const;
124
125 MCAPI ::InteractionResult
126 $_useOn(::ItemStack& instance, ::Actor& entity, ::BlockPos pos, uchar face, ::Vec3 const& clickPos) const;
127
128
129 // NOLINTEND
130
131public:
132 // vftables
133 // NOLINTBEGIN
134 MCNAPI static void** $vftable();
135 // NOLINTEND
136};
Definition ActorInfoRegistry.h:10
Definition ActorPlacerItem.h:29
static MCAPI void ** $vftable()
Definition Actor.h:105
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition CompoundTag.h:23
Definition Container.h:33
Definition HashedString.h:5
Definition InteractionResult.h:5
Definition ItemDescriptor.h:23
Definition ItemRegistryRef.h:36
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition Vec3.h:10
Definition ItemTintStrategy.h:9
Definition ResolvedItemIconInfo.h:8