LeviLamina
Loading...
Searching...
No Matches
PortalForcer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/AutomaticID.h"
7#include "mc/world/Pos.h"
8#include "mc/world/level/saveddata/SavedData.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
13class BaseGameVersion;
14class BlockPos;
15class BlockSource;
16class CompoundTag;
17class Dimension;
18class PortalRecord;
19class PortalShape;
21// clang-format on
22
23class PortalForcer : public ::SavedData {
24public:
25 // PortalForcer inner types declare
26 // clang-format off
27 class PortalPosition;
28 // clang-format on
29
30 // PortalForcer inner types define
31 class PortalPosition : public ::Pos {
32 public:
33 // member variables
34 // NOLINTBEGIN
36 // NOLINTEND
37
38 public:
39 // prevent constructor by default
40 PortalPosition& operator=(PortalPosition const&);
43 };
44
45public:
46 // member variables
47 // NOLINTBEGIN
51 // NOLINTEND
52
53public:
54 // prevent constructor by default
55 PortalForcer& operator=(PortalForcer const&);
58
59public:
60 // virtual functions
61 // NOLINTBEGIN
62 // vIndex: 1
63 virtual void deserialize(::CompoundTag const& tag) /*override*/;
64
65 // vIndex: 2
66 virtual void serialize(::CompoundTag& tag) const /*override*/;
67
68 // vIndex: 0
69 virtual ~PortalForcer() /*override*/;
70 // NOLINTEND
71
72public:
73 // member functions
74 // NOLINTBEGIN
75 MCNAPI ::std::optional<::PortalRecord> _findPortal(
76 ::DimensionType dimensionId,
77 ::BlockPos const& centerBlockPos,
78 int radius,
79 ::BlockPos& targetBlockPos
80 ) const;
81
82 MCNAPI ::PortalRecord const& createPortal(::Actor const& entity, int radius);
83
84 MCNAPI void force(::Actor& entity, ::DimensionTransitionComponent const& portalEntranceComponent);
85
87 ::BlockSource& region,
88 ::PortalShape const& referenceShape,
89 ::PortalRecord const& referenceRecord
90 );
91
92 MCNAPI void removePortalRecord(::BlockSource& source, ::BlockPos const& pos);
93 // NOLINTEND
94
95public:
96 // static functions
97 // NOLINTBEGIN
98 MCNAPI static bool canPortalReplaceBlock(::BlockSource& region, ::BlockPos const& blockPos);
99 // NOLINTEND
100
101public:
102 // static variables
103 // NOLINTBEGIN
104 MCNAPI static ::BaseGameVersion const& MIN_PORTAL_REPLACE_BLOCK_FIX_VERSION();
105
106 MCNAPI static ::std::string const& PORTAL_FILE_ID();
107 // NOLINTEND
108
109public:
110 // destructor thunk
111 // NOLINTBEGIN
112 MCNAPI void $dtor();
113 // NOLINTEND
114
115public:
116 // virtual function thunks
117 // NOLINTBEGIN
118 MCNAPI void $deserialize(::CompoundTag const& tag);
119
120 MCNAPI void $serialize(::CompoundTag& tag) const;
121 // NOLINTEND
122
123public:
124 // vftables
125 // NOLINTBEGIN
126 MCNAPI static void** $vftable();
127 // NOLINTEND
128};
Definition Actor.h:103
Definition AutomaticID.h:6
Definition BaseGameVersion.h:8
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition CompoundTag.h:13
Definition Dimension.h:83
Definition PortalForcer.h:31
Definition PortalForcer.h:23
static MCAPI ::BaseGameVersion const & MIN_PORTAL_REPLACE_BLOCK_FIX_VERSION()
MCAPI void $dtor()
MCAPI void removeMisalignedPortalRecords(::BlockSource &region, ::PortalShape const &referenceShape, ::PortalRecord const &referenceRecord)
static MCAPI bool canPortalReplaceBlock(::BlockSource &region, ::BlockPos const &blockPos)
static MCAPI ::std::string const & PORTAL_FILE_ID()
static MCAPI void ** $vftable()
MCAPI void $serialize(::CompoundTag &tag) const
MCAPI::PortalRecord const & createPortal(::Actor const &entity, int radius)
MCAPI void removePortalRecord(::BlockSource &source, ::BlockPos const &pos)
MCAPI void $deserialize(::CompoundTag const &tag)
MCAPI void force(::Actor &entity, ::DimensionTransitionComponent const &portalEntranceComponent)
MCAPI ::std::optional<::PortalRecord > _findPortal(::DimensionType dimensionId, ::BlockPos const &centerBlockPos, int radius, ::BlockPos &targetBlockPos) const
Definition PortalRecord.h:5
Definition PortalShape.h:13
Definition Pos.h:5
Definition SavedData.h:10
Definition DimensionTransitionComponent.h:15
Definition Alias.h:14
Definition serialize.h:11