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