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