LeviLamina
Loading...
Searching...
No Matches
ConsoleChunkBlender.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class BlockLegacy;
9class LevelChunk;
12// clang-format on
13
15public:
16 // ConsoleChunkBlender inner types define
17 enum class BlenderMode : int {
18 None = 0,
19 Overworld4J = 1,
20 OverworldCliffsAndCaves = 2,
21 Nether4J = 3,
22 NetherUpdate = 4,
23 End4J = 5,
24 };
25
26 enum class ShiftBlockTypes : int {
27 ConsoleBlend = 0,
28 TerrainGenChanged = 1,
29 };
30
31public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PerlinSimplexNoise>> mConversionBlendNoise;
35 ::ll::TypedStorage<4, 16, float[2][2]> mInterpCorners;
36 ::ll::TypedStorage<4, 1024, float[16][16]> mInterpTable;
37 // NOLINTEND
38
39public:
40 // member functions
41 // NOLINTBEGIN
42 MCAPI ConsoleChunkBlender();
43
44 MCAPI void _blendChunkEnd4J(::LevelChunk& generatedChunk, ::LevelChunk& lc);
45
46 MCAPI void _blendChunkNether4J(::LevelChunk& generatedChunk, ::LevelChunk& lc);
47
48 MCAPI void _blendChunkOverworld(
49 ::LevelChunk& generatedChunk,
50 ::LevelChunk& lc,
51 ::ConsoleChunkBlender::ShiftBlockTypes shiftBlockType
52 );
53
54 MCAPI void _copyColumnFromGeneratedChunkNether(::LevelChunk& generatedChunk, ::LevelChunk& lc, int x, int z);
55
56 MCAPI void _copyColumnFromGeneratedChunkOverworld(
57 ::LevelChunk& generatedChunk,
58 ::LevelChunk& lc,
59 int x,
60 int z,
61 ::ConsoleChunkBlender::ShiftBlockTypes shiftBlockType
62 );
63
64 MCAPI ::ChunkLocalHeight _findHighestStoneOrBedrockHeight(::LevelChunk& lc, int x, int z);
65
66 MCAPI ::ChunkLocalHeight _findTopMostWaterHeight(
67 ::LevelChunk& lc,
68 int x,
69 int z,
70 ::std::unordered_set<::BlockLegacy const*> const& waterBlocks
71 );
72
73 MCAPI void _prepInterpTable();
74
75 MCAPI void _shiftColumnBySetBlocks(
76 ::LevelChunk& lc,
77 int x,
78 int z,
79 int adj,
80 bool isSeaBlock,
81 ::ChunkLocalHeight topSeaBlockHeight,
82 ::ConsoleChunkBlender::ShiftBlockTypes shiftBlockType,
83 ::OverworldBlendRules const& blendRules
84 );
85
87 // NOLINTEND
88
89public:
90 // constructor thunks
91 // NOLINTBEGIN
92 MCAPI void* $ctor();
93 // NOLINTEND
94
95public:
96 // destructor thunk
97 // NOLINTBEGIN
98 MCFOLD void $dtor();
99 // NOLINTEND
100};
Definition BlockLegacy.h:88
Definition ChunkLocalHeight.h:5
Definition ConsoleChunkBlender.h:14
Definition LevelChunk.h:73
Definition PerlinSimplexNoise.h:13
Definition OverworldBlendRules.h:5