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 BlockSource;
16class ComponentItem;
17class Container;
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 // prevent constructor by default
41 EntityPlacerItemComponent& operator=(EntityPlacerItemComponent const&);
42 EntityPlacerItemComponent(EntityPlacerItemComponent const&);
43 EntityPlacerItemComponent();
44
45public:
46 // virtual functions
47 // NOLINTBEGIN
48 virtual void handleVersionBasedInitialization(::SemVersion const& originalJsonVersion) /*override*/;
49
50 virtual void _initializeComponent(::ComponentItem& owner) /*override*/;
51
52 virtual ~EntityPlacerItemComponent() /*override*/;
53 // NOLINTEND
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI explicit EntityPlacerItemComponent(::SharedTypes::v1_20_50::EntityPlacerItemComponent component);
59
60 MCAPI bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
61
62 MCAPI ::EntityPlacerItemComponent& operator=(::EntityPlacerItemComponent&&);
63 // NOLINTEND
64
65public:
66 // static functions
67 // NOLINTBEGIN
68 MCAPI static void _setActorCustomName(::Actor& actor, ::ItemStack const& item);
69
70 MCAPI static void bindType(
72 ::std::vector<::AllExperiments> const& requiredToggles,
73 ::std::optional<::SemVersion> releasedMinFormatVersion
74 );
75 // NOLINTEND
76
77public:
78 // constructor thunks
79 // NOLINTBEGIN
80 MCAPI void* $ctor(::SharedTypes::v1_20_50::EntityPlacerItemComponent component);
81 // NOLINTEND
82
83public:
84 // destructor thunk
85 // NOLINTBEGIN
86 MCAPI void $dtor();
87 // NOLINTEND
88
89public:
90 // virtual function thunks
91 // NOLINTBEGIN
92 MCAPI void $handleVersionBasedInitialization(::SemVersion const& originalJsonVersion);
93
94 MCAPI void $_initializeComponent(::ComponentItem& owner);
95
96
97 // NOLINTEND
98
99public:
100 // vftables
101 // NOLINTBEGIN
102 MCNAPI static void** $vftable();
103 // NOLINTEND
104};
Definition Actor.h:113
Definition Subscription.h:10
Definition BlockSource.h:71
Definition ComponentItem.h:50
Definition Container.h:35
static MCAPI void ** $vftable()
Definition ItemStack.h:26
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