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