LeviLamina
Loading...
Searching...
No Matches
BlockComponentStorage.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/typeid_t.h"
7#include "mc/platform/brstd/flat_map.h"
8#include "mc/platform/brstd/flat_set.h"
9
10// auto generated forward declare list
11// clang-format off
22class OnFallOnTrigger;
24class OnPlacedTrigger;
28class OnStepOnTrigger;
61// clang-format on
62
64public:
65 // BlockComponentStorage inner types declare
66 // clang-format off
67 struct ComponentBase;
68 template<typename T0> struct ComponentInstance;
69 // clang-format on
70
71 // BlockComponentStorage inner types define
73 public:
74 // virtual functions
75 // NOLINTBEGIN
76 virtual ~ComponentBase() = default;
77 // NOLINTEND
78 };
79
80 template <typename T0>
82
83public:
84 // member variables
85 // NOLINTBEGIN
86 ::ll::TypedStorage<
87 8,
88 48,
91 ::std::unique_ptr<::BlockComponentStorage::ComponentBase>,
92 ::std::less<::Bedrock::typeid_t<void>>,
93 ::std::vector<::Bedrock::typeid_t<void>>,
94 ::std::vector<::std::unique_ptr<::BlockComponentStorage::ComponentBase>>>>
95 mComponents;
96 ::ll::TypedStorage<
97 8,
98 24,
101 ::std::less<::Bedrock::typeid_t<void>>,
102 ::std::vector<::Bedrock::typeid_t<void>>>>
103 mStatelessComponents;
104 ::ll::TypedStorage<1, 1, bool> mAllowModifyingComponents;
105 ::ll::TypedStorage<1, 1, bool> mAllowComponentReplacement;
106 ::ll::TypedStorage<1, 1, bool> mAllowTryGetComponentBeforeFinalization;
107 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::BlockComponentEventSubscriber>> mBlockComponentEventSubscriber;
108 // NOLINTEND
109
110public:
111 // member functions
112 // NOLINTBEGIN
113 MCAPI void _addStatelessComponent(::Bedrock::typeid_t<void> typeId);
114
115 MCAPI ::BlockComponentStorage::ComponentBase* _findComponentBase(::Bedrock::typeid_t<void> componentIdToFind) const;
116
117 MCAPI void allowComponentReplacement();
118
119 MCAPI void allowTryGetComponentBeforeFinalization();
120
121 MCAPI void finalizeComponents();
122
123 MCFOLD bool modificationIsAllowed() const;
124
125 MCFOLD void setAllowComponentReplacement(bool allow);
126
127 MCAPI void
128 setBlockComponentEventSubscriber(::std::shared_ptr<::BlockComponentEventSubscriber> blockComponentEventSubscriber);
129
131 // NOLINTEND
132
133public:
134 // destructor thunk
135 // NOLINTBEGIN
136 MCFOLD void $dtor();
137 // NOLINTEND
138};
Definition typeid_t.h:36
Definition BlockComponentEventSubscriber.h:10
Definition BlockComponentStorage.h:63
Definition BlockConnectionComponent.h:17
Definition BlockCustomComponentsComponent.h:20
Definition BlockDeprecatedR16EventListenerComponent.h:17
Definition BlockEntityFallOnConfigurationComponent.h:5
Definition BlockMultiBlockComponent.h:21
Definition BlockRandomOffsetComponent.h:14
Definition BlockRedstoneConsumerComponent.h:16
Definition BlockTickConfigurationComponent.h:10
Definition BlockTransformationComponent.h:9
Definition OnFallOnTrigger.h:14
Definition OnInteractTrigger.h:14
Definition OnPlacedTrigger.h:14
Definition OnPlayerDestroyedTrigger.h:15
Definition OnPlayerPlacingTrigger.h:14
Definition OnStepOffTrigger.h:14
Definition OnStepOnTrigger.h:14
Definition flat_map.h:15
Definition flat_set.h:10
Definition BlockAmbientSoundComponent.h:14
Definition BlockChestObstructionComponent.h:8
Definition BlockCollisionBoxComponent.h:14
Definition BlockComponentStorage.h:72
Definition BlockComponentStorage.h:81
Definition BlockConnectionRuleComponent.h:15
Definition BlockCraftingTableComponent.h:5
Definition BlockDestructibleByExplosionComponent.h:5
Definition BlockDestructibleByMiningComponent.h:13
Definition BlockDestructionParticlesComponent.h:13
Definition BlockDisplayNameComponent.h:5
Definition BlockEmbeddedVisualComponent.h:11
Definition BlockFlammableComponent.h:10
Definition BlockFlowerPottableComponent.h:5
Definition BlockFrictionComponent.h:5
Definition BlockGeometryComponent.h:17
Definition BlockItemVisualComponent.h:11
Definition BlockLeashableComponent.h:14
Definition BlockLightDampeningComponent.h:8
Definition BlockLightEmissionComponent.h:8
Definition BlockLiquidDetectionComponent.h:15
Definition BlockLootComponent.h:5
Definition BlockMapColorComponent.h:9
Definition BlockMaterialInstancesComponent.h:15
Definition BlockMovableComponent.h:14
Definition BlockPlacementFilterComponent.h:12
Definition BlockPrecipitationInteractionsComponent.h:13
Definition BlockQueuedTickingComponent.h:15
Definition BlockRandomTickingComponent.h:14
Definition BlockRedstoneComponent.h:10
Definition BlockRedstoneProducerComponent.h:21
Definition BlockSelectionBoxComponent.h:8
Definition BlockSupportComponent.h:14
Definition BlockVoxelShapesCullingComponent.h:11