Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
TickingAreaView.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/ticking/ITickingAreaView.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockSource;
11class ChunkPos;
12class ChunkSource;
13class ChunkViewSource;
14class Level;
15class LevelChunk;
16class Random;
17struct Bounds;
18struct DimensionType;
19struct Tick;
20namespace LevelChunkTicking { struct Registry; }
21// clang-format on
22
23class TickingAreaView : public ::ITickingAreaView {
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ChunkViewSource>> mTickingArea;
28 ::ll::TypedStorage<4, 4, uint> mPolicyHandle;
29 ::ll::TypedStorage<1, 1, bool> mInfluenceDirty;
30 ::ll::TypedStorage<1, 1, bool> mDoneLoading;
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 TickingAreaView();
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual ~TickingAreaView() /*override*/ = default;
41
42 virtual void init(::Bounds const& bounds, bool isCircle) /*override*/;
43
44 virtual void tick(::Tick const& currentTick, ::BlockSource& region, bool preload, bool randomize) /*override*/;
45
46 virtual void tickSeasons(::BlockSource& region, ::Random& random) /*override*/;
47
48 virtual ::DimensionType getDimensionId() const /*override*/;
49
50 virtual ::Bounds const getBoundsCopy() const /*override*/;
51
52 virtual bool isCircle() const /*override*/;
53
54 virtual bool isDoneLoading() const /*override*/;
55
56 virtual bool checkInitialLoadDone(::Tick currentLevelTick) /*override*/;
57
58 virtual bool checkLoadedChunkNeighborsDone(::BlockSource const& region, bool useDoneLoading) const /*override*/;
59
60 virtual void move(::Bounds const& bounds) /*override*/;
61
62 virtual ::std::unique_ptr<::ChunkViewSource> createChildSource() /*override*/;
63
64 virtual ::std::shared_ptr<::LevelChunk> getAvailableChunk(::ChunkPos const& cp) /*override*/;
65 // NOLINTEND
66
67public:
68 // member functions
69 // NOLINTBEGIN
70 MCAPI explicit TickingAreaView(::ChunkSource& parent);
71
72 MCNAPI bool _tickChunk(
73 ::Tick const& currentTick,
74 ::BlockSource& region,
75 ::Level& level,
76 ::ChunkPos const& cp,
78 );
79 // NOLINTEND
80
81public:
82 // constructor thunks
83 // NOLINTBEGIN
84 MCAPI void* $ctor(::ChunkSource& parent);
85 // NOLINTEND
86
87public:
88 // virtual function thunks
89 // NOLINTBEGIN
90 MCAPI void $init(::Bounds const& bounds, bool isCircle);
91
92 MCAPI void $tick(::Tick const& currentTick, ::BlockSource& region, bool preload, bool randomize);
93
94 MCAPI void $tickSeasons(::BlockSource& region, ::Random& random);
95
96 MCAPI ::DimensionType $getDimensionId() const;
97
98 MCAPI ::Bounds const $getBoundsCopy() const;
99
100 MCAPI bool $isCircle() const;
101
102 MCAPI bool $isDoneLoading() const;
103
104 MCAPI bool $checkInitialLoadDone(::Tick currentLevelTick);
105
106 MCAPI bool $checkLoadedChunkNeighborsDone(::BlockSource const& region, bool useDoneLoading) const;
107
108 MCAPI void $move(::Bounds const& bounds);
109
110 MCAPI ::std::unique_ptr<::ChunkViewSource> $createChildSource();
111
112 MCAPI ::std::shared_ptr<::LevelChunk> $getAvailableChunk(::ChunkPos const& cp);
113
114
115 // NOLINTEND
116
117public:
118 // vftables
119 // NOLINTBEGIN
120 MCNAPI static void** $vftable();
121 // NOLINTEND
122};
Definition BlockSource.h:72
Definition ChunkPos.h:13
Definition ChunkSource.h:37
Definition ChunkViewSource.h:23
Definition ITickingAreaView.h:17
Definition LevelChunk.h:76
Definition Level.h:255
Definition Random.h:10
static MCAPI void ** $vftable()
MCAPI bool _tickChunk(::Tick const &currentTick, ::BlockSource &region, ::Level &level, ::ChunkPos const &cp, ::LevelChunkTicking::Registry *registry)
Definition Bounds.h:8
Definition DimensionType.h:5
Definition Registry.h:10
Definition Tick.h:5