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