LeviLamina
Loading...
Searching...
No Matches
EntityPlacerItemComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/item/components/NetworkedItemComponent.h"
7#include "mc/world/level/storage/AllExperiments.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class BlockDescriptor;
13class BlockLegacy;
14class BlockPos;
15class BlockSource;
16class Container;
17class HashedString;
18class ItemStack;
19class SemVersion;
20class Vec3;
22namespace Bedrock::PubSub { class Subscription; }
23namespace SharedTypes::v1_20_50 { struct EntityPlacerItemComponent; }
24namespace cereal { struct ReflectionCtx; }
25// clang-format on
26
27class EntityPlacerItemComponent : public ::NetworkedItemComponent<::EntityPlacerItemComponent> {
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 176, ::ActorDefinitionIdentifier> mIdentifier;
32 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mAllowedUseBlocks;
33 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mAllowedDispenseBlocks;
34 ::ll::TypedStorage<1, 1, bool> mCanUseOnMonsterSpawners;
35 ::ll::TypedStorage<1, 1, bool> mShouldContentErrorWithoutLiquidClipped;
36 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnUseOnSubscription;
37 // NOLINTEND
38
39public:
40 // virtual functions
41 // NOLINTBEGIN
42 // vIndex: 6
43 virtual void handleVersionBasedInitialization(::SemVersion const& originalJsonVersion) /*override*/;
44
45 // vIndex: 7
46 virtual void _initializeComponent() /*override*/;
47
48 // vIndex: 0
49 virtual ~EntityPlacerItemComponent() /*override*/;
50 // NOLINTEND
51
52public:
53 // member functions
54 // NOLINTBEGIN
56
57 MCAPI void _positionAndRotateActor(
58 ::Actor& actor,
59 ::Vec3 position,
60 uchar face,
61 ::Vec3 const& playerFeetPos,
62 ::BlockLegacy const* blockLegacy
63 ) const;
64
65 MCAPI void _setActorCustomName(::Actor& actor, ::ItemStack const& item) const;
66
67 MCAPI void _useOn(
68 bool& result,
69 ::ItemStack const& currentItemStack,
70 ::ItemStack& usingActor,
71 ::Actor& pos,
72 ::BlockPos const& face,
73 uchar clickPos,
74 ::Vec3 const& initialItemStack
75 );
76
77 MCAPI void
78 _validateBlocks(::std::vector<::BlockDescriptor> const& blocks, ::std::string const& blocksParameterName) const;
79
80 MCAPI bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
81 // NOLINTEND
82
83public:
84 // static functions
85 // NOLINTBEGIN
86 MCAPI static void bindType(
88 ::std::vector<::AllExperiments> const& releasedMinFormatVersion,
89 ::std::optional<::SemVersion> requiredToggles
90 );
91
92 MCAPI static ::HashedString const& getIdentifier();
93 // NOLINTEND
94
95public:
96 // constructor thunks
97 // NOLINTBEGIN
98 MCAPI void* $ctor(::SharedTypes::v1_20_50::EntityPlacerItemComponent component);
99 // NOLINTEND
100
101public:
102 // destructor thunk
103 // NOLINTBEGIN
104 MCAPI void $dtor();
105 // NOLINTEND
106
107public:
108 // virtual function thunks
109 // NOLINTBEGIN
110 MCAPI void $handleVersionBasedInitialization(::SemVersion const& originalJsonVersion);
111
112 MCAPI void $_initializeComponent();
113 // NOLINTEND
114
115public:
116 // vftables
117 // NOLINTBEGIN
118 MCAPI static void** $vftable();
119 // NOLINTEND
120};
Definition Actor.h:104
Definition BlockDescriptor.h:19
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Container.h:30
Definition EntityPlacerItemComponent.h:27
Definition HashedString.h:5
Definition ItemStack.h:25
Definition NetworkedItemComponent.h:6
Definition SemVersion.h:15
Definition Vec3.h:10
Definition ActorDefinitionIdentifier.h:13
Definition EntityPlacerItemComponent.h:7
Definition ReflectionCtx.h:11
Definition ctx.h:5