LeviLamina
Loading...
Searching...
No Matches
ChunkBlenderFactory.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/ChunkPos.h"
7#include "mc/world/level/ScalarOptional.h"
8#include "mc/world/level/biome/BiomeIdType.h"
9
10// auto generated forward declare list
11// clang-format off
12class ChunkBlender;
13class ChunkSource;
14// clang-format on
15
17public:
18 // ChunkBlenderFactory inner types declare
19 // clang-format off
20 struct BlendCheckEntry;
22 // clang-format on
23
24 // ChunkBlenderFactory inner types define
26 public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 8, ::ChunkPos> checkPosition;
30 ::ll::TypedStorage<1, 1, bool> adjacentChunk;
31 // NOLINTEND
32 };
33
35 public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<4, 4, float> mDistanceToBlendTarget;
39 ::ll::TypedStorage<4, 4, float> mWeightedHeight;
40 ::ll::TypedStorage<4, 4, float> mTotalHeightWeight;
41 ::ll::TypedStorage<4, 4, float> mTotalDensityWeight;
42 ::ll::TypedStorage<4, 164, ::std::array<::ScalarOptional<float>, 41>> mWeightedDensities;
43 ::ll::TypedStorage<1, 41, ::std::array<::ScalarOptional<schar>, 41>> mBlockTypeWeights;
44 ::ll::TypedStorage<2, 192, ::std::array<::ScalarOptional<::BiomeIdType>, 96>> mBiome;
45 ::ll::TypedStorage<1, 1, bool> mHaveBlockTypes;
46 ::ll::TypedStorage<1, 1, bool> mSyncPoint;
47 // NOLINTEND
48 };
49
50 using ChunkIntermediateAttenuationData =
51 ::std::vector<::std::array<::ChunkBlenderFactory::IntermediateAttenuationData, 4>>;
52
53public:
54 // member variables
55 // NOLINTBEGIN
56 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPos, ::std::shared_ptr<::ChunkBlender>>> mAttenuatorCache;
57 ::ll::TypedStorage<8, 8, ::std::shared_mutex> mAttenuatorSharedMutex;
58 ::ll::TypedStorage<1, 1, bool const> mIsClientSide;
59 ::ll::TypedStorage<8, 8, ::ChunkSource*> mChunkSource;
60 ::ll::TypedStorage<2, 2, short const> mDimensionMinHeight;
61 // NOLINTEND
62
63public:
64 // member functions
65 // NOLINTBEGIN
66 MCAPI void freeChunkBlenderCache();
67
68 MCAPI ::std::shared_ptr<::ChunkBlender> getOrCreateChunkBlender(::ChunkPos const& lcPosition);
69 // NOLINTEND
70};
Definition ChunkBlenderFactory.h:16
Definition ChunkBlender.h:19
Definition ChunkPos.h:13
Definition ChunkSource.h:38
Definition ChunkBlenderFactory.h:25
Definition ChunkBlenderFactory.h:34