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