LeviLamina
Loading...
Searching...
No Matches
HomeComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/WeakPtr.h"
7#include "mc/deps/core/utility/AutomaticID.h"
8#include "mc/entity/components_json_legacy/RestrictionType.h"
9#include "mc/world/level/BlockPos.h"
10
11// auto generated forward declare list
12// clang-format off
13class Actor;
14class BlockSource;
15class BlockType;
16class CompoundTag;
17class DataLoadHelper;
18class Dimension;
19// clang-format on
20
21class HomeComponent {
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<4, 4, ::RestrictionType> mRestrictionType;
26 ::ll::TypedStorage<4, 4, int> mRestrictionRadius;
27 ::ll::TypedStorage<4, 4, int> mRestrictionRadiusSqr;
28 ::ll::TypedStorage<4, 4, int> mCooldownTicksMax;
29 ::ll::TypedStorage<4, 4, int> mCooldownTicks;
30 ::ll::TypedStorage<8, 24, ::std::vector<::WeakPtr<::BlockType const>>> mHomeBlocks;
31 ::ll::TypedStorage<4, 12, ::BlockPos> mHomePos;
32 ::ll::TypedStorage<4, 4, ::DimensionType> mDimensionId;
33 // NOLINTEND
34
35public:
36 // prevent constructor by default
37 HomeComponent& operator=(HomeComponent const&);
38 HomeComponent(HomeComponent const&);
39 HomeComponent();
40
41public:
42 // member functions
43 // NOLINTBEGIN
44 MCAPI bool hasValidBlockAtHomePos(::BlockSource const& region) const;
45
46 MCAPI bool isInHomeDimension(::Actor const& owner) const;
47
48 MCAPI ::HomeComponent& operator=(::HomeComponent&&);
49
50 MCAPI void readAdditionalSaveData(::Actor&, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
51 // NOLINTEND
52};
Definition Actor.h:105
Definition BlockSource.h:68
Definition BlockType.h:84
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition Dimension.h:85