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