LeviLamina
Loading...
Searching...
No Matches
ChunkBlenderFactory.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class BlendingData;
8class ChunkBlender;
9class ChunkPos;
10class Dimension;
11namespace ChunkBlenderUtil { struct AttenuationData; }
12// clang-format on
13
15public:
16 // ChunkBlenderFactory inner types declare
17 // clang-format off
18 struct BlendCheckEntry;
20 // clang-format on
21
22 // ChunkBlenderFactory inner types define
24 public:
25 // member variables
26 // NOLINTBEGIN
36 // NOLINTEND
37
38 public:
39 // prevent constructor by default
43 };
44
46 public:
47 // member variables
48 // NOLINTBEGIN
51 // NOLINTEND
52
53 public:
54 // prevent constructor by default
55 BlendCheckEntry& operator=(BlendCheckEntry const&);
58 };
59
60 using ChunkIntermediateAttenuationData =
61 ::std::vector<::std::array<::ChunkBlenderFactory::IntermediateAttenuationData, 4>>;
62
63public:
64 // member variables
65 // NOLINTBEGIN
66 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPos, ::std::shared_ptr<::ChunkBlender>>> mAttenuatorCache;
67 ::ll::TypedStorage<8, 8, ::std::shared_mutex> mAttenuatorSharedMutex;
68 ::ll::TypedStorage<8, 8, ::Dimension&> mDimension;
69 // NOLINTEND
70
71public:
72 // member functions
73 // NOLINTBEGIN
74 MCAPI ::std::shared_ptr<::ChunkBlender> _createChunkBlendingAttenuator(::ChunkPos const& lcPosition) const;
75
76 MCAPI ::std::vector<::std::array<::ChunkBlenderUtil::AttenuationData, 4>> _finalizeChunkAttenuationData(
77 ::std::vector<::std::array<::ChunkBlenderFactory::IntermediateAttenuationData, 4>> const&
78 chunkIntermediateAttenuationData
79 ) const;
80
81 MCAPI void _updateIntermediateAttenuationData(
82 ::std::vector<::std::array<::ChunkBlenderFactory::IntermediateAttenuationData, 4>>&
83 chunkIntermediateAttenuationData,
84 ::ChunkPos const& oldChunkPosition,
85 ::ChunkPos const& newChunkPosition,
86 ::BlendingData const& blendingData,
87 bool adjacentChunk
88 ) const;
89
90 MCAPI ::std::shared_ptr<::ChunkBlender> getOrCreateChunkBlender(::ChunkPos const& lcPosition);
91 // NOLINTEND
92};
Definition BlendingData.h:5
Definition ChunkBlenderFactory.h:14
Definition ChunkBlender.h:19
Definition ChunkPos.h:11
Definition Dimension.h:83
Definition ChunkBlenderFactory.h:45
Definition ChunkBlenderFactory.h:23
Definition Alias.h:14