diff options
author | Mattes D <github@xoft.cz> | 2014-09-29 09:33:13 +0200 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2014-09-29 09:33:13 +0200 |
commit | 666aa1df94f46175589ec36b64b8e0209cde6b0b (patch) | |
tree | 6471fe8e91a5ca16a11642011a02ea3963548363 /src/Generating/StructGen.cpp | |
parent | Merge pull request #1478 from doublej472/master (diff) | |
parent | Fixed compilation (diff) | |
download | cuberite-666aa1df94f46175589ec36b64b8e0209cde6b0b.tar cuberite-666aa1df94f46175589ec36b64b8e0209cde6b0b.tar.gz cuberite-666aa1df94f46175589ec36b64b8e0209cde6b0b.tar.bz2 cuberite-666aa1df94f46175589ec36b64b8e0209cde6b0b.tar.lz cuberite-666aa1df94f46175589ec36b64b8e0209cde6b0b.tar.xz cuberite-666aa1df94f46175589ec36b64b8e0209cde6b0b.tar.zst cuberite-666aa1df94f46175589ec36b64b8e0209cde6b0b.zip |
Diffstat (limited to 'src/Generating/StructGen.cpp')
-rw-r--r-- | src/Generating/StructGen.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/Generating/StructGen.cpp b/src/Generating/StructGen.cpp index 731324b0d..c23a72621 100644 --- a/src/Generating/StructGen.cpp +++ b/src/Generating/StructGen.cpp @@ -272,13 +272,14 @@ void cStructGenOreNests::GenFinish(cChunkDesc & a_ChunkDesc) int ChunkX = a_ChunkDesc.GetChunkX(); int ChunkZ = a_ChunkDesc.GetChunkZ(); cChunkDef::BlockTypes & BlockTypes = a_ChunkDesc.GetBlockTypes(); + cChunkDesc::BlockNibbleBytes & BlockMetas = a_ChunkDesc.GetBlockMetasUncompressed(); int seq = 1; // Generate the ores from the ore list. for (OreList::const_iterator itr = m_OreList.begin(); itr != m_OreList.end(); ++itr) { - GenerateOre(ChunkX, ChunkZ, itr->BlockType, itr->MaxHeight, itr->NumNests, itr->NestSize, BlockTypes, seq); + GenerateOre(ChunkX, ChunkZ, itr->BlockType, itr->BlockMeta, itr->MaxHeight, itr->NumNests, itr->NestSize, BlockTypes, BlockMetas, seq); seq++; } } @@ -287,7 +288,7 @@ void cStructGenOreNests::GenFinish(cChunkDesc & a_ChunkDesc) -void cStructGenOreNests::GenerateOre(int a_ChunkX, int a_ChunkZ, BLOCKTYPE a_OreType, int a_MaxHeight, int a_NumNests, int a_NestSize, cChunkDef::BlockTypes & a_BlockTypes, int a_Seq) +void cStructGenOreNests::GenerateOre(int a_ChunkX, int a_ChunkZ, BLOCKTYPE a_OreType, NIBBLETYPE a_BlockMeta, int a_MaxHeight, int a_NumNests, int a_NestSize, cChunkDef::BlockTypes & a_BlockTypes, cChunkDesc::BlockNibbleBytes & a_BlockMetas, int a_Seq) { // This function generates several "nests" of ore, each nest consisting of number of ore blocks relatively adjacent to each other. // It does so by making a random XYZ walk and adding ore along the way in cuboids of different (random) sizes @@ -341,6 +342,7 @@ void cStructGenOreNests::GenerateOre(int a_ChunkX, int a_ChunkZ, BLOCKTYPE a_Ore if (a_BlockTypes[Index] == m_ToReplace) { a_BlockTypes[Index] = a_OreType; + a_BlockMetas[Index] = a_BlockMeta; } Num++; } // for z |