LeviLamina
Loading...
Searching...
No Matches
ChunkBuildOrderPolicy.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/dimension/ChunkBuildOrderPolicyBase.h"
7
8// auto generated forward declare list
9// clang-format off
10class ChunkPos;
11class SpinLockImpl;
12class Vec3;
13// clang-format on
14
16public:
17 // ChunkBuildOrderPolicy inner types declare
18 // clang-format off
19 struct Influence;
20 // clang-format on
21
22 // ChunkBuildOrderPolicy inner types define
23 enum class HintType : int {
24 Player = 0,
25 TickingAreaBox = 1,
26 TickingAreaCircle = 2,
27 };
28
29 struct Influence {
30 public:
31 // member variables
32 // NOLINTBEGIN
36 // NOLINTEND
37
38 public:
39 // prevent constructor by default
40 Influence& operator=(Influence const&);
41 Influence(Influence const&);
42 Influence();
43
44 public:
45 // member functions
46 // NOLINTBEGIN
47 MCAPI int getPriority(::ChunkPos const& cp) const;
48 // NOLINTEND
49 };
50
51public:
52 // member variables
53 // NOLINTBEGIN
54 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint, ::ChunkBuildOrderPolicy::Influence>> mPositionMap;
55 ::ll::TypedStorage<8, 32, ::SpinLockImpl> mChunkPosAsyncSpinLock;
56 ::ll::TypedStorage<8, 24, ::std::vector<::ChunkBuildOrderPolicy::Influence>> mChunkPosAndDirectionAsync;
57 ::ll::TypedStorage<4, 4, uint> mLastHandle;
58 // NOLINTEND
59
60public:
61 // virtual functions
62 // NOLINTBEGIN
63 // vIndex: 0
64 virtual ~ChunkBuildOrderPolicy() /*override*/ = default;
65
66 // vIndex: 1
67 virtual int getChunkRebuildPriority(::ChunkPos const& cp) const /*override*/;
68
69 // vIndex: 2
70 virtual uint registerForUpdates() /*override*/;
71
72 // vIndex: 3
73 virtual void unregisterForUpdates(uint handle) /*override*/;
74
75 // vIndex: 4
76 virtual void setPlayerInfluence(
77 uint handle,
78 ::ChunkPos const& playerPosition,
79 ::Vec3 const& playerMovementDirection
80 ) /*override*/;
81
82 // vIndex: 5
83 virtual void setTickingAreaInfluence(
84 uint handle,
85 ::ChunkPos const& tickingAreaPosition,
86 int sizeX,
87 int sizeZ,
88 bool isCircle,
89 bool preload
90 ) /*override*/;
91
92 // vIndex: 6
93 virtual void updateInfluences() /*override*/;
94 // NOLINTEND
95
96public:
97 // destructor thunk
98 // NOLINTBEGIN
99
100 // NOLINTEND
101
102public:
103 // virtual function thunks
104 // NOLINTBEGIN
105 MCAPI int $getChunkRebuildPriority(::ChunkPos const& cp) const;
106
107 MCAPI uint $registerForUpdates();
108
109 MCAPI void $unregisterForUpdates(uint handle);
110
111 MCAPI void
112 $setPlayerInfluence(uint handle, ::ChunkPos const& playerPosition, ::Vec3 const& playerMovementDirection);
113
114 MCAPI void $setTickingAreaInfluence(
115 uint handle,
116 ::ChunkPos const& tickingAreaPosition,
117 int sizeX,
118 int sizeZ,
119 bool isCircle,
120 bool preload
121 );
122
123 MCAPI void $updateInfluences();
124 // NOLINTEND
125
126public:
127 // vftables
128 // NOLINTBEGIN
129 MCAPI static void** $vftable();
130 // NOLINTEND
131};
Definition ChunkBuildOrderPolicyBase.h:11
Definition ChunkBuildOrderPolicy.h:15
Definition ChunkPos.h:11
Definition Player.h:119
Definition SpinLockImpl.h:5
Definition Vec3.h:10
Definition ChunkBuildOrderPolicy.h:29
Definition Alias.h:14