diff options
author | Tiger Wang <ziwei.tiger@hotmail.co.uk> | 2014-07-22 19:30:31 +0200 |
---|---|---|
committer | Tiger Wang <ziwei.tiger@hotmail.co.uk> | 2014-07-22 19:30:31 +0200 |
commit | 18a0b60c12daec4c04fd3cb9c4422e69de4fcbf2 (patch) | |
tree | 089b3be905aa030367925762c58bd30b08f5f3f6 /src/Generating | |
parent | Merge branch 'master' into saplingsandleaves (diff) | |
parent | Updated prefabs to current Gallery content. (diff) | |
download | cuberite-18a0b60c12daec4c04fd3cb9c4422e69de4fcbf2.tar cuberite-18a0b60c12daec4c04fd3cb9c4422e69de4fcbf2.tar.gz cuberite-18a0b60c12daec4c04fd3cb9c4422e69de4fcbf2.tar.bz2 cuberite-18a0b60c12daec4c04fd3cb9c4422e69de4fcbf2.tar.lz cuberite-18a0b60c12daec4c04fd3cb9c4422e69de4fcbf2.tar.xz cuberite-18a0b60c12daec4c04fd3cb9c4422e69de4fcbf2.tar.zst cuberite-18a0b60c12daec4c04fd3cb9c4422e69de4fcbf2.zip |
Diffstat (limited to 'src/Generating')
-rw-r--r-- | src/Generating/Caves.cpp | 6 | ||||
-rw-r--r-- | src/Generating/ChunkGenerator.cpp | 2 | ||||
-rw-r--r-- | src/Generating/ComposableGenerator.cpp | 4 | ||||
-rw-r--r-- | src/Generating/FinishGen.cpp | 67 | ||||
-rw-r--r-- | src/Generating/FinishGen.h | 37 | ||||
-rw-r--r-- | src/Generating/HeiGen.cpp | 2 | ||||
-rw-r--r-- | src/Generating/Prefabs/AlchemistVillagePrefabs.cpp | 38 | ||||
-rw-r--r-- | src/Generating/Prefabs/JapaneseVillagePrefabs.cpp | 48 | ||||
-rw-r--r-- | src/Generating/Prefabs/PlainsVillagePrefabs.cpp | 383 |
9 files changed, 352 insertions, 235 deletions
diff --git a/src/Generating/Caves.cpp b/src/Generating/Caves.cpp index 21bfd98b8..3b71efb57 100644 --- a/src/Generating/Caves.cpp +++ b/src/Generating/Caves.cpp @@ -703,10 +703,10 @@ cGridStructGen::cStructurePtr cStructGenWormNestCaves::CreateStructure(int a_Gri //////////////////////////////////////////////////////////////////////////////// // cStructGenMarbleCaves: -static float GetMarbleNoise( float x, float y, float z, cNoise & a_Noise ) +static float GetMarbleNoise( float x, float y, float z, cNoise & a_Noise) { static const float PI_2 = 1.57079633f; - float oct1 = (a_Noise.CubicNoise3D(x * 0.1f, y * 0.1f, z * 0.1f )) * 4; + float oct1 = (a_Noise.CubicNoise3D(x * 0.1f, y * 0.1f, z * 0.1f)) * 4; oct1 = oct1 * oct1 * oct1; if (oct1 < 0.f) oct1 = PI_2; @@ -730,7 +730,7 @@ void cStructGenMarbleCaves::GenFinish(cChunkDesc & a_ChunkDesc) const float xx = (float)(a_ChunkDesc.GetChunkX() * cChunkDef::Width + x); int Top = a_ChunkDesc.GetHeight(x, z); - for (int y = 1; y < Top; ++y ) + for (int y = 1; y < Top; ++y) { if (a_ChunkDesc.GetBlockType(x, y, z) != E_BLOCK_STONE) { diff --git a/src/Generating/ChunkGenerator.cpp b/src/Generating/ChunkGenerator.cpp index 9383a3adf..0baf1e991 100644 --- a/src/Generating/ChunkGenerator.cpp +++ b/src/Generating/ChunkGenerator.cpp @@ -229,7 +229,7 @@ void cChunkGenerator::Execute(void) } cChunkCoords coords = m_Queue.front(); // Get next coord from queue - m_Queue.erase( m_Queue.begin() ); // Remove coordinate from queue + m_Queue.erase( m_Queue.begin()); // Remove coordinate from queue bool SkipEnabled = (m_Queue.size() > QUEUE_SKIP_LIMIT); Lock.Unlock(); // Unlock ASAP m_evtRemoved.Set(); diff --git a/src/Generating/ComposableGenerator.cpp b/src/Generating/ComposableGenerator.cpp index 09921abb0..ab6accee7 100644 --- a/src/Generating/ComposableGenerator.cpp +++ b/src/Generating/ComposableGenerator.cpp @@ -415,6 +415,10 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile) { m_FinishGens.push_back(new cFinishGenSprinkleFoliage(Seed)); } + else if (NoCaseCompare(*itr, "TallGrass") == 0) + { + m_FinishGens.push_back(new cFinishGenTallGrass(Seed)); + } else if (NoCaseCompare(*itr, "TestRails") == 0) { m_FinishGens.push_back(new cTestRailsGen(Seed, 100, 1, 7, 50)); diff --git a/src/Generating/FinishGen.cpp b/src/Generating/FinishGen.cpp index 00a93023d..444af5022 100644 --- a/src/Generating/FinishGen.cpp +++ b/src/Generating/FinishGen.cpp @@ -160,6 +160,65 @@ void cFinishGenNetherClumpFoliage::TryPlaceClump(cChunkDesc & a_ChunkDesc, int a //////////////////////////////////////////////////////////////////////////////// +// cFinishGenTallGrass: + +void cFinishGenTallGrass::GenFinish(cChunkDesc & a_ChunkDesc) +{ + for (int x = 0; x < cChunkDef::Width; x++) + { + int xx = x + a_ChunkDesc.GetChunkX() * cChunkDef::Width; + for (int z = 0; z < cChunkDef::Width; z++) + { + int zz = z + a_ChunkDesc.GetChunkZ() * cChunkDef::Width; + int BiomeDensity = GetBiomeDensity(a_ChunkDesc.GetBiome(x, z)); + + // Choose if we want to place long grass here. If not then bail out: + if ((m_Noise.IntNoise2DInt(xx + m_Noise.IntNoise1DInt(xx), zz + m_Noise.IntNoise1DInt(zz)) / 7 % 100) > BiomeDensity) + { + continue; + } + + // Get the top block + 1. This is the place where the grass would finaly be placed: + int y = a_ChunkDesc.GetHeight(x, z) + 1; + + // Check if long grass can be placed: + if ( + (a_ChunkDesc.GetBlockType(x, y, z) != E_BLOCK_AIR) || + ((a_ChunkDesc.GetBlockType(x, y - 1, z) != E_BLOCK_GRASS) && (a_ChunkDesc.GetBlockType(x, y - 1, z) != E_BLOCK_DIRT)) + ) + { + continue; + } + + // Choose what long grass meta we should use: + int GrassType = m_Noise.IntNoise2DInt(xx * 50, zz * 50) / 7 % 100; + if (GrassType < 60) + { + a_ChunkDesc.SetBlockTypeMeta(x, y, z, E_BLOCK_TALL_GRASS, 1); + } + else if (GrassType < 90) + { + a_ChunkDesc.SetBlockTypeMeta(x, y, z, E_BLOCK_TALL_GRASS, 2); + } + else + { + // If double long grass we have to choose what type we should use: + if (a_ChunkDesc.GetBlockType(x, y + 1, z) == E_BLOCK_AIR) + { + NIBBLETYPE Meta = (m_Noise.IntNoise2DInt(xx * 100, zz * 100) / 7 % 100) > 25 ? 2 : 3; + a_ChunkDesc.SetBlockTypeMeta(x, y, z, E_BLOCK_BIG_FLOWER, Meta); + a_ChunkDesc.SetBlockTypeMeta(x, y + 1, z, E_BLOCK_BIG_FLOWER, 8); + } + } + } + } +} + + + + + +//////////////////////////////////////////////////////////////////////////////// // cFinishGenSprinkleFoliage: bool cFinishGenSprinkleFoliage::TryAddSugarcane(cChunkDesc & a_ChunkDesc, int a_RelX, int a_RelY, int a_RelZ) @@ -239,14 +298,14 @@ void cFinishGenSprinkleFoliage::GenFinish(cChunkDesc & a_ChunkDesc) } const float xx = (float)BlockX; - float val1 = m_Noise.CubicNoise2D(xx * 0.1f, zz * 0.1f ); - float val2 = m_Noise.CubicNoise2D(xx * 0.01f, zz * 0.01f ); + float val1 = m_Noise.CubicNoise2D(xx * 0.1f, zz * 0.1f); + float val2 = m_Noise.CubicNoise2D(xx * 0.01f, zz * 0.01f); switch (a_ChunkDesc.GetBlockType(x, Top, z)) { case E_BLOCK_GRASS: { - float val3 = m_Noise.CubicNoise2D(xx * 0.01f + 10, zz * 0.01f + 10 ); - float val4 = m_Noise.CubicNoise2D(xx * 0.05f + 20, zz * 0.05f + 20 ); + float val3 = m_Noise.CubicNoise2D(xx * 0.01f + 10, zz * 0.01f + 10); + float val4 = m_Noise.CubicNoise2D(xx * 0.05f + 20, zz * 0.05f + 20); if (val1 + val2 > 0.2f) { a_ChunkDesc.SetBlockType(x, ++Top, z, E_BLOCK_YELLOW_FLOWER); diff --git a/src/Generating/FinishGen.h b/src/Generating/FinishGen.h index fdeb86e73..a8a0e1e3b 100644 --- a/src/Generating/FinishGen.h +++ b/src/Generating/FinishGen.h @@ -69,6 +69,43 @@ protected: +class cFinishGenTallGrass : + public cFinishGen +{ +public: + cFinishGenTallGrass(int a_Seed) : m_Noise(a_Seed), m_Seed(a_Seed) {} + +protected: + cNoise m_Noise; + int m_Seed; + + // cFinishGen override: + virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; + + int GetBiomeDensity(EMCSBiome a_Biome) + { + switch (a_Biome) + { + case biSavanna: + case biSavannaM: + case biSavannaPlateau: + case biSavannaPlateauM: + case biPlains: + { + return 70; + } + default: + { + return 20; + } + } + } +}; + + + + + class cFinishGenSprinkleFoliage : public cFinishGen { diff --git a/src/Generating/HeiGen.cpp b/src/Generating/HeiGen.cpp index 3df1a90ff..870ceef7f 100644 --- a/src/Generating/HeiGen.cpp +++ b/src/Generating/HeiGen.cpp @@ -253,7 +253,7 @@ float cHeiGenClassic::GetNoise(float x, float y) float oct2 = m_Noise.CubicNoise2D(x * m_HeightFreq2, y * m_HeightFreq2) * m_HeightAmp2; float oct3 = m_Noise.CubicNoise2D(x * m_HeightFreq3, y * m_HeightFreq3) * m_HeightAmp3; - float height = m_Noise.CubicNoise2D(x * 0.1f, y * 0.1f ) * 2; + float height = m_Noise.CubicNoise2D(x * 0.1f, y * 0.1f) * 2; float flatness = ((m_Noise.CubicNoise2D(x * 0.5f, y * 0.5f) + 1.f) * 0.5f) * 1.1f; // 0 ... 1.5 flatness *= flatness * flatness; diff --git a/src/Generating/Prefabs/AlchemistVillagePrefabs.cpp b/src/Generating/Prefabs/AlchemistVillagePrefabs.cpp index 8c935c2a5..c08e53ef6 100644 --- a/src/Generating/Prefabs/AlchemistVillagePrefabs.cpp +++ b/src/Generating/Prefabs/AlchemistVillagePrefabs.cpp @@ -2367,9 +2367,9 @@ const cPrefab::sDef g_AlchemistVillagePrefabs[] = "a: 24: 2\n" /* sandstone */ "b: 4: 0\n" /* cobblestone */ "c: 24: 0\n" /* sandstone */ - "d: 12: 0\n" /* sand */ - "e: 13: 0\n" /* gravel */ - "f: 5: 0\n" /* wood */ + "d: 13: 0\n" /* gravel */ + "e: 5: 0\n" /* wood */ + "f: 12: 0\n" /* sand */ "g: 64: 3\n" /* wooddoorblock */ "h: 85: 0\n" /* fence */ "i: 64: 0\n" /* wooddoorblock */ @@ -2392,26 +2392,26 @@ const cPrefab::sDef g_AlchemistVillagePrefabs[] = /* * 012345678901234 */ /* 0 */ "mmmabbbammmmmmm" /* 1 */ "mmmmbbbmmmmmmmm" - /* 2 */ "acccccccccadddd" - /* 3 */ "cccccccccccdddd" - /* 4 */ "cccccccccccdddd" - /* 5 */ "cccccccccccdddd" - /* 6 */ "cccccccccccdddd" - /* 7 */ "cccccccccccdddd" - /* 8 */ "acccccccccadddd" + /* 2 */ "acccccccccacccc" + /* 3 */ "ccccccccccccccc" + /* 4 */ "ccccccccccccccc" + /* 5 */ "ccccccccccccccc" + /* 6 */ "ccccccccccccccc" + /* 7 */ "ccccccccccccccc" + /* 8 */ "acccccccccacccc" // Level 1 /* z\x* 11111 */ /* * 012345678901234 */ - /* 0 */ "mmmaeeeammmmmmm" - /* 1 */ "mmmmeeemmmmmmmm" - /* 2 */ "accccfccccadddd" - /* 3 */ "cfffffffffcdddd" - /* 4 */ "cfffffffffcdddd" - /* 5 */ "cffffffffffdddd" - /* 6 */ "cfffffffffcdddd" - /* 7 */ "cfffffffffcdddd" - /* 8 */ "acccccccccadddd" + /* 0 */ "mmmadddammmmmmm" + /* 1 */ "mmmmdddmmmmmmmm" + /* 2 */ "acccceccccaffff" + /* 3 */ "ceeeeeeeeecffff" + /* 4 */ "ceeeeeeeeecffff" + /* 5 */ "ceeeeeeeeeeffff" + /* 6 */ "ceeeeeeeeecffff" + /* 7 */ "ceeeeeeeeecffff" + /* 8 */ "acccccccccaffff" // Level 2 /* z\x* 11111 */ diff --git a/src/Generating/Prefabs/JapaneseVillagePrefabs.cpp b/src/Generating/Prefabs/JapaneseVillagePrefabs.cpp index c49015e36..0362c9406 100644 --- a/src/Generating/Prefabs/JapaneseVillagePrefabs.cpp +++ b/src/Generating/Prefabs/JapaneseVillagePrefabs.cpp @@ -134,11 +134,11 @@ const cPrefab::sDef g_JapaneseVillagePrefabs[] = // The data has been exported from the gallery Plains, area index 166, ID 554, created by Aloe_vera { // Size: - 11, 7, 13, // SizeX = 11, SizeY = 7, SizeZ = 13 + 11, 8, 13, // SizeX = 11, SizeY = 8, SizeZ = 13 // Hitbox (relative to bounding box): 0, 0, 0, // MinX, MinY, MinZ - 10, 6, 12, // MaxX, MaxY, MaxZ + 10, 7, 12, // MaxX, MaxY, MaxZ // Block definitions: ".: 0: 0\n" /* air */ @@ -150,6 +150,7 @@ const cPrefab::sDef g_JapaneseVillagePrefabs[] = "f: 59: 7\n" /* crops */ "g: 83: 0\n" /* reedblock */ "h:113: 0\n" /* netherbrickfence */ + "i: 50: 5\n" /* torch */ "m: 19: 0\n" /* sponge */, // Block data: @@ -270,7 +271,24 @@ const cPrefab::sDef g_JapaneseVillagePrefabs[] = /* 9 */ "..........." /* 10 */ ".h.......h." /* 11 */ "hhh.....hhh" - /* 12 */ ".h.......h.", + /* 12 */ ".h.......h." + + // Level 7 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ ".i.......i." + /* 1 */ "i.i.....i.i" + /* 2 */ ".i.......i." + /* 3 */ "..........." + /* 4 */ "..........." + /* 5 */ "..........." + /* 6 */ "..........." + /* 7 */ "..........." + /* 8 */ "..........." + /* 9 */ "..........." + /* 10 */ ".i.......i." + /* 11 */ "i.i.....i.i" + /* 12 */ ".i.......i.", // Connectors: "-1: 10, 2, 6: 5\n" /* Type -1, direction X+ */, @@ -2195,33 +2213,33 @@ const cPrefab::sDef g_JapaneseVillagePrefabs[] = // Level 1 /* z\x* 0123456 */ - /* 0 */ "bmmmmmm" - /* 1 */ "bmmmmmm" - /* 2 */ "bmmmmmm" - /* 3 */ "bmmmmmm" - /* 4 */ "bmmmmmm" - /* 5 */ "bmmmmmm" + /* 0 */ "bbbbbbb" + /* 1 */ "bbbbbbb" + /* 2 */ "bbbbbbb" + /* 3 */ "bbbabbb" + /* 4 */ "bbbbbbb" + /* 5 */ "bbbbbbb" /* 6 */ "bbbbbbb" // Level 2 /* z\x* 0123456 */ - /* 0 */ "......." - /* 1 */ "..c.c.." + /* 0 */ "mm...mm" + /* 1 */ "m.c...m" /* 2 */ ".dccdc." /* 3 */ "..cefc." /* 4 */ ".ccfgh." - /* 5 */ "..ccc.." - /* 6 */ "......." + /* 5 */ "m.ccc.m" + /* 6 */ "mm...mm" // Level 3 /* z\x* 0123456 */ - /* 0 */ "......." + /* 0 */ "m.....m" /* 1 */ "......." /* 2 */ "......." /* 3 */ "...e..." /* 4 */ "......." /* 5 */ "......." - /* 6 */ "......." + /* 6 */ "m.....m" // Level 4 /* z\x* 0123456 */ diff --git a/src/Generating/Prefabs/PlainsVillagePrefabs.cpp b/src/Generating/Prefabs/PlainsVillagePrefabs.cpp index 714a66559..4613f76e2 100644 --- a/src/Generating/Prefabs/PlainsVillagePrefabs.cpp +++ b/src/Generating/Prefabs/PlainsVillagePrefabs.cpp @@ -356,8 +356,8 @@ const cPrefab::sDef g_PlainsVillagePrefabs[] = "e: 8: 0\n" /* water */ "f: 50: 5\n" /* torch */ "g: 59: 7\n" /* crops */ - "h: 59: 0\n" /* crops */ - "i: 59: 1\n" /* crops */ + "h: 59: 3\n" /* crops */ + "i: 59: 5\n" /* crops */ "m: 19: 0\n" /* sponge */, // Block data: @@ -368,7 +368,7 @@ const cPrefab::sDef g_PlainsVillagePrefabs[] = /* 1 */ "aaaaaaaaaaaaaaa" /* 2 */ "aaaaaaaaaaaaaaa" /* 3 */ "aaaaaaaaaaaaaaa" - /* 4 */ "aaaaaaaaaaaaaaa" + /* 4 */ "aaaaaaabaaaaaaa" /* 5 */ "aaaaaaabaaaaaaa" /* 6 */ "aaaaaaabaaaaaaa" /* 7 */ "aaaaaaabaaaaaaa" @@ -405,12 +405,12 @@ const cPrefab::sDef g_PlainsVillagePrefabs[] = /* * 012345678901234 */ /* 0 */ "f.....f.f.....f" /* 1 */ ".gg.gg...gg.gg." - /* 2 */ ".gh.hg...gg.gg." - /* 3 */ ".gh.ih...gg.gg." - /* 4 */ ".gg.hg...gg.gg." - /* 5 */ ".gg.hg...gg.gg." - /* 6 */ ".ig.hg...gg.gg." - /* 7 */ ".hg.gh...gg.gg." + /* 2 */ ".gg.hg...gg.gg." + /* 3 */ ".gg.gi...gg.gg." + /* 4 */ ".gg.gg...gg.gg." + /* 5 */ ".gg.gg...gg.gg." + /* 6 */ ".gg.gg...gg.gg." + /* 7 */ ".gg.gg...gg.gg." /* 8 */ "f.....f.f.....f" // Level 4 @@ -3603,8 +3603,8 @@ const cPrefab::sDef g_PlainsVillagePrefabs[] = // Block definitions: ".: 0: 0\n" /* air */ - "a: 2: 0\n" /* grass */ - "b: 3: 0\n" /* dirt */ + "a: 3: 0\n" /* dirt */ + "b: 2: 0\n" /* grass */ "c: 4: 0\n" /* cobblestone */ "d: 67: 0\n" /* stairs */ "e: 67: 2\n" /* stairs */ @@ -3629,19 +3629,19 @@ const cPrefab::sDef g_PlainsVillagePrefabs[] = // Level 0 /* z\x* 1 */ /* * 01234567890 */ - /* 0 */ "aaaabbbaaaa" - /* 1 */ "abbbbbbbbba" - /* 2 */ "abbbbbbbbba" - /* 3 */ "abbbbbbbbba" - /* 4 */ "abbbbbbbbba" - /* 5 */ "abbbbbbbbba" - /* 6 */ "abbbbbbbbba" - /* 7 */ "abbbbbbbbba" - /* 8 */ "aabbbbbbbaa" - /* 9 */ "aabbbbbbbaa" - /* 10 */ "aabbbbbbbaa" - /* 11 */ "aabbbbbbbaa" - /* 12 */ "aabbbbbbbaa" + /* 0 */ "aaaaaaaaaaa" + /* 1 */ "aaaaaaaaaaa" + /* 2 */ "aaaaaaaaaaa" + /* 3 */ "aaaaaaaaaaa" + /* 4 */ "aaaaaaaaaab" + /* 5 */ "baaaaaaaaab" + /* 6 */ "aaaaaaaaaaa" + /* 7 */ "baaaaaaaaaa" + /* 8 */ "baaaaaaaaaa" + /* 9 */ "baaaaaaaaab" + /* 10 */ "aaaaaaaaaaa" + /* 11 */ "aaaaaaaaaba" + /* 12 */ "aaaaaaaaaba" // Level 1 /* z\x* 1 */ @@ -3654,11 +3654,11 @@ const cPrefab::sDef g_PlainsVillagePrefabs[] = /* 5 */ "mcccccccccm" /* 6 */ "mcccccccccm" /* 7 */ "mcccccccccm" - /* 8 */ "mmbbbbbbbmm" - /* 9 */ "mmbbbbbbbmm" - /* 10 */ "mmbbbbbbbmm" - /* 11 */ "mmbbbbbbbmm" - /* 12 */ "mmbbbbbbbmm" + /* 8 */ "mmaaaaaaamm" + /* 9 */ "mmaaaaaaamm" + /* 10 */ "mmaaaaaaamm" + /* 11 */ "mmaaaaaaamm" + /* 12 */ "mmaaaaaaamm" // Level 2 /* z\x* 1 */ @@ -3671,11 +3671,11 @@ const cPrefab::sDef g_PlainsVillagePrefabs[] = /* 5 */ ".cggggcccc." /* 6 */ ".cggggcccc." /* 7 */ ".ccccccccc." - /* 8 */ "..aaaaaaa.." - /* 9 */ "..aaaaaaa.." - /* 10 */ "..aaaaaaa.." - /* 11 */ "..aaaaaaa.." - /* 12 */ "..aaaaaaa.." + /* 8 */ "..bbbbbbb.." + /* 9 */ "mmbbbbbbbmm" + /* 10 */ "mmbbbbbbbmm" + /* 11 */ "mmbbbbbbbmm" + /* 12 */ "mmbbbbbbbmm" // Level 3 /* z\x* 1 */ @@ -3689,10 +3689,10 @@ const cPrefab::sDef g_PlainsVillagePrefabs[] = /* 6 */ ".i.......i." /* 7 */ ".hiiijiiih." /* 8 */ "..l.....l.." - /* 9 */ "..l.....l.." - /* 10 */ "..l.....l.." - /* 11 */ "..l.....l.." - /* 12 */ "..lllllll.." + /* 9 */ "mml.....lmm" + /* 10 */ "mml.....lmm" + /* 11 */ "mml.....lmm" + /* 12 */ "mmlllllllmm" // Level 4 /* z\x* 1 */ @@ -3706,10 +3706,10 @@ const cPrefab::sDef g_PlainsVillagePrefabs[] = /* 6 */ ".o.......o." /* 7 */ ".hooipiooh." /* 8 */ "..........." - /* 9 */ "..........." - /* 10 */ "..........." - /* 11 */ "..........." - /* 12 */ "..........." + /* 9 */ "mm.......mm" + /* 10 */ "mm.......mm" + /* 11 */ "mm.......mm" + /* 12 */ "mm.......mm" // Level 5 /* z\x* 1 */ @@ -3723,10 +3723,10 @@ const cPrefab::sDef g_PlainsVillagePrefabs[] = /* 6 */ ".i.......i." /* 7 */ "uiiiiiiiiiu" /* 8 */ "kkkkkkkkkkk" - /* 9 */ "..........." - /* 10 */ "..........." - /* 11 */ "..........." - /* 12 */ "..........." + /* 9 */ "mm.......mm" + /* 10 */ "mm.......mm" + /* 11 */ "mm.......mm" + /* 12 */ "mm.......mm" // Level 6 /* z\x* 1 */ @@ -3740,10 +3740,10 @@ const cPrefab::sDef g_PlainsVillagePrefabs[] = /* 6 */ "uiiiiiiiiiu" /* 7 */ "kkkkkkkkkkk" /* 8 */ "..........." - /* 9 */ "..........." - /* 10 */ "..........." - /* 11 */ "..........." - /* 12 */ "..........." + /* 9 */ "mm.......mm" + /* 10 */ "mm.......mm" + /* 11 */ "mm.......mm" + /* 12 */ "mm.......mm" // Level 7 /* z\x* 1 */ @@ -3757,10 +3757,10 @@ const cPrefab::sDef g_PlainsVillagePrefabs[] = /* 6 */ "kkkkkkkkkkk" /* 7 */ "..........." /* 8 */ "..........." - /* 9 */ "..........." - /* 10 */ "..........." - /* 11 */ "..........." - /* 12 */ "..........." + /* 9 */ "mm.......mm" + /* 10 */ "mm.......mm" + /* 11 */ "mm.......mm" + /* 12 */ "mm.......mm" // Level 8 /* z\x* 1 */ @@ -3774,10 +3774,10 @@ const cPrefab::sDef g_PlainsVillagePrefabs[] = /* 6 */ "..........." /* 7 */ "..........." /* 8 */ "..........." - /* 9 */ "..........." - /* 10 */ "..........." - /* 11 */ "..........." - /* 12 */ "...........", + /* 9 */ "mm.......mm" + /* 10 */ "mm.......mm" + /* 11 */ "mm.......mm" + /* 12 */ "mm.......mm", // Connectors: "-1: 5, 2, 0: 2\n" /* Type -1, direction Z- */, @@ -4237,30 +4237,29 @@ const cPrefab::sDef g_PlainsVillagePrefabs[] = // Block definitions: ".: 0: 0\n" /* air */ "a: 4: 0\n" /* cobblestone */ - "b: 2: 0\n" /* grass */ - "c: 67: 0\n" /* stairs */ - "d: 67: 2\n" /* stairs */ - "e: 67: 1\n" /* stairs */ - "f: 5: 0\n" /* wood */ - "g: 67: 3\n" /* stairs */ - "h: 17: 0\n" /* tree */ - "i: 64: 7\n" /* wooddoorblock */ - "j: 64: 5\n" /* wooddoorblock */ - "k:102: 0\n" /* glasspane */ - "l: 64:12\n" /* wooddoorblock */ + "b: 67: 0\n" /* stairs */ + "c: 67: 2\n" /* stairs */ + "d: 67: 1\n" /* stairs */ + "e: 5: 0\n" /* wood */ + "f: 67: 3\n" /* stairs */ + "g: 17: 0\n" /* tree */ + "h: 64: 7\n" /* wooddoorblock */ + "i: 64: 5\n" /* wooddoorblock */ + "j:102: 0\n" /* glasspane */ + "k: 64:12\n" /* wooddoorblock */ + "l: 53: 2\n" /* woodstairs */ "m: 19: 0\n" /* sponge */ - "n: 53: 2\n" /* woodstairs */ - "o: 53: 1\n" /* woodstairs */ - "p: 53: 7\n" /* woodstairs */ - "q: 53: 6\n" /* woodstairs */ - "r: 53: 3\n" /* woodstairs */ - "s: 53: 0\n" /* woodstairs */ - "t: 53: 5\n" /* woodstairs */ - "u: 53: 4\n" /* woodstairs */ - "v: 50: 3\n" /* torch */ - "w: 50: 2\n" /* torch */ - "x: 50: 4\n" /* torch */ - "y: 50: 1\n" /* torch */, + "n: 53: 1\n" /* woodstairs */ + "o: 53: 7\n" /* woodstairs */ + "p: 53: 6\n" /* woodstairs */ + "q: 53: 3\n" /* woodstairs */ + "r: 53: 0\n" /* woodstairs */ + "s: 53: 5\n" /* woodstairs */ + "t: 53: 4\n" /* woodstairs */ + "u: 50: 3\n" /* torch */ + "v: 50: 2\n" /* torch */ + "w: 50: 4\n" /* torch */ + "x: 50: 1\n" /* torch */, // Block data: // Level 0 @@ -4274,134 +4273,134 @@ const cPrefab::sDef g_PlainsVillagePrefabs[] = /* 5 */ "maaaaaaaaaaaaaam" /* 6 */ "maaaaaaaaaaaaaam" /* 7 */ "maaaaaaaaaaaaaam" - /* 8 */ "bbbbbaaaaaaaaaam" - /* 9 */ "bbbbbbbbaaaaaaam" - /* 10 */ "bbbbbbbbaaaaaaam" - /* 11 */ "bbbbbbbbaaaaaaam" - /* 12 */ "bbbbbbbbaaaaaaam" - /* 13 */ "bbbbbbbbaaaaaaam" - /* 14 */ "bbbbbbbbaaaaaaam" - /* 15 */ "bbbbbbbbmmmmmmmm" + /* 8 */ "mmmmmaaaaaaaaaam" + /* 9 */ "mmmmmmmmaaaaaaam" + /* 10 */ "mmmmmmmmaaaaaaam" + /* 11 */ "mmmmmmmmaaaaaaam" + /* 12 */ "mmmmmmmmaaaaaaam" + /* 13 */ "mmmmmmmmaaaaaaam" + /* 14 */ "mmmmmmmmaaaaaaam" + /* 15 */ "mmmmmmmmmmmmmmmm" // Level 1 /* z\x* 111111 */ /* * 0123456789012345 */ - /* 0 */ "........cde....." + /* 0 */ "........bcd....." /* 1 */ ".aaaaaaaaaaaaaa." - /* 2 */ ".affffffffffffa." - /* 3 */ ".affffffffffffa." - /* 4 */ ".affffffffffffa." - /* 5 */ ".affffffffffffa." - /* 6 */ ".affffffffffffa." - /* 7 */ ".aaaaaaaafffffa." - /* 8 */ ".....cgeafffffa." - /* 9 */ "........afffffa." - /* 10 */ "........afffffa." - /* 11 */ "........afffffa." - /* 12 */ "........afffffa." - /* 13 */ "........afffffa." - /* 14 */ "........aaaaaaa." - /* 15 */ "................" + /* 2 */ ".aeeeeeeeeeeeea." + /* 3 */ ".aeeeeeeeeeeeea." + /* 4 */ ".aeeeeeeeeeeeea." + /* 5 */ ".aeeeeeeeeeeeea." + /* 6 */ ".aeeeeeeeeeeeea." + /* 7 */ ".aaaaaaaaeeeeea." + /* 8 */ ".....bfdaeeeeea." + /* 9 */ "mmmm....aeeeeea." + /* 10 */ "mmmmmmm.aeeeeea." + /* 11 */ "mmmmmmm.aeeeeea." + /* 12 */ "mmmmmmm.aeeeeea." + /* 13 */ "mmmmmmm.aeeeeea." + /* 14 */ "mmmmmmm.aaaaaaa." + /* 15 */ "mmmmmmm........." // Level 2 /* z\x* 111111 */ /* * 0123456789012345 */ /* 0 */ "................" - /* 1 */ ".hffffffhihfffh." - /* 2 */ ".f............f." - /* 3 */ ".f............f." - /* 4 */ ".f............f." - /* 5 */ ".f............f." - /* 6 */ ".f............f." - /* 7 */ ".hffffjfh.....f." - /* 8 */ "........f.....f." - /* 9 */ "........f.....f." - /* 10 */ "........f.....f." - /* 11 */ "........f.....f." - /* 12 */ "........f.....f." - /* 13 */ "........f.....f." - /* 14 */ "........hfffffh." - /* 15 */ "................" + /* 1 */ ".geeeeeeghgeeeg." + /* 2 */ ".e............e." + /* 3 */ ".e............e." + /* 4 */ ".e............e." + /* 5 */ ".e............e." + /* 6 */ ".e............e." + /* 7 */ ".geeeeieg.....e." + /* 8 */ "........e.....e." + /* 9 */ "mmmm....e.....e." + /* 10 */ "mmmmmmm.e.....e." + /* 11 */ "mmmmmmm.e.....e." + /* 12 */ "mmmmmmm.e.....e." + /* 13 */ "mmmmmmm.e.....e." + /* 14 */ "mmmmmmm.geeeeeg." + /* 15 */ "mmmmmmm........." // Level 3 /* z\x* 111111 */ /* * 0123456789012345 */ /* 0 */ "................" - /* 1 */ ".hfkkfkkhlhkkfh." - /* 2 */ ".k............f." - /* 3 */ ".k............k." - /* 4 */ ".k............k." - /* 5 */ ".k............f." - /* 6 */ ".k............k." - /* 7 */ ".hfkkflfh.....k." - /* 8 */ "........f.....f." - /* 9 */ "........k.....k." - /* 10 */ "........k.....k." - /* 11 */ "........f.....f." - /* 12 */ "........k.....k." - /* 13 */ "........k.....k." - /* 14 */ "........hkkkkkh." - /* 15 */ "................" + /* 1 */ ".gejjejjgkgjjeg." + /* 2 */ ".j............e." + /* 3 */ ".j............j." + /* 4 */ ".j............j." + /* 5 */ ".j............e." + /* 6 */ ".j............j." + /* 7 */ ".gejjekeg.....j." + /* 8 */ "........e.....e." + /* 9 */ "mmmm....j.....j." + /* 10 */ "mmmmmmm.j.....j." + /* 11 */ "mmmmmmm.e.....e." + /* 12 */ "mmmmmmm.j.....j." + /* 13 */ "mmmmmmm.j.....j." + /* 14 */ "mmmmmmm.gjjjjjg." + /* 15 */ "mmmmmmm........." // Level 4 /* z\x* 111111 */ /* * 0123456789012345 */ - /* 0 */ "nnnnnnnnnnnnnnno" - /* 1 */ "phffffffhfhfffho" - /* 2 */ ".f............fo" - /* 3 */ ".f............fo" - /* 4 */ ".f............fo" - /* 5 */ ".f............fo" - /* 6 */ ".f............fo" - /* 7 */ "qhffffffh.....fo" - /* 8 */ "rrrrrrrsf.....fo" - /* 9 */ ".......sf.....fo" - /* 10 */ ".......sf.....fo" - /* 11 */ ".......sf.....fo" - /* 12 */ ".......sf.....fo" - /* 13 */ ".......sf.....fo" - /* 14 */ ".......shfffffho" - /* 15 */ ".......st.....uo" + /* 0 */ "llllllllllllllln" + /* 1 */ "ogeeeeeegegeeegn" + /* 2 */ ".e............en" + /* 3 */ ".e............en" + /* 4 */ ".e............en" + /* 5 */ ".e............en" + /* 6 */ ".e............en" + /* 7 */ "pgeeeeeeg.....en" + /* 8 */ "qqqqqqqre.....en" + /* 9 */ "mmmm...re.....en" + /* 10 */ "mmmmmmmre.....en" + /* 11 */ "mmmmmmmre.....en" + /* 12 */ "mmmmmmmre.....en" + /* 13 */ "mmmmmmmre.....en" + /* 14 */ "mmmmmmmrgeeeeegn" + /* 15 */ "mmmmmmmrs.....tn" // Level 5 /* z\x* 111111 */ /* * 0123456789012345 */ /* 0 */ "................" - /* 1 */ "nnnnnnnnnnnnnnn." - /* 2 */ "pfffffffffffffo." - /* 3 */ ".f.........v.fo." - /* 4 */ ".f..........wfo." - /* 5 */ ".f......x....fo." - /* 6 */ "qfffffffff...fo." - /* 7 */ "rrrrrrrrsfy..fo." - /* 8 */ "........sf...fo." - /* 9 */ "........sf...fo." - /* 10 */ "........sf...fo." - /* 11 */ "........sf...fo." - /* 12 */ "........sf...fo." - /* 13 */ "........sf...fo." - /* 14 */ "........sfffffo." - /* 15 */ "........st...uo." + /* 1 */ "lllllllllllllll." + /* 2 */ "oeeeeeeeeeeeeen." + /* 3 */ ".e.........u.en." + /* 4 */ ".e..........ven." + /* 5 */ ".e......w....en." + /* 6 */ "peeeeeeeee...en." + /* 7 */ "qqqqqqqqrex..en." + /* 8 */ "........re...en." + /* 9 */ "mmmm....re...en." + /* 10 */ "mmmmmmm.re...en." + /* 11 */ "mmmmmmm.re...en." + /* 12 */ "mmmmmmm.re...en." + /* 13 */ "mmmmmmm.re...en." + /* 14 */ "mmmmmmm.reeeeen." + /* 15 */ "mmmmmmm.rs...tn." // Level 6 /* z\x* 111111 */ /* * 0123456789012345 */ /* 0 */ "................" /* 1 */ "................" - /* 2 */ "nnnnnnnnnnnnno.." - /* 3 */ "pffffffffffffo.." - /* 4 */ ".fy.........fo.." - /* 5 */ "qffffffffff.fo.." - /* 6 */ "rrrrrrrrrsf.fo.." - /* 7 */ ".........sf.fo.." - /* 8 */ ".........sf.fo.." - /* 9 */ ".........sf.fo.." - /* 10 */ ".........sf.fo.." - /* 11 */ ".........sf.fo.." - /* 12 */ ".........sf.fo.." - /* 13 */ ".........sfxfo.." - /* 14 */ ".........sfffo.." - /* 15 */ ".........st.uo.." + /* 2 */ "llllllllllllln.." + /* 3 */ "oeeeeeeeeeeeen.." + /* 4 */ ".ex.........en.." + /* 5 */ "peeeeeeeeee.en.." + /* 6 */ "qqqqqqqqqre.en.." + /* 7 */ ".........re.en.." + /* 8 */ ".........re.en.." + /* 9 */ "mmmm.....re.en.." + /* 10 */ "mmmmmmm..re.en.." + /* 11 */ "mmmmmmm..re.en.." + /* 12 */ "mmmmmmm..re.en.." + /* 13 */ "mmmmmmm..rewen.." + /* 14 */ "mmmmmmm..reeen.." + /* 15 */ "mmmmmmm..rs.tn.." // Level 7 /* z\x* 111111 */ @@ -4409,19 +4408,19 @@ const cPrefab::sDef g_PlainsVillagePrefabs[] = /* 0 */ "................" /* 1 */ "................" /* 2 */ "................" - /* 3 */ "nnnnnnnnnnnnn..." - /* 4 */ "ffffffffffffo..." - /* 5 */ "rrrrrrrrrrsfo..." - /* 6 */ "..........sfo..." - /* 7 */ "..........sfo..." - /* 8 */ "..........sfo..." - /* 9 */ "..........sfo..." - /* 10 */ "..........sfo..." - /* 11 */ "..........sfo..." - /* 12 */ "..........sfo..." - /* 13 */ "..........sfo..." - /* 14 */ "..........sfo..." - /* 15 */ "..........sfo...", + /* 3 */ "lllllllllllll..." + /* 4 */ "eeeeeeeeeeeen..." + /* 5 */ "qqqqqqqqqqren..." + /* 6 */ "..........ren..." + /* 7 */ "..........ren..." + /* 8 */ "..........ren..." + /* 9 */ "mmmm......ren..." + /* 10 */ "mmmmmmm...ren..." + /* 11 */ "mmmmmmm...ren..." + /* 12 */ "mmmmmmm...ren..." + /* 13 */ "mmmmmmm...ren..." + /* 14 */ "mmmmmmm...ren..." + /* 15 */ "mmmmmmm...ren...", // Connectors: "-1: 9, 1, 0: 2\n" /* Type -1, direction Z- */, |