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 ChunkSource;
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<1, 1, bool const> mIsClientSide;
69 ::ll::TypedStorage<8, 8, ::ChunkSource*> mChunkSource;
70 ::ll::TypedStorage<2, 2, short const> mDimensionMinHeight;
71 // NOLINTEND
72
73public:
74 // member functions
75 // NOLINTBEGIN
76 MCNAPI ::std::shared_ptr<::ChunkBlender> _createChunkBlendingAttenuator(::ChunkPos const& lcPosition) const;
77
78 MCNAPI ::std::vector<::std::array<::ChunkBlenderUtil::AttenuationData, 4>> _finalizeChunkAttenuationData(
79 ::std::vector<::std::array<::ChunkBlenderFactory::IntermediateAttenuationData, 4>> const&
80 chunkIntermediateAttenuationData
81 ) const;
82
84 ::std::vector<::std::array<::ChunkBlenderFactory::IntermediateAttenuationData, 4>>&
85 chunkIntermediateAttenuationData,
86 ::ChunkPos const& oldChunkPosition,
87 ::ChunkPos const& newChunkPosition,
88 ::BlendingData const& blendingData,
89 bool adjacentChunk
90 ) const;
91
92 MCNAPI ::std::shared_ptr<::ChunkBlender> getOrCreateChunkBlender(::ChunkPos const& lcPosition);
93 // NOLINTEND
94};
Definition BlendingData.h:5
Definition ChunkBlenderFactory.h:14
MCAPI void _updateIntermediateAttenuationData(::std::vector<::std::array<::ChunkBlenderFactory::IntermediateAttenuationData, 4 > > &chunkIntermediateAttenuationData, ::ChunkPos const &oldChunkPosition, ::ChunkPos const &newChunkPosition, ::BlendingData const &blendingData, bool adjacentChunk) const
MCAPI ::std::vector<::std::array<::ChunkBlenderUtil::AttenuationData, 4 > > _finalizeChunkAttenuationData(::std::vector<::std::array<::ChunkBlenderFactory::IntermediateAttenuationData, 4 > > const &chunkIntermediateAttenuationData) const
MCAPI ::std::shared_ptr<::ChunkBlender > _createChunkBlendingAttenuator(::ChunkPos const &lcPosition) const
MCAPI ::std::shared_ptr<::ChunkBlender > getOrCreateChunkBlender(::ChunkPos const &lcPosition)
Definition ChunkBlender.h:19
Definition ChunkPos.h:11
Definition ChunkSource.h:34
Definition ChunkBlenderFactory.h:45
Definition ChunkBlenderFactory.h:23
Definition Alias.h:14