summaryrefslogtreecommitdiffstats
path: root/src/Generating
diff options
context:
space:
mode:
Diffstat (limited to 'src/Generating')
-rw-r--r--src/Generating/BioGen.cpp116
-rw-r--r--src/Generating/BioGen.h14
-rw-r--r--src/Generating/CMakeLists.txt28
-rw-r--r--src/Generating/ChunkDesc.cpp12
-rw-r--r--src/Generating/ChunkDesc.h8
-rw-r--r--src/Generating/CompoGenBiomal.cpp22
-rw-r--r--src/Generating/ComposableGenerator.cpp10
-rw-r--r--src/Generating/CompositedHeiGen.h7
-rw-r--r--src/Generating/DungeonRoomsFinisher.cpp4
-rw-r--r--src/Generating/FinishGen.cpp37
-rw-r--r--src/Generating/GridStructGen.cpp4
-rw-r--r--src/Generating/HeiGen.cpp51
-rw-r--r--src/Generating/HeiGen.h14
-rw-r--r--src/Generating/IntGen.h4
-rw-r--r--src/Generating/MineShafts.cpp28
-rw-r--r--src/Generating/NetherFortGen.cpp4
-rw-r--r--src/Generating/Noise3DGenerator.cpp7
-rw-r--r--src/Generating/POCPieceGenerator.cpp4
-rw-r--r--src/Generating/PieceGenerator.cpp28
-rw-r--r--src/Generating/Prefab.cpp59
-rw-r--r--src/Generating/Prefab.h25
-rw-r--r--src/Generating/PrefabPiecePool.cpp494
-rw-r--r--src/Generating/PrefabPiecePool.h140
-rw-r--r--src/Generating/Prefabs/AlchemistVillagePrefabs.cpp3590
-rw-r--r--src/Generating/Prefabs/AlchemistVillagePrefabs.h15
-rw-r--r--src/Generating/Prefabs/CMakeLists.txt16
-rw-r--r--src/Generating/Prefabs/JapaneseVillagePrefabs.cpp3386
-rw-r--r--src/Generating/Prefabs/JapaneseVillagePrefabs.h15
-rw-r--r--src/Generating/Prefabs/PlainsVillagePrefabs.cpp6118
-rw-r--r--src/Generating/Prefabs/PlainsVillagePrefabs.h15
-rw-r--r--src/Generating/Prefabs/SandFlatRoofVillagePrefabs.cpp1669
-rw-r--r--src/Generating/Prefabs/SandFlatRoofVillagePrefabs.h15
-rw-r--r--src/Generating/Prefabs/SandVillagePrefabs.cpp2307
-rw-r--r--src/Generating/Prefabs/SandVillagePrefabs.h15
-rw-r--r--src/Generating/Prefabs/UnderwaterBasePrefabs.cpp185
-rw-r--r--src/Generating/ProtIntGen.h288
-rw-r--r--src/Generating/RainbowRoadsGen.cpp2
-rw-r--r--src/Generating/Ravines.cpp16
-rw-r--r--src/Generating/RoughRavines.cpp16
-rw-r--r--src/Generating/StructGen.cpp28
-rw-r--r--src/Generating/TestRailsGen.cpp2
-rw-r--r--src/Generating/Trees.cpp138
-rw-r--r--src/Generating/Trees.h6
-rw-r--r--src/Generating/TwoHeights.cpp2
-rw-r--r--src/Generating/UnderwaterBaseGen.cpp2
-rw-r--r--src/Generating/VillageGen.cpp174
-rw-r--r--src/Generating/VillageGen.h24
47 files changed, 1418 insertions, 17746 deletions
diff --git a/src/Generating/BioGen.cpp b/src/Generating/BioGen.cpp
index 867155ad2..ff8827511 100644
--- a/src/Generating/BioGen.cpp
+++ b/src/Generating/BioGen.cpp
@@ -49,16 +49,16 @@ void cBioGenConstant::InitializeBiomeGen(cIniFile & a_IniFile)
////////////////////////////////////////////////////////////////////////////////
// cBioGenCache:
-cBioGenCache::cBioGenCache(cBiomeGenPtr a_BioGenToCache, int a_CacheSize) :
+cBioGenCache::cBioGenCache(cBiomeGenPtr a_BioGenToCache, size_t a_CacheSize) :
m_BioGenToCache(a_BioGenToCache),
m_CacheSize(a_CacheSize),
- m_CacheOrder(new int[a_CacheSize]),
+ m_CacheOrder(new size_t[a_CacheSize]),
m_CacheData(new sCacheData[a_CacheSize]),
m_NumHits(0),
m_NumMisses(0),
m_TotalChain(0)
{
- for (int i = 0; i < m_CacheSize; i++)
+ for (size_t i = 0; i < m_CacheSize; i++)
{
m_CacheOrder[i] = i;
m_CacheData[i].m_ChunkX = 0x7fffffff;
@@ -86,11 +86,11 @@ void cBioGenCache::GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a
{
if (((m_NumHits + m_NumMisses) % 1024) == 10)
{
- LOGD("BioGenCache: %d hits, %d misses, saved %.2f %%", m_NumHits, m_NumMisses, 100.0 * m_NumHits / (m_NumHits + m_NumMisses));
- LOGD("BioGenCache: Avg cache chain length: %.2f", (float)m_TotalChain / m_NumHits);
+ LOGD("BioGenCache: %u hits, %u misses, saved %.2f %%", static_cast<unsigned>(m_NumHits), static_cast<unsigned>(m_NumMisses), 100.0 * m_NumHits / (m_NumHits + m_NumMisses));
+ LOGD("BioGenCache: Avg cache chain length: %.2f", static_cast<double>(m_TotalChain) / m_NumHits);
}
- for (int i = 0; i < m_CacheSize; i++)
+ for (size_t i = 0; i < m_CacheSize; i++)
{
if (
(m_CacheData[m_CacheOrder[i]].m_ChunkX != a_ChunkX) ||
@@ -100,10 +100,10 @@ void cBioGenCache::GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a
continue;
}
// Found it in the cache
- int Idx = m_CacheOrder[i];
+ size_t Idx = m_CacheOrder[i];
// Move to front:
- for (int j = i; j > 0; j--)
+ for (size_t j = i; j > 0; j--)
{
m_CacheOrder[j] = m_CacheOrder[j - 1];
}
@@ -122,8 +122,8 @@ void cBioGenCache::GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a
m_BioGenToCache->GenBiomes(a_ChunkX, a_ChunkZ, a_BiomeMap);
// Insert it as the first item in the MRU order:
- int Idx = m_CacheOrder[m_CacheSize - 1];
- for (int i = m_CacheSize - 1; i > 0; i--)
+ size_t Idx = m_CacheOrder[m_CacheSize - 1];
+ for (size_t i = m_CacheSize - 1; i > 0; i--)
{
m_CacheOrder[i] = m_CacheOrder[i - 1];
} // for i - m_CacheOrder[]
@@ -166,7 +166,7 @@ cBioGenMulticache::cBioGenMulticache(cBiomeGenPtr a_BioGenToCache, size_t a_SubC
void cBioGenMulticache::GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a_BiomeMap)
{
const size_t coefficient = 3;
- const size_t cacheIdx = ((size_t)a_ChunkX + coefficient * (size_t)a_ChunkZ) % m_NumSubCaches;
+ const size_t cacheIdx = (static_cast<size_t>(a_ChunkX) + coefficient * static_cast<size_t>(a_ChunkZ)) % m_NumSubCaches;
m_Caches[cacheIdx]->GenBiomes(a_ChunkX, a_ChunkZ, a_BiomeMap);
}
@@ -226,7 +226,7 @@ void cBiomeGenList::InitializeBiomes(const AString & a_Biomes)
} // for itr - Split[]
if (!m_Biomes.empty())
{
- m_BiomesCount = (int)m_Biomes.size();
+ m_BiomesCount = static_cast<int>(m_Biomes.size());
return;
}
@@ -260,7 +260,7 @@ void cBiomeGenList::InitializeBiomes(const AString & a_Biomes)
{
m_Biomes.push_back(Biomes[i]);
}
- m_BiomesCount = (int)m_Biomes.size();
+ m_BiomesCount = static_cast<int>(m_Biomes.size());
}
@@ -278,7 +278,7 @@ void cBioGenCheckerboard::GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::Biome
for (int x = 0; x < cChunkDef::Width; x++)
{
int Add = cChunkDef::Width * a_ChunkX + x;
- int BiomeIdx = (((Base + Add / m_BiomeSize) % m_BiomesCount) + m_BiomesCount) % m_BiomesCount; // Need to add and modulo twice because of negative numbers
+ size_t BiomeIdx = static_cast<size_t>((((Base + Add / m_BiomeSize) % m_BiomesCount) + m_BiomesCount) % m_BiomesCount); // Need to add and modulo twice because of negative numbers
a_BiomeMap[x + cChunkDef::Width * z] = m_Biomes[BiomeIdx];
}
}
@@ -314,7 +314,7 @@ void cBioGenVoronoi::GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap &
for (int x = 0; x < cChunkDef::Width; x++)
{
int VoronoiCellValue = m_Voronoi.GetValueAt(BaseX + x, AbsoluteZ) / 8;
- cChunkDef::SetBiome(a_BiomeMap, x, z, m_Biomes[VoronoiCellValue % m_BiomesCount]);
+ cChunkDef::SetBiome(a_BiomeMap, x, z, m_Biomes[static_cast<size_t>(VoronoiCellValue % m_BiomesCount)]);
} // for x
} // for z
}
@@ -363,7 +363,7 @@ void cBioGenDistortedVoronoi::GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::B
for (int x = 0; x < cChunkDef::Width; x++)
{
int VoronoiCellValue = m_Voronoi.GetValueAt(DistortX[x][z], DistortZ[x][z]) / 8;
- cChunkDef::SetBiome(a_BiomeMap, x, z, m_Biomes[VoronoiCellValue % m_BiomesCount]);
+ cChunkDef::SetBiome(a_BiomeMap, x, z, m_Biomes[static_cast<size_t>(VoronoiCellValue % m_BiomesCount)]);
} // for x
} // for z
}
@@ -385,15 +385,15 @@ void cBioGenDistortedVoronoi::InitializeBiomeGen(cIniFile & a_IniFile)
void cBioGenDistortedVoronoi::Distort(int a_BlockX, int a_BlockZ, int & a_DistortedX, int & a_DistortedZ)
{
- double NoiseX = m_Noise.CubicNoise3D((float)a_BlockX / m_CellSize, (float)a_BlockZ / m_CellSize, 1000);
- NoiseX += 0.5 * m_Noise.CubicNoise3D(2 * (float)a_BlockX / m_CellSize, 2 * (float)a_BlockZ / m_CellSize, 2000);
- NoiseX += 0.08 * m_Noise.CubicNoise3D(16 * (float)a_BlockX / m_CellSize, 16 * (float)a_BlockZ / m_CellSize, 3000);
- double NoiseZ = m_Noise.CubicNoise3D((float)a_BlockX / m_CellSize, (float)a_BlockZ / m_CellSize, 4000);
- NoiseZ += 0.5 * m_Noise.CubicNoise3D(2 * (float)a_BlockX / m_CellSize, 2 * (float)a_BlockZ / m_CellSize, 5000);
- NoiseZ += 0.08 * m_Noise.CubicNoise3D(16 * (float)a_BlockX / m_CellSize, 16 * (float)a_BlockZ / m_CellSize, 6000);
+ double NoiseX = m_Noise.CubicNoise3D(static_cast<float>(a_BlockX / m_CellSize), static_cast<float>(a_BlockZ / m_CellSize), 1000);
+ NoiseX += 0.5 * m_Noise.CubicNoise3D(2 * static_cast<float>(a_BlockX / m_CellSize), 2 * static_cast<float>(a_BlockZ / m_CellSize), 2000);
+ NoiseX += 0.08 * m_Noise.CubicNoise3D(16 * static_cast<float>(a_BlockX / m_CellSize), 16 * static_cast<float>(a_BlockZ / m_CellSize), 3000);
+ double NoiseZ = m_Noise.CubicNoise3D(static_cast<float>(a_BlockX / m_CellSize), static_cast<float>(a_BlockZ / m_CellSize), 4000);
+ NoiseZ += 0.5 * m_Noise.CubicNoise3D(2 * static_cast<float>(a_BlockX / m_CellSize), 2 * static_cast<float>(a_BlockZ / m_CellSize), 5000);
+ NoiseZ += 0.08 * m_Noise.CubicNoise3D(16 * static_cast<float>(a_BlockX / m_CellSize), 16 * static_cast<float>(a_BlockZ / m_CellSize), 6000);
- a_DistortedX = a_BlockX + (int)(m_CellSize * 0.5 * NoiseX);
- a_DistortedZ = a_BlockZ + (int)(m_CellSize * 0.5 * NoiseZ);
+ a_DistortedX = a_BlockX + static_cast<int>(m_CellSize * 0.5 * NoiseX);
+ a_DistortedZ = a_BlockZ + static_cast<int>(m_CellSize * 0.5 * NoiseZ);
}
@@ -429,7 +429,7 @@ void cBioGenMultiStepMap::InitializeBiomeGen(cIniFile & a_IniFile)
m_MushroomIslandSize = a_IniFile.GetValueSetI("Generator", "MultiStepMapMushroomIslandSize", m_MushroomIslandSize);
m_RiverCellSize = a_IniFile.GetValueSetI("Generator", "MultiStepMapRiverCellSize", m_RiverCellSize);
m_RiverWidthThreshold = a_IniFile.GetValueSetF("Generator", "MultiStepMapRiverWidth", m_RiverWidthThreshold);
- m_LandBiomesSize = (float)a_IniFile.GetValueSetI("Generator", "MultiStepMapLandBiomeSize", (int)m_LandBiomesSize);
+ m_LandBiomesSize = static_cast<float>(a_IniFile.GetValueSetI("Generator", "MultiStepMapLandBiomeSize", static_cast<int>(m_LandBiomesSize)));
}
@@ -554,7 +554,7 @@ void cBioGenMultiStepMap::AddRivers(int a_ChunkX, int a_ChunkZ, cChunkDef::Biome
{
for (int z = 0; z < cChunkDef::Width; z++)
{
- float NoiseCoordZ = (float)(a_ChunkZ * cChunkDef::Width + z) / m_RiverCellSize;
+ float NoiseCoordZ = static_cast<float>(a_ChunkZ * cChunkDef::Width + z) / m_RiverCellSize;
for (int x = 0; x < cChunkDef::Width; x++)
{
if (cChunkDef::GetBiome(a_BiomeMap, x, z) != biInvalidBiome)
@@ -563,7 +563,7 @@ void cBioGenMultiStepMap::AddRivers(int a_ChunkX, int a_ChunkZ, cChunkDef::Biome
continue;
}
- float NoiseCoordX = (float)(a_ChunkX * cChunkDef::Width + x) / m_RiverCellSize;
+ float NoiseCoordX = static_cast<float>(a_ChunkX * cChunkDef::Width + x) / m_RiverCellSize;
double Noise = m_Noise1.CubicNoise2D( NoiseCoordX, NoiseCoordZ);
Noise += 0.5 * m_Noise3.CubicNoise2D(2 * NoiseCoordX, 2 * NoiseCoordZ);
@@ -597,15 +597,15 @@ void cBioGenMultiStepMap::ApplyTemperatureHumidity(int a_ChunkX, int a_ChunkZ, c
void cBioGenMultiStepMap::Distort(int a_BlockX, int a_BlockZ, int & a_DistortedX, int & a_DistortedZ, int a_CellSize)
{
- double NoiseX = m_Noise3.CubicNoise2D( (float)a_BlockX / a_CellSize, (float)a_BlockZ / a_CellSize);
- NoiseX += 0.5 * m_Noise2.CubicNoise2D(2 * (float)a_BlockX / a_CellSize, 2 * (float)a_BlockZ / a_CellSize);
- NoiseX += 0.1 * m_Noise1.CubicNoise2D(16 * (float)a_BlockX / a_CellSize, 16 * (float)a_BlockZ / a_CellSize);
- double NoiseZ = m_Noise6.CubicNoise2D( (float)a_BlockX / a_CellSize, (float)a_BlockZ / a_CellSize);
- NoiseZ += 0.5 * m_Noise5.CubicNoise2D(2 * (float)a_BlockX / a_CellSize, 2 * (float)a_BlockZ / a_CellSize);
- NoiseZ += 0.1 * m_Noise4.CubicNoise2D(16 * (float)a_BlockX / a_CellSize, 16 * (float)a_BlockZ / a_CellSize);
+ double NoiseX = m_Noise3.CubicNoise2D( static_cast<float>(a_BlockX / a_CellSize), static_cast<float>(a_BlockZ / a_CellSize));
+ NoiseX += 0.5 * m_Noise2.CubicNoise2D(2 * static_cast<float>(a_BlockX / a_CellSize), 2 * static_cast<float>(a_BlockZ / a_CellSize));
+ NoiseX += 0.1 * m_Noise1.CubicNoise2D(16 * static_cast<float>(a_BlockX / a_CellSize), 16 * static_cast<float>(a_BlockZ / a_CellSize));
+ double NoiseZ = m_Noise6.CubicNoise2D( static_cast<float>(a_BlockX / a_CellSize), static_cast<float>(a_BlockZ / a_CellSize));
+ NoiseZ += 0.5 * m_Noise5.CubicNoise2D(2 * static_cast<float>(a_BlockX / a_CellSize), 2 * static_cast<float>(a_BlockZ / a_CellSize));
+ NoiseZ += 0.1 * m_Noise4.CubicNoise2D(16 * static_cast<float>(a_BlockX / a_CellSize), 16 * static_cast<float>(a_BlockZ / a_CellSize));
- a_DistortedX = a_BlockX + (int)(a_CellSize * 0.5 * NoiseX);
- a_DistortedZ = a_BlockZ + (int)(a_CellSize * 0.5 * NoiseZ);
+ a_DistortedX = a_BlockX + static_cast<int>(a_CellSize * 0.5 * NoiseX);
+ a_DistortedZ = a_BlockZ + static_cast<int>(a_CellSize * 0.5 * NoiseZ);
}
@@ -619,10 +619,10 @@ void cBioGenMultiStepMap::BuildTemperatureHumidityMaps(int a_ChunkX, int a_Chunk
DblMap HumidityMap;
for (int z = 0; z < 17; z += 8)
{
- float NoiseCoordZ = (float)(a_ChunkZ * cChunkDef::Width + z) / m_LandBiomesSize;
+ float NoiseCoordZ = static_cast<float>(a_ChunkZ * cChunkDef::Width + z) / m_LandBiomesSize;
for (int x = 0; x < 17; x += 8)
{
- float NoiseCoordX = (float)(a_ChunkX * cChunkDef::Width + x) / m_LandBiomesSize;
+ float NoiseCoordX = static_cast<float>(a_ChunkX * cChunkDef::Width + x) / m_LandBiomesSize;
double NoiseT = m_Noise1.CubicNoise2D( NoiseCoordX, NoiseCoordZ);
NoiseT += 0.5 * m_Noise2.CubicNoise2D(2 * NoiseCoordX, 2 * NoiseCoordZ);
@@ -641,8 +641,8 @@ void cBioGenMultiStepMap::BuildTemperatureHumidityMaps(int a_ChunkX, int a_Chunk
// Re-map into integral values in [0 .. 255] range:
for (size_t idx = 0; idx < ARRAYCOUNT(a_TemperatureMap); idx++)
{
- a_TemperatureMap[idx] = std::max(0, std::min(255, (int)(128 + TemperatureMap[idx] * 128)));
- a_HumidityMap[idx] = std::max(0, std::min(255, (int)(128 + HumidityMap[idx] * 128)));
+ a_TemperatureMap[idx] = Clamp(static_cast<int>(128 + TemperatureMap[idx] * 128), 0, 255);
+ a_HumidityMap[idx] = Clamp(static_cast<int>(128 + HumidityMap[idx] * 128), 0, 255);
}
}
@@ -771,8 +771,8 @@ void cBioGenTwoLevel::GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap
NoiseZ += m_AmpZ2 * m_Noise5.CubicNoise2D(BlockX * m_FreqZ2, BlockZ * m_FreqZ2);
NoiseZ += m_AmpZ3 * m_Noise6.CubicNoise2D(BlockX * m_FreqZ3, BlockZ * m_FreqZ3);
- DistortX[4 * x][4 * z] = (int)(BlockX + NoiseX);
- DistortZ[4 * x][4 * z] = (int)(BlockZ + NoiseZ);
+ DistortX[4 * x][4 * z] = static_cast<int>(BlockX + NoiseX);
+ DistortZ[4 * x][4 * z] = static_cast<int>(BlockZ + NoiseZ);
}
LinearUpscale2DArrayInPlace<cChunkDef::Width + 1, cChunkDef::Width + 1, 4, 4>(&DistortX[0][0]);
@@ -785,7 +785,7 @@ void cBioGenTwoLevel::GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap
{
int SeedX, SeedZ, MinDist2;
int BiomeGroup = m_VoronoiLarge.GetValueAt(DistortX[x][z], DistortZ[x][z], SeedX, SeedZ, MinDist2) / 7;
- int BiomeIdx = m_VoronoiSmall.GetValueAt(DistortX[x][z], DistortZ[x][z], SeedX, SeedZ, MinDist2) / 11;
+ size_t BiomeIdx = static_cast<size_t>(m_VoronoiSmall.GetValueAt(DistortX[x][z], DistortZ[x][z], SeedX, SeedZ, MinDist2) / 11);
int MinDist1 = (DistortX[x][z] - SeedX) * (DistortX[x][z] - SeedX) + (DistortZ[x][z] - SeedZ) * (DistortZ[x][z] - SeedZ);
cChunkDef::SetBiome(a_BiomeMap, x, z, SelectBiome(BiomeGroup, BiomeIdx, (MinDist1 < MinDist2 / 4) ? 1 : 0));
}
@@ -796,7 +796,7 @@ void cBioGenTwoLevel::GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap
-EMCSBiome cBioGenTwoLevel::SelectBiome(int a_BiomeGroup, int a_BiomeIdx, int a_DistLevel)
+EMCSBiome cBioGenTwoLevel::SelectBiome(int a_BiomeGroup, size_t a_BiomeIdx, int a_DistLevel)
{
// TODO: Move this into settings
struct BiomeLevels
@@ -900,7 +900,7 @@ EMCSBiome cBioGenTwoLevel::SelectBiome(int a_BiomeGroup, int a_BiomeIdx, int a_D
{ bgMesa, ARRAYCOUNT(bgMesa), },
{ bgDenseTrees, ARRAYCOUNT(bgDenseTrees), },
} ;
- size_t Group = a_BiomeGroup % ARRAYCOUNT(BiomeGroups);
+ size_t Group = static_cast<size_t>(a_BiomeGroup) % ARRAYCOUNT(BiomeGroups);
size_t Index = a_BiomeIdx % BiomeGroups[Group].Count;
return (a_DistLevel > 0) ? BiomeGroups[Group].Biomes[Index].InnerBiome : BiomeGroups[Group].Biomes[Index].OuterBiome;
}
@@ -913,18 +913,18 @@ void cBioGenTwoLevel::InitializeBiomeGen(cIniFile & a_IniFile)
{
m_VoronoiLarge.SetCellSize(a_IniFile.GetValueSetI("Generator", "TwoLevelLargeCellSize", 1024));
m_VoronoiSmall.SetCellSize(a_IniFile.GetValueSetI("Generator", "TwoLevelSmallCellSize", 128));
- m_FreqX1 = (float)a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave1Freq", 0.01);
- m_AmpX1 = (float)a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave1Amp", 80);
- m_FreqX2 = (float)a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave2Freq", 0.05);
- m_AmpX2 = (float)a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave2Amp", 20);
- m_FreqX3 = (float)a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave3Freq", 0.1),
- m_AmpX3 = (float)a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave3Amp", 8);
- m_FreqZ1 = (float)a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave1Freq", 0.01);
- m_AmpZ1 = (float)a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave1Amp", 80);
- m_FreqZ2 = (float)a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave2Freq", 0.05);
- m_AmpZ2 = (float)a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave2Amp", 20);
- m_FreqZ3 = (float)a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave3Freq", 0.1);
- m_AmpZ3 = (float)a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave3Amp", 8);
+ m_FreqX1 = static_cast<float>(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave1Freq", 0.01));
+ m_AmpX1 = static_cast<float>(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave1Amp", 80));
+ m_FreqX2 = static_cast<float>(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave2Freq", 0.05));
+ m_AmpX2 = static_cast<float>(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave2Amp", 20));
+ m_FreqX3 = static_cast<float>(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave3Freq", 0.1)),
+ m_AmpX3 = static_cast<float>(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortXOctave3Amp", 8));
+ m_FreqZ1 = static_cast<float>(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave1Freq", 0.01));
+ m_AmpZ1 = static_cast<float>(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave1Amp", 80));
+ m_FreqZ2 = static_cast<float>(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave2Freq", 0.05));
+ m_AmpZ2 = static_cast<float>(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave2Amp", 20));
+ m_FreqZ3 = static_cast<float>(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave3Freq", 0.1));
+ m_AmpZ3 = static_cast<float>(a_IniFile.GetValueSetF("Generator", "TwoLevelDistortZOctave3Amp", 8));
}
@@ -1022,7 +1022,7 @@ public:
{
for (int x = 0; x < cChunkDef::Width; x++)
{
- cChunkDef::SetBiome(a_Biomes, x, z, (EMCSBiome)vals[x + cChunkDef::Width * z]);
+ cChunkDef::SetBiome(a_Biomes, x, z, static_cast<EMCSBiome>(vals[x + cChunkDef::Width * z]));
}
}
}
@@ -1126,7 +1126,7 @@ public:
{
for (int x = 0; x < cChunkDef::Width; x++)
{
- cChunkDef::SetBiome(a_Biomes, x, z, (EMCSBiome)vals[x + cChunkDef::Width * z]);
+ cChunkDef::SetBiome(a_Biomes, x, z, static_cast<EMCSBiome>(vals[x + cChunkDef::Width * z]));
}
}
}
diff --git a/src/Generating/BioGen.h b/src/Generating/BioGen.h
index 13fb40c5f..44f1dfd2a 100644
--- a/src/Generating/BioGen.h
+++ b/src/Generating/BioGen.h
@@ -48,7 +48,7 @@ class cBioGenCache :
typedef cBiomeGen super;
public:
- cBioGenCache(cBiomeGenPtr a_BioGenToCache, int a_CacheSize);
+ cBioGenCache(cBiomeGenPtr a_BioGenToCache, size_t a_CacheSize);
virtual ~cBioGenCache();
protected:
@@ -63,14 +63,14 @@ protected:
} ;
// To avoid moving large amounts of data for the MRU behavior, we MRU-ize indices to an array of the actual data
- int m_CacheSize;
- int * m_CacheOrder; // MRU-ized order, indices into m_CacheData array
+ size_t m_CacheSize;
+ size_t * m_CacheOrder; // MRU-ized order, indices into m_CacheData array
sCacheData * m_CacheData; // m_CacheData[m_CacheOrder[0]] is the most recently used
// Cache statistics
- int m_NumHits;
- int m_NumMisses;
- int m_TotalChain; // Number of cache items walked to get to a hit (only added for hits)
+ size_t m_NumHits;
+ size_t m_NumMisses;
+ size_t m_TotalChain; // Number of cache items walked to get to a hit (only added for hits)
virtual void GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a_BiomeMap) override;
virtual void InitializeBiomeGen(cIniFile & a_IniFile) override;
@@ -311,7 +311,7 @@ protected:
/// Selects biome from the specified biome group, based on the specified index.
/// Note that both params may overflow
/// a_DistLevel is either 0 or 1; zero when it is at the edge of the small Voronoi cell, 1 near the center
- EMCSBiome SelectBiome(int a_BiomeGroup, int a_BiomeIdx, int a_DistLevel);
+ EMCSBiome SelectBiome(int a_BiomeGroup, size_t a_BiomeIdx, int a_DistLevel);
} ;
diff --git a/src/Generating/CMakeLists.txt b/src/Generating/CMakeLists.txt
index a28510d40..de74f8734 100644
--- a/src/Generating/CMakeLists.txt
+++ b/src/Generating/CMakeLists.txt
@@ -72,8 +72,34 @@ SET (HDRS
VillageGen.h
)
+if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ set_source_files_properties(BioGen.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=switch-enum")
+ set_source_files_properties(Caves.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=old-style-cast")
+ set_source_files_properties(ChunkGenerator.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=old-style-cast")
+ set_source_files_properties(CompoGen.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=old-style-cast")
+ set_source_files_properties(CompoGenBiomal.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=global-constructors -Wno-error=old-style-cast")
+ set_source_files_properties(ComposableGenerator.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=switch-enum -Wno-error=old-style-cast")
+ set_source_files_properties(DistortedHeightmap.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=old-style-cast")
+ set_source_files_properties(EndGen.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=old-style-cast")
+ set_source_files_properties(FinishGen.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=switch-enum -Wno-error=switch")
+ set_source_files_properties(HeiGen.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=old-style-cast")
+ set_source_files_properties(NetherFortGen.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=global-constructors")
+ set_source_files_properties(Noise3DGenerator.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=old-style-cast")
+ set_source_files_properties(PieceGenerator.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=global-constructors")
+ set_source_files_properties(Prefab.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=global-constructors")
+ set_source_files_properties(RainbowRoadsGen.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=global-constructors")
+ set_source_files_properties(Ravines.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=old-style-cast")
+ set_source_files_properties(RoughRavines.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=float-equal -Wno-error=old-style-cast")
+ set_source_files_properties(StructGen.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=switch-enum -Wno-error=switch -Wno-error=old-style-cast")
+ set_source_files_properties(ShapeGen.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=old-style-cast")
+ set_source_files_properties(TestRailsGen.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=global-constructors")
+ set_source_files_properties(TwoHeights.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=old-style-cast")
+ set_source_files_properties(UnderwaterBaseGen.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=global-constructors -Wno-error=switch-enum")
+ set_source_files_properties(VillageGen.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=global-constructors -Wno-error=switch-enum")
+endif()
+
if(NOT MSVC)
add_library(Generating ${SRCS} ${HDRS})
- target_link_libraries(Generating OSSupport Blocks)
+ target_link_libraries(Generating OSSupport Blocks Bindings)
endif()
diff --git a/src/Generating/ChunkDesc.cpp b/src/Generating/ChunkDesc.cpp
index 4a5ac5a18..07855b1d0 100644
--- a/src/Generating/ChunkDesc.cpp
+++ b/src/Generating/ChunkDesc.cpp
@@ -134,7 +134,7 @@ EMCSBiome cChunkDesc::GetBiome(int a_RelX, int a_RelZ)
-void cChunkDesc::SetHeight(int a_RelX, int a_RelZ, int a_Height)
+void cChunkDesc::SetHeight(int a_RelX, int a_RelZ, HEIGHTTYPE a_Height)
{
cChunkDef::SetHeight(m_HeightMap, a_RelX, a_RelZ, a_Height);
}
@@ -143,7 +143,7 @@ void cChunkDesc::SetHeight(int a_RelX, int a_RelZ, int a_Height)
-int cChunkDesc::GetHeight(int a_RelX, int a_RelZ)
+HEIGHTTYPE cChunkDesc::GetHeight(int a_RelX, int a_RelZ)
{
return cChunkDef::GetHeight(m_HeightMap, a_RelX, a_RelZ);
}
@@ -158,7 +158,7 @@ void cChunkDesc::SetHeightFromShape(const Shape & a_Shape)
{
for (int x = 0; x < cChunkDef::Width; x++)
{
- for (int y = cChunkDef::Height - 1; y > 0; y--)
+ for (HEIGHTTYPE y = cChunkDef::Height - 1; y > 0; y--)
{
if (a_Shape[y + x * 256 + z * 16 * 256] != 0)
{
@@ -612,8 +612,8 @@ void cChunkDesc::UpdateHeightmap(void)
{
for (int z = 0; z < cChunkDef::Width; z++)
{
- int Height = 0;
- for (int y = cChunkDef::Height - 1; y > 0; y--)
+ HEIGHTTYPE Height = 0;
+ for (HEIGHTTYPE y = cChunkDef::Height - 1; y > 0; y--)
{
BLOCKTYPE BlockType = GetBlockType(x, y, z);
if (BlockType != E_BLOCK_AIR)
@@ -636,7 +636,7 @@ void cChunkDesc::CompressBlockMetas(cChunkDef::BlockNibbles & a_DestMetas)
const NIBBLETYPE * AreaMetas = m_BlockArea.GetBlockMetas();
for (size_t i = 0; i < ARRAYCOUNT(a_DestMetas); i++)
{
- a_DestMetas[i] = AreaMetas[2 * i] | (AreaMetas[2 * i + 1] << 4);
+ a_DestMetas[i] = static_cast<NIBBLETYPE>(AreaMetas[2 * i] | (AreaMetas[2 * i + 1] << 4));
}
}
diff --git a/src/Generating/ChunkDesc.h b/src/Generating/ChunkDesc.h
index 480106fb5..1033242f8 100644
--- a/src/Generating/ChunkDesc.h
+++ b/src/Generating/ChunkDesc.h
@@ -65,8 +65,8 @@ public:
// These operate on the heightmap, so they could get out of sync with the data
// Use UpdateHeightmap() to re-calculate heightmap from the block data
- void SetHeight(int a_RelX, int a_RelZ, int a_Height);
- int GetHeight(int a_RelX, int a_RelZ);
+ void SetHeight(int a_RelX, int a_RelZ, HEIGHTTYPE a_Height);
+ HEIGHTTYPE GetHeight(int a_RelX, int a_RelZ);
// tolua_end
@@ -204,10 +204,10 @@ public:
// Accessors used by cChunkGenerator::Generator descendants:
inline cChunkDef::BiomeMap & GetBiomeMap (void) { return m_BiomeMap; }
- inline cChunkDef::BlockTypes & GetBlockTypes (void) { return *((cChunkDef::BlockTypes *)m_BlockArea.GetBlockTypes()); }
+ inline cChunkDef::BlockTypes & GetBlockTypes (void) { return *(reinterpret_cast<cChunkDef::BlockTypes *>(m_BlockArea.GetBlockTypes())); }
// CANNOT, different compression!
// inline cChunkDef::BlockNibbles & GetBlockMetas (void) { return *((cChunkDef::BlockNibbles *)m_BlockArea.GetBlockMetas()); }
- inline BlockNibbleBytes & GetBlockMetasUncompressed(void) { return *((BlockNibbleBytes *)m_BlockArea.GetBlockMetas()); }
+ inline BlockNibbleBytes & GetBlockMetasUncompressed(void) { return *(reinterpret_cast<BlockNibbleBytes *>(m_BlockArea.GetBlockMetas())); }
inline cChunkDef::HeightMap & GetHeightMap (void) { return m_HeightMap; }
inline cEntityList & GetEntities (void) { return m_Entities; }
inline cBlockEntityList & GetBlockEntities (void) { return m_BlockEntities; }
diff --git a/src/Generating/CompoGenBiomal.cpp b/src/Generating/CompoGenBiomal.cpp
index 3140bd754..60f7e7520 100644
--- a/src/Generating/CompoGenBiomal.cpp
+++ b/src/Generating/CompoGenBiomal.cpp
@@ -4,6 +4,9 @@
// Implements the cCompoGenBiomal class representing the biome-aware composition generator
#include "Globals.h"
+
+#include "CompoGenBiomal.h"
+
#include "ComposableGenerator.h"
#include "../IniFile.h"
#include "../Noise/Noise.h"
@@ -192,7 +195,7 @@ public:
protected:
/** The block height at which water is generated instead of air. */
- int m_SeaLevel;
+ HEIGHTTYPE m_SeaLevel;
/** The pattern used for mesa biomes. Initialized by seed on generator creation. */
cPattern::BlockInfo m_MesaPattern[2 * cChunkDef::Height];
@@ -221,7 +224,7 @@ protected:
virtual void InitializeCompoGen(cIniFile & a_IniFile) override
{
- m_SeaLevel = a_IniFile.GetValueSetI("Generator", "SeaLevel", m_SeaLevel);
+ m_SeaLevel = static_cast<HEIGHTTYPE>(a_IniFile.GetValueSetI("Generator", "SeaLevel", m_SeaLevel));
}
@@ -231,7 +234,7 @@ protected:
{
// In a loop, choose whether to use one, two or three layers of stained clay, then choose a color and width for each layer
// Separate each group with another layer of hardened clay
- cNoise patternNoise((unsigned)a_Seed);
+ cNoise patternNoise(a_Seed);
static NIBBLETYPE allowedColors[] =
{
E_META_STAINED_CLAY_YELLOW,
@@ -265,8 +268,8 @@ protected:
rnd /= 2;
for (int lay = 0; lay < numLayers; lay++)
{
- int numBlocks = layerSizes[(rnd % ARRAYCOUNT(layerSizes))];
- NIBBLETYPE Color = allowedColors[(rnd / 4) % ARRAYCOUNT(allowedColors)];
+ int numBlocks = layerSizes[(static_cast<size_t>(rnd) % ARRAYCOUNT(layerSizes))];
+ NIBBLETYPE Color = allowedColors[static_cast<size_t>(rnd / 4) % ARRAYCOUNT(allowedColors)];
if (
((numBlocks == 3) && (numLayers == 2)) || // In two-layer mode disallow the 3-high layers:
(Color == E_META_STAINED_CLAY_WHITE)) // White stained clay can ever be only 1 block high
@@ -411,7 +414,12 @@ protected:
FillColumnPattern(a_ChunkDesc, a_RelX, a_RelZ, Pattern, a_ShapeColumn);
return;
}
- default:
+ case biInvalidBiome:
+ case biHell:
+ case biSky:
+ case biNumBiomes:
+ case biVariant:
+ case biNumVariantBiomes:
{
ASSERT(!"Unhandled biome");
return;
@@ -427,7 +435,7 @@ protected:
{
bool HasHadWater = false;
int PatternIdx = 0;
- int top = std::max(m_SeaLevel, a_ChunkDesc.GetHeight(a_RelX, a_RelZ));
+ HEIGHTTYPE top = std::max(m_SeaLevel, a_ChunkDesc.GetHeight(a_RelX, a_RelZ));
for (int y = top; y > 0; y--)
{
if (a_ShapeColumn[y] > 0)
diff --git a/src/Generating/ComposableGenerator.cpp b/src/Generating/ComposableGenerator.cpp
index 6b7643ddb..4eee8b707 100644
--- a/src/Generating/ComposableGenerator.cpp
+++ b/src/Generating/ComposableGenerator.cpp
@@ -221,11 +221,11 @@ void cComposableGenerator::InitBiomeGen(cIniFile & a_IniFile)
if (MultiCacheLength > 0)
{
LOGD("Enabling multicache for biomegen of length %d.", MultiCacheLength);
- m_BiomeGen = cBiomeGenPtr(new cBioGenMulticache(m_BiomeGen, CacheSize, MultiCacheLength));
+ m_BiomeGen = cBiomeGenPtr(new cBioGenMulticache(m_BiomeGen, static_cast<size_t>(CacheSize), static_cast<size_t>(MultiCacheLength)));
}
else
{
- m_BiomeGen = cBiomeGenPtr(new cBioGenCache(m_BiomeGen, CacheSize));
+ m_BiomeGen = cBiomeGenPtr(new cBioGenCache(m_BiomeGen, static_cast<size_t>(CacheSize)));
}
}
@@ -274,7 +274,7 @@ void cComposableGenerator::InitCompositionGen(cIniFile & a_IniFile)
}
// Create a cache of the composited heightmaps, so that finishers may use it:
- m_CompositedHeightCache = std::make_shared<cHeiGenMultiCache>(std::make_shared<cCompositedHeiGen>(m_ShapeGen, m_CompositionGen), 16, 24);
+ m_CompositedHeightCache = std::make_shared<cHeiGenMultiCache>(std::make_shared<cCompositedHeiGen>(m_BiomeGen, m_ShapeGen, m_CompositionGen), 16, 24);
// 24 subcaches of depth 16 each = 96 KiB of RAM. Acceptable, for the amount of work this saves.
}
@@ -618,7 +618,9 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile)
int MaxSize = a_IniFile.GetValueSetI("Generator", "VillageMaxSize", 128);
int MinDensity = a_IniFile.GetValueSetI("Generator", "VillageMinDensity", 50);
int MaxDensity = a_IniFile.GetValueSetI("Generator", "VillageMaxDensity", 80);
- m_FinishGens.push_back(std::make_shared<cVillageGen>(Seed, GridSize, MaxOffset, MaxDepth, MaxSize, MinDensity, MaxDensity, m_BiomeGen, m_CompositedHeightCache));
+ AString PrefabList = a_IniFile.GetValueSet("Generator", "VillagePrefabs", "PlainsVillage, SandVillage");
+ auto Prefabs = StringSplitAndTrim(PrefabList, ",");
+ m_FinishGens.push_back(std::make_shared<cVillageGen>(Seed, GridSize, MaxOffset, MaxDepth, MaxSize, MinDensity, MaxDensity, m_BiomeGen, m_CompositedHeightCache, Prefabs));
}
else if (NoCaseCompare(*itr, "Vines") == 0)
{
diff --git a/src/Generating/CompositedHeiGen.h b/src/Generating/CompositedHeiGen.h
index fa33a7861..c4e6ce77d 100644
--- a/src/Generating/CompositedHeiGen.h
+++ b/src/Generating/CompositedHeiGen.h
@@ -20,7 +20,8 @@ class cCompositedHeiGen:
public cTerrainHeightGen
{
public:
- cCompositedHeiGen(cTerrainShapeGenPtr a_ShapeGen, cTerrainCompositionGenPtr a_CompositionGen):
+ cCompositedHeiGen(cBiomeGenPtr a_BiomeGen, cTerrainShapeGenPtr a_ShapeGen, cTerrainCompositionGenPtr a_CompositionGen):
+ m_BiomeGen(a_BiomeGen),
m_ShapeGen(a_ShapeGen),
m_CompositionGen(a_CompositionGen)
{
@@ -28,18 +29,20 @@ public:
- // cTerrainheightGen overrides:
+ // cTerrainHeightGen overrides:
virtual void GenHeightMap(int a_ChunkX, int a_ChunkZ, cChunkDef::HeightMap & a_HeightMap) override
{
cChunkDesc::Shape shape;
m_ShapeGen->GenShape(a_ChunkX, a_ChunkZ, shape);
cChunkDesc desc(a_ChunkX, a_ChunkZ);
+ m_BiomeGen->GenBiomes(a_ChunkX, a_ChunkZ, desc.GetBiomeMap()); // Need to initialize biomes for the composition gen
desc.SetHeightFromShape(shape);
m_CompositionGen->ComposeTerrain(desc, shape);
memcpy(a_HeightMap, desc.GetHeightMap(), sizeof(a_HeightMap));
}
protected:
+ cBiomeGenPtr m_BiomeGen;
cTerrainShapeGenPtr m_ShapeGen;
cTerrainCompositionGenPtr m_CompositionGen;
};
diff --git a/src/Generating/DungeonRoomsFinisher.cpp b/src/Generating/DungeonRoomsFinisher.cpp
index c4bf8839e..c62da7492 100644
--- a/src/Generating/DungeonRoomsFinisher.cpp
+++ b/src/Generating/DungeonRoomsFinisher.cpp
@@ -194,7 +194,7 @@ protected:
{
return;
}
- a_ChunkDesc.SetBlockTypeMeta(RelX, m_FloorHeight + 1, RelZ, E_BLOCK_CHEST, (NIBBLETYPE)a_Chest.y);
+ a_ChunkDesc.SetBlockTypeMeta(RelX, m_FloorHeight + 1, RelZ, E_BLOCK_CHEST, static_cast<NIBBLETYPE>(a_Chest.y));
// Fill the chest with random loot
static const cLootProbab LootProbab[] =
@@ -217,7 +217,7 @@ protected:
{ cItem(E_ITEM_NAME_TAG), 1, 1, 10 },
} ;
- cChestEntity * ChestEntity = (cChestEntity *)a_ChunkDesc.GetBlockEntity(RelX, m_FloorHeight + 1, RelZ);
+ cChestEntity * ChestEntity = static_cast<cChestEntity *>(a_ChunkDesc.GetBlockEntity(RelX, m_FloorHeight + 1, RelZ));
ASSERT((ChestEntity != nullptr) && (ChestEntity->GetBlockType() == E_BLOCK_CHEST));
cNoise Noise(a_ChunkDesc.GetChunkX() ^ a_ChunkDesc.GetChunkZ());
int NumSlots = 3 + ((Noise.IntNoise3DInt(a_Chest.x, a_Chest.y, a_Chest.z) / 11) % 4);
diff --git a/src/Generating/FinishGen.cpp b/src/Generating/FinishGen.cpp
index 00b34bddd..59af0fd63 100644
--- a/src/Generating/FinishGen.cpp
+++ b/src/Generating/FinishGen.cpp
@@ -69,7 +69,7 @@ void cFinishGenNetherClumpFoliage::GenFinish(cChunkDesc & a_ChunkDesc)
}
// Choose what block to use.
- NOISE_DATATYPE BlockType = m_Noise.IntNoise3D((int) ChunkX, y, (int) ChunkZ);
+ NOISE_DATATYPE BlockType = m_Noise.IntNoise3D(static_cast<int>(ChunkX), y, static_cast<int>(ChunkZ));
if (BlockType < -0.7)
{
TryPlaceClump(a_ChunkDesc, PosX, y, PosZ, E_BLOCK_BROWN_MUSHROOM);
@@ -260,13 +260,13 @@ void cFinishGenGlowStone::TryPlaceGlowstone(cChunkDesc & a_ChunkDesc, int a_RelX
for (int j = 0; j < a_Size; j++)
{
- Vector3i Direction = AvailableDirections[m_Noise.IntNoise3DInt(CurrentPos.x, CurrentPos.y * i, CurrentPos.z) % ARRAYCOUNT(AvailableDirections)];
+ Vector3i Direction = AvailableDirections[static_cast<size_t>(m_Noise.IntNoise3DInt(CurrentPos.x, CurrentPos.y * i, CurrentPos.z)) % ARRAYCOUNT(AvailableDirections)];
int Attempts = 2; // multiply by 1 would make no difference, so multiply by 2 instead
while (Direction.Equals(PreviousDirection))
{
// To make the glowstone branches look better we want to make the direction change every time.
- Direction = AvailableDirections[m_Noise.IntNoise3DInt(CurrentPos.x, CurrentPos.y * i * Attempts, CurrentPos.z) % ARRAYCOUNT(AvailableDirections)];
+ Direction = AvailableDirections[static_cast<size_t>(m_Noise.IntNoise3DInt(CurrentPos.x, CurrentPos.y * i * Attempts, CurrentPos.z)) % ARRAYCOUNT(AvailableDirections)];
Attempts++;
}
@@ -438,7 +438,7 @@ void cFinishGenVines::GenFinish(cChunkDesc & a_ChunkDesc)
continue;
}
- NIBBLETYPE Meta = Places[m_Noise.IntNoise3DInt(xx, y, zz) % Places.size()];
+ NIBBLETYPE Meta = Places[static_cast<size_t>(m_Noise.IntNoise3DInt(xx, y, zz)) % Places.size()];
a_ChunkDesc.SetBlockTypeMeta(x, y, z, E_BLOCK_VINES, Meta);
}
}
@@ -507,7 +507,7 @@ void cFinishGenSprinkleFoliage::GenFinish(cChunkDesc & a_ChunkDesc)
for (int z = 0; z < cChunkDef::Width; z++)
{
int BlockZ = a_ChunkDesc.GetChunkZ() * cChunkDef::Width + z;
- const float zz = (float)BlockZ;
+ const float zz = static_cast<float>(BlockZ);
for (int x = 0; x < cChunkDef::Width; x++)
{
int BlockX = a_ChunkDesc.GetChunkX() * cChunkDef::Width + x;
@@ -515,7 +515,7 @@ void cFinishGenSprinkleFoliage::GenFinish(cChunkDesc & a_ChunkDesc)
{
continue;
}
- int Top = a_ChunkDesc.GetHeight(x, z);
+ HEIGHTTYPE Top = a_ChunkDesc.GetHeight(x, z);
if (Top > 250)
{
// Nothing grows above Y=250
@@ -528,7 +528,7 @@ void cFinishGenSprinkleFoliage::GenFinish(cChunkDesc & a_ChunkDesc)
continue;
}
- const float xx = (float)BlockX;
+ const float xx = static_cast<float>(BlockX);
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))
@@ -563,7 +563,7 @@ void cFinishGenSprinkleFoliage::GenFinish(cChunkDesc & a_ChunkDesc)
}
else if ((val1 > 0.5) && (val2 < -0.5))
{
- a_ChunkDesc.SetBlockTypeMeta(x, ++Top, z, E_BLOCK_PUMPKIN, (int)(val3 * 8) % 4);
+ a_ChunkDesc.SetBlockTypeMeta(x, ++Top, z, E_BLOCK_PUMPKIN, static_cast<int>(val3 * 8) % 4);
}
break;
} // case E_BLOCK_GRASS
@@ -650,9 +650,9 @@ void cFinishGenSoulsandRims::GenFinish(cChunkDesc & a_ChunkDesc)
continue;
}
- NOISE_DATATYPE NoiseX = ((NOISE_DATATYPE)(xx)) / 32;
- NOISE_DATATYPE NoiseY = ((NOISE_DATATYPE)(zz)) / 32;
- NOISE_DATATYPE CompBlock = m_Noise.CubicNoise3D(NoiseX, (float) (y) / 4, NoiseY);
+ NOISE_DATATYPE NoiseX = (static_cast<NOISE_DATATYPE>(xx)) / 32;
+ NOISE_DATATYPE NoiseY = (static_cast<NOISE_DATATYPE>(zz)) / 32;
+ NOISE_DATATYPE CompBlock = m_Noise.CubicNoise3D(NoiseX, static_cast<float>(y) / 4, NoiseY);
if (CompBlock < 0)
{
a_ChunkDesc.SetBlockType(x, y, z, E_BLOCK_SOULSAND);
@@ -676,7 +676,7 @@ void cFinishGenSnow::GenFinish(cChunkDesc & a_ChunkDesc)
{
for (int x = 0; x < cChunkDef::Width; x++)
{
- int Height = a_ChunkDesc.GetHeight(x, z);
+ HEIGHTTYPE Height = a_ChunkDesc.GetHeight(x, z);
if (GetSnowStartHeight(a_ChunkDesc.GetBiome(x, z)) > Height)
{
// Height isn't high enough for snow to start forming.
@@ -775,7 +775,7 @@ void cFinishGenSingleTopBlock::GenFinish(cChunkDesc & a_ChunkDesc)
continue;
}
- int Height = a_ChunkDesc.GetHeight(x, z);
+ HEIGHTTYPE Height = a_ChunkDesc.GetHeight(x, z);
if (Height >= cChunkDef::Height - 1)
{
// Too high up
@@ -918,7 +918,7 @@ void cFinishGenPreSimulator::CollapseSandGravel(
}
} // switch (GetBlock)
} // for y
- cChunkDef::SetHeight(a_HeightMap, x, z, HeightY);
+ cChunkDef::SetHeight(a_HeightMap, x, z, static_cast<HEIGHTTYPE>(HeightY));
} // for x
} // for z
}
@@ -1259,7 +1259,7 @@ bool cFinishGenPassiveMobs::TrySpawnAnimals(cChunkDesc & a_ChunkDesc, int a_RelX
}
if (
(BlockUnderFeet != E_BLOCK_GRASS) &&
- ((AnimalToSpawn == mtSheep) || (AnimalToSpawn == mtChicken) || (AnimalToSpawn == mtPig))
+ ((AnimalToSpawn == mtWolf) || (AnimalToSpawn == mtRabbit) || (AnimalToSpawn == mtCow) || (AnimalToSpawn == mtSheep) || (AnimalToSpawn == mtChicken) || (AnimalToSpawn == mtPig))
)
{
return false;
@@ -1274,6 +1274,7 @@ bool cFinishGenPassiveMobs::TrySpawnAnimals(cChunkDesc & a_ChunkDesc, int a_RelX
double AnimalZ = static_cast<double>(a_ChunkDesc.GetChunkZ() * cChunkDef::Width + a_RelZ + 0.5);
cMonster * NewMob = cMonster::NewMonsterFromType(AnimalToSpawn);
+ NewMob->SetHealth(NewMob->GetMaxHealth());
NewMob->SetPosition(AnimalX, AnimalY, AnimalZ);
a_ChunkDesc.GetEntities().push_back(NewMob);
LOGD("Spawning %s #%i at {%.02f, %.02f, %.02f}", NewMob->GetClass(), NewMob->GetUniqueID(), AnimalX, AnimalY, AnimalZ);
@@ -1374,8 +1375,12 @@ eMonsterType cFinishGenPassiveMobs::GetRandomMob(cChunkDesc & a_ChunkDesc)
return mtInvalidType;
}
- int RandMob = (m_Noise.IntNoise2DInt(chunkX - chunkZ + 2, chunkX + 5) / 7) % ListOfSpawnables.size();
auto MobIter = ListOfSpawnables.begin();
+ using diff_type =
+ std::iterator_traits<decltype(MobIter)>::difference_type;
+ diff_type RandMob = static_cast<diff_type>
+ (static_cast<size_t>(m_Noise.IntNoise2DInt(chunkX - chunkZ + 2, chunkX + 5) / 7)
+ % ListOfSpawnables.size());
std::advance(MobIter, RandMob);
return *MobIter;
diff --git a/src/Generating/GridStructGen.cpp b/src/Generating/GridStructGen.cpp
index 3c08c1a39..5adc60c4f 100644
--- a/src/Generating/GridStructGen.cpp
+++ b/src/Generating/GridStructGen.cpp
@@ -64,13 +64,13 @@ cGridStructGen::cGridStructGen(
LOG("Grid Size cannot be zero, setting to 1");
m_GridSizeZ = 1;
}
- size_t NumStructuresPerQuery = (size_t)(((m_MaxStructureSizeX + m_MaxOffsetX) / m_GridSizeX + 1) * ((m_MaxStructureSizeZ + m_MaxOffsetZ) / m_GridSizeZ + 1));
+ size_t NumStructuresPerQuery = static_cast<size_t>(((m_MaxStructureSizeX + m_MaxOffsetX) / m_GridSizeX + 1) * ((m_MaxStructureSizeZ + m_MaxOffsetZ) / m_GridSizeZ + 1));
if (NumStructuresPerQuery > m_MaxCacheSize)
{
m_MaxCacheSize = NumStructuresPerQuery * 4;
LOGINFO(
"cGridStructGen: The cache size is too small (%u), increasing the cache size to %u to avoid inefficiency.",
- (unsigned)a_MaxCacheSize, (unsigned)m_MaxCacheSize
+ static_cast<unsigned>(a_MaxCacheSize), static_cast<unsigned>(m_MaxCacheSize)
);
}
}
diff --git a/src/Generating/HeiGen.cpp b/src/Generating/HeiGen.cpp
index e34ffc57c..6cfd53837 100644
--- a/src/Generating/HeiGen.cpp
+++ b/src/Generating/HeiGen.cpp
@@ -58,7 +58,7 @@ public:
virtual void GenHeightMap(int a_ChunkX, int a_ChunkZ, cChunkDef::HeightMap & a_HeightMap) override
{
int heights[cChunkDef::Width * cChunkDef::Width];
- m_Gen->GetInts(a_ChunkX * cChunkDef::Width, a_ChunkZ * cChunkDef::Width, cChunkDef::Width, cChunkDef::Width, heights);
+ m_Gen->GetInts(a_ChunkX * cChunkDef::Width, a_ChunkZ * cChunkDef::Width, static_cast<size_t>(cChunkDef::Width), static_cast<size_t>(cChunkDef::Width), heights);
for (size_t i = 0; i < ARRAYCOUNT(heights); i++)
{
a_HeightMap[i] = static_cast<HEIGHTTYPE>(std::max(std::min(60 + heights[i], cChunkDef::Height - 60), 40));
@@ -92,7 +92,7 @@ void cHeiGenFlat::GenHeightMap(int a_ChunkX, int a_ChunkZ, cChunkDef::HeightMap
void cHeiGenFlat::InitializeHeightGen(cIniFile & a_IniFile)
{
- m_Height = a_IniFile.GetValueSetI("Generator", "FlatHeight", m_Height);
+ m_Height = static_cast<HEIGHTTYPE>(a_IniFile.GetValueSetI("Generator", "FlatHeight", m_Height));
}
@@ -102,16 +102,16 @@ void cHeiGenFlat::InitializeHeightGen(cIniFile & a_IniFile)
////////////////////////////////////////////////////////////////////////////////
// cHeiGenCache:
-cHeiGenCache::cHeiGenCache(cTerrainHeightGenPtr a_HeiGenToCache, int a_CacheSize) :
+cHeiGenCache::cHeiGenCache(cTerrainHeightGenPtr a_HeiGenToCache, size_t a_CacheSize) :
m_HeiGenToCache(a_HeiGenToCache),
m_CacheSize(a_CacheSize),
- m_CacheOrder(new int[a_CacheSize]),
+ m_CacheOrder(new size_t[a_CacheSize]),
m_CacheData(new sCacheData[a_CacheSize]),
m_NumHits(0),
m_NumMisses(0),
m_TotalChain(0)
{
- for (int i = 0; i < m_CacheSize; i++)
+ for (size_t i = 0; i < m_CacheSize; i++)
{
m_CacheOrder[i] = i;
m_CacheData[i].m_ChunkX = 0x7fffffff;
@@ -141,11 +141,11 @@ void cHeiGenCache::GenHeightMap(int a_ChunkX, int a_ChunkZ, cChunkDef::HeightMap
if (((m_NumHits + m_NumMisses) % 1024) == 10)
{
LOGD("HeiGenCache: %d hits, %d misses, saved %.2f %%", m_NumHits, m_NumMisses, 100.0 * m_NumHits / (m_NumHits + m_NumMisses));
- LOGD("HeiGenCache: Avg cache chain length: %.2f", (float)m_TotalChain / m_NumHits);
+ LOGD("HeiGenCache: Avg cache chain length: %.2f", static_cast<double>(m_TotalChain) / m_NumHits);
}
//*/
- for (int i = 0; i < m_CacheSize; i++)
+ for (size_t i = 0; i < m_CacheSize; i++)
{
if (
(m_CacheData[m_CacheOrder[i]].m_ChunkX != a_ChunkX) ||
@@ -155,10 +155,10 @@ void cHeiGenCache::GenHeightMap(int a_ChunkX, int a_ChunkZ, cChunkDef::HeightMap
continue;
}
// Found it in the cache
- int Idx = m_CacheOrder[i];
+ auto Idx = m_CacheOrder[i];
// Move to front:
- for (int j = i; j > 0; j--)
+ for (size_t j = i; j > 0; j--)
{
m_CacheOrder[j] = m_CacheOrder[j - 1];
}
@@ -177,8 +177,8 @@ void cHeiGenCache::GenHeightMap(int a_ChunkX, int a_ChunkZ, cChunkDef::HeightMap
m_HeiGenToCache->GenHeightMap(a_ChunkX, a_ChunkZ, a_HeightMap);
// Insert it as the first item in the MRU order:
- int Idx = m_CacheOrder[m_CacheSize - 1];
- for (int i = m_CacheSize - 1; i > 0; i--)
+ auto Idx = m_CacheOrder[m_CacheSize - 1];
+ for (auto i = m_CacheSize - 1; i > 0; i--)
{
m_CacheOrder[i] = m_CacheOrder[i - 1];
} // for i - m_CacheOrder[]
@@ -194,7 +194,7 @@ void cHeiGenCache::GenHeightMap(int a_ChunkX, int a_ChunkZ, cChunkDef::HeightMap
bool cHeiGenCache::GetHeightAt(int a_ChunkX, int a_ChunkZ, int a_RelX, int a_RelZ, HEIGHTTYPE & a_Height)
{
- for (int i = 0; i < m_CacheSize; i++)
+ for (size_t i = 0; i < m_CacheSize; i++)
{
if ((m_CacheData[i].m_ChunkX == a_ChunkX) && (m_CacheData[i].m_ChunkZ == a_ChunkZ))
{
@@ -300,15 +300,7 @@ void cHeiGenClassic::GenHeightMap(int a_ChunkX, int a_ChunkZ, cChunkDef::HeightM
{
const float xx = (float)(a_ChunkX * cChunkDef::Width + x);
- int hei = 64 + (int)(GetNoise(xx * 0.05f, zz * 0.05f) * 16);
- if (hei < 10)
- {
- hei = 10;
- }
- if (hei > 250)
- {
- hei = 250;
- }
+ HEIGHTTYPE hei = static_cast<HEIGHTTYPE>(Clamp(static_cast<int>(64 + (GetNoise(xx * 0.05f, zz * 0.05f) * 16)), 10, 250));
cChunkDef::SetHeight(a_HeightMap, x, z, hei);
} // for x
} // for z
@@ -366,15 +358,7 @@ void cHeiGenMountains::GenHeightMap(int a_ChunkX, int a_ChunkZ, cChunkDef::Heigh
for (int x = 0; x < cChunkDef::Width; x++)
{
int idx = IdxZ + x;
- int hei = 100 - (int)((MountainNoise[idx] - DitchNoise[idx] + PerlinNoise[idx]) * 15);
- if (hei < 10)
- {
- hei = 10;
- }
- if (hei > 250)
- {
- hei = 250;
- }
+ HEIGHTTYPE hei = static_cast<HEIGHTTYPE>(Clamp(100 - static_cast<int>((MountainNoise[idx] - DitchNoise[idx] + PerlinNoise[idx]) * 15), 10, 250));
cChunkDef::SetHeight(a_HeightMap, x, z, hei);
} // for x
} // for z
@@ -536,7 +520,7 @@ void cHeiGenBiomal::GenHeightMap(int a_ChunkX, int a_ChunkZ, cChunkDef::HeightMa
{
for (int x = 0; x < cChunkDef::Width; x++)
{
- cChunkDef::SetHeight(a_HeightMap, x, z, (int)Height[x + 17 * z]);
+ cChunkDef::SetHeight(a_HeightMap, x, z, static_cast<HEIGHTTYPE>(Height[x + 17 * z]));
}
}
//*/
@@ -817,7 +801,10 @@ protected:
case biTaiga: a_Min = 63; a_Max = 75; break;
case biTaigaHills: a_Min = 63; a_Max = 90; break;
case biTaigaM: a_Min = 63; a_Max = 80; break;
- default:
+ case biInvalidBiome:
+ case biNumBiomes:
+ case biVariant:
+ case biNumVariantBiomes:
{
ASSERT(!"Unknown biome");
a_Min = 10;
diff --git a/src/Generating/HeiGen.h b/src/Generating/HeiGen.h
index 62bb227c6..0dc9c814b 100644
--- a/src/Generating/HeiGen.h
+++ b/src/Generating/HeiGen.h
@@ -28,7 +28,7 @@ class cHeiGenCache :
public cTerrainHeightGen
{
public:
- cHeiGenCache(cTerrainHeightGenPtr a_HeiGenToCache, int a_CacheSize);
+ cHeiGenCache(cTerrainHeightGenPtr a_HeiGenToCache, size_t a_CacheSize);
~cHeiGenCache();
// cTerrainHeightGen overrides:
@@ -49,14 +49,14 @@ protected:
cTerrainHeightGenPtr m_HeiGenToCache;
// To avoid moving large amounts of data for the MRU behavior, we MRU-ize indices to an array of the actual data
- int m_CacheSize;
- int * m_CacheOrder; // MRU-ized order, indices into m_CacheData array
+ size_t m_CacheSize;
+ size_t * m_CacheOrder; // MRU-ized order, indices into m_CacheData array
sCacheData * m_CacheData; // m_CacheData[m_CacheOrder[0]] is the most recently used
// Cache statistics
- int m_NumHits;
- int m_NumMisses;
- int m_TotalChain; // Number of cache items walked to get to a hit (only added for hits)
+ size_t m_NumHits;
+ size_t m_NumMisses;
+ size_t m_TotalChain; // Number of cache items walked to get to a hit (only added for hits)
} ;
@@ -103,7 +103,7 @@ public:
protected:
- int m_Height;
+ HEIGHTTYPE m_Height;
// cTerrainHeightGen overrides:
virtual void GenHeightMap(int a_ChunkX, int a_ChunkZ, cChunkDef::HeightMap & a_HeightMap) override;
diff --git a/src/Generating/IntGen.h b/src/Generating/IntGen.h
index 9cc881639..3f94ec3d0 100644
--- a/src/Generating/IntGen.h
+++ b/src/Generating/IntGen.h
@@ -754,7 +754,7 @@ public:
int IdxZ = z * SizeX;
for (int x = 0; x < SizeX; x++)
{
- size_t val = (size_t)a_Values[x + IdxZ];
+ size_t val = static_cast<size_t>(a_Values[x + IdxZ]);
const cBiomesInGroups & Biomes = (val > bgfRare) ?
rareBiomesInGroups[(val & (bgfRare - 1)) % ARRAYCOUNT(rareBiomesInGroups)] :
biomesInGroups[val % ARRAYCOUNT(biomesInGroups)];
@@ -891,7 +891,7 @@ public:
}
// There's a river, change the output to a river or a frozen river, based on the original biome:
- if (IsBiomeVeryCold((EMCSBiome)a_Values[idx]))
+ if (IsBiomeVeryCold(static_cast<EMCSBiome>(a_Values[idx])))
{
a_Values[idx] = biFrozenRiver;
}
diff --git a/src/Generating/MineShafts.cpp b/src/Generating/MineShafts.cpp
index 65588ce4b..4ba896ef6 100644
--- a/src/Generating/MineShafts.cpp
+++ b/src/Generating/MineShafts.cpp
@@ -542,7 +542,7 @@ cMineShaft * cMineShaftCorridor::CreateAndFit(
{
cCuboid BoundingBox(a_PivotX, a_PivotY - 1, a_PivotZ);
BoundingBox.p2.y += 3;
- int rnd = a_Noise.IntNoise3DInt(a_PivotX, a_PivotY + (int)a_ParentSystem.m_MineShafts.size(), a_PivotZ) / 7;
+ int rnd = a_Noise.IntNoise3DInt(a_PivotX, a_PivotY + static_cast<int>(a_ParentSystem.m_MineShafts.size()), a_PivotZ) / 7;
int NumSegments = 2 + (rnd) % (MAX_SEGMENTS - 1); // 2 .. MAX_SEGMENTS
switch (a_Direction)
{
@@ -564,14 +564,14 @@ cMineShaft * cMineShaftCorridor::CreateAndFit(
void cMineShaftCorridor::AppendBranches(int a_RecursionLevel, cNoise & a_Noise)
{
- int rnd = a_Noise.IntNoise3DInt(m_BoundingBox.p1.x, m_BoundingBox.p1.y + a_RecursionLevel, m_BoundingBox.p1.z) / 7;
+ int Outerrnd = a_Noise.IntNoise3DInt(m_BoundingBox.p1.x, m_BoundingBox.p1.y + a_RecursionLevel, m_BoundingBox.p1.z) / 7;
// Prefer the same height, but allow for up to one block height displacement:
- int Height = m_BoundingBox.p1.y + ((rnd % 4) + ((rnd >> 3) % 3)) / 2;
+ int OuterHeight = m_BoundingBox.p1.y + ((Outerrnd % 4) + ((Outerrnd >> 3) % 3)) / 2;
switch (m_Direction)
{
case dirXM:
{
- m_ParentSystem.AppendBranch(m_BoundingBox.p1.x - 1, Height, m_BoundingBox.p1.z + 1, dirXM, a_Noise, a_RecursionLevel);
+ m_ParentSystem.AppendBranch(m_BoundingBox.p1.x - 1, OuterHeight, m_BoundingBox.p1.z + 1, dirXM, a_Noise, a_RecursionLevel);
for (int i = m_NumSegments; i >= 0; i--)
{
int rnd = a_Noise.IntNoise3DInt(m_BoundingBox.p1.x + i + 10, m_BoundingBox.p1.y + a_RecursionLevel, m_BoundingBox.p1.z) / 11;
@@ -586,7 +586,7 @@ void cMineShaftCorridor::AppendBranches(int a_RecursionLevel, cNoise & a_Noise)
case dirXP:
{
- m_ParentSystem.AppendBranch(m_BoundingBox.p2.x + 1, Height, m_BoundingBox.p1.z + 1, dirXP, a_Noise, a_RecursionLevel);
+ m_ParentSystem.AppendBranch(m_BoundingBox.p2.x + 1, OuterHeight, m_BoundingBox.p1.z + 1, dirXP, a_Noise, a_RecursionLevel);
for (int i = m_NumSegments; i >= 0; i--)
{
int rnd = a_Noise.IntNoise3DInt(m_BoundingBox.p1.x + i + 10, m_BoundingBox.p1.y + a_RecursionLevel, m_BoundingBox.p1.z) / 11;
@@ -601,7 +601,7 @@ void cMineShaftCorridor::AppendBranches(int a_RecursionLevel, cNoise & a_Noise)
case dirZM:
{
- m_ParentSystem.AppendBranch(m_BoundingBox.p1.x + 1, Height, m_BoundingBox.p1.z - 1, dirZM, a_Noise, a_RecursionLevel);
+ m_ParentSystem.AppendBranch(m_BoundingBox.p1.x + 1, OuterHeight, m_BoundingBox.p1.z - 1, dirZM, a_Noise, a_RecursionLevel);
for (int i = m_NumSegments; i >= 0; i--)
{
int rnd = a_Noise.IntNoise3DInt(m_BoundingBox.p1.x + i + 10, m_BoundingBox.p1.y + a_RecursionLevel, m_BoundingBox.p1.z) / 11;
@@ -616,7 +616,7 @@ void cMineShaftCorridor::AppendBranches(int a_RecursionLevel, cNoise & a_Noise)
case dirZP:
{
- m_ParentSystem.AppendBranch(m_BoundingBox.p1.x + 1, Height, m_BoundingBox.p2.z + 1, dirZP, a_Noise, a_RecursionLevel);
+ m_ParentSystem.AppendBranch(m_BoundingBox.p1.x + 1, OuterHeight, m_BoundingBox.p2.z + 1, dirZP, a_Noise, a_RecursionLevel);
for (int i = m_NumSegments; i >= 0; i--)
{
int rnd = a_Noise.IntNoise3DInt(m_BoundingBox.p1.x + i + 10, m_BoundingBox.p1.y + a_RecursionLevel, m_BoundingBox.p1.z) / 11;
@@ -781,13 +781,19 @@ void cMineShaftCorridor::PlaceChest(cChunkDesc & a_ChunkDesc)
case dirZM:
case dirZP:
- default:
{
x = m_BoundingBox.p1.x - BlockX;
z = m_BoundingBox.p1.z + m_ChestPosition - BlockZ;
Meta = E_META_CHEST_FACING_XP;
break;
}
+ #if !defined(__clang__)
+ default:
+ {
+ ASSERT(!"Unknown direction");
+ return;
+ }
+ #endif
} // switch (Dir)
if (
@@ -796,7 +802,7 @@ void cMineShaftCorridor::PlaceChest(cChunkDesc & a_ChunkDesc)
)
{
a_ChunkDesc.SetBlockTypeMeta(x, m_BoundingBox.p1.y + 1, z, E_BLOCK_CHEST, Meta);
- cChestEntity * ChestEntity = (cChestEntity *)a_ChunkDesc.GetBlockEntity(x, m_BoundingBox.p1.y + 1, z);
+ cChestEntity * ChestEntity = static_cast<cChestEntity *>(a_ChunkDesc.GetBlockEntity(x, m_BoundingBox.p1.y + 1, z));
ASSERT((ChestEntity != nullptr) && (ChestEntity->GetBlockType() == E_BLOCK_CHEST));
cNoise Noise(a_ChunkDesc.GetChunkX() ^ a_ChunkDesc.GetChunkZ());
int NumSlots = 3 + ((Noise.IntNoise3DInt(x, m_BoundingBox.p1.y, z) / 11) % 4);
@@ -986,7 +992,7 @@ cMineShaft * cMineShaftCrossing::CreateAndFit(
)
{
cCuboid BoundingBox(a_PivotX, a_PivotY - 1, a_PivotZ);
- int rnd = a_Noise.IntNoise3DInt(a_PivotX, a_PivotY + (int)a_ParentSystem.m_MineShafts.size(), a_PivotZ) / 7;
+ int rnd = a_Noise.IntNoise3DInt(a_PivotX, a_PivotY + static_cast<int>(a_ParentSystem.m_MineShafts.size()), a_PivotZ) / 7;
BoundingBox.p2.y += 3;
if ((rnd % 4) < 2)
{
@@ -1127,7 +1133,7 @@ cMineShaft * cMineShaftStaircase::CreateAndFit(
cNoise & a_Noise
)
{
- int rnd = a_Noise.IntNoise3DInt(a_PivotX, a_PivotY + (int)a_ParentSystem.m_MineShafts.size(), a_PivotZ) / 7;
+ int rnd = a_Noise.IntNoise3DInt(a_PivotX, a_PivotY + static_cast<int>(a_ParentSystem.m_MineShafts.size()), a_PivotZ) / 7;
cCuboid Box;
switch (a_Direction)
{
diff --git a/src/Generating/NetherFortGen.cpp b/src/Generating/NetherFortGen.cpp
index f35555efd..d29ab8cd1 100644
--- a/src/Generating/NetherFortGen.cpp
+++ b/src/Generating/NetherFortGen.cpp
@@ -36,7 +36,7 @@ public:
int BlockY = 64;
// Generate pieces:
- for (int i = 0; m_Pieces.size() < (size_t)(a_MaxDepth * a_MaxDepth / 8 + a_MaxDepth); i++)
+ for (int i = 0; m_Pieces.size() < static_cast<size_t>(a_MaxDepth * a_MaxDepth / 8 + a_MaxDepth); i++)
{
cBFSPieceGenerator pg(cNetherFortGen::m_PiecePool, a_Seed + i);
pg.PlacePieces(a_OriginX, BlockY, a_OriginZ, a_MaxDepth, m_Pieces);
@@ -55,7 +55,7 @@ public:
{
for (cPlacedPieces::const_iterator itr = m_Pieces.begin(), end = m_Pieces.end(); itr != end; ++itr)
{
- const cPrefab & Prefab = (const cPrefab &)((*itr)->GetPiece());
+ const cPrefab & Prefab = static_cast<const cPrefab &>((*itr)->GetPiece());
Prefab.Draw(a_Chunk, *itr);
} // for itr - m_PlacedPieces[]
}
diff --git a/src/Generating/Noise3DGenerator.cpp b/src/Generating/Noise3DGenerator.cpp
index 63e88c2a8..8163746f8 100644
--- a/src/Generating/Noise3DGenerator.cpp
+++ b/src/Generating/Noise3DGenerator.cpp
@@ -305,7 +305,7 @@ void cNoise3DGenerator::UpdateHeightmap(cChunkDesc & a_ChunkDesc)
{
for (int x = 0; x < cChunkDef::Width; x++)
{
- for (int y = cChunkDef::Height - 1; y > 0; y--)
+ for (HEIGHTTYPE y = cChunkDef::Height - 1; y > 0; y--)
{
if (a_ChunkDesc.GetBlockType(x, y, z) != E_BLOCK_AIR)
{
@@ -790,7 +790,10 @@ void cBiomalNoise3DComposable::GetBiomeParams(EMCSBiome a_Biome, NOISE_DATATYPE
case biTaiga: a_HeightAmp = 0.1f; a_MidPoint = 64; break;
case biTaigaM: a_HeightAmp = 0.1f; a_MidPoint = 70; break;
case biTaigaHills: a_HeightAmp = 0.075f; a_MidPoint = 68; break;
- default:
+ case biInvalidBiome:
+ case biNumBiomes:
+ case biVariant:
+ case biNumVariantBiomes:
{
// Make a crazy terrain so that it stands out
a_HeightAmp = 0.001f;
diff --git a/src/Generating/POCPieceGenerator.cpp b/src/Generating/POCPieceGenerator.cpp
index 6e7e74d7a..834e3887f 100644
--- a/src/Generating/POCPieceGenerator.cpp
+++ b/src/Generating/POCPieceGenerator.cpp
@@ -32,7 +32,7 @@ public:
/** Imprints the piece in the specified chunk. Assumes they intersect. */
- void ImprintInChunk(cChunkDesc & a_ChunkDesc, const Vector3i & a_Pos, int a_NumCCWRotations)
+ void ImprintInChunk(cChunkDesc & a_ChunkDesc, const Vector3i & a_Pos, int a_NumCCWRotations) const
{
int BlockX = a_ChunkDesc.GetChunkX() * cChunkDef::Width;
int BlockZ = a_ChunkDesc.GetChunkZ() * cChunkDef::Width;
@@ -227,7 +227,7 @@ void cPOCPieceGenerator::GenFinish(cChunkDesc & a_ChunkDesc)
continue;
}
- ((cPOCPiece &)(*itr)->GetPiece()).ImprintInChunk(a_ChunkDesc, Pos, (*itr)->GetNumCCWRotations());
+ (static_cast<const cPOCPiece &>((*itr)->GetPiece())).ImprintInChunk(a_ChunkDesc, Pos, (*itr)->GetNumCCWRotations());
} // for itr - m_Pieces[]
a_ChunkDesc.UpdateHeightmap();
}
diff --git a/src/Generating/PieceGenerator.cpp b/src/Generating/PieceGenerator.cpp
index 97aa646fc..93e7179e2 100644
--- a/src/Generating/PieceGenerator.cpp
+++ b/src/Generating/PieceGenerator.cpp
@@ -6,6 +6,7 @@
#include "Globals.h"
#include "PieceGenerator.h"
+#include "../SelfTests.h"
@@ -22,6 +23,11 @@ static class cPieceGeneratorSelfTest :
public:
cPieceGeneratorSelfTest(void)
{
+ cSelfTests::Get().Register(std::bind(&cPieceGeneratorSelfTest::Test, this), "PieceGenerator");
+ }
+
+ void Test(void)
+ {
// Prepare the internal state:
InitializePieces();
@@ -31,14 +37,14 @@ public:
Gen.PlacePieces(500, 50, 500, 3, OutPieces);
// Print out the pieces:
- printf("OutPieces.size() = " SIZE_T_FMT "\n", OutPieces.size());
+ LOG("OutPieces.size() = " SIZE_T_FMT, OutPieces.size());
size_t idx = 0;
for (cPlacedPieces::const_iterator itr = OutPieces.begin(), end = OutPieces.end(); itr != end; ++itr, ++idx)
{
const Vector3i & Coords = (*itr)->GetCoords();
cCuboid Hitbox = (*itr)->GetHitBox();
Hitbox.Sort();
- printf(SIZE_T_FMT ": {%d, %d, %d}, rot %d, hitbox {%d, %d, %d} - {%d, %d, %d} (%d * %d * %d)\n", idx,
+ LOG(SIZE_T_FMT ": {%d, %d, %d}, rot %d, hitbox {%d, %d, %d} - {%d, %d, %d} (%d * %d * %d)", idx,
Coords.x, Coords.y, Coords.z,
(*itr)->GetNumCCWRotations(),
Hitbox.p1.x, Hitbox.p1.y, Hitbox.p1.z,
@@ -46,7 +52,7 @@ public:
Hitbox.DifX() + 1, Hitbox.DifY() + 1, Hitbox.DifZ() + 1
);
} // itr - OutPieces[]
- printf("Done.\n");
+ LOG("Done.");
// Free the placed pieces properly:
Gen.FreePieces(OutPieces);
@@ -385,7 +391,7 @@ cPlacedPiece * cPieceGenerator::PlaceStartingPiece(int a_BlockX, int a_BlockY, i
else
{
// All pieces returned zero weight, but we need one to start. Choose with equal chance:
- StartingPiece = StartingPieces[rnd % StartingPieces.size()];
+ StartingPiece = StartingPieces[static_cast<size_t>(rnd) % StartingPieces.size()];
}
rnd = rnd >> 16;
@@ -394,9 +400,9 @@ cPlacedPiece * cPieceGenerator::PlaceStartingPiece(int a_BlockX, int a_BlockY, i
int NumRotations = 1;
for (size_t i = 1; i < ARRAYCOUNT(Rotations); i++)
{
- if (StartingPiece->CanRotateCCW((int)i))
+ if (StartingPiece->CanRotateCCW(static_cast<int>(i)))
{
- Rotations[NumRotations] = (int)i;
+ Rotations[NumRotations] = static_cast<int>(i);
NumRotations += 1;
}
}
@@ -561,7 +567,10 @@ void cPieceGenerator::DebugConnectorPool(const cPieceGenerator::cFreeConnectors
{
printf(" Connector pool: " SIZE_T_FMT " items\n", a_ConnectorPool.size() - a_NumProcessed);
size_t idx = 0;
- for (cPieceGenerator::cFreeConnectors::const_iterator itr = a_ConnectorPool.begin() + a_NumProcessed, end = a_ConnectorPool.end(); itr != end; ++itr, ++idx)
+
+ typedef cPieceGenerator::cFreeConnectors::difference_type difType;
+
+ for (auto itr = a_ConnectorPool.cbegin() + static_cast<difType>(a_NumProcessed), end = a_ConnectorPool.cend(); itr != end; ++itr, ++idx)
{
printf(" " SIZE_T_FMT ": {%d, %d, %d}, type %d, direction %s, depth %d\n",
idx,
@@ -672,7 +681,10 @@ void cBFSPieceGenerator::PlacePieces(int a_BlockX, int a_BlockY, int a_BlockZ, i
NumProcessed++;
if (NumProcessed > 1000)
{
- ConnectorPool.erase(ConnectorPool.begin(), ConnectorPool.begin() + NumProcessed);
+
+ typedef cPieceGenerator::cFreeConnectors::difference_type difType;
+
+ ConnectorPool.erase(ConnectorPool.begin(), ConnectorPool.begin() + static_cast<difType>(NumProcessed));
NumProcessed = 0;
}
}
diff --git a/src/Generating/Prefab.cpp b/src/Generating/Prefab.cpp
index 761986690..e5e6a1e06 100644
--- a/src/Generating/Prefab.cpp
+++ b/src/Generating/Prefab.cpp
@@ -166,6 +166,45 @@ cPrefab::cPrefab(const cBlockArea & a_Image, int a_AllowedRotations) :
+cPrefab::cPrefab(const cBlockArea & a_Image) :
+ m_Size(a_Image.GetSize()),
+ m_AllowedRotations(0),
+ m_MergeStrategy(cBlockArea::msOverwrite),
+ m_ShouldExtendFloor(false),
+ m_DefaultWeight(1),
+ m_AddWeightIfSame(0),
+ m_MoveToGround(false)
+{
+ m_HitBox.p1.Set(0, 0, 0);
+ m_HitBox.p2.Set(m_Size.x - 1, m_Size.y - 1, m_Size.z - 1);
+ m_BlockArea[0].CopyFrom(a_Image);
+}
+
+
+
+
+
+cPrefab::cPrefab(const AString & a_BlockDefinitions, const AString & a_BlockData, int a_SizeX, int a_SizeY, int a_SizeZ) :
+ m_Size(a_SizeX, a_SizeY, a_SizeZ),
+ m_AllowedRotations(0),
+ m_MergeStrategy(cBlockArea::msOverwrite),
+ m_ShouldExtendFloor(false),
+ m_DefaultWeight(1),
+ m_AddWeightIfSame(0),
+ m_MoveToGround(false)
+{
+ m_HitBox.p1.Set(0, 0, 0);
+ m_HitBox.p2.Set(m_Size.x - 1, m_Size.y - 1, m_Size.z - 1);
+ m_BlockArea[0].Create(m_Size);
+ CharMap cm;
+ ParseCharMap(cm, a_BlockDefinitions.c_str());
+ ParseBlockImage(cm, a_BlockData.c_str());
+}
+
+
+
+
+
void cPrefab::AddRotatedBlockAreas(void)
{
// 1 CCW rotation:
@@ -326,6 +365,16 @@ void cPrefab::AddConnector(int a_RelX, int a_RelY, int a_RelZ, eBlockFace a_Dire
+void cPrefab::SetAllowedRotations(int a_AllowedRotations)
+{
+ m_AllowedRotations = a_AllowedRotations;
+ AddRotatedBlockAreas();
+}
+
+
+
+
+
void cPrefab::ParseCharMap(CharMap & a_CharMapOut, const char * a_CharMapDef)
{
ASSERT(a_CharMapDef != nullptr);
@@ -348,13 +397,13 @@ void cPrefab::ParseCharMap(CharMap & a_CharMapOut, const char * a_CharMapDef)
LOGWARNING("Bad prefab CharMap definition line: \"%s\", skipping.", itr->c_str());
continue;
}
- unsigned char Src = (unsigned char)CharDef[0][0];
+ unsigned char Src = static_cast<unsigned char>(CharDef[0][0]);
ASSERT(a_CharMapOut[Src].m_BlockMeta == 16); // This letter has not been assigned yet?
- a_CharMapOut[Src].m_BlockType = (BLOCKTYPE)atoi(CharDef[1].c_str());
+ a_CharMapOut[Src].m_BlockType = static_cast<BLOCKTYPE>(atoi(CharDef[1].c_str()));
NIBBLETYPE BlockMeta = 0;
if ((NumElements >= 3) && !CharDef[2].empty())
{
- BlockMeta = (NIBBLETYPE)atoi(CharDef[2].c_str());
+ BlockMeta = static_cast<NIBBLETYPE>(atoi(CharDef[2].c_str()));
ASSERT((BlockMeta <= 15));
}
a_CharMapOut[Src].m_BlockMeta = BlockMeta;
@@ -372,7 +421,7 @@ void cPrefab::ParseBlockImage(const CharMap & a_CharMap, const char * a_BlockIma
{
for (int z = 0; z < m_Size.z; z++)
{
- const unsigned char * BlockImage = (const unsigned char *)a_BlockImage + y * m_Size.x * m_Size.z + z * m_Size.x;
+ const unsigned char * BlockImage = reinterpret_cast<const unsigned char *>(a_BlockImage + y * m_Size.x * m_Size.z + z * m_Size.x);
for (int x = 0; x < m_Size.x; x++)
{
const sBlockTypeDef & MappedValue = a_CharMap[BlockImage[x]];
@@ -424,7 +473,7 @@ void cPrefab::ParseConnectors(const char * a_ConnectorsDef)
m_Connectors.push_back(cPiece::cConnector(
atoi(Coords[0].c_str()), atoi(Coords[1].c_str()), atoi(Coords[2].c_str()), // Connector pos
atoi(Defs[0].c_str()), // Connector type
- (eBlockFace)BlockFace
+ static_cast<eBlockFace>(BlockFace)
));
} // for itr - Lines[]
}
diff --git a/src/Generating/Prefab.h b/src/Generating/Prefab.h
index eb905e78e..45af4b282 100644
--- a/src/Generating/Prefab.h
+++ b/src/Generating/Prefab.h
@@ -95,6 +95,13 @@ public:
/** Creates a prefab based on the given BlockArea and allowed rotations. */
cPrefab(const cBlockArea & a_Image, int a_AllowedRotations);
+ /** Creates a prefab based on the given BlockArea. Allowed rotations can be added later on using SetAllowedRotations(). */
+ cPrefab(const cBlockArea & a_Image);
+
+ /** Creates a prefab based on the specified block data, using the char-to-block map in a_BlockDefinitions.
+ Allowed rotations can be added later on using SetAllowedRotations(). */
+ cPrefab(const AString & a_BlockDefinitions, const AString & a_BlockData, int a_SizeX, int a_SizeY, int a_SizeZ);
+
/** Draws the prefab into the specified chunk, according to the placement stored in the PlacedPiece. */
void Draw(cChunkDesc & a_Dest, const cPlacedPiece * a_Placement) const;
@@ -124,6 +131,21 @@ public:
at the coords governed by the connectors. */
bool ShouldMoveToGround(void) const { return m_MoveToGround; }
+ /** Sets the m_AllowedRotations bitmask and fills the m_BlockArea[] with rotated versions of m_BlockArea[0]. */
+ void SetAllowedRotations(int a_AllowedRotations);
+
+ /** Parses the per-depth weight into m_DepthWeight member. */
+ void ParseDepthWeight(const char * a_DepthWeightDef);
+
+ /** Sets the merge strategy to be used when drawing the piece. */
+ void SetMergeStrategy(cBlockArea::eMergeStrategy a_MergeStrategy) { m_MergeStrategy = a_MergeStrategy; }
+
+ /** Sets the flag whether the prefab should be moved to ground level before being drawn. */
+ void SetMoveToGround(bool a_MoveToGround) { m_MoveToGround = a_MoveToGround; }
+
+ /** Sets the flag whether the lowest layer of the prefab should be repeated downwards until it hits a solid block. */
+ void SetExtendFloor(bool a_ShouldExtendFloor) { m_ShouldExtendFloor = a_ShouldExtendFloor; }
+
protected:
/** Packs complete definition of a single block, for per-letter assignment. */
struct sBlockTypeDef
@@ -201,9 +223,6 @@ protected:
/** Parses the connectors definition text into m_Connectors member. */
void ParseConnectors(const char * a_ConnectorsDef);
-
- /** Parses the per-depth weight into m_DepthWeight member. */
- void ParseDepthWeight(const char * a_DepthWeightDef);
};
diff --git a/src/Generating/PrefabPiecePool.cpp b/src/Generating/PrefabPiecePool.cpp
index 895555ef8..e2273aed3 100644
--- a/src/Generating/PrefabPiecePool.cpp
+++ b/src/Generating/PrefabPiecePool.cpp
@@ -5,6 +5,54 @@
#include "Globals.h"
#include "PrefabPiecePool.h"
+#include "../Bindings/LuaState.h"
+#include "SelfTests.h"
+#include "WorldStorage/SchematicFileSerializer.h"
+
+
+
+
+
+// Conditionally log a warning
+#define CONDWARNING(ShouldLog, ...) \
+ if (ShouldLog) \
+ { \
+ LOGWARNING(__VA_ARGS__); \
+ }
+
+
+
+
+
+/** Returns the map of string => eMergeStrategy used when translating cubeset file merge strategies. */
+static std::map<AString, cBlockArea::eMergeStrategy> & GetMergeStrategyMap(void)
+{
+ static std::map<AString, cBlockArea::eMergeStrategy> msmap;
+ if (msmap.empty())
+ {
+ // This is the first use, initialize the map:
+ msmap["msOverwrite"] = cBlockArea::msOverwrite;
+ msmap["msFillAir"] = cBlockArea::msFillAir;
+ msmap["msImprint"] = cBlockArea::msImprint;
+ msmap["msLake"] = cBlockArea::msLake;
+ msmap["msSpongePrint"] = cBlockArea::msSpongePrint;
+ msmap["msDifference"] = cBlockArea::msDifference;
+ msmap["msSimpleCompare"] = cBlockArea::msSimpleCompare;
+ msmap["msMask"] = cBlockArea::msMask;
+ }
+ return msmap;
+}
+
+
+
+
+
+////////////////////////////////////////////////////////////////////////////////
+// cPrefabPiecePool:
+
+cPrefabPiecePool::cPrefabPiecePool(void)
+{
+}
@@ -26,6 +74,15 @@ cPrefabPiecePool::cPrefabPiecePool(
+cPrefabPiecePool::cPrefabPiecePool(const AString & a_FileName, bool a_LogWarnings)
+{
+ LoadFromFile(a_FileName, a_LogWarnings);
+}
+
+
+
+
+
cPrefabPiecePool::~cPrefabPiecePool()
{
Clear();
@@ -83,9 +140,69 @@ void cPrefabPiecePool::AddStartingPieceDefs(const cPrefab::sDef * a_StartingPiec
+bool cPrefabPiecePool::LoadFromFile(const AString & a_FileName, bool a_LogWarnings)
+{
+ // Read the first 4 KiB of the file in order to auto-detect format:
+ cFile f;
+ if (!f.Open(a_FileName, cFile::fmRead))
+ {
+ CONDWARNING(a_LogWarnings, "Cannot open file %s for reading", a_FileName.c_str());
+ return false;
+ }
+ char buf[4096];
+ auto len = f.Read(buf, sizeof(buf));
+ f.Close();
+ AString Header(buf, static_cast<size_t>(len));
+
+ if (Header.find("CubesetFormatVersion =") != AString::npos)
+ {
+ return LoadFromCubesetFile(a_FileName, a_LogWarnings);
+ }
+ CONDWARNING(a_LogWarnings, "Cannot load prefabs from file %s, unknown file format", a_FileName.c_str());
+ return false;
+}
+
+
+
+
+
+bool cPrefabPiecePool::LoadFromCubesetFile(const AString & a_FileName, bool a_LogWarnings)
+{
+ // Load the file in the Lua interpreter:
+ cLuaState Lua(Printf("LoadablePiecePool %s", a_FileName.c_str()));
+ Lua.Create();
+ if (!Lua.LoadFile(a_FileName, a_LogWarnings))
+ {
+ // Reason for failure has already been logged in LoadFile()
+ return false;
+ }
+
+ // Check the version:
+ int Version = 0;
+ if (!Lua.GetNamedGlobal("Cubeset.Metadata.CubesetFormatVersion", Version))
+ {
+ CONDWARNING(a_LogWarnings, "Cannot load cubeset %s, it doesn't contain version information.", a_FileName.c_str());
+ return false;
+ }
+
+ // Load the data, using the correct version loader:
+ if (Version == 1)
+ {
+ return LoadFromCubesetFileVer1(a_FileName, Lua, a_LogWarnings);
+ }
+
+ // Unknown version:
+ CONDWARNING(a_LogWarnings, "Cannot load cubeset %s, version (%d) not supported.", a_FileName.c_str(), Version);
+ return false;
+}
+
+
+
+
+
void cPrefabPiecePool::AddToPerConnectorMap(cPrefab * a_Prefab)
{
- cPiece::cConnectors Connectors = ((const cPiece *)a_Prefab)->GetConnectors();
+ cPiece::cConnectors Connectors = (static_cast<const cPiece *>(a_Prefab))->GetConnectors();
for (cPiece::cConnectors::const_iterator itr = Connectors.begin(), end = Connectors.end(); itr != end; ++itr)
{
m_PiecesByConnector[itr->m_Type].push_back(a_Prefab);
@@ -95,6 +212,377 @@ void cPrefabPiecePool::AddToPerConnectorMap(cPrefab * a_Prefab)
+
+bool cPrefabPiecePool::LoadFromCubesetFileVer1(const AString & a_FileName, cLuaState & a_LuaState, bool a_LogWarnings)
+{
+ // Load the metadata:
+ ApplyPoolMetadataCubesetVer1(a_FileName, a_LuaState, a_LogWarnings);
+
+ // Push the Cubeset.Pieces global value on the stack:
+ lua_getglobal(a_LuaState, "_G");
+ cLuaState::cStackValue stk(a_LuaState);
+ auto pieces = a_LuaState.WalkToValue("Cubeset.Pieces");
+ if (!pieces.IsValid() || !lua_istable(a_LuaState, -1))
+ {
+ CONDWARNING(a_LogWarnings, "The cubeset file %s doesn't contain any pieces", a_FileName.c_str());
+ return false;
+ }
+
+ // Iterate over all items in the Cubeset.Pieces value:
+ int idx = 1;
+ bool res = true;
+ while (true)
+ {
+ lua_pushinteger(a_LuaState, idx); // stk: [Pieces] [idx]
+ lua_gettable(a_LuaState, -2); // stk: [Pieces] [PieceItem]
+ if (!lua_istable(a_LuaState, -1))
+ {
+ // The PieceItem is not present, we've iterated over all items
+ lua_pop(a_LuaState, 1); // stk: [Pieces]
+ break;
+ }
+ if (!LoadCubesetPieceVer1(a_FileName, a_LuaState, idx, a_LogWarnings))
+ {
+ res = false;
+ }
+ lua_pop(a_LuaState, 1); // stk: [Pieces]
+ idx += 1;
+ }
+ return res;
+}
+
+
+
+
+
+bool cPrefabPiecePool::LoadCubesetPieceVer1(const AString & a_FileName, cLuaState & a_LuaState, int a_PieceIndex, bool a_LogWarnings)
+{
+ ASSERT(lua_istable(a_LuaState, -1));
+
+ // The piece name is optional, but useful for debugging messages:
+ AString PieceName;
+ if (!a_LuaState.GetNamedValue("OriginData.ExportName", PieceName))
+ {
+ Printf(PieceName, "Piece #%d", a_PieceIndex);
+ }
+
+ // Read the hitbox dimensions:
+ cCuboid Hitbox;
+ if (
+ !a_LuaState.GetNamedValue("Hitbox.MinX", Hitbox.p1.x) ||
+ !a_LuaState.GetNamedValue("Hitbox.MinY", Hitbox.p1.y) ||
+ !a_LuaState.GetNamedValue("Hitbox.MinZ", Hitbox.p1.z) ||
+ !a_LuaState.GetNamedValue("Hitbox.MaxX", Hitbox.p2.x) ||
+ !a_LuaState.GetNamedValue("Hitbox.MaxY", Hitbox.p2.y) ||
+ !a_LuaState.GetNamedValue("Hitbox.MaxZ", Hitbox.p2.z)
+ )
+ {
+ CONDWARNING(a_LogWarnings, "Cannot load piece %s from file %s, it's missing hitbox information", PieceName.c_str(), a_FileName.c_str());
+ return false;
+ }
+
+ // Load the prefab data:
+ auto prefab = LoadPrefabFromCubesetVer1(a_FileName, a_LuaState, PieceName, a_LogWarnings);
+ if (prefab == nullptr)
+ {
+ return false;
+ }
+
+ // Read the connectors
+ if (!ReadConnectorsCubesetVer1(a_FileName, a_LuaState, PieceName, prefab.get(), a_LogWarnings))
+ {
+ return false;
+ }
+
+ // Read the allowed rotations. It is an optional metadata value, default to 0:
+ int AllowedRotations = 0;
+ a_LuaState.GetNamedValue("Metadata.AllowedRotations", AllowedRotations);
+ prefab->SetAllowedRotations(AllowedRotations);
+
+ // Apply the relevant metadata:
+ if (!ApplyPieceMetadataCubesetVer1(a_FileName, a_LuaState, PieceName, prefab.get(), a_LogWarnings))
+ {
+ return false;
+ }
+
+ // Add the prefab into the list of pieces:
+ int IsStartingPiece = 0;
+ a_LuaState.GetNamedValue("Metadata.IsStarting", IsStartingPiece);
+ if (IsStartingPiece != 0)
+ {
+ m_StartingPieces.push_back(prefab.release());
+ }
+ else
+ {
+ auto p = prefab.release();
+ m_AllPieces.push_back(p);
+ AddToPerConnectorMap(p);
+ }
+ return true;
+}
+
+
+
+
+
+UniquePtr<cPrefab> cPrefabPiecePool::LoadPrefabFromCubesetVer1(
+ const AString & a_FileName,
+ cLuaState & a_LuaState,
+ const AString & a_PieceName,
+ bool a_LogWarnings
+)
+{
+ // First try loading a referenced schematic file, if any:
+ AString SchematicFileName;
+ if (a_LuaState.GetNamedValue("SchematicFileName", SchematicFileName))
+ {
+ auto PathEnd = a_FileName.find_last_of("/\\"); // Find the last path separator
+ if (PathEnd != AString::npos)
+ {
+ SchematicFileName = a_FileName.substr(0, PathEnd) + SchematicFileName;
+ }
+ cBlockArea area;
+ if (!cSchematicFileSerializer::LoadFromSchematicFile(area, SchematicFileName))
+ {
+ CONDWARNING(a_LogWarnings, "Cannot load schematic file \"%s\" for piece %s in cubeset %s.",
+ SchematicFileName.c_str(), a_PieceName.c_str(), a_FileName.c_str()
+ );
+ return nullptr;
+ }
+ return cpp14::make_unique<cPrefab>(area);
+ } // if (SchematicFileName)
+
+ // There's no referenced schematic file, load from BlockDefinitions / BlockData.
+ // Get references to the data and the table.concat function:
+ cLuaState::cRef TableConcat, BlockDefinitions, BlockData;
+ if (
+ !a_LuaState.GetNamedGlobal("table.concat", TableConcat) ||
+ !a_LuaState.GetNamedValue("BlockDefinitions", BlockDefinitions) ||
+ !a_LuaState.GetNamedValue("BlockData", BlockData)
+ )
+ {
+ CONDWARNING(a_LogWarnings, "Cannot parse block data for piece %s in cubeset %s", a_PieceName.c_str(), a_FileName.c_str());
+ return nullptr;
+ }
+
+ // Call table.concat() on the BlockDefinitions:
+ AString BlockDefStr;
+ if (!a_LuaState.Call(TableConcat, BlockDefinitions, "\n", cLuaState::Return, BlockDefStr))
+ {
+ CONDWARNING(a_LogWarnings, "Cannot concat block definitions for piece %s in cubeset %s", a_PieceName.c_str(), a_FileName.c_str());
+ return nullptr;
+ }
+
+ // Call table.concat() on the BlockData:
+ AString BlockDataStr;
+ if (!a_LuaState.Call(TableConcat, BlockData, "", cLuaState::Return, BlockDataStr))
+ {
+ CONDWARNING(a_LogWarnings, "Cannot concat block data for piece %s in cubeset %s", a_PieceName.c_str(), a_FileName.c_str());
+ return nullptr;
+ }
+
+ // Read the size:
+ int SizeX = 0, SizeY = 0, SizeZ = 0;
+ if (
+ !a_LuaState.GetNamedValue("Size.x", SizeX) ||
+ !a_LuaState.GetNamedValue("Size.y", SizeY) ||
+ !a_LuaState.GetNamedValue("Size.z", SizeZ)
+ )
+ {
+ CONDWARNING(a_LogWarnings, "Cannot load piece %s from file %s, its size information is missing", a_PieceName.c_str(), a_FileName.c_str());
+ return nullptr;
+ }
+
+ // Check that the size matches the data length:
+ if (static_cast<size_t>(SizeX * SizeY * SizeZ) != BlockDataStr.size())
+ {
+ CONDWARNING(a_LogWarnings, "Cannot create piece %s from file %s, its size (%d) doesn't match the blockdata length (%u)",
+ a_PieceName.c_str(), a_FileName.c_str(),
+ SizeX * SizeY * SizeZ, static_cast<unsigned>(BlockDataStr.size())
+ );
+ return nullptr;
+ }
+
+ return cpp14::make_unique<cPrefab>(BlockDefStr, BlockDataStr, SizeX, SizeY, SizeZ);
+}
+
+
+
+
+
+bool cPrefabPiecePool::ReadConnectorsCubesetVer1(
+ const AString & a_FileName,
+ cLuaState & a_LuaState,
+ const AString & a_PieceName,
+ cPrefab * a_Prefab,
+ bool a_LogWarnings
+)
+{
+ // Get the Connectors subtable:
+ auto conns = a_LuaState.WalkToValue("Connectors");
+ if (!conns.IsValid())
+ {
+ CONDWARNING(a_LogWarnings, "Cannot load piece %s from file %s, it has no connectors definition.", a_PieceName.c_str(), a_FileName.c_str());
+ return false;
+ }
+
+ // Iterate over all items in the Connectors table:
+ int idx = 1;
+ bool res = true;
+ while (true)
+ {
+ lua_pushinteger(a_LuaState, idx); // stk: [Connectors] [idx]
+ lua_gettable(a_LuaState, -2); // stk: [Connectors] [conn]
+ if (!lua_istable(a_LuaState, -1))
+ {
+ // The connector is not present, we've iterated over all items
+ lua_pop(a_LuaState, 1); // stk: [Connectors]
+ break;
+ }
+ int Type = 0, RelX = 0, RelY = 0, RelZ = 0;
+ eBlockFace Direction = BLOCK_FACE_NONE;
+ if (
+ !a_LuaState.GetNamedValue("Type", Type) ||
+ !a_LuaState.GetNamedValue("RelX", RelX) ||
+ !a_LuaState.GetNamedValue("RelY", RelY) ||
+ !a_LuaState.GetNamedValue("RelZ", RelZ) ||
+ !a_LuaState.GetNamedValue("Direction", Direction)
+ )
+ {
+ CONDWARNING(a_LogWarnings, "Piece %s in file %s has a malformed Connector at index %d. Skipping the connector.", a_PieceName.c_str(), a_FileName.c_str(), idx);
+ res = false;
+ continue;
+ }
+ a_Prefab->AddConnector(RelX, RelY, RelZ, Direction, Type);
+ lua_pop(a_LuaState, 1); // stk: [Connectors]
+ idx += 1;
+ }
+ return res;
+}
+
+
+
+
+
+bool cPrefabPiecePool::ApplyPieceMetadataCubesetVer1(
+ const AString & a_FileName,
+ cLuaState & a_LuaState,
+ const AString & a_PieceName,
+ cPrefab * a_Prefab,
+ bool a_LogWarnings
+)
+{
+ // Push the Metadata table on top of the Lua stack:
+ auto md = a_LuaState.WalkToValue("Metadata");
+ if (!md.IsValid())
+ {
+ return false;
+ }
+
+ // Get the values:
+ int AddWeightIfSame = 0, DefaultWeight = 100, MoveToGround = 0, ShouldExpandFloor = 0;
+ AString DepthWeight, MergeStrategy;
+ a_LuaState.GetNamedValue("AddWeightIfSame", AddWeightIfSame);
+ a_LuaState.GetNamedValue("DefaultWeight", DefaultWeight);
+ a_LuaState.GetNamedValue("DepthWeight", DepthWeight);
+ a_LuaState.GetNamedValue("MergeStrategy", MergeStrategy);
+ a_LuaState.GetNamedValue("MoveToGround", MoveToGround);
+ a_LuaState.GetNamedValue("ShouldExpandFloor", ShouldExpandFloor);
+
+ // Apply the values:
+ a_Prefab->SetAddWeightIfSame(AddWeightIfSame);
+ a_Prefab->SetDefaultWeight(DefaultWeight);
+ a_Prefab->ParseDepthWeight(DepthWeight.c_str());
+ auto msmap = GetMergeStrategyMap();
+ auto strategy = msmap.find(MergeStrategy);
+ if (strategy == msmap.end())
+ {
+ CONDWARNING(a_LogWarnings, "Unknown merge strategy (\"%s\") specified for piece %s in file %s. Using msSpongePrint instead.",
+ MergeStrategy.c_str(), a_PieceName.c_str(), a_FileName.c_str()
+ );
+ a_Prefab->SetMergeStrategy(cBlockArea::msSpongePrint);
+ }
+ else
+ {
+ a_Prefab->SetMergeStrategy(strategy->second);
+ }
+ a_Prefab->SetMoveToGround(MoveToGround != 0);
+ a_Prefab->SetExtendFloor(ShouldExpandFloor != 0);
+
+ return true;
+}
+
+
+
+
+
+bool cPrefabPiecePool::ApplyPoolMetadataCubesetVer1(
+ const AString & a_FileName,
+ cLuaState & a_LuaState,
+ bool a_LogWarnings
+)
+{
+ // Push the Cubeset.Metadata table on top of the Lua stack:
+ lua_getglobal(a_LuaState, "_G");
+ auto md = a_LuaState.WalkToValue("Cubeset.Metadata");
+ if (!md.IsValid())
+ {
+ CONDWARNING(a_LogWarnings, "Cannot load cubeset from file %s: Cubeset.Metadata table is missing", a_FileName.c_str());
+ return false;
+ }
+
+ // Set the metadata values to defaults:
+ m_MinDensity = 100;
+ m_MaxDensity = 100;
+ m_VillageRoadBlockType = E_BLOCK_GRAVEL;
+ m_VillageRoadBlockMeta = 0;
+ m_VillageWaterRoadBlockType = E_BLOCK_PLANKS;
+ m_VillageWaterRoadBlockMeta = 0;
+
+ // Read the metadata values:
+ a_LuaState.GetNamedValue("IntendedUse", m_IntendedUse);
+ a_LuaState.GetNamedValue("MaxDensity", m_MaxDensity);
+ a_LuaState.GetNamedValue("MinDensity", m_MinDensity);
+ a_LuaState.GetNamedValue("VillageRoadBlockType", m_VillageRoadBlockType);
+ a_LuaState.GetNamedValue("VillageRoadBlockMeta", m_VillageRoadBlockMeta);
+ a_LuaState.GetNamedValue("VillageWaterRoadBlockType", m_VillageWaterRoadBlockType);
+ a_LuaState.GetNamedValue("VillageWaterRoadBlockMeta", m_VillageWaterRoadBlockMeta);
+ AString allowedBiomes;
+ if (a_LuaState.GetNamedValue("AllowedBiomes", allowedBiomes))
+ {
+ auto biomes = StringSplitAndTrim(allowedBiomes, ",");
+ for (const auto & biome: biomes)
+ {
+ EMCSBiome b = StringToBiome(biome);
+ if (b == biInvalidBiome)
+ {
+ CONDWARNING(a_LogWarnings, "Invalid biome (\"%s\") specified in AllowedBiomes in cubeset file %s. Skipping the biome.",
+ biome.c_str(), a_FileName.c_str()
+ );
+ continue;
+ }
+ m_AllowedBiomes.insert(b);
+ }
+ }
+ else
+ {
+ // All biomes are allowed:
+ for (int b = biFirstBiome; b <= biMaxBiome; b++)
+ {
+ m_AllowedBiomes.insert(static_cast<EMCSBiome>(b));
+ }
+ for (int b = biFirstVariantBiome; b <= biMaxVariantBiome; b++)
+ {
+ m_AllowedBiomes.insert(static_cast<EMCSBiome>(b));
+ }
+ }
+ return true;
+}
+
+
+
+
+
cPieces cPrefabPiecePool::GetPiecesWithConnector(int a_ConnectorType)
{
return m_PiecesByConnector[a_ConnectorType];
@@ -122,7 +610,7 @@ cPieces cPrefabPiecePool::GetStartingPieces(void)
int cPrefabPiecePool::GetPieceWeight(const cPlacedPiece & a_PlacedPiece, const cPiece::cConnector & a_ExistingConnector, const cPiece & a_NewPiece)
{
- return ((const cPrefab &)a_NewPiece).GetPieceWeight(a_PlacedPiece, a_ExistingConnector);
+ return (static_cast<const cPrefab &>(a_NewPiece)).GetPieceWeight(a_PlacedPiece, a_ExistingConnector);
}
@@ -131,7 +619,7 @@ int cPrefabPiecePool::GetPieceWeight(const cPlacedPiece & a_PlacedPiece, const c
int cPrefabPiecePool::GetStartingPieceWeight(const cPiece & a_NewPiece)
{
- return ((const cPrefab &)a_NewPiece).GetDefaultWeight();
+ return (static_cast<const cPrefab &>(a_NewPiece)).GetDefaultWeight();
}
diff --git a/src/Generating/PrefabPiecePool.h b/src/Generating/PrefabPiecePool.h
index b9c1f0483..f7bf41994 100644
--- a/src/Generating/PrefabPiecePool.h
+++ b/src/Generating/PrefabPiecePool.h
@@ -9,6 +9,7 @@
#pragma once
+#include <unordered_set>
#include "PieceGenerator.h"
#include "Prefab.h"
@@ -16,6 +17,13 @@
+// fwd:
+class cLuaState;
+
+
+
+
+
class cPrefabPiecePool :
public cPiecePool
{
@@ -34,6 +42,10 @@ public:
const cPrefab::sDef * a_StartingPieceDefs, size_t a_NumStartingPieceDefs
);
+ /** Creates a pool and loads the contents of the specified file into it.
+ If a_LogWarnings is true, logs a warning to console when loading fails. */
+ cPrefabPiecePool(const AString & a_FileName, bool a_LogWarnings);
+
/** Destroys the pool, freeing all pieces. */
~cPrefabPiecePool();
@@ -50,6 +62,40 @@ public:
May be called multiple times with different PieceDefs, will add all such pieces. */
void AddStartingPieceDefs(const cPrefab::sDef * a_StartingPieceDefs, size_t a_NumStartingPieceDefs);
+ /** Loads the pieces from the specified file. Returns true if successful, false on error.
+ If a_LogWarnings is true, logs a warning to console when loading fails. */
+ bool LoadFromFile(const AString & a_FileName, bool a_LogWarnings);
+
+ /** Loads the pieces from the specified Cubeset file. Returns true if successful, false on error.
+ If a_LogWarnings is true, logs a warning to console when loading fails. */
+ bool LoadFromCubesetFile(const AString & a_FileName, bool a_LogWarnings);
+
+ /** Returns the number of regular (non-starting) pieces. */
+ size_t GetAllPiecesCount(void) const { return m_AllPieces.size(); }
+
+ /** Returns the number of starting pieces. */
+ size_t GetStartingPiecesCount(void) const { return m_StartingPieces.size(); }
+
+ // Metadata accessors:
+ const AString & GetIntendedUse(void) const { return m_IntendedUse; }
+ int GetMinDensity(void) const { return m_MinDensity; }
+ int GetMaxDensity(void) const { return m_MaxDensity; }
+ BLOCKTYPE GetVillageRoadBlockType (void) const { return m_VillageRoadBlockType; }
+ NIBBLETYPE GetVillageRoadBlockMeta (void) const { return m_VillageRoadBlockMeta; }
+ BLOCKTYPE GetVillageWaterRoadBlockType(void) const { return m_VillageWaterRoadBlockType; }
+ NIBBLETYPE GetVillageWaterRoadBlockMeta(void) const { return m_VillageWaterRoadBlockMeta; }
+
+ /** Returns true if a_Biome is among the accepted biomes in the m_AcceptedBiomes metadata member. */
+ bool IsBiomeAllowed(EMCSBiome a_Biome) const { return (m_AllowedBiomes.find(a_Biome) != m_AllowedBiomes.end()); }
+
+ // cPiecePool overrides:
+ virtual cPieces GetPiecesWithConnector(int a_ConnectorType) override;
+ virtual cPieces GetStartingPieces(void) override;
+ virtual int GetPieceWeight(const cPlacedPiece & a_PlacedPiece, const cPiece::cConnector & a_ExistingConnector, const cPiece & a_NewPiece) override;
+ virtual int GetStartingPieceWeight(const cPiece & a_NewPiece) override;
+ virtual void PiecePlaced(const cPiece & a_Piece) override;
+ virtual void Reset(void) override;
+
protected:
/** The type used to map a connector type to the list of pieces with that connector */
@@ -67,17 +113,97 @@ protected:
The pieces are copies out of m_AllPieces and shouldn't be ever delete-d. */
cPiecesMap m_PiecesByConnector;
+ /** The intended use of this piece pool, as specified by the pool's metadata. */
+ AString m_IntendedUse;
+
+ /** The minimum density, as read from the metadata. */
+ int m_MinDensity;
+
+ /** The maximum density, as read from the metadata. */
+ int m_MaxDensity;
+
+ /** The block type to use for the village roads. */
+ BLOCKTYPE m_VillageRoadBlockType;
+
+ /** The block meta to use for the village roads. */
+ NIBBLETYPE m_VillageRoadBlockMeta;
+
+ /** The block type used for the village roads if the road is on water. */
+ BLOCKTYPE m_VillageWaterRoadBlockType;
+
+ /** The block meta used for the village roads if the road is on water. */
+ NIBBLETYPE m_VillageWaterRoadBlockMeta;
+
+ /** A set of allowed biomes for the pool. The pool will only be used within the specified biomes. */
+ std::unordered_set<EMCSBiome, BiomeHasher> m_AllowedBiomes;
+
/** Adds the prefab to the m_PiecesByConnector map for all its connectors. */
void AddToPerConnectorMap(cPrefab * a_Prefab);
+
+ /** Loads the pieces from the cubeset file parsed into the specified Lua state.
+ Returns true on success, false on error.
+ If a_LogWarnings is true, logs a warning to console when loading fails. */
+ bool LoadFromCubesetFileVer1(const AString & a_FileName, cLuaState & a_LuaState, bool a_LogWarnings);
+
+ /** Loads a single piece from the cubeset file parsed into the specified Lua state.
+ The piece's definition table is expected to be at the top of the Lua stack.
+ Returns true on success, false on error.
+ a_PieceIndex is the index of the piece, in the Pieces table. It is used for logging only.
+ If a_LogWarnings is true, logs a warning to console when loading fails. */
+ bool LoadCubesetPieceVer1(const AString & a_FileName, cLuaState & a_LuaState, int a_PieceIndex, bool a_LogWarnings);
+
+ /** Loads a single piece's prefab from the cubeset file parsed into the specified Lua state.
+ The piece's definition table is expected to be at the top of the Lua stack.
+ Returns the prefab on success, nullptr on failure.
+ a_PieceName is the identification of the piece, used for logging only.
+ If a_LogWarnings is true, logs a warning to console when loading fails. */
+ UniquePtr<cPrefab> LoadPrefabFromCubesetVer1(
+ const AString & a_FileName,
+ cLuaState & a_LuaState,
+ const AString & a_PieceName,
+ bool a_LogWarnings
+ );
- // cPiecePool overrides:
- virtual cPieces GetPiecesWithConnector(int a_ConnectorType) override;
- virtual cPieces GetStartingPieces(void) override;
- virtual int GetPieceWeight(const cPlacedPiece & a_PlacedPiece, const cPiece::cConnector & a_ExistingConnector, const cPiece & a_NewPiece) override;
- virtual int GetStartingPieceWeight(const cPiece & a_NewPiece) override;
- virtual void PiecePlaced(const cPiece & a_Piece) override;
- virtual void Reset(void) override;
+ /** Reads a single piece's connectors from the cubeset file parsed into the specified Lua state.
+ The piece's definition table is expected to be at the top of the Lua stack.
+ Returns true on success, false on failure.
+ The connectors are added into the a_Prefab object.
+ No Connectors table is considered a failure, empty Connectors table is considered a success.
+ If any of the connectors are malformed, it is considered a failure, although the rest of the connectors will still load.
+ a_PieceName is the identification of the piece, used for logging only.
+ If a_LogWarnings is true, logs a warning to console when loading fails. */
+ bool ReadConnectorsCubesetVer1(
+ const AString & a_FileName,
+ cLuaState & a_LuaState,
+ const AString & a_PieceName,
+ cPrefab * a_Prefab,
+ bool a_LogWarnings
+ );
+
+ /** Reads a single piece's metadata from the cubeset file parsed into the specified Lua state.
+ The piece's definition table is expected to be at the top of the Lua stack.
+ Returns true on success, false on failure.
+ The metadata is applied into the a_Prefab object.
+ a_PieceName is the identification of the piece, used for logging only.
+ If a_LogWarnings is true, logs a warning to console when loading fails. */
+ bool ApplyPieceMetadataCubesetVer1(
+ const AString & a_FileName,
+ cLuaState & a_LuaState,
+ const AString & a_PieceName,
+ cPrefab * a_Prefab,
+ bool a_LogWarnings
+ );
+
+ /** Reads the metadata for the entire pool from the cubeset file parsed into the specified Lua state.
+ Returns true on success, false on failure.
+ The metadata is applied into "this".
+ If a_LogWarnings is true, logs a warning to console when loading fails. */
+ bool ApplyPoolMetadataCubesetVer1(
+ const AString & a_FileName,
+ cLuaState & a_LuaState,
+ bool a_LogWarnings
+ );
} ;
diff --git a/src/Generating/Prefabs/AlchemistVillagePrefabs.cpp b/src/Generating/Prefabs/AlchemistVillagePrefabs.cpp
deleted file mode 100644
index c08e53ef6..000000000
--- a/src/Generating/Prefabs/AlchemistVillagePrefabs.cpp
+++ /dev/null
@@ -1,3590 +0,0 @@
-
-// AlchemistVillagePrefabs.cpp
-
-// Defines the prefabs in the group AlchemistVillage
-
-// NOTE: This file has been generated automatically by GalExport!
-// Any manual changes will be overwritten by the next automatic export!
-
-#include "Globals.h"
-#include "AlchemistVillagePrefabs.h"
-
-
-
-
-
-const cPrefab::sDef g_AlchemistVillagePrefabs[] =
-{
- ////////////////////////////////////////////////////////////////////////////////
- // BarWithBasement:
- // The data has been exported from the gallery Desert, area index 82, ID 598, created by STR_Warrior
- {
- // Size:
- 11, 12, 10, // SizeX = 11, SizeY = 12, SizeZ = 10
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 11, 11, 10, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "A: 65: 3\n" /* ladder */
- "B: 50: 3\n" /* torch */
- "C:171: 8\n" /* carpet */
- "D:101: 0\n" /* ironbars */
- "E: 64: 8\n" /* wooddoorblock */
- "F:128: 2\n" /* sandstonestairs */
- "G: 24: 1\n" /* sandstone */
- "H: 44: 9\n" /* step */
- "I:126: 8\n" /* woodenslab */
- "J:128: 7\n" /* sandstonestairs */
- "K: 44: 1\n" /* step */
- "L: 64: 3\n" /* wooddoorblock */
- "M:128: 6\n" /* sandstonestairs */
- "a: 24: 2\n" /* sandstone */
- "b: 1: 0\n" /* stone */
- "c: 24: 0\n" /* sandstone */
- "d: 12: 0\n" /* sand */
- "e:134: 4\n" /* 134 */
- "f: 5: 1\n" /* wood */
- "g:134: 5\n" /* 134 */
- "h: 65: 5\n" /* ladder */
- "i: 17: 3\n" /* tree */
- "j: 69:11\n" /* lever */
- "k: 4: 0\n" /* cobblestone */
- "l:134: 0\n" /* 134 */
- "m: 19: 0\n" /* sponge */
- "n:134: 1\n" /* 134 */
- "o: 50: 4\n" /* torch */
- "p: 13: 0\n" /* gravel */
- "q: 5: 0\n" /* wood */
- "r: 96: 8\n" /* trapdoor */
- "s:128: 5\n" /* sandstonestairs */
- "t:107: 2\n" /* fencegate */
- "u:128: 4\n" /* sandstonestairs */
- "v:134: 3\n" /* 134 */
- "w: 85: 0\n" /* fence */
- "x:134: 7\n" /* 134 */
- "y:107: 5\n" /* fencegate */
- "z: 64: 1\n" /* wooddoorblock */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmabbbammm"
- /* 1 */ "mcccccccccm"
- /* 2 */ "abcccccccba"
- /* 3 */ "cbcccccccbc"
- /* 4 */ "cbcccccccbc"
- /* 5 */ "cbcccccccbc"
- /* 6 */ "cbcccccccbc"
- /* 7 */ "cbcccccccbc"
- /* 8 */ "abbbbbbbbba"
- /* 9 */ "mmmmmmmmmmm"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmadddammm"
- /* 1 */ "mcccccccccm"
- /* 2 */ "acefg.efgca"
- /* 3 */ "ccefg.efgcc"
- /* 4 */ "ccefg.efgcc"
- /* 5 */ "cc.......cc"
- /* 6 */ "cc.......cc"
- /* 7 */ "cch......cc"
- /* 8 */ "accccccccca"
- /* 9 */ "mmmmmmmmmmm"
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmadddammm"
- /* 1 */ "mcccccccccm"
- /* 2 */ "acfff.fffca"
- /* 3 */ "ccfff.fffcc"
- /* 4 */ "ccfif.fifcc"
- /* 5 */ "cc.j...j.cc"
- /* 6 */ "cc.......cc"
- /* 7 */ "cch......cc"
- /* 8 */ "accccccccca"
- /* 9 */ "mmmmmmmmmmm"
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmakkkammm"
- /* 1 */ "mcccccccccm"
- /* 2 */ "aclfn.lfnca"
- /* 3 */ "cclfn.lfncc"
- /* 4 */ "cclfn.lfncc"
- /* 5 */ "cc.......cc"
- /* 6 */ "cc.......cc"
- /* 7 */ "cch..o...cc"
- /* 8 */ "accccccccca"
- /* 9 */ "mmmmmmmmmmm"
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmapppammm"
- /* 1 */ "mmmmpppmmmm"
- /* 2 */ "acccqqqccca"
- /* 3 */ "cqqqqqqqqqc"
- /* 4 */ "cqqqqqqqqqc"
- /* 5 */ "cqqqqqqqqqc"
- /* 6 */ "cqqqqqqqqqc"
- /* 7 */ "cqrqqqqqqqc"
- /* 8 */ "aqcccccccca"
- /* 9 */ "mmmmmmmmmmm"
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmma...ammm"
- /* 1 */ "mmm.....mmm"
- /* 2 */ "acccstuccca"
- /* 3 */ "cnv.....vvc"
- /* 4 */ "cnw.....wlc"
- /* 5 */ "c.........c"
- /* 6 */ "cgxxe.....c"
- /* 7 */ "c...y..nwlc"
- /* 8 */ "azcccccccca"
- /* 9 */ "mmAmmmmmmmm"
-
- // Level 6
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmma...ammm"
- /* 1 */ "mmm.....mmm"
- /* 2 */ "accc...ccca"
- /* 3 */ "c..B...B..c"
- /* 4 */ "c.C.....C.c"
- /* 5 */ "D.........D"
- /* 6 */ "c.........c"
- /* 7 */ "c.......C.c"
- /* 8 */ "aEccDDDccca"
- /* 9 */ "mmAmmmmmmmm"
-
- // Level 7
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmF...Fmmm"
- /* 1 */ "mmmG...cmmm"
- /* 2 */ "acccsHuccca"
- /* 3 */ "cIIIIIIIIIc"
- /* 4 */ "cIIIIIIIIIc"
- /* 5 */ "uIIIIIIIIIs"
- /* 6 */ "cIIIIIIIIIc"
- /* 7 */ "cIIIIIIIIIc"
- /* 8 */ "acccJJJccca"
- /* 9 */ "mmAmmmmmmmm"
-
- // Level 8
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmm.....mmm"
- /* 1 */ "mmm.....mmm"
- /* 2 */ "cKKKKcKKKKc"
- /* 3 */ "KacccccccaK"
- /* 4 */ "Kc.......cK"
- /* 5 */ "cc.......cc"
- /* 6 */ "Kc.......cK"
- /* 7 */ "KaLccccccaK"
- /* 8 */ "cK.KKcKKKKc"
- /* 9 */ "mmmmmmmmmmm"
-
- // Level 9
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ ".accDDDcca."
- /* 4 */ ".c.......c."
- /* 5 */ ".D.......D."
- /* 6 */ ".c.......c."
- /* 7 */ ".aEcDDDcca."
- /* 8 */ "..........."
- /* 9 */ "..........."
-
- // Level 10
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ ".accMMMcca."
- /* 4 */ ".cIIIIIIIc."
- /* 5 */ ".uIIIIIIIs."
- /* 6 */ ".cIIIIIIIc."
- /* 7 */ ".accJJJcca."
- /* 8 */ "..........."
- /* 9 */ "..........."
-
- // Level 11
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ ".cKKKcKKKc."
- /* 4 */ ".K.......K."
- /* 5 */ ".c.......c."
- /* 6 */ ".K.......K."
- /* 7 */ ".cKKKcKKKc."
- /* 8 */ "..........."
- /* 9 */ "...........",
-
- // Connectors:
- "-1: 5, 5, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 70,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // BarWithBasement
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // BarWithoutBasement:
- // The data has been exported from the gallery Desert, area index 81, ID 597, created by STR_Warrior
- {
- // Size:
- 11, 9, 10, // SizeX = 11, SizeY = 9, SizeZ = 10
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 11, 8, 10, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "A:126: 8\n" /* woodenslab */
- "B:128: 7\n" /* sandstonestairs */
- "C: 44: 1\n" /* step */
- "D: 64: 3\n" /* wooddoorblock */
- "E:128: 6\n" /* sandstonestairs */
- "a: 24: 2\n" /* sandstone */
- "b: 4: 0\n" /* cobblestone */
- "c: 24: 0\n" /* sandstone */
- "d: 13: 0\n" /* gravel */
- "e: 5: 0\n" /* wood */
- "f:128: 5\n" /* sandstonestairs */
- "g:107: 2\n" /* fencegate */
- "h:128: 4\n" /* sandstonestairs */
- "i:134: 1\n" /* 134 */
- "j:134: 3\n" /* 134 */
- "k: 85: 0\n" /* fence */
- "l:134: 0\n" /* 134 */
- "m: 19: 0\n" /* sponge */
- "n:134: 5\n" /* 134 */
- "o:134: 7\n" /* 134 */
- "p:134: 4\n" /* 134 */
- "q:107: 1\n" /* fencegate */
- "r: 64: 1\n" /* wooddoorblock */
- "s: 65: 3\n" /* ladder */
- "t: 50: 3\n" /* torch */
- "u:171: 8\n" /* carpet */
- "v:101: 0\n" /* ironbars */
- "w: 64: 8\n" /* wooddoorblock */
- "x:128: 2\n" /* sandstonestairs */
- "y: 24: 1\n" /* sandstone */
- "z: 44: 9\n" /* step */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmabbbammm"
- /* 1 */ "mmmmbbbmmmm"
- /* 2 */ "accccccccca"
- /* 3 */ "ccccccccccc"
- /* 4 */ "ccccccccccc"
- /* 5 */ "ccccccccccc"
- /* 6 */ "ccccccccccc"
- /* 7 */ "ccccccccccc"
- /* 8 */ "accccccccca"
- /* 9 */ "mmmmmmmmmmm"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmadddammm"
- /* 1 */ "mmmmdddmmmm"
- /* 2 */ "accceeeccca"
- /* 3 */ "ceeeeeeeeec"
- /* 4 */ "ceeeeeeeeec"
- /* 5 */ "ceeeeeeeeec"
- /* 6 */ "ceeeeeeeeec"
- /* 7 */ "ceeeeeeeeec"
- /* 8 */ "aecccccccca"
- /* 9 */ "mmmmmmmmmmm"
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmma...ammm"
- /* 1 */ "mmm.....mmm"
- /* 2 */ "acccfghccca"
- /* 3 */ "cij.....jjc"
- /* 4 */ "cik.....klc"
- /* 5 */ "c.........c"
- /* 6 */ "cnoop.....c"
- /* 7 */ "c...q..iklc"
- /* 8 */ "arcccccccca"
- /* 9 */ "mmsmmmmmmmm"
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmma...ammm"
- /* 1 */ "mmm.....mmm"
- /* 2 */ "accc...ccca"
- /* 3 */ "c..t...t..c"
- /* 4 */ "c.u.....u.c"
- /* 5 */ "v.........v"
- /* 6 */ "c.........c"
- /* 7 */ "c.......u.c"
- /* 8 */ "awccvvvccca"
- /* 9 */ "mmsmmmmmmmm"
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmx...xmmm"
- /* 1 */ "mmmy...cmmm"
- /* 2 */ "acccfzhccca"
- /* 3 */ "cAAAAAAAAAc"
- /* 4 */ "cAAAAAAAAAc"
- /* 5 */ "hAAAAAAAAAf"
- /* 6 */ "cAAAAAAAAAc"
- /* 7 */ "cAAAAAAAAAc"
- /* 8 */ "acccBBBccca"
- /* 9 */ "mmsmmmmmmmm"
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmm.....mmm"
- /* 1 */ "mmm.....mmm"
- /* 2 */ "cCCCCcCCCCc"
- /* 3 */ "CacccccccaC"
- /* 4 */ "Cc.......cC"
- /* 5 */ "cc.......cc"
- /* 6 */ "Cc.......cC"
- /* 7 */ "CaDccccccaC"
- /* 8 */ "cC.CCcCCCCc"
- /* 9 */ "mmmmmmmmmmm"
-
- // Level 6
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ ".accvvvcca."
- /* 4 */ ".c.......c."
- /* 5 */ ".v.......v."
- /* 6 */ ".c.......c."
- /* 7 */ ".awcvvvcca."
- /* 8 */ "..........."
- /* 9 */ "..........."
-
- // Level 7
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ ".accEEEcca."
- /* 4 */ ".cAAAAAAAc."
- /* 5 */ ".hAAAAAAAf."
- /* 6 */ ".cAAAAAAAc."
- /* 7 */ ".accBBBcca."
- /* 8 */ "..........."
- /* 9 */ "..........."
-
- // Level 8
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ ".cCCCcCCCc."
- /* 4 */ ".C.......C."
- /* 5 */ ".c.......c."
- /* 6 */ ".C.......C."
- /* 7 */ ".cCCCcCCCc."
- /* 8 */ "..........."
- /* 9 */ "...........",
-
- // Connectors:
- "-1: 5, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 80,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // BarWithoutBasement
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // BlackSmith:
- // The data has been exported from the gallery Desert, area index 97, ID 642, created by STR_Warrior
- {
- // Size:
- 11, 6, 13, // SizeX = 11, SizeY = 6, SizeZ = 13
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 11, 5, 13, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 2\n" /* sandstone */
- "b: 4: 0\n" /* cobblestone */
- "c: 24: 0\n" /* sandstone */
- "d: 13: 0\n" /* gravel */
- "e: 5: 0\n" /* wood */
- "f: 12: 0\n" /* sand */
- "g: 64: 3\n" /* wooddoorblock */
- "h: 43: 0\n" /* doubleslab */
- "i: 53: 5\n" /* woodstairs */
- "j: 53: 4\n" /* woodstairs */
- "k: 10: 0\n" /* lava */
- "l: 54: 5\n" /* chest */
- "m: 19: 0\n" /* sponge */
- "n: 64: 8\n" /* wooddoorblock */
- "o: 50: 3\n" /* torch */
- "p:101: 0\n" /* ironbars */
- "q: 50: 1\n" /* torch */
- "r: 50: 2\n" /* torch */
- "s:128: 2\n" /* sandstonestairs */
- "t: 44: 9\n" /* step */
- "u:126: 8\n" /* woodenslab */
- "v:128: 4\n" /* sandstonestairs */
- "w:128: 5\n" /* sandstonestairs */
- "x:128: 7\n" /* sandstonestairs */
- "y: 44: 1\n" /* step */
- "z: 43: 1\n" /* doubleslab */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmmabbba"
- /* 1 */ "mmmmmmbbbbm"
- /* 2 */ "mmmmmmaccca"
- /* 3 */ "maccccccccc"
- /* 4 */ "mcccccccccc"
- /* 5 */ "mcccccccccc"
- /* 6 */ "mcccccacccc"
- /* 7 */ "mcccccacccc"
- /* 8 */ "acccaaacccc"
- /* 9 */ "ccccccccccc"
- /* 10 */ "ccccccccccc"
- /* 11 */ "ccccccccccc"
- /* 12 */ "accccccccca"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmmaddda"
- /* 1 */ "mmmmmmddddm"
- /* 2 */ "mmmmmmaceca"
- /* 3 */ "mafcfcceeec"
- /* 4 */ "mcfccfceeec"
- /* 5 */ "mcccccceeec"
- /* 6 */ "mcffaaaeeec"
- /* 7 */ "mffcaaaeeec"
- /* 8 */ "acccaaaeeec"
- /* 9 */ "ceeeeeeeeec"
- /* 10 */ "ceeeeeeeeec"
- /* 11 */ "ceeeeeeeeec"
- /* 12 */ "accccccccca"
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmma...a"
- /* 1 */ "mmmmmm....."
- /* 2 */ "mmmmmmacgca"
- /* 3 */ "ma....c...c"
- /* 4 */ "m.h...c...c"
- /* 5 */ "m.....c...c"
- /* 6 */ "m...aac...c"
- /* 7 */ "mij.akc...c"
- /* 8 */ "accccca...c"
- /* 9 */ "cl........c"
- /* 10 */ "c.........c"
- /* 11 */ "c.........c"
- /* 12 */ "accccccccca"
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmma...a"
- /* 1 */ "mmmmmm....."
- /* 2 */ "mmmmmmacnca"
- /* 3 */ "ma....c..oc"
- /* 4 */ "m.....p...c"
- /* 5 */ "m.....c...c"
- /* 6 */ "m...ppc...p"
- /* 7 */ "m...p.c...p"
- /* 8 */ "accccca...p"
- /* 9 */ "cq........c"
- /* 10 */ "p.........c"
- /* 11 */ "c........rc"
- /* 12 */ "acccpppccca"
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmms...s"
- /* 1 */ "mmmmmmc...c"
- /* 2 */ "mmmmmmaccca"
- /* 3 */ "mattttcuuuc"
- /* 4 */ "mtuuuuvuuuc"
- /* 5 */ "mtuuuucuuuc"
- /* 6 */ "mtuuaacuuuw"
- /* 7 */ "mtuua.cuuuw"
- /* 8 */ "acccccauuuw"
- /* 9 */ "cuuuuuuuuuc"
- /* 10 */ "vuuuuuuuuuc"
- /* 11 */ "cuuuuuuuuuc"
- /* 12 */ "acccxxxccca"
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmm....."
- /* 1 */ "mmmmmm....."
- /* 2 */ "mmmmmmcyyyc"
- /* 3 */ "my.y.yy...y"
- /* 4 */ "m.....y...y"
- /* 5 */ "my....y...y"
- /* 6 */ "m...zyz...y"
- /* 7 */ "my..y.y...c"
- /* 8 */ "cyyyzyc...y"
- /* 9 */ "y.........y"
- /* 10 */ "y.........y"
- /* 11 */ "y.........y"
- /* 12 */ "cyyyycyyyyc",
-
- // Connectors:
- "-1: 8, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 50,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- false,
- }, // BlackSmith
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // LargeHouse1:
- // The data has been exported from the gallery Desert, area index 77, ID 577, created by STR_Warrior
- {
- // Size:
- 15, 14, 11, // SizeX = 15, SizeY = 14, SizeZ = 11
-
- // Hitbox (relative to bounding box):
- -1, 0, -1, // MinX, MinY, MinZ
- 14, 13, 11, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "A: 96:10\n" /* trapdoor */
- "B:128: 4\n" /* sandstonestairs */
- "C:128: 5\n" /* sandstonestairs */
- "D:128: 7\n" /* sandstonestairs */
- "E: 44: 1\n" /* step */
- "F:128: 2\n" /* sandstonestairs */
- "G:128: 0\n" /* sandstonestairs */
- "H: 87: 0\n" /* netherstone */
- "I:128: 3\n" /* sandstonestairs */
- "J: 51: 0\n" /* fire */
- "K: 44: 9\n" /* step */
- "a: 24: 2\n" /* sandstone */
- "b: 24: 0\n" /* sandstone */
- "c: 12: 0\n" /* sand */
- "d: 4: 0\n" /* cobblestone */
- "e: 5: 0\n" /* wood */
- "f: 13: 0\n" /* gravel */
- "g: 85: 0\n" /* fence */
- "h: 5: 1\n" /* wood */
- "i: 64: 2\n" /* wooddoorblock */
- "j: 64: 0\n" /* wooddoorblock */
- "k: 61: 2\n" /* furnace */
- "l:118: 0\n" /* cauldronblock */
- "m: 19: 0\n" /* sponge */
- "n:134: 4\n" /* 134 */
- "o: 65: 2\n" /* ladder */
- "p:101: 0\n" /* ironbars */
- "q: 50: 1\n" /* torch */
- "r:140: 0\n" /* flowerpotblock */
- "s: 64: 8\n" /* wooddoorblock */
- "t: 50: 3\n" /* torch */
- "u: 69:12\n" /* lever */
- "v: 50: 4\n" /* torch */
- "w:128: 6\n" /* sandstonestairs */
- "x: 44:10\n" /* step */
- "y:128: 1\n" /* sandstonestairs */
- "z: 47: 0\n" /* bookshelf */,
-
- // Block data:
- // Level 0
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "mmmmabbbbbbbamm"
- /* 1 */ "ccccbbbbbbbbbma"
- /* 2 */ "ccccbbbbbbbbbdd"
- /* 3 */ "ccccbbbbbbbbbdd"
- /* 4 */ "ccccbbbbbbbbbdd"
- /* 5 */ "ccccbbbbbbbbbma"
- /* 6 */ "ccccbbbbbbbbbmm"
- /* 7 */ "mmmmbbbbbbbbbmm"
- /* 8 */ "mmmmbbbbbbbbbmm"
- /* 9 */ "mmmmbbbbbbbbbmm"
- /* 10 */ "mmmmabbbbbbbamm"
-
- // Level 1
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "mmmmabbbbbbbamm"
- /* 1 */ "ccccbeeeeeeebma"
- /* 2 */ "cccceeeeeeeebff"
- /* 3 */ "ccccbeeeeeeeeff"
- /* 4 */ "ccccbeeeeeeebff"
- /* 5 */ "ccccbeeeeeeebma"
- /* 6 */ "ccccbeeeeeeebmm"
- /* 7 */ "mmmmbeeeeeeebmm"
- /* 8 */ "mmmmbeeeeeeebmm"
- /* 9 */ "mmmmbeeeeeeebmm"
- /* 10 */ "mmmmabbbbbbbamm"
-
- // Level 2
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "mmmmabbbbbbbamm"
- /* 1 */ "ggggb......hb.a"
- /* 2 */ "g...i.......b.."
- /* 3 */ "g...b.......j.."
- /* 4 */ "g...bkln..o.b.."
- /* 5 */ "g...bbbb.bbbb.a"
- /* 6 */ "ggggb.......bmm"
- /* 7 */ "mmmmb.......bmm"
- /* 8 */ "mmmmb.......bmm"
- /* 9 */ "mmmmb.......bmm"
- /* 10 */ "mmmmabbbbbbbamm"
-
- // Level 3
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "mmmmabbpppbbamm"
- /* 1 */ "....bq.....rb.a"
- /* 2 */ "....s.......b.t"
- /* 3 */ "....b.......s.."
- /* 4 */ "....b.u...o.b.v"
- /* 5 */ "....bbbb.bbbb.a"
- /* 6 */ "....p..t.t..pmm"
- /* 7 */ "mmmmp.......pmm"
- /* 8 */ "mmmmp.......pmm"
- /* 9 */ "mmmmb.......bmm"
- /* 10 */ "mmmmabbpppbbamm"
-
- // Level 4
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "mmmmabbwwwbbamm"
- /* 1 */ "....bxxxxxxxbby"
- /* 2 */ "....bxxxxxxxb.."
- /* 3 */ "....bxxxxxxxb.."
- /* 4 */ "....bzzzxxAxb.."
- /* 5 */ "....bbbbbbbbbby"
- /* 6 */ "....BxxxxxxxCmm"
- /* 7 */ "mmmmBxxxxxxxCmm"
- /* 8 */ "mmmmBxxxxxxxCmm"
- /* 9 */ "mmmmbxxxxxxxbmm"
- /* 10 */ "mmmmabbDDDbbamm"
-
- // Level 5
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "mmmmbEEEbEEEbmm"
- /* 1 */ "....EabbbbbaE.."
- /* 2 */ "....Eb.....bE.."
- /* 3 */ "....Eb.....bE.."
- /* 4 */ "....Eb.....bE.."
- /* 5 */ "....babb.bbab.."
- /* 6 */ "....E.......Emm"
- /* 7 */ "mmmmE.......Emm"
- /* 8 */ "mmmmE.......Emm"
- /* 9 */ "mmmmE.......Emm"
- /* 10 */ "mmmmbEEEbEEEbmm"
-
- // Level 6
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".....abbpbba..."
- /* 2 */ ".....p.....p..."
- /* 3 */ ".....p.....p..."
- /* 4 */ ".....p.....p..."
- /* 5 */ ".....abb.bba..."
- /* 6 */ "..............."
- /* 7 */ "..............."
- /* 8 */ "..............."
- /* 9 */ "..............."
- /* 10 */ "..............."
-
- // Level 7
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".....abbwbba..."
- /* 2 */ ".....BxxxxxC..."
- /* 3 */ ".....BxxxxxC..."
- /* 4 */ ".....BxxxxxC..."
- /* 5 */ ".....abbbbba..."
- /* 6 */ "..............."
- /* 7 */ "..............."
- /* 8 */ "..............."
- /* 9 */ "..............."
- /* 10 */ "..............."
-
- // Level 8
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".....bEEbEEb..."
- /* 2 */ ".....E.bbb.E..."
- /* 3 */ ".....b.bbb.b..."
- /* 4 */ ".....E.bbb.E..."
- /* 5 */ ".....bEEbEEb..."
- /* 6 */ "..............."
- /* 7 */ "..............."
- /* 8 */ "..............."
- /* 9 */ "..............."
- /* 10 */ "..............."
-
- // Level 9
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ ".......aFa....."
- /* 3 */ ".......GHy....."
- /* 4 */ ".......aIa....."
- /* 5 */ "..............."
- /* 6 */ "..............."
- /* 7 */ "..............."
- /* 8 */ "..............."
- /* 9 */ "..............."
- /* 10 */ "..............."
-
- // Level 10
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ ".......a.a....."
- /* 3 */ "........J......"
- /* 4 */ ".......a.a....."
- /* 5 */ "..............."
- /* 6 */ "..............."
- /* 7 */ "..............."
- /* 8 */ "..............."
- /* 9 */ "..............."
- /* 10 */ "..............."
-
- // Level 11
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ ".......awa....."
- /* 3 */ ".......B.C....."
- /* 4 */ ".......aDa....."
- /* 5 */ "..............."
- /* 6 */ "..............."
- /* 7 */ "..............."
- /* 8 */ "..............."
- /* 9 */ "..............."
- /* 10 */ "..............."
-
- // Level 12
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ ".......bbb....."
- /* 3 */ ".......bKb....."
- /* 4 */ ".......bbb....."
- /* 5 */ "..............."
- /* 6 */ "..............."
- /* 7 */ "..............."
- /* 8 */ "..............."
- /* 9 */ "..............."
- /* 10 */ "..............."
-
- // Level 13
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ ".......E.E....."
- /* 3 */ "..............."
- /* 4 */ ".......E.E....."
- /* 5 */ "..............."
- /* 6 */ "..............."
- /* 7 */ "..............."
- /* 8 */ "..............."
- /* 9 */ "..............."
- /* 10 */ "...............",
-
- // Connectors:
- "-1: 14, 2, 3: 5\n" /* Type -1, direction X+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 60,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // LargeHouse1
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // LargeTower:
- // The data has been exported from the gallery Desert, area index 80, ID 596, created by STR_Warrior
- {
- // Size:
- 7, 12, 7, // SizeX = 7, SizeY = 12, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 7, 11, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b: 4: 0\n" /* cobblestone */
- "c: 12: 0\n" /* sand */
- "d: 5: 0\n" /* wood */
- "e: 13: 0\n" /* gravel */
- "f:128: 2\n" /* sandstonestairs */
- "g:128: 0\n" /* sandstonestairs */
- "h: 24: 2\n" /* sandstone */
- "i: 71: 3\n" /* irondoorblock */
- "j:128: 1\n" /* sandstonestairs */
- "k:128: 3\n" /* sandstonestairs */
- "l: 77: 4\n" /* stonebutton */
- "m: 19: 0\n" /* sponge */
- "n: 71: 8\n" /* irondoorblock */
- "o: 77: 3\n" /* stonebutton */
- "p:128: 6\n" /* sandstonestairs */
- "q:128: 4\n" /* sandstonestairs */
- "r:128: 5\n" /* sandstonestairs */
- "s: 50: 4\n" /* torch */
- "t:128: 7\n" /* sandstonestairs */
- "u: 85: 0\n" /* fence */
- "v: 24: 1\n" /* sandstone */
- "w: 44: 1\n" /* step */
- "x: 89: 0\n" /* lightstone */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "mabbbam"
- /* 1 */ "aacdcaa"
- /* 2 */ "madddam"
- /* 3 */ "madddam"
- /* 4 */ "madddam"
- /* 5 */ "aaaaaaa"
- /* 6 */ "mammmam"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "maeeeam"
- /* 1 */ "aacdcaa"
- /* 2 */ "madddam"
- /* 3 */ "madddam"
- /* 4 */ "madddam"
- /* 5 */ "aaaaaaa"
- /* 6 */ "mammmam"
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ "mf...fm"
- /* 1 */ "ghaiahj"
- /* 2 */ "ma...am"
- /* 3 */ "ma...am"
- /* 4 */ "ma...am"
- /* 5 */ "ghaaahj"
- /* 6 */ "mkmmmkm"
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ "m.l...m"
- /* 1 */ ".hanah."
- /* 2 */ ".ao..a."
- /* 3 */ ".a...a."
- /* 4 */ ".a...a."
- /* 5 */ ".haaah."
- /* 6 */ "m.....m"
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "..pap.."
- /* 2 */ ".q...r."
- /* 3 */ ".a...a."
- /* 4 */ ".q.s.r."
- /* 5 */ "..tat.."
- /* 6 */ "......."
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "..aua.."
- /* 2 */ ".a...a."
- /* 3 */ ".u...u."
- /* 4 */ ".a...a."
- /* 5 */ "..aua.."
- /* 6 */ "......."
-
- // Level 6
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "..aua.."
- /* 2 */ ".a...a."
- /* 3 */ ".u...u."
- /* 4 */ ".a...a."
- /* 5 */ "..aua.."
- /* 6 */ "......."
-
- // Level 7
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "..aua.."
- /* 2 */ ".a...a."
- /* 3 */ ".u...u."
- /* 4 */ ".a...a."
- /* 5 */ "..aua.."
- /* 6 */ "......."
-
- // Level 8
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "..faf.."
- /* 2 */ ".g...j."
- /* 3 */ ".a...a."
- /* 4 */ ".g...j."
- /* 5 */ "..kak.."
- /* 6 */ "......."
-
- // Level 9
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".aavaa."
- /* 2 */ ".a...a."
- /* 3 */ ".v...v."
- /* 4 */ ".a...a."
- /* 5 */ ".aavaa."
- /* 6 */ "......."
-
- // Level 10
- /* z\x* 0123456 */
- /* 0 */ "...p..."
- /* 1 */ ".haaah."
- /* 2 */ ".awwwa."
- /* 3 */ "qawawar"
- /* 4 */ ".awwwa."
- /* 5 */ ".haaah."
- /* 6 */ "...t..."
-
- // Level 11
- /* z\x* 0123456 */
- /* 0 */ "...w..."
- /* 1 */ ".w...w."
- /* 2 */ "......."
- /* 3 */ "w..x..w"
- /* 4 */ "......."
- /* 5 */ ".w...w."
- /* 6 */ "...w...",
-
- // Connectors:
- "-1: 3, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // LargeTower
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // LittleHouse:
- // The data has been exported from the gallery Desert, area index 65, ID 551, created by STR_Warrior
- {
- // Size:
- 5, 6, 7, // SizeX = 5, SizeY = 6, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 5, 5, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 2\n" /* sandstone */
- "b: 4: 0\n" /* cobblestone */
- "c: 24: 0\n" /* sandstone */
- "d: 13: 0\n" /* gravel */
- "e: 5: 0\n" /* wood */
- "f: 64: 3\n" /* wooddoorblock */
- "g: 61: 2\n" /* furnace */
- "h: 65: 2\n" /* ladder */
- "i: 64: 8\n" /* wooddoorblock */
- "j:101: 0\n" /* ironbars */
- "k: 50: 4\n" /* torch */
- "l:128: 2\n" /* sandstonestairs */
- "m: 19: 0\n" /* sponge */
- "n:126: 8\n" /* woodenslab */
- "o:128: 4\n" /* sandstonestairs */
- "p:128: 5\n" /* sandstonestairs */
- "q:128: 7\n" /* sandstonestairs */
- "r: 44: 1\n" /* step */
- "s: 96: 2\n" /* trapdoor */,
-
- // Block data:
- // Level 0
- /* z\x* 01234 */
- /* 0 */ "abbba"
- /* 1 */ "mbbbm"
- /* 2 */ "accca"
- /* 3 */ "ccccc"
- /* 4 */ "ccccc"
- /* 5 */ "ccccc"
- /* 6 */ "accca"
-
- // Level 1
- /* z\x* 01234 */
- /* 0 */ "addda"
- /* 1 */ "mdddm"
- /* 2 */ "aceca"
- /* 3 */ "ceeec"
- /* 4 */ "ceeec"
- /* 5 */ "ceeec"
- /* 6 */ "accca"
-
- // Level 2
- /* z\x* 01234 */
- /* 0 */ "a...a"
- /* 1 */ "....."
- /* 2 */ "acfca"
- /* 3 */ "c...c"
- /* 4 */ "c...c"
- /* 5 */ "cg.hc"
- /* 6 */ "accca"
-
- // Level 3
- /* z\x* 01234 */
- /* 0 */ "a...a"
- /* 1 */ "....."
- /* 2 */ "acica"
- /* 3 */ "c...c"
- /* 4 */ "j...j"
- /* 5 */ "ck.hc"
- /* 6 */ "acjca"
-
- // Level 4
- /* z\x* 01234 */
- /* 0 */ "l...l"
- /* 1 */ "c...c"
- /* 2 */ "accca"
- /* 3 */ "cnnnc"
- /* 4 */ "onnnp"
- /* 5 */ "cnnhc"
- /* 6 */ "acqca"
-
- // Level 5
- /* z\x* 01234 */
- /* 0 */ "....."
- /* 1 */ "....."
- /* 2 */ "crcrc"
- /* 3 */ "r...r"
- /* 4 */ "c...c"
- /* 5 */ "r..sr"
- /* 6 */ "crcrc",
-
- // Connectors:
- "-1: 2, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // LittleHouse
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // LittleHouse2:
- // The data has been exported from the gallery Desert, area index 72, ID 562, created by STR_Warrior
- {
- // Size:
- 7, 6, 11, // SizeX = 7, SizeY = 6, SizeZ = 11
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 7, 5, 11, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "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 */
- "g: 64: 3\n" /* wooddoorblock */
- "h: 65: 5\n" /* ladder */
- "i: 85: 0\n" /* fence */
- "j:101: 0\n" /* ironbars */
- "k: 64: 8\n" /* wooddoorblock */
- "l: 50: 3\n" /* torch */
- "m: 19: 0\n" /* sponge */
- "n:128: 2\n" /* sandstonestairs */
- "o:128: 6\n" /* sandstonestairs */
- "p:126: 8\n" /* woodenslab */
- "q:128: 4\n" /* sandstonestairs */
- "r:128: 5\n" /* sandstonestairs */
- "s:128: 7\n" /* sandstonestairs */
- "t: 44: 1\n" /* step */
- "u: 96: 0\n" /* trapdoor */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "mabbbam"
- /* 1 */ "mmbbbmm"
- /* 2 */ "accccca"
- /* 3 */ "ccccccc"
- /* 4 */ "ccccccc"
- /* 5 */ "ccccccc"
- /* 6 */ "accccca"
- /* 7 */ "ddddddd"
- /* 8 */ "ddddddd"
- /* 9 */ "ddddddd"
- /* 10 */ "ddddddd"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "maeeeam"
- /* 1 */ "mmeeemm"
- /* 2 */ "acccfca"
- /* 3 */ "cfffffc"
- /* 4 */ "cfffffc"
- /* 5 */ "cfffffc"
- /* 6 */ "acfccca"
- /* 7 */ "ddddddd"
- /* 8 */ "ddddddd"
- /* 9 */ "ddddddd"
- /* 10 */ "ddddddd"
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ "ma...am"
- /* 1 */ "m.....m"
- /* 2 */ "acccgca"
- /* 3 */ "c.....c"
- /* 4 */ "c.....c"
- /* 5 */ "ch....c"
- /* 6 */ "ac.ccca"
- /* 7 */ "i.....i"
- /* 8 */ "i.....i"
- /* 9 */ "i.....i"
- /* 10 */ "iiiiiii"
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ "ma...am"
- /* 1 */ "m.....m"
- /* 2 */ "acjckca"
- /* 3 */ "c..l..c"
- /* 4 */ "j.....j"
- /* 5 */ "ch....c"
- /* 6 */ "ac.cjca"
- /* 7 */ "......."
- /* 8 */ "......."
- /* 9 */ "......."
- /* 10 */ "......."
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "mn...nm"
- /* 1 */ "mc...cm"
- /* 2 */ "acoccca"
- /* 3 */ "cpppppc"
- /* 4 */ "qpppppr"
- /* 5 */ "chppppc"
- /* 6 */ "acccsca"
- /* 7 */ "......."
- /* 8 */ "......."
- /* 9 */ "......."
- /* 10 */ "......."
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ "m.....m"
- /* 1 */ "m.....m"
- /* 2 */ "cttcttc"
- /* 3 */ "t.....t"
- /* 4 */ "c.....c"
- /* 5 */ "tu....t"
- /* 6 */ "cttcttc"
- /* 7 */ "......."
- /* 8 */ "......."
- /* 9 */ "......."
- /* 10 */ ".......",
-
- // Connectors:
- "-1: 3, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // LittleHouse2
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // LittleHouse3:
- // The data has been exported from the gallery Desert, area index 66, ID 553, created by STR_Warrior
- {
- // Size:
- 9, 6, 7, // SizeX = 9, SizeY = 6, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 9, 5, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 2\n" /* sandstone */
- "b: 4: 0\n" /* cobblestone */
- "c: 24: 0\n" /* sandstone */
- "d: 13: 0\n" /* gravel */
- "e: 5: 0\n" /* wood */
- "f: 64: 3\n" /* wooddoorblock */
- "g: 65: 2\n" /* ladder */
- "h: 64: 8\n" /* wooddoorblock */
- "i:101: 0\n" /* ironbars */
- "j: 50: 4\n" /* torch */
- "k:128: 2\n" /* sandstonestairs */
- "l:126: 8\n" /* woodenslab */
- "m: 19: 0\n" /* sponge */
- "n:128: 4\n" /* sandstonestairs */
- "o:128: 5\n" /* sandstonestairs */
- "p:128: 7\n" /* sandstonestairs */
- "q: 44: 1\n" /* step */
- "r: 96: 2\n" /* trapdoor */,
-
- // Block data:
- // Level 0
- /* z\x* 012345678 */
- /* 0 */ "mmabbbamm"
- /* 1 */ "mmmbbbmmm"
- /* 2 */ "accccccca"
- /* 3 */ "ccccccccc"
- /* 4 */ "ccccccccc"
- /* 5 */ "ccccccccc"
- /* 6 */ "accccccca"
-
- // Level 1
- /* z\x* 012345678 */
- /* 0 */ "mmadddamm"
- /* 1 */ "mmmdddmmm"
- /* 2 */ "accceccca"
- /* 3 */ "ceeeeeeec"
- /* 4 */ "ceeeeeeec"
- /* 5 */ "ceeeeeeec"
- /* 6 */ "accccccca"
-
- // Level 2
- /* z\x* 012345678 */
- /* 0 */ "mma...amm"
- /* 1 */ "mm.....mm"
- /* 2 */ "acccfccca"
- /* 3 */ "c.......c"
- /* 4 */ "c.......c"
- /* 5 */ "c......gc"
- /* 6 */ "accccccca"
-
- // Level 3
- /* z\x* 012345678 */
- /* 0 */ "mma...amm"
- /* 1 */ "mm.....mm"
- /* 2 */ "accchccca"
- /* 3 */ "c.......c"
- /* 4 */ "i.......i"
- /* 5 */ "c.j....gc"
- /* 6 */ "acciiicca"
-
- // Level 4
- /* z\x* 012345678 */
- /* 0 */ "mmk...kmm"
- /* 1 */ "mmc...cmm"
- /* 2 */ "accccccca"
- /* 3 */ "clllllllc"
- /* 4 */ "nlllllllo"
- /* 5 */ "cllllllgc"
- /* 6 */ "accpppcca"
-
- // Level 5
- /* z\x* 012345678 */
- /* 0 */ "mm.....mm"
- /* 1 */ "mm.....mm"
- /* 2 */ "cqqqcqqqc"
- /* 3 */ "q.......q"
- /* 4 */ "c.......c"
- /* 5 */ "q......rq"
- /* 6 */ "cqqqcqqqc",
-
- // Connectors:
- "-1: 4, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // LittleHouse3
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // LittleHouse4:
- // The data has been exported from the gallery Desert, area index 70, ID 560, created by STR_Warrior
- {
- // Size:
- 5, 6, 11, // SizeX = 5, SizeY = 6, SizeZ = 11
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 5, 5, 11, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 2\n" /* sandstone */
- "b: 4: 0\n" /* cobblestone */
- "c: 24: 0\n" /* sandstone */
- "d: 13: 0\n" /* gravel */
- "e: 5: 0\n" /* wood */
- "f: 64: 3\n" /* wooddoorblock */
- "g: 65: 5\n" /* ladder */
- "h:134: 3\n" /* 134 */
- "i: 85: 0\n" /* fence */
- "j:134: 2\n" /* 134 */
- "k: 61: 2\n" /* furnace */
- "l:134: 6\n" /* 134 */
- "m: 19: 0\n" /* sponge */
- "n:134: 4\n" /* 134 */
- "o: 64: 8\n" /* wooddoorblock */
- "p: 50: 2\n" /* torch */
- "q:101: 0\n" /* ironbars */
- "r:171: 8\n" /* carpet */
- "s:128: 2\n" /* sandstonestairs */
- "t:126: 8\n" /* woodenslab */
- "u:128: 4\n" /* sandstonestairs */
- "v:128: 5\n" /* sandstonestairs */
- "w:128: 7\n" /* sandstonestairs */
- "x: 44: 1\n" /* step */
- "y: 96: 1\n" /* trapdoor */,
-
- // Block data:
- // Level 0
- /* z\x* 01234 */
- /* 0 */ "abbba"
- /* 1 */ "mbbbm"
- /* 2 */ "accca"
- /* 3 */ "ccccc"
- /* 4 */ "ccccc"
- /* 5 */ "ccccc"
- /* 6 */ "ccccc"
- /* 7 */ "ccccc"
- /* 8 */ "ccccc"
- /* 9 */ "ccccc"
- /* 10 */ "accca"
-
- // Level 1
- /* z\x* 01234 */
- /* 0 */ "addda"
- /* 1 */ "mdddm"
- /* 2 */ "aceca"
- /* 3 */ "ceeec"
- /* 4 */ "ceeec"
- /* 5 */ "ceeec"
- /* 6 */ "ceeec"
- /* 7 */ "ceeec"
- /* 8 */ "ceeec"
- /* 9 */ "ceeec"
- /* 10 */ "accca"
-
- // Level 2
- /* z\x* 01234 */
- /* 0 */ "a...a"
- /* 1 */ "....."
- /* 2 */ "acfca"
- /* 3 */ "cg..c"
- /* 4 */ "c...c"
- /* 5 */ "c..hc"
- /* 6 */ "c..ic"
- /* 7 */ "c..jc"
- /* 8 */ "c...c"
- /* 9 */ "cklnc"
- /* 10 */ "accca"
-
- // Level 3
- /* z\x* 01234 */
- /* 0 */ "a...a"
- /* 1 */ "....."
- /* 2 */ "acoca"
- /* 3 */ "cg..c"
- /* 4 */ "c..pc"
- /* 5 */ "q...q"
- /* 6 */ "q..rq"
- /* 7 */ "q...q"
- /* 8 */ "c...c"
- /* 9 */ "c...c"
- /* 10 */ "acqca"
-
- // Level 4
- /* z\x* 01234 */
- /* 0 */ "s...s"
- /* 1 */ "c...c"
- /* 2 */ "accca"
- /* 3 */ "cgttc"
- /* 4 */ "ctttc"
- /* 5 */ "utttv"
- /* 6 */ "utttv"
- /* 7 */ "utttv"
- /* 8 */ "ctttc"
- /* 9 */ "ctttc"
- /* 10 */ "acwca"
-
- // Level 5
- /* z\x* 01234 */
- /* 0 */ "....."
- /* 1 */ "....."
- /* 2 */ "cxcxc"
- /* 3 */ "xy..x"
- /* 4 */ "x...x"
- /* 5 */ "x...x"
- /* 6 */ "c...c"
- /* 7 */ "x...x"
- /* 8 */ "x...x"
- /* 9 */ "x...x"
- /* 10 */ "cxcxc",
-
- // Connectors:
- "-1: 2, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // LittleHouse4
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // LittleHouse5:
- // The data has been exported from the gallery Desert, area index 68, ID 558, created by STR_Warrior
- {
- // Size:
- 9, 6, 9, // SizeX = 9, SizeY = 6, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 9, 5, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 2\n" /* sandstone */
- "b: 4: 0\n" /* cobblestone */
- "c: 24: 0\n" /* sandstone */
- "d: 13: 0\n" /* gravel */
- "e: 5: 0\n" /* wood */
- "f: 64: 3\n" /* wooddoorblock */
- "g: 65: 2\n" /* ladder */
- "h: 64: 8\n" /* wooddoorblock */
- "i:101: 0\n" /* ironbars */
- "j: 50: 1\n" /* torch */
- "k: 50: 4\n" /* torch */
- "l:128: 2\n" /* sandstonestairs */
- "m: 19: 0\n" /* sponge */
- "n:126: 8\n" /* woodenslab */
- "o:128: 6\n" /* sandstonestairs */
- "p:128: 5\n" /* sandstonestairs */
- "q:128: 4\n" /* sandstonestairs */
- "r:128: 7\n" /* sandstonestairs */
- "s: 44: 1\n" /* step */
- "t: 96: 2\n" /* trapdoor */,
-
- // Block data:
- // Level 0
- /* z\x* 012345678 */
- /* 0 */ "mmmmabbba"
- /* 1 */ "mmmmmbbbm"
- /* 2 */ "mmmmaccca"
- /* 3 */ "mmmmccccc"
- /* 4 */ "acccacccc"
- /* 5 */ "ccccccccc"
- /* 6 */ "ccccccccc"
- /* 7 */ "ccccccccc"
- /* 8 */ "accccccca"
-
- // Level 1
- /* z\x* 012345678 */
- /* 0 */ "mmmmaddda"
- /* 1 */ "mmmmmdddm"
- /* 2 */ "mmmmaceca"
- /* 3 */ "mmmmceeec"
- /* 4 */ "acccaeeec"
- /* 5 */ "ceeeeeeec"
- /* 6 */ "ceeeeeeec"
- /* 7 */ "ceeeeeeec"
- /* 8 */ "accccccca"
-
- // Level 2
- /* z\x* 012345678 */
- /* 0 */ "mmmma...a"
- /* 1 */ "mmmm....."
- /* 2 */ "mmmmacfca"
- /* 3 */ "mmmmc...c"
- /* 4 */ "accca...c"
- /* 5 */ "c.......c"
- /* 6 */ "c.......c"
- /* 7 */ "c......gc"
- /* 8 */ "accccccca"
-
- // Level 3
- /* z\x* 012345678 */
- /* 0 */ "mmmma...a"
- /* 1 */ "mmmm....."
- /* 2 */ "mmmmachca"
- /* 3 */ "mmmmc...c"
- /* 4 */ "acica...i"
- /* 5 */ "c.......i"
- /* 6 */ "i.......i"
- /* 7 */ "cj....kgc"
- /* 8 */ "acciiicca"
-
- // Level 4
- /* z\x* 012345678 */
- /* 0 */ "mmmml...l"
- /* 1 */ "mmmmc...c"
- /* 2 */ "mmmmaccca"
- /* 3 */ "mmmmcnnnc"
- /* 4 */ "acocannnp"
- /* 5 */ "cnnnnnnnp"
- /* 6 */ "qnnnnnnnp"
- /* 7 */ "cnnnnnngc"
- /* 8 */ "accrrrcca"
-
- // Level 5
- /* z\x* 012345678 */
- /* 0 */ "mmmm....."
- /* 1 */ "mmmm....."
- /* 2 */ "mmmmcscsc"
- /* 3 */ "mmmms...s"
- /* 4 */ "csssc...c"
- /* 5 */ "s.......s"
- /* 6 */ "s.......s"
- /* 7 */ "s......ts"
- /* 8 */ "cssscsssc",
-
- // Connectors:
- "-1: 6, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // LittleHouse5
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // LittleHouse6:
- // The data has been exported from the gallery Desert, area index 69, ID 559, created by STR_Warrior
- {
- // Size:
- 9, 6, 9, // SizeX = 9, SizeY = 6, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 9, 5, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "A: 96: 2\n" /* trapdoor */
- "a: 12: 0\n" /* sand */
- "b: 24: 2\n" /* sandstone */
- "c: 4: 0\n" /* cobblestone */
- "d: 3: 0\n" /* dirt */
- "e: 24: 0\n" /* sandstone */
- "f: 13: 0\n" /* gravel */
- "g: 2: 0\n" /* grass */
- "h: 5: 0\n" /* wood */
- "i: 85: 0\n" /* fence */
- "j: 64: 3\n" /* wooddoorblock */
- "k: 38: 1\n" /* rose */
- "l: 38: 2\n" /* rose */
- "m: 19: 0\n" /* sponge */
- "n: 38: 5\n" /* rose */
- "o: 65: 2\n" /* ladder */
- "p: 64: 8\n" /* wooddoorblock */
- "q:101: 0\n" /* ironbars */
- "r: 50: 1\n" /* torch */
- "s: 50: 4\n" /* torch */
- "t:128: 2\n" /* sandstonestairs */
- "u:126: 8\n" /* woodenslab */
- "v:128: 6\n" /* sandstonestairs */
- "w:128: 5\n" /* sandstonestairs */
- "x:128: 4\n" /* sandstonestairs */
- "y:128: 7\n" /* sandstonestairs */
- "z: 44: 1\n" /* step */,
-
- // Block data:
- // Level 0
- /* z\x* 012345678 */
- /* 0 */ "aaaabcccb"
- /* 1 */ "adddccccm"
- /* 2 */ "adddbeeeb"
- /* 3 */ "adddeeeee"
- /* 4 */ "beeebeeee"
- /* 5 */ "eeeeeeeee"
- /* 6 */ "eeeeeeeee"
- /* 7 */ "eeeeeeeee"
- /* 8 */ "beeeeeeeb"
-
- // Level 1
- /* z\x* 012345678 */
- /* 0 */ "aaaabfffb"
- /* 1 */ "agggffffm"
- /* 2 */ "agggbeheb"
- /* 3 */ "agggehhhe"
- /* 4 */ "beeebhhhe"
- /* 5 */ "ehhhhhhhe"
- /* 6 */ "ehhhhhhhe"
- /* 7 */ "ehhhhhhhe"
- /* 8 */ "beeeeeeeb"
-
- // Level 2
- /* z\x* 012345678 */
- /* 0 */ "iiiib...b"
- /* 1 */ "i........"
- /* 2 */ "i...bejeb"
- /* 3 */ "iklne...e"
- /* 4 */ "beeeb...e"
- /* 5 */ "e.......e"
- /* 6 */ "e.......e"
- /* 7 */ "e......oe"
- /* 8 */ "beeeeeeeb"
-
- // Level 3
- /* z\x* 012345678 */
- /* 0 */ "....b...b"
- /* 1 */ "........."
- /* 2 */ "....bepeb"
- /* 3 */ "....e...e"
- /* 4 */ "beqeb...q"
- /* 5 */ "e.......q"
- /* 6 */ "q.......q"
- /* 7 */ "er....soe"
- /* 8 */ "beeqqqeeb"
-
- // Level 4
- /* z\x* 012345678 */
- /* 0 */ "....t...t"
- /* 1 */ "....e...e"
- /* 2 */ "....beeeb"
- /* 3 */ "....euuue"
- /* 4 */ "bevebuuuw"
- /* 5 */ "euuuuuuuw"
- /* 6 */ "xuuuuuuuw"
- /* 7 */ "euuuuuuoe"
- /* 8 */ "beeyyyeeb"
-
- // Level 5
- /* z\x* 012345678 */
- /* 0 */ "........."
- /* 1 */ "........."
- /* 2 */ "....ezeze"
- /* 3 */ "....z...z"
- /* 4 */ "ezzze...e"
- /* 5 */ "z.......z"
- /* 6 */ "z.......z"
- /* 7 */ "z......Az"
- /* 8 */ "ezzzezzze",
-
- // Connectors:
- "-1: 6, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // LittleHouse6
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // LittleHouse7:
- // The data has been exported from the gallery Desert, area index 73, ID 563, created by xoft
- {
- // Size:
- 9, 6, 11, // SizeX = 9, SizeY = 6, SizeZ = 11
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 9, 5, 11, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 2\n" /* sandstone */
- "b: 4: 0\n" /* cobblestone */
- "c: 24: 0\n" /* sandstone */
- "d: 13: 0\n" /* gravel */
- "e: 5: 0\n" /* wood */
- "f: 64: 3\n" /* wooddoorblock */
- "g: 65: 2\n" /* ladder */
- "h:101: 0\n" /* ironbars */
- "i: 64: 8\n" /* wooddoorblock */
- "j: 50: 1\n" /* torch */
- "k: 50: 2\n" /* torch */
- "l:128: 2\n" /* sandstonestairs */
- "m: 19: 0\n" /* sponge */
- "n:128: 6\n" /* sandstonestairs */
- "o:126: 8\n" /* woodenslab */
- "p:128: 4\n" /* sandstonestairs */
- "q:128: 5\n" /* sandstonestairs */
- "r:128: 7\n" /* sandstonestairs */
- "s: 44: 1\n" /* step */
- "t: 96: 2\n" /* trapdoor */,
-
- // Block data:
- // Level 0
- /* z\x* 012345678 */
- /* 0 */ "mmmmabbba"
- /* 1 */ "mmmmmbbbm"
- /* 2 */ "accccccca"
- /* 3 */ "ccccccccc"
- /* 4 */ "ccccccccc"
- /* 5 */ "ccccccccc"
- /* 6 */ "acccacccc"
- /* 7 */ "mmmmccccc"
- /* 8 */ "mmmmccccc"
- /* 9 */ "mmmmccccc"
- /* 10 */ "mmmmaccca"
-
- // Level 1
- /* z\x* 012345678 */
- /* 0 */ "mmmmaddda"
- /* 1 */ "mmmmmdddm"
- /* 2 */ "accccceca"
- /* 3 */ "ceeeeeeec"
- /* 4 */ "ceeeeeeec"
- /* 5 */ "ceeeeeeec"
- /* 6 */ "acccaeeec"
- /* 7 */ "mmmmceeec"
- /* 8 */ "mmmmceeec"
- /* 9 */ "mmmmceeec"
- /* 10 */ "mmmmaccca"
-
- // Level 2
- /* z\x* 012345678 */
- /* 0 */ "mmmma...a"
- /* 1 */ "mmmm....."
- /* 2 */ "acccccfca"
- /* 3 */ "c.......c"
- /* 4 */ "c.......c"
- /* 5 */ "c.......c"
- /* 6 */ "accca...c"
- /* 7 */ "mmmmc...c"
- /* 8 */ "mmmmc...c"
- /* 9 */ "mmmmc..gc"
- /* 10 */ "mmmmaccca"
-
- // Level 3
- /* z\x* 012345678 */
- /* 0 */ "mmmma...a"
- /* 1 */ "mmmm....."
- /* 2 */ "achcccica"
- /* 3 */ "c.......c"
- /* 4 */ "h.......c"
- /* 5 */ "cj......h"
- /* 6 */ "achca...h"
- /* 7 */ "mmmmc...h"
- /* 8 */ "mmmmh..kc"
- /* 9 */ "mmmmc..gc"
- /* 10 */ "mmmmachca"
-
- // Level 4
- /* z\x* 012345678 */
- /* 0 */ "mmmml...l"
- /* 1 */ "mmmmc...c"
- /* 2 */ "acnccccca"
- /* 3 */ "coooooooc"
- /* 4 */ "poooooooc"
- /* 5 */ "coooooooq"
- /* 6 */ "acrcaoooq"
- /* 7 */ "mmmmcoooq"
- /* 8 */ "mmmmpoooc"
- /* 9 */ "mmmmcoogc"
- /* 10 */ "mmmmacrca"
-
- // Level 5
- /* z\x* 012345678 */
- /* 0 */ "mmmm....."
- /* 1 */ "mmmm....."
- /* 2 */ "cssscscsc"
- /* 3 */ "s.......s"
- /* 4 */ "s.......s"
- /* 5 */ "s.......s"
- /* 6 */ "csssc...c"
- /* 7 */ "mmmms...s"
- /* 8 */ "mmmms...s"
- /* 9 */ "mmmms..ts"
- /* 10 */ "mmmmcsssc",
-
- // Connectors:
- "-1: 6, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // LittleHouse7
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // LittleHouse8:
- // The data has been exported from the gallery Desert, area index 99, ID 739, created by STR_Warrior
- {
- // Size:
- 9, 6, 9, // SizeX = 9, SizeY = 6, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- 0, 0, -1, // MinX, MinY, MinZ
- 9, 5, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 2\n" /* sandstone */
- "b: 24: 0\n" /* sandstone */
- "c: 4: 0\n" /* cobblestone */
- "d: 13: 0\n" /* gravel */
- "e: 5: 0\n" /* wood */
- "f: 64: 2\n" /* wooddoorblock */
- "g: 65: 2\n" /* ladder */
- "h:101: 0\n" /* ironbars */
- "i: 64: 8\n" /* wooddoorblock */
- "j: 50: 1\n" /* torch */
- "k:128: 6\n" /* sandstonestairs */
- "l:126: 8\n" /* woodenslab */
- "m: 19: 0\n" /* sponge */
- "n:128: 5\n" /* sandstonestairs */
- "o:128: 4\n" /* sandstonestairs */
- "p:128: 7\n" /* sandstonestairs */
- "q: 44: 1\n" /* step */
- "r: 96: 2\n" /* trapdoor */,
-
- // Block data:
- // Level 0
- /* z\x* 012345678 */
- /* 0 */ "mmmmabbba"
- /* 1 */ "ccccbbbbb"
- /* 2 */ "ccccbbbbb"
- /* 3 */ "ccccbbbbb"
- /* 4 */ "abbbabbbb"
- /* 5 */ "bbbbbbbbb"
- /* 6 */ "bbbbbbbbb"
- /* 7 */ "bbbbbbbbb"
- /* 8 */ "abbbbbbba"
-
- // Level 1
- /* z\x* 012345678 */
- /* 0 */ "mmmmabbba"
- /* 1 */ "ddddbeeeb"
- /* 2 */ "ddddeeeeb"
- /* 3 */ "ddddbeeeb"
- /* 4 */ "abbbaeeeb"
- /* 5 */ "beeeeeeeb"
- /* 6 */ "beeeeeeeb"
- /* 7 */ "beeeeeeeb"
- /* 8 */ "abbbbbbba"
-
- // Level 2
- /* z\x* 012345678 */
- /* 0 */ "mmmmabbba"
- /* 1 */ "....b...b"
- /* 2 */ "....f...b"
- /* 3 */ "....b...b"
- /* 4 */ "abbba...b"
- /* 5 */ "b.......b"
- /* 6 */ "b.......b"
- /* 7 */ "b......gb"
- /* 8 */ "abbbbbbba"
-
- // Level 3
- /* z\x* 012345678 */
- /* 0 */ "mmmmabhba"
- /* 1 */ "....b...b"
- /* 2 */ "....i...b"
- /* 3 */ "....b...h"
- /* 4 */ "abhbaj..h"
- /* 5 */ "b.......h"
- /* 6 */ "h.......b"
- /* 7 */ "b......gb"
- /* 8 */ "abbhhhbba"
-
- // Level 4
- /* z\x* 012345678 */
- /* 0 */ "mmmmabkba"
- /* 1 */ "....blllb"
- /* 2 */ "....blllb"
- /* 3 */ "....bllln"
- /* 4 */ "abkballln"
- /* 5 */ "bllllllln"
- /* 6 */ "olllllllb"
- /* 7 */ "bllllllgb"
- /* 8 */ "abbpppbba"
-
- // Level 5
- /* z\x* 012345678 */
- /* 0 */ "mmmmbqbqb"
- /* 1 */ "....q...q"
- /* 2 */ "....q...q"
- /* 3 */ "....q...q"
- /* 4 */ "bqqqb...b"
- /* 5 */ "q.......q"
- /* 6 */ "b.......q"
- /* 7 */ "q......rq"
- /* 8 */ "bqqqbqqqb",
-
- // Connectors:
- "-1: 0, 2, 2: 4\n" /* Type -1, direction X- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // LittleHouse8
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // LittleTower:
- // The data has been exported from the gallery Desert, area index 79, ID 595, created by STR_Warrior
- {
- // Size:
- 5, 9, 7, // SizeX = 5, SizeY = 9, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 5, 8, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 2\n" /* sandstone */
- "b: 4: 0\n" /* cobblestone */
- "c: 24: 0\n" /* sandstone */
- "d: 13: 0\n" /* gravel */
- "e: 5: 0\n" /* wood */
- "f: 64: 3\n" /* wooddoorblock */
- "g: 65: 5\n" /* ladder */
- "h: 64: 8\n" /* wooddoorblock */
- "i:101: 0\n" /* ironbars */
- "j: 50: 4\n" /* torch */
- "k:128: 2\n" /* sandstonestairs */
- "l:126: 8\n" /* woodenslab */
- "m: 19: 0\n" /* sponge */
- "n:128: 4\n" /* sandstonestairs */
- "o:128: 5\n" /* sandstonestairs */
- "p:128: 7\n" /* sandstonestairs */
- "q:128: 6\n" /* sandstonestairs */
- "r: 44: 1\n" /* step */
- "s: 96: 1\n" /* trapdoor */,
-
- // Block data:
- // Level 0
- /* z\x* 01234 */
- /* 0 */ "abbba"
- /* 1 */ "mbbbm"
- /* 2 */ "accca"
- /* 3 */ "ccccc"
- /* 4 */ "ccccc"
- /* 5 */ "ccccc"
- /* 6 */ "accca"
-
- // Level 1
- /* z\x* 01234 */
- /* 0 */ "addda"
- /* 1 */ "mdddm"
- /* 2 */ "aceca"
- /* 3 */ "ceeec"
- /* 4 */ "ceeec"
- /* 5 */ "ceeec"
- /* 6 */ "accca"
-
- // Level 2
- /* z\x* 01234 */
- /* 0 */ "a...a"
- /* 1 */ "....."
- /* 2 */ "acfca"
- /* 3 */ "cg..c"
- /* 4 */ "c...c"
- /* 5 */ "c...c"
- /* 6 */ "accca"
-
- // Level 3
- /* z\x* 01234 */
- /* 0 */ "a...a"
- /* 1 */ "....."
- /* 2 */ "achca"
- /* 3 */ "cg..c"
- /* 4 */ "i...i"
- /* 5 */ "c..jc"
- /* 6 */ "acica"
-
- // Level 4
- /* z\x* 01234 */
- /* 0 */ "k...k"
- /* 1 */ "c...c"
- /* 2 */ "accca"
- /* 3 */ "cgllc"
- /* 4 */ "nlllo"
- /* 5 */ "clllc"
- /* 6 */ "acpca"
-
- // Level 5
- /* z\x* 01234 */
- /* 0 */ "....."
- /* 1 */ "....."
- /* 2 */ "accca"
- /* 3 */ "cg..c"
- /* 4 */ "c...c"
- /* 5 */ "c...c"
- /* 6 */ "accca"
-
- // Level 6
- /* z\x* 01234 */
- /* 0 */ "....."
- /* 1 */ "....."
- /* 2 */ "acica"
- /* 3 */ "cg..c"
- /* 4 */ "i...i"
- /* 5 */ "c..jc"
- /* 6 */ "acica"
-
- // Level 7
- /* z\x* 01234 */
- /* 0 */ "....."
- /* 1 */ "....."
- /* 2 */ "acqca"
- /* 3 */ "cgllc"
- /* 4 */ "nlllo"
- /* 5 */ "clllc"
- /* 6 */ "acpca"
-
- // Level 8
- /* z\x* 01234 */
- /* 0 */ "....."
- /* 1 */ "....."
- /* 2 */ "crcrc"
- /* 3 */ "rs..r"
- /* 4 */ "c...c"
- /* 5 */ "r...r"
- /* 6 */ "crcrc",
-
- // Connectors:
- "-1: 2, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // LittleTower
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // MediumHouse1:
- // The data has been exported from the gallery Desert, area index 71, ID 561, created by STR_Warrior
- {
- // Size:
- 15, 9, 9, // SizeX = 15, SizeY = 9, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 15, 8, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 2\n" /* sandstone */
- "b: 4: 0\n" /* cobblestone */
- "c: 24: 0\n" /* sandstone */
- "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 */
- "j: 65: 5\n" /* ladder */
- "k: 64: 8\n" /* wooddoorblock */
- "l:101: 0\n" /* ironbars */
- "m: 19: 0\n" /* sponge */
- "n: 50: 4\n" /* torch */
- "o:128: 2\n" /* sandstonestairs */
- "p:126: 8\n" /* woodenslab */
- "q:128: 4\n" /* sandstonestairs */
- "r:128: 7\n" /* sandstonestairs */
- "s: 44: 1\n" /* step */
- "t: 50: 3\n" /* torch */
- "u:128: 6\n" /* sandstonestairs */,
-
- // Block data:
- // Level 0
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "mmmabbbammmmmmm"
- /* 1 */ "mmmmbbbmmmmmmmm"
- /* 2 */ "acccccccccacccc"
- /* 3 */ "ccccccccccccccc"
- /* 4 */ "ccccccccccccccc"
- /* 5 */ "ccccccccccccccc"
- /* 6 */ "ccccccccccccccc"
- /* 7 */ "ccccccccccccccc"
- /* 8 */ "acccccccccacccc"
-
- // Level 1
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "mmmadddammmmmmm"
- /* 1 */ "mmmmdddmmmmmmmm"
- /* 2 */ "acccceccccaffff"
- /* 3 */ "ceeeeeeeeecffff"
- /* 4 */ "ceeeeeeeeecffff"
- /* 5 */ "ceeeeeeeeeeffff"
- /* 6 */ "ceeeeeeeeecffff"
- /* 7 */ "ceeeeeeeeecffff"
- /* 8 */ "acccccccccaffff"
-
- // Level 2
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "mmma...ammmmmmm"
- /* 1 */ "mmm.....mmmmmmm"
- /* 2 */ "accccgccccahhhh"
- /* 3 */ "c.........c...h"
- /* 4 */ "c.........c...h"
- /* 5 */ "c.........i...h"
- /* 6 */ "c.........c...h"
- /* 7 */ "c.........cj..h"
- /* 8 */ "acccccccccahhhh"
-
- // Level 3
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "mmma...ammmmmmm"
- /* 1 */ "mmm.....mmmmmmm"
- /* 2 */ "acccckcccca...."
- /* 3 */ "c.........c...."
- /* 4 */ "l.........c...."
- /* 5 */ "l.........k...."
- /* 6 */ "l.........c...."
- /* 7 */ "c..n...n..cj..."
- /* 8 */ "accclllccca...."
-
- // Level 4
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "mmmo...ommmmmmm"
- /* 1 */ "mmmc...cmmmmmmm"
- /* 2 */ "accccccccca...."
- /* 3 */ "cpppppppppc...."
- /* 4 */ "qpppppppppc...."
- /* 5 */ "qpppppppppc...."
- /* 6 */ "qpppppppppc...."
- /* 7 */ "cpppppppppcj..."
- /* 8 */ "acccrrrccca...."
-
- // Level 5
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "mmm.....mmmmmmm"
- /* 1 */ "mmm.....mmmmmmm"
- /* 2 */ "csssscssssc...."
- /* 3 */ "s..accca..s...."
- /* 4 */ "s..c...c..s...."
- /* 5 */ "c.........c...."
- /* 6 */ "s..c...c..s...."
- /* 7 */ "s..accca..s...."
- /* 8 */ "csssscssssc...."
-
- // Level 6
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ "..............."
- /* 3 */ "...aclca......."
- /* 4 */ "...ct..c......."
- /* 5 */ "..............."
- /* 6 */ "...c...c......."
- /* 7 */ "...aclca......."
- /* 8 */ "..............."
-
- // Level 7
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ "..............."
- /* 3 */ "...acuca......."
- /* 4 */ "...cpppc......."
- /* 5 */ "...cpppc......."
- /* 6 */ "...cpppc......."
- /* 7 */ "...acrca......."
- /* 8 */ "..............."
-
- // Level 8
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ "..............."
- /* 3 */ "...cscsc......."
- /* 4 */ "...s...s......."
- /* 5 */ "...c...c......."
- /* 6 */ "...s...s......."
- /* 7 */ "...cscsc......."
- /* 8 */ "...............",
-
- // Connectors:
- "-1: 5, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 80,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // MediumHouse1
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // MediumHouse2:
- // The data has been exported from the gallery Desert, area index 74, ID 573, created by STR_Warrior
- {
- // Size:
- 11, 10, 9, // SizeX = 11, SizeY = 10, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 11, 9, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "A:128: 7\n" /* sandstonestairs */
- "B: 44: 1\n" /* step */
- "C: 96: 3\n" /* trapdoor */
- "D: 96: 2\n" /* trapdoor */
- "E:128: 2\n" /* sandstonestairs */
- "F:128: 0\n" /* sandstonestairs */
- "G: 87: 0\n" /* netherstone */
- "H:128: 1\n" /* sandstonestairs */
- "I:128: 3\n" /* sandstonestairs */
- "J: 51: 0\n" /* fire */
- "K: 44: 9\n" /* step */
- "a: 24: 2\n" /* sandstone */
- "b: 24: 0\n" /* sandstone */
- "c: 4: 0\n" /* cobblestone */
- "d: 12: 0\n" /* sand */
- "e: 13: 0\n" /* gravel */
- "f: 5: 0\n" /* wood */
- "g: 65: 3\n" /* ladder */
- "h: 85: 0\n" /* fence */
- "i: 64: 3\n" /* wooddoorblock */
- "j:134: 1\n" /* 134 */
- "k:134: 2\n" /* 134 */
- "l: 61: 2\n" /* furnace */
- "m: 19: 0\n" /* sponge */
- "n:134: 6\n" /* 134 */
- "o:134: 4\n" /* 134 */
- "p: 65: 2\n" /* ladder */
- "q:101: 0\n" /* ironbars */
- "r: 50: 2\n" /* torch */
- "s: 47: 0\n" /* bookshelf */
- "t: 64: 8\n" /* wooddoorblock */
- "u: 50: 3\n" /* torch */
- "v:171: 8\n" /* carpet */
- "w:128: 6\n" /* sandstonestairs */
- "x:126: 8\n" /* woodenslab */
- "y:128: 5\n" /* sandstonestairs */
- "z:128: 4\n" /* sandstonestairs */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "abbbammmcmm"
- /* 1 */ "bbbbbdddcdm"
- /* 2 */ "bbbbbmmmcdm"
- /* 3 */ "bbbbbmmmcdm"
- /* 4 */ "bbbbabbbbba"
- /* 5 */ "bbbbbbbbbbb"
- /* 6 */ "bbbbbbbbbbb"
- /* 7 */ "bbbbbbbbbbb"
- /* 8 */ "abbbbbbbbba"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "abbbammmemm"
- /* 1 */ "bfffbdddedm"
- /* 2 */ "bfffbmmmedm"
- /* 3 */ "bfffbmmmedm"
- /* 4 */ "bfffabbbfba"
- /* 5 */ "bfffffffffb"
- /* 6 */ "bfffffffffb"
- /* 7 */ "bfffffffffb"
- /* 8 */ "abbbbbbbbba"
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "abbba......"
- /* 1 */ "bg..bhhh.h."
- /* 2 */ "b...b....h."
- /* 3 */ "b...b....h."
- /* 4 */ "b...abbbiba"
- /* 5 */ "b.........b"
- /* 6 */ "bjh.......b"
- /* 7 */ "bjk.lno..pb"
- /* 8 */ "abbbbbbbbba"
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "abqba......"
- /* 1 */ "bg..q......"
- /* 2 */ "b...q......"
- /* 3 */ "q..rb......"
- /* 4 */ "q...sbqbtba"
- /* 5 */ "q......u..b"
- /* 6 */ "b.v.......q"
- /* 7 */ "b........pb"
- /* 8 */ "abbbqqqbbba"
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "abwba......"
- /* 1 */ "bgxxy......"
- /* 2 */ "bxxxy......"
- /* 3 */ "zxxxb......"
- /* 4 */ "zxxxabwbbba"
- /* 5 */ "zxxxxxxxxxb"
- /* 6 */ "bxxxxxxxxxy"
- /* 7 */ "bxxxsssxxpb"
- /* 8 */ "abbbAAAbbba"
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "bBBBb......"
- /* 1 */ "BC..B......"
- /* 2 */ "B...B......"
- /* 3 */ "B...B......"
- /* 4 */ "b...bBBBBBb"
- /* 5 */ "Bbbb......B"
- /* 6 */ "Bbbb......B"
- /* 7 */ "Bbbb.....DB"
- /* 8 */ "bBBBBbBBBBb"
-
- // Level 6
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ "..........."
- /* 4 */ "..........."
- /* 5 */ ".aEa......."
- /* 6 */ ".FGH......."
- /* 7 */ ".aIa......."
- /* 8 */ "..........."
-
- // Level 7
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ "..........."
- /* 4 */ "..........."
- /* 5 */ ".a.a......."
- /* 6 */ "..J........"
- /* 7 */ ".a.a......."
- /* 8 */ "..........."
-
- // Level 8
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ "..........."
- /* 4 */ "..........."
- /* 5 */ ".bbb......."
- /* 6 */ ".bKb......."
- /* 7 */ ".bbb......."
- /* 8 */ "..........."
-
- // Level 9
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ "..........."
- /* 4 */ "..........."
- /* 5 */ ".B.B......."
- /* 6 */ "..........."
- /* 7 */ ".B.B......."
- /* 8 */ "...........",
-
- // Connectors:
- "-1: 8, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 80,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // MediumHouse2
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // MediumHouse3:
- // The data has been exported from the gallery Desert, area index 76, ID 575, created by STR_Warrior
- {
- // Size:
- 12, 10, 11, // SizeX = 12, SizeY = 10, SizeZ = 11
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 12, 9, 11, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 2\n" /* sandstone */
- "b: 4: 0\n" /* cobblestone */
- "c: 3: 0\n" /* dirt */
- "d: 24: 0\n" /* sandstone */
- "e: 13: 0\n" /* gravel */
- "f: 2: 0\n" /* grass */
- "g: 5: 0\n" /* wood */
- "h: 85: 0\n" /* fence */
- "i: 64: 3\n" /* wooddoorblock */
- "j: 64: 2\n" /* wooddoorblock */
- "k: 65: 4\n" /* ladder */
- "l: 65: 2\n" /* ladder */
- "m: 19: 0\n" /* sponge */
- "n: 50: 1\n" /* torch */
- "o: 50: 2\n" /* torch */
- "p:101: 0\n" /* ironbars */
- "q: 64: 8\n" /* wooddoorblock */
- "r:128: 2\n" /* sandstonestairs */
- "s:128: 6\n" /* sandstonestairs */
- "t:126: 8\n" /* woodenslab */
- "u:128: 5\n" /* sandstonestairs */
- "v:128: 7\n" /* sandstonestairs */
- "w: 44: 1\n" /* step */
- "x: 96: 0\n" /* trapdoor */
- "y:126: 0\n" /* woodenslab */
- "z:128: 4\n" /* sandstonestairs */,
-
- // Block data:
- // Level 0
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "mmmmmammbbba"
- /* 1 */ "mmmmmmmmbbbm"
- /* 2 */ "cccccaddddda"
- /* 3 */ "cccccddddddd"
- /* 4 */ "cccccddddddd"
- /* 5 */ "cccccddddddd"
- /* 6 */ "cccddddddddd"
- /* 7 */ "mmmddddddddd"
- /* 8 */ "mmmdddddddda"
- /* 9 */ "mmmdddddmmmm"
- /* 10 */ "mmmadddammmm"
-
- // Level 1
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "mmmmmammeeea"
- /* 1 */ "mmmmmmmmeeem"
- /* 2 */ "fffffadddgda"
- /* 3 */ "fffffdgggggd"
- /* 4 */ "fffffggggggd"
- /* 5 */ "fffffdgggggd"
- /* 6 */ "fffddggggggd"
- /* 7 */ "mmmdgggggggd"
- /* 8 */ "mmmdggggddda"
- /* 9 */ "mmmdgggdmmmm"
- /* 10 */ "mmmadddammmm"
-
- // Level 2
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "mmmmma.....a"
- /* 1 */ "mmmmm......."
- /* 2 */ "hhhhhadddida"
- /* 3 */ "h....d.....d"
- /* 4 */ "h....j.....d"
- /* 5 */ "h....d.....d"
- /* 6 */ "hhhad......d"
- /* 7 */ "mmmd......kd"
- /* 8 */ "mmmd....ddda"
- /* 9 */ "mmmd..ldmmmm"
- /* 10 */ "mmmadddammmm"
-
- // Level 3
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "mmmmman...oa"
- /* 1 */ "mmmmm......."
- /* 2 */ ".....appdqda"
- /* 3 */ ".....d.....d"
- /* 4 */ ".....q.....d"
- /* 5 */ ".....d.....p"
- /* 6 */ "...hd......d"
- /* 7 */ "mmmd......kd"
- /* 8 */ "mmmd....dppa"
- /* 9 */ "mmmd..ldmmmm"
- /* 10 */ "mmmhdddhmmmm"
-
- // Level 4
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "mmmmmr.....r"
- /* 1 */ "mmmmmd.....d"
- /* 2 */ ".....assddda"
- /* 3 */ ".....dtttttd"
- /* 4 */ ".....dtttttd"
- /* 5 */ ".....dtttttu"
- /* 6 */ "...hdatttttd"
- /* 7 */ "mmmdttttttkd"
- /* 8 */ "mmmdtttadvva"
- /* 9 */ "mmmdttldmmmm"
- /* 10 */ "mmmhdddhmmmm"
-
- // Level 5
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ "............"
- /* 2 */ ".....dwwdwwd"
- /* 3 */ ".....w.....w"
- /* 4 */ ".....w.....w"
- /* 5 */ ".....w.....d"
- /* 6 */ "...hdadh...w"
- /* 7 */ "mmmd...d..xw"
- /* 8 */ "mmmd...awwwd"
- /* 9 */ "mmmd..ldmmmm"
- /* 10 */ "mmmhdddhmmmm"
-
- // Level 6
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ "............"
- /* 2 */ "............"
- /* 3 */ "............"
- /* 4 */ "............"
- /* 5 */ "............"
- /* 6 */ "...hd.dh...."
- /* 7 */ "mmmd...d...."
- /* 8 */ "mmmp........"
- /* 9 */ "mmmd..ldmmmm"
- /* 10 */ "mmmhdpdhmmmm"
-
- // Level 7
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ "............"
- /* 2 */ "............"
- /* 3 */ "............"
- /* 4 */ "............"
- /* 5 */ "............"
- /* 6 */ "...hd.dh...."
- /* 7 */ "mmmd...d...."
- /* 8 */ "mmmp........"
- /* 9 */ "mmmdn.ldmmmm"
- /* 10 */ "mmmhdpdhmmmm"
-
- // Level 8
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ "............"
- /* 2 */ "............"
- /* 3 */ "............"
- /* 4 */ "............"
- /* 5 */ "............"
- /* 6 */ "...adsda...."
- /* 7 */ "mmmdyyyd...."
- /* 8 */ "mmmzyyyu...."
- /* 9 */ "mmmdyyldmmmm"
- /* 10 */ "mmmadvdammmm"
-
- // Level 9
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ "............"
- /* 2 */ "............"
- /* 3 */ "............"
- /* 4 */ "............"
- /* 5 */ "............"
- /* 6 */ "...w.w.w...."
- /* 7 */ "mmm........."
- /* 8 */ "mmmw...w...."
- /* 9 */ "mmm.....mmmm"
- /* 10 */ "mmmw.w.wmmmm",
-
- // Connectors:
- "-1: 9, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 80,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // MediumHouse3
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // SmallHouse9:
- // The data has been exported from the gallery Desert, area index 67, ID 556, created by STR_Warrior
- {
- // Size:
- 9, 6, 11, // SizeX = 9, SizeY = 6, SizeZ = 11
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 9, 5, 11, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 2\n" /* sandstone */
- "b: 4: 0\n" /* cobblestone */
- "c: 24: 0\n" /* sandstone */
- "d: 13: 0\n" /* gravel */
- "e: 5: 0\n" /* wood */
- "f: 64: 3\n" /* wooddoorblock */
- "g: 65: 2\n" /* ladder */
- "h: 64: 8\n" /* wooddoorblock */
- "i:101: 0\n" /* ironbars */
- "j: 50: 2\n" /* torch */
- "k: 50: 1\n" /* torch */
- "l:128: 2\n" /* sandstonestairs */
- "m: 19: 0\n" /* sponge */
- "n:126: 8\n" /* woodenslab */
- "o:128: 5\n" /* sandstonestairs */
- "p:128: 6\n" /* sandstonestairs */
- "q:128: 4\n" /* sandstonestairs */
- "r:128: 7\n" /* sandstonestairs */
- "s: 44: 1\n" /* step */
- "t: 96: 2\n" /* trapdoor */,
-
- // Block data:
- // Level 0
- /* z\x* 012345678 */
- /* 0 */ "mmmmabbba"
- /* 1 */ "mmmmmbbbm"
- /* 2 */ "mmmmaccca"
- /* 3 */ "mmmmccccc"
- /* 4 */ "mmmmccccc"
- /* 5 */ "mmmmccccc"
- /* 6 */ "acccacccc"
- /* 7 */ "ccccccccc"
- /* 8 */ "ccccccccc"
- /* 9 */ "ccccccccc"
- /* 10 */ "accccccca"
-
- // Level 1
- /* z\x* 012345678 */
- /* 0 */ "mmmmaddda"
- /* 1 */ "mmmmmdddm"
- /* 2 */ "mmmmaceca"
- /* 3 */ "mmmmceeec"
- /* 4 */ "mmmmceeec"
- /* 5 */ "mmmmceeec"
- /* 6 */ "acccaeeec"
- /* 7 */ "ceeeeeeec"
- /* 8 */ "ceeeeeeec"
- /* 9 */ "ceeeeeeec"
- /* 10 */ "accccccca"
-
- // Level 2
- /* z\x* 012345678 */
- /* 0 */ "mmmma...a"
- /* 1 */ "mmmm....."
- /* 2 */ "mmmmacfca"
- /* 3 */ "mmmmc...c"
- /* 4 */ "mmmmc...c"
- /* 5 */ "mmmmc...c"
- /* 6 */ "accca...c"
- /* 7 */ "c.......c"
- /* 8 */ "c.......c"
- /* 9 */ "c......gc"
- /* 10 */ "accccccca"
-
- // Level 3
- /* z\x* 012345678 */
- /* 0 */ "mmmma...a"
- /* 1 */ "mmmm....."
- /* 2 */ "mmmmachca"
- /* 3 */ "mmmmc...c"
- /* 4 */ "mmmmc...c"
- /* 5 */ "mmmmc...i"
- /* 6 */ "acica...i"
- /* 7 */ "c.......i"
- /* 8 */ "i......jc"
- /* 9 */ "ck.....gc"
- /* 10 */ "acciiicca"
-
- // Level 4
- /* z\x* 012345678 */
- /* 0 */ "mmmml...l"
- /* 1 */ "mmmmc...c"
- /* 2 */ "mmmmaccca"
- /* 3 */ "mmmmcnnnc"
- /* 4 */ "mmmmcnnnc"
- /* 5 */ "mmmmcnnno"
- /* 6 */ "acpcannno"
- /* 7 */ "cnnnnnnno"
- /* 8 */ "qnnnnnnnc"
- /* 9 */ "cnnnnnngc"
- /* 10 */ "accrrrcca"
-
- // Level 5
- /* z\x* 012345678 */
- /* 0 */ "mmmm....."
- /* 1 */ "mmmm....."
- /* 2 */ "mmmmcscsc"
- /* 3 */ "mmmms...s"
- /* 4 */ "mmmms...s"
- /* 5 */ "mmmms...s"
- /* 6 */ "csssc...c"
- /* 7 */ "s.......s"
- /* 8 */ "s.......s"
- /* 9 */ "s......ts"
- /* 10 */ "cssscsssc",
-
- // Connectors:
- "-1: 6, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // SmallHouse9
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // Temple:
- // The data has been exported from the gallery Desert, area index 83, ID 599, created by STR_Warrior
- {
- // Size:
- 13, 10, 9, // SizeX = 13, SizeY = 10, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 13, 9, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "A: 51: 0\n" /* fire */
- "B: 44: 9\n" /* step */
- "a: 24: 2\n" /* sandstone */
- "b: 4: 0\n" /* cobblestone */
- "c: 24: 0\n" /* sandstone */
- "d: 13: 0\n" /* gravel */
- "e: 5: 0\n" /* wood */
- "f: 64: 3\n" /* wooddoorblock */
- "g: 17: 0\n" /* tree */
- "h:128: 5\n" /* sandstonestairs */
- "i:128: 4\n" /* sandstonestairs */
- "j:128: 7\n" /* sandstonestairs */
- "k:128: 6\n" /* sandstonestairs */
- "l:118: 3\n" /* cauldronblock */
- "m: 19: 0\n" /* sponge */
- "n:155: 1\n" /* quartzblock */
- "o: 64: 8\n" /* wooddoorblock */
- "p: 50: 3\n" /* torch */
- "q:101: 0\n" /* ironbars */
- "r:140: 0\n" /* flowerpotblock */
- "s: 24: 1\n" /* sandstone */
- "t:128: 2\n" /* sandstonestairs */
- "u:126: 8\n" /* woodenslab */
- "v: 44: 1\n" /* step */
- "w:128: 0\n" /* sandstonestairs */
- "x: 87: 0\n" /* netherstone */
- "y:128: 1\n" /* sandstonestairs */
- "z:128: 3\n" /* sandstonestairs */,
-
- // Block data:
- // Level 0
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "mmmmabbbammmm"
- /* 1 */ "mmmmmbbbmmmmm"
- /* 2 */ "accccccccccca"
- /* 3 */ "ccccccccccccc"
- /* 4 */ "ccccccccccccc"
- /* 5 */ "ccccccccccccc"
- /* 6 */ "ccccccccccccc"
- /* 7 */ "ccccccccccccc"
- /* 8 */ "accccccccccca"
-
- // Level 1
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "mmmmadddammmm"
- /* 1 */ "mmmmmdddmmmmm"
- /* 2 */ "accccceccccca"
- /* 3 */ "ceeeeeeeeeeec"
- /* 4 */ "ceeeeeeeeeeec"
- /* 5 */ "ceeeeeeeeeeec"
- /* 6 */ "ceeeeeeeeeeec"
- /* 7 */ "ceeeeeeeeeeec"
- /* 8 */ "accccccccccca"
-
- // Level 2
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "mmmma...ammmm"
- /* 1 */ "mmmm.....mmmm"
- /* 2 */ "acccccfccccca"
- /* 3 */ "cgh.......igc"
- /* 4 */ "cj.........jc"
- /* 5 */ "c...........c"
- /* 6 */ "ck.........kc"
- /* 7 */ "cgh.linhl.igc"
- /* 8 */ "accccccccccca"
-
- // Level 3
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "mmmma...ammmm"
- /* 1 */ "mmmm.....mmmm"
- /* 2 */ "acccccoccccca"
- /* 3 */ "cg...p.p...gc"
- /* 4 */ "c...........c"
- /* 5 */ "q...........q"
- /* 6 */ "c...........c"
- /* 7 */ "cg...rsr...gc"
- /* 8 */ "acqqqcccqqqca"
-
- // Level 4
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "mmmmt...tmmmm"
- /* 1 */ "mmmms...cmmmm"
- /* 2 */ "accccccccccca"
- /* 3 */ "cguuuuuuuuugc"
- /* 4 */ "cuuuuuuuuuuuc"
- /* 5 */ "iuuuuuuuuuuuh"
- /* 6 */ "cuuuuuuuuuuuc"
- /* 7 */ "cguuuuuuuuugc"
- /* 8 */ "acjjjcccjjjca"
-
- // Level 5
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "mmmm.....mmmm"
- /* 1 */ "mmmm.....mmmm"
- /* 2 */ "cvvvvvcvvvvvc"
- /* 3 */ "v...........v"
- /* 4 */ "v.ccc...ccc.v"
- /* 5 */ "c.ccc...ccc.c"
- /* 6 */ "v.ccc...ccc.v"
- /* 7 */ "v...........v"
- /* 8 */ "cvvvvvcvvvvvc"
-
- // Level 6
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ "............."
- /* 2 */ "............."
- /* 3 */ "............."
- /* 4 */ "..ata...ata.."
- /* 5 */ "..wxy...wxy.."
- /* 6 */ "..aza...aza.."
- /* 7 */ "............."
- /* 8 */ "............."
-
- // Level 7
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ "............."
- /* 2 */ "............."
- /* 3 */ "............."
- /* 4 */ "..a.a...a.a.."
- /* 5 */ "...A.....A..."
- /* 6 */ "..a.a...a.a.."
- /* 7 */ "............."
- /* 8 */ "............."
-
- // Level 8
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ "............."
- /* 2 */ "............."
- /* 3 */ "............."
- /* 4 */ "..ccc...ccc.."
- /* 5 */ "..cBc...cBc.."
- /* 6 */ "..ccc...ccc.."
- /* 7 */ "............."
- /* 8 */ "............."
-
- // Level 9
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ "............."
- /* 2 */ "............."
- /* 3 */ "............."
- /* 4 */ "..v.v...v.v.."
- /* 5 */ "............."
- /* 6 */ "..v.v...v.v.."
- /* 7 */ "............."
- /* 8 */ ".............",
-
- // Connectors:
- "-1: 6, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 50,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // Temple
-}; // g_AlchemistVillagePrefabs
-
-
-
-
-
-
-const cPrefab::sDef g_AlchemistVillageStartingPrefabs[] =
-{
- ////////////////////////////////////////////////////////////////////////////////
- // Well:
- // The data has been exported from the gallery Desert, area index 90, ID 631, created by STR_Warrior
- {
- // Size:
- 7, 21, 7, // SizeX = 7, SizeY = 21, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 6, 20, 6, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 1: 0\n" /* stone */
- "b: 24: 2\n" /* sandstone */
- "c: 24: 0\n" /* sandstone */
- "d: 8: 0\n" /* water */
- "e: 4: 0\n" /* cobblestone */
- "f: 13: 0\n" /* gravel */
- "g:128: 1\n" /* sandstonestairs */
- "h: 44: 1\n" /* step */
- "i:128: 0\n" /* sandstonestairs */
- "j:128: 3\n" /* sandstonestairs */
- "k:128: 2\n" /* sandstonestairs */
- "l: 44: 9\n" /* step */
- "m: 19: 0\n" /* sponge */
- "n:126: 0\n" /* woodenslab */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "maaaaam"
- /* 2 */ "maaaaam"
- /* 3 */ "maaaaam"
- /* 4 */ "maaaaam"
- /* 5 */ "maaaaam"
- /* 6 */ "mmmmmmm"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbcccbm"
- /* 2 */ "mcdddcm"
- /* 3 */ "mcdddcm"
- /* 4 */ "mcdddcm"
- /* 5 */ "mbcccbm"
- /* 6 */ "mmmmmmm"
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbcccbm"
- /* 2 */ "mcdddcm"
- /* 3 */ "mcdddcm"
- /* 4 */ "mcdddcm"
- /* 5 */ "mbcccbm"
- /* 6 */ "mmmmmmm"
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbcccbm"
- /* 2 */ "mcdddcm"
- /* 3 */ "mcdddcm"
- /* 4 */ "mcdddcm"
- /* 5 */ "mbcccbm"
- /* 6 */ "mmmmmmm"
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbcccbm"
- /* 2 */ "mcdddcm"
- /* 3 */ "mcdddcm"
- /* 4 */ "mcdddcm"
- /* 5 */ "mbcccbm"
- /* 6 */ "mmmmmmm"
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbcccbm"
- /* 2 */ "mcdddcm"
- /* 3 */ "mcdddcm"
- /* 4 */ "mcdddcm"
- /* 5 */ "mbcccbm"
- /* 6 */ "mmmmmmm"
-
- // Level 6
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbcccbm"
- /* 2 */ "mcdddcm"
- /* 3 */ "mcdddcm"
- /* 4 */ "mcdddcm"
- /* 5 */ "mbcccbm"
- /* 6 */ "mmmmmmm"
-
- // Level 7
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbcccbm"
- /* 2 */ "mcdddcm"
- /* 3 */ "mcdddcm"
- /* 4 */ "mcdddcm"
- /* 5 */ "mbcccbm"
- /* 6 */ "mmmmmmm"
-
- // Level 8
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbcccbm"
- /* 2 */ "mcdddcm"
- /* 3 */ "mcdddcm"
- /* 4 */ "mcdddcm"
- /* 5 */ "mbcccbm"
- /* 6 */ "mmmmmmm"
-
- // Level 9
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbcccbm"
- /* 2 */ "mcdddcm"
- /* 3 */ "mcdddcm"
- /* 4 */ "mcdddcm"
- /* 5 */ "mbcccbm"
- /* 6 */ "mmmmmmm"
-
- // Level 10
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbcccbm"
- /* 2 */ "mcdddcm"
- /* 3 */ "mcdddcm"
- /* 4 */ "mcdddcm"
- /* 5 */ "mbcccbm"
- /* 6 */ "mmmmmmm"
-
- // Level 11
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbcccbm"
- /* 2 */ "mcdddcm"
- /* 3 */ "mcdddcm"
- /* 4 */ "mcdddcm"
- /* 5 */ "mbcccbm"
- /* 6 */ "mmmmmmm"
-
- // Level 12
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbcccbm"
- /* 2 */ "mcdddcm"
- /* 3 */ "mcdddcm"
- /* 4 */ "mcdddcm"
- /* 5 */ "mbcccbm"
- /* 6 */ "mmmmmmm"
-
- // Level 13
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbcccbm"
- /* 2 */ "mcdddcm"
- /* 3 */ "mcdddcm"
- /* 4 */ "mcdddcm"
- /* 5 */ "mbcccbm"
- /* 6 */ "mmmmmmm"
-
- // Level 14
- /* z\x* 0123456 */
- /* 0 */ "mmeeemm"
- /* 1 */ "mbcccbm"
- /* 2 */ "ecdddce"
- /* 3 */ "ecdddce"
- /* 4 */ "ecdddce"
- /* 5 */ "mbcccbm"
- /* 6 */ "mmeeemm"
-
- // Level 15
- /* z\x* 0123456 */
- /* 0 */ "mmfffmm"
- /* 1 */ "mbcccbm"
- /* 2 */ "fcdddcf"
- /* 3 */ "fcdddcf"
- /* 4 */ "fcdddcf"
- /* 5 */ "mbcccbm"
- /* 6 */ "mmfffmm"
-
- // Level 16
- /* z\x* 0123456 */
- /* 0 */ "mm...mm"
- /* 1 */ "mbghibm"
- /* 2 */ ".j...j."
- /* 3 */ ".h...h."
- /* 4 */ ".k...k."
- /* 5 */ "mbghibm"
- /* 6 */ "mm...mm"
-
- // Level 17
- /* z\x* 0123456 */
- /* 0 */ "mm...mm"
- /* 1 */ "mb...bm"
- /* 2 */ "......."
- /* 3 */ "......."
- /* 4 */ "......."
- /* 5 */ "mb...bm"
- /* 6 */ "mm...mm"
-
- // Level 18
- /* z\x* 0123456 */
- /* 0 */ "mm...mm"
- /* 1 */ "mblllbm"
- /* 2 */ ".l...l."
- /* 3 */ ".l...l."
- /* 4 */ ".l...l."
- /* 5 */ "mblllbm"
- /* 6 */ "mm...mm"
-
- // Level 19
- /* z\x* 0123456 */
- /* 0 */ "mm...mm"
- /* 1 */ "mcccccm"
- /* 2 */ ".cnnnc."
- /* 3 */ ".cnnnc."
- /* 4 */ ".cnnnc."
- /* 5 */ "mcccccm"
- /* 6 */ "mm...mm"
-
- // Level 20
- /* z\x* 0123456 */
- /* 0 */ "mm...mm"
- /* 1 */ "mh.h.hm"
- /* 2 */ "......."
- /* 3 */ ".h...h."
- /* 4 */ "......."
- /* 5 */ "mh.h.hm"
- /* 6 */ "mm...mm",
-
- // Connectors:
- "2: 3, 16, 6: 3\n" /* Type 2, direction Z+ */
- "2: 0, 16, 3: 4\n" /* Type 2, direction X- */
- "2: 3, 16, 0: 2\n" /* Type 2, direction Z- */
- "2: 6, 16, 3: 5\n" /* Type 2, direction X+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // Well
-};
-
-
-
-
-
-// The prefab counts:
-
-const size_t g_AlchemistVillagePrefabsCount = ARRAYCOUNT(g_AlchemistVillagePrefabs);
-
-const size_t g_AlchemistVillageStartingPrefabsCount = ARRAYCOUNT(g_AlchemistVillageStartingPrefabs);
-
diff --git a/src/Generating/Prefabs/AlchemistVillagePrefabs.h b/src/Generating/Prefabs/AlchemistVillagePrefabs.h
deleted file mode 100644
index dddc5530a..000000000
--- a/src/Generating/Prefabs/AlchemistVillagePrefabs.h
+++ /dev/null
@@ -1,15 +0,0 @@
-
-// AlchemistVillagePrefabs.h
-
-// Declares the prefabs in the group AlchemistVillage
-
-#include "../Prefab.h"
-
-
-
-
-
-extern const cPrefab::sDef g_AlchemistVillagePrefabs[];
-extern const cPrefab::sDef g_AlchemistVillageStartingPrefabs[];
-extern const size_t g_AlchemistVillagePrefabsCount;
-extern const size_t g_AlchemistVillageStartingPrefabsCount;
diff --git a/src/Generating/Prefabs/CMakeLists.txt b/src/Generating/Prefabs/CMakeLists.txt
index 68f6491c4..1b130636f 100644
--- a/src/Generating/Prefabs/CMakeLists.txt
+++ b/src/Generating/Prefabs/CMakeLists.txt
@@ -5,26 +5,18 @@ project (MCServer)
include_directories ("${PROJECT_SOURCE_DIR}/../../")
SET (SRCS
- AlchemistVillagePrefabs.cpp
- JapaneseVillagePrefabs.cpp
NetherFortPrefabs.cpp
- PlainsVillagePrefabs.cpp
RainbowRoadPrefabs.cpp
- SandFlatRoofVillagePrefabs.cpp
- SandVillagePrefabs.cpp
TestRailsPrefabs.cpp
- UnderwaterBasePrefabs.cpp)
+ UnderwaterBasePrefabs.cpp
+)
SET (HDRS
- AlchemistVillagePrefabs.h
- JapaneseVillagePrefabs.h
NetherFortPrefabs.h
- PlainsVillagePrefabs.h
RainbowRoadPrefabs.h
- SandFlatRoofVillagePrefabs.h
- SandVillagePrefabs.h
TestRailsPrefabs.h
- UnderwaterBasePrefabs.h)
+ UnderwaterBasePrefabs.h
+)
if(NOT MSVC)
add_library(Generating_Prefabs ${SRCS} ${HDRS})
diff --git a/src/Generating/Prefabs/JapaneseVillagePrefabs.cpp b/src/Generating/Prefabs/JapaneseVillagePrefabs.cpp
deleted file mode 100644
index 0362c9406..000000000
--- a/src/Generating/Prefabs/JapaneseVillagePrefabs.cpp
+++ /dev/null
@@ -1,3386 +0,0 @@
-
-// JapaneseVillagePrefabs.cpp
-
-// Defines the prefabs in the group JapaneseVillage
-
-// NOTE: This file has been generated automatically by GalExport!
-// Any manual changes will be overwritten by the next automatic export!
-
-#include "Globals.h"
-#include "JapaneseVillagePrefabs.h"
-
-
-
-
-
-const cPrefab::sDef g_JapaneseVillagePrefabs[] =
-{
- ////////////////////////////////////////////////////////////////////////////////
- // Arch:
- // The data has been exported from the gallery Plains, area index 144, ID 488, created by Aloe_vera
- {
- // Size:
- 11, 7, 5, // SizeX = 11, SizeY = 7, SizeZ = 5
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 11, 6, 4, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 2: 0\n" /* grass */
- "b: 13: 0\n" /* gravel */
- "c:113: 0\n" /* netherbrickfence */
- "d: 50: 5\n" /* torch */
- "e: 44: 8\n" /* step */
- "f: 44: 0\n" /* step */
- "g: 43: 0\n" /* doubleslab */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "aaaabbbaaaa"
- /* 1 */ "aaaabbbaaaa"
- /* 2 */ "aaaabbbaaaa"
- /* 3 */ "aaaabbbaaaa"
- /* 4 */ "aaaabbbaaaa"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..c.....c.."
- /* 1 */ "..c.....c.."
- /* 2 */ "..c.....c.."
- /* 3 */ "..c.....c.."
- /* 4 */ "..c.....c.."
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..c.....c.."
- /* 1 */ "..........."
- /* 2 */ "..c.....c.."
- /* 3 */ "..........."
- /* 4 */ "..c.....c.."
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..d.....d.."
- /* 1 */ "..........."
- /* 2 */ "..c.....c.."
- /* 3 */ "..........."
- /* 4 */ "..d.....d.."
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "...eeeee..."
- /* 1 */ "..........."
- /* 2 */ "..c.....c.."
- /* 3 */ "..........."
- /* 4 */ "...eeeee..."
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..f.....f.."
- /* 1 */ ".egfffffge."
- /* 2 */ ".egeeeeege."
- /* 3 */ ".egfffffge."
- /* 4 */ "..f.....f.."
-
- // Level 6
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "gf.......fg"
- /* 3 */ "..........."
- /* 4 */ "...........",
-
- // Connectors:
- "2: 5, 1, 4: 3\n" /* Type 2, direction Z+ */
- "2: 5, 1, 0: 2\n" /* Type 2, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // Arch
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // Farm:
- // The data has been exported from the gallery Plains, area index 166, ID 554, created by Aloe_vera
- {
- // Size:
- 11, 8, 13, // SizeX = 11, SizeY = 8, SizeZ = 13
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 10, 7, 12, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 3: 0\n" /* dirt */
- "b: 60: 7\n" /* tilleddirt */
- "c: 8: 0\n" /* water */
- "d: 43: 0\n" /* doubleslab */
- "e: 44: 0\n" /* step */
- "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:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmmmmmmm"
- /* 1 */ "maaaaaaaaam"
- /* 2 */ "maaaaaaaaam"
- /* 3 */ "maaaaaaaaam"
- /* 4 */ "maaaaaaaaam"
- /* 5 */ "maaaaaaaaam"
- /* 6 */ "maaaaaaaaam"
- /* 7 */ "maaaaaaaaam"
- /* 8 */ "maaaaaaaaam"
- /* 9 */ "maaaaaaaaam"
- /* 10 */ "maaaaaaaaam"
- /* 11 */ "maaaaaaaaam"
- /* 12 */ "mmmmmmmmmmm"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmmmmmmm"
- /* 1 */ "maaaaaaaaam"
- /* 2 */ "mabbbbbbbam"
- /* 3 */ "mabbbbbbbam"
- /* 4 */ "mabbbbbbbam"
- /* 5 */ "mabbbbbbbam"
- /* 6 */ "mabcccccaam"
- /* 7 */ "mabbbbbbbam"
- /* 8 */ "mabbbbbbbam"
- /* 9 */ "mabbbbbbbam"
- /* 10 */ "mabbbbbbbam"
- /* 11 */ "maaaaaaaaam"
- /* 12 */ "mmmmmmmmmmm"
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".deeeeeeed."
- /* 2 */ ".efffffffe."
- /* 3 */ ".efffffffe."
- /* 4 */ ".efffffffe."
- /* 5 */ ".efgggggfe."
- /* 6 */ ".eg.....ge."
- /* 7 */ ".efgggggfe."
- /* 8 */ ".efffffffe."
- /* 9 */ ".efffffffe."
- /* 10 */ ".efffffffe."
- /* 11 */ ".deeeeeeed."
- /* 12 */ "..........."
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".h.......h."
- /* 2 */ "..........."
- /* 3 */ "..........."
- /* 4 */ "..........."
- /* 5 */ "...ggggg..."
- /* 6 */ "..g.....g.."
- /* 7 */ "...ggggg..."
- /* 8 */ "..........."
- /* 9 */ "..........."
- /* 10 */ "..........."
- /* 11 */ ".h.......h."
- /* 12 */ "..........."
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".h.......h."
- /* 2 */ "..........."
- /* 3 */ "..........."
- /* 4 */ "..........."
- /* 5 */ "...ggggg..."
- /* 6 */ "..g.....g.."
- /* 7 */ "...ggggg..."
- /* 8 */ "..........."
- /* 9 */ "..........."
- /* 10 */ "..........."
- /* 11 */ ".h.......h."
- /* 12 */ "..........."
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".h.......h."
- /* 2 */ "..........."
- /* 3 */ "..........."
- /* 4 */ "..........."
- /* 5 */ "..........."
- /* 6 */ "..........."
- /* 7 */ "..........."
- /* 8 */ "..........."
- /* 9 */ "..........."
- /* 10 */ "..........."
- /* 11 */ ".h.......h."
- /* 12 */ "..........."
-
- // Level 6
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ ".h.......h."
- /* 1 */ "hhh.....hhh"
- /* 2 */ ".h.......h."
- /* 3 */ "..........."
- /* 4 */ "..........."
- /* 5 */ "..........."
- /* 6 */ "..........."
- /* 7 */ "..........."
- /* 8 */ "..........."
- /* 9 */ "..........."
- /* 10 */ ".h.......h."
- /* 11 */ "hhh.....hhh"
- /* 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+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // Farm
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // Forge:
- // The data has been exported from the gallery Plains, area index 79, ID 145, created by Aloe_vera
- {
- // Size:
- 16, 11, 14, // SizeX = 16, SizeY = 11, SizeZ = 14
-
- // Hitbox (relative to bounding box):
- 0, 0, -1, // MinX, MinY, MinZ
- 16, 10, 14, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 4: 0\n" /* cobblestone */
- "b: 17: 1\n" /* tree */
- "c: 67: 0\n" /* stairs */
- "d: 5: 2\n" /* wood */
- "e: 67: 2\n" /* stairs */
- "f:113: 0\n" /* netherbrickfence */
- "g:118: 2\n" /* cauldronblock */
- "h: 67: 6\n" /* stairs */
- "i: 67: 4\n" /* stairs */
- "j: 87: 0\n" /* netherstone */
- "k: 67: 7\n" /* stairs */
- "l: 54: 5\n" /* chest */
- "m: 19: 0\n" /* sponge */
- "n: 61: 2\n" /* furnace */
- "o:101: 0\n" /* ironbars */
- "p: 51: 0\n" /* fire */
- "q: 50: 4\n" /* torch */
- "r: 50: 2\n" /* torch */
- "s: 35: 0\n" /* wool */
- "t: 67: 3\n" /* stairs */
- "u: 50: 3\n" /* torch */
- "v: 44: 8\n" /* step */
- "w: 43: 0\n" /* doubleslab */
- "x: 44: 0\n" /* step */
- "y: 17: 5\n" /* tree */
- "z: 17: 9\n" /* tree */,
-
- // Block data:
- // Level 0
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "mmmmmmmmmmmmmmmm"
- /* 1 */ "mmmmmmmmmmmmmmmm"
- /* 2 */ "mmaaaaaaaaaaaamm"
- /* 3 */ "mmaaaaaaaaaaaamm"
- /* 4 */ "mmaaaaaaaaaaaamm"
- /* 5 */ "mmaaaaaaaaaaaamm"
- /* 6 */ "mmaaaaaaaaaaaamm"
- /* 7 */ "mmaaaaaaaaaaaamm"
- /* 8 */ "mmaaaaaaaaaaaamm"
- /* 9 */ "mmaaaaaaaaaaaamm"
- /* 10 */ "mmaaaaaaaaaaaamm"
- /* 11 */ "mmaaaaaaaaaaaamm"
- /* 12 */ "mmmmmmmmmmmmmmmm"
- /* 13 */ "mmmmmmmmmmmmmmmm"
-
- // Level 1
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ "................"
- /* 2 */ ".....bbbbbbbbb.."
- /* 3 */ ".....cdddddddb.."
- /* 4 */ ".....cddaaaadb.."
- /* 5 */ "..beeedaaaaadb.."
- /* 6 */ "..bddddaaaaadb.."
- /* 7 */ "..bddddaaaaadb.."
- /* 8 */ "..bddddaaaaadb.."
- /* 9 */ "..bddddaaaaadb.."
- /* 10 */ "..bddddddddddb.."
- /* 11 */ "..bbbbbbbbbbbb.."
- /* 12 */ "................"
- /* 13 */ "................"
-
- // Level 2
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ "................"
- /* 2 */ ".....bfffbfffb.."
- /* 3 */ ".............a.."
- /* 4 */ ".............a.."
- /* 5 */ "..b.....ghh..a.."
- /* 6 */ "..f.....haa..b.."
- /* 7 */ "..f.....ija..b.."
- /* 8 */ "..f.....kaa..a.."
- /* 9 */ "..f..........a.."
- /* 10 */ "..fl.........a.."
- /* 11 */ "..bffffbbffffb.."
- /* 12 */ "................"
- /* 13 */ "................"
-
- // Level 3
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ "................"
- /* 2 */ ".....bfffbfffb.."
- /* 3 */ ".............a.."
- /* 4 */ ".............a.."
- /* 5 */ "..b......nn..a.."
- /* 6 */ "..f.....oaa..b.."
- /* 7 */ "..f.....opa..b.."
- /* 8 */ "..f.....oaa..a.."
- /* 9 */ "..f..........a.."
- /* 10 */ "..f..........a.."
- /* 11 */ "..bffffbbffffb.."
- /* 12 */ "................"
- /* 13 */ "................"
-
- // Level 4
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ ".........q...q.."
- /* 2 */ "....rbsssbsssb.."
- /* 3 */ ".............a.."
- /* 4 */ "..q..........a.."
- /* 5 */ "..b......ce..a.."
- /* 6 */ "..s......ea..b.."
- /* 7 */ "..s......aa..b.."
- /* 8 */ "..s......ta..a.."
- /* 9 */ "..s..........a.."
- /* 10 */ "..s..........a.."
- /* 11 */ ".rbssssbbssssb.."
- /* 12 */ "..u....uu....u.."
- /* 13 */ "................"
-
- // Level 5
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ ".vwxxxxxxxxxxwv."
- /* 1 */ "vvvvvvvvvvvvvvvv"
- /* 2 */ "wvbyybyyybbyybvw"
- /* 3 */ "xvz..........zvx"
- /* 4 */ "xvz..........zvx"
- /* 5 */ "xvb..........zvx"
- /* 6 */ "xvz.......a..bvx"
- /* 7 */ "xvz......ca..bvx"
- /* 8 */ "xvz.......a..zvx"
- /* 9 */ "xvz..........zvx"
- /* 10 */ "xvz..........zvx"
- /* 11 */ "wvbyyyyyyyyyybvw"
- /* 12 */ "vvvvvvvvvvvvvvvv"
- /* 13 */ ".vwxxxxxxxxxxwv."
-
- // Level 6
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "wx............xw"
- /* 1 */ "x..............x"
- /* 2 */ "..xxxxxxxxxxxx.."
- /* 3 */ "..xwwwwwwwwwwx.."
- /* 4 */ "..xwvvvvvvvvvx.."
- /* 5 */ "..xwv.......vx.."
- /* 6 */ "..xwv.....a.vx.."
- /* 7 */ "..xwv.....a.vx.."
- /* 8 */ "..xwv.....a.vx.."
- /* 9 */ "..xwvvvvvvvvvx.."
- /* 10 */ "..xwwwwwwwwwwx.."
- /* 11 */ "..xxxxxxxxxxxx.."
- /* 12 */ "x..............x"
- /* 13 */ "wx............xw"
-
- // Level 7
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ "................"
- /* 2 */ "................"
- /* 3 */ "................"
- /* 4 */ "....xxxxxxxx...."
- /* 5 */ "....xxxxxxxx...."
- /* 6 */ "....xwwwwwax...."
- /* 7 */ "....xwvvvvax...."
- /* 8 */ "....xwwwwwax...."
- /* 9 */ "....xxxxxxxx...."
- /* 10 */ "................"
- /* 11 */ "................"
- /* 12 */ "................"
- /* 13 */ "................"
-
- // Level 8
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ "................"
- /* 2 */ "................"
- /* 3 */ "................"
- /* 4 */ "................"
- /* 5 */ "................"
- /* 6 */ "..........a....."
- /* 7 */ ".......xx.a....."
- /* 8 */ "..........a....."
- /* 9 */ "................"
- /* 10 */ "................"
- /* 11 */ "................"
- /* 12 */ "................"
- /* 13 */ "................"
-
- // Level 9
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ "................"
- /* 2 */ "................"
- /* 3 */ "................"
- /* 4 */ "................"
- /* 5 */ "................"
- /* 6 */ "..........a....."
- /* 7 */ "..........a....."
- /* 8 */ "..........a....."
- /* 9 */ "................"
- /* 10 */ "................"
- /* 11 */ "................"
- /* 12 */ "................"
- /* 13 */ "................"
-
- // Level 10
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ "................"
- /* 2 */ "................"
- /* 3 */ "................"
- /* 4 */ "................"
- /* 5 */ "................"
- /* 6 */ "..........a....."
- /* 7 */ "..........a....."
- /* 8 */ "..........a....."
- /* 9 */ "................"
- /* 10 */ "................"
- /* 11 */ "................"
- /* 12 */ "................"
- /* 13 */ "................",
-
- // Connectors:
- "-1: 0, 1, 3: 4\n" /* Type -1, direction X- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // Forge
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // Garden2:
- // The data has been exported from the gallery Plains, area index 147, ID 491, created by Aloe_vera
- {
- // Size:
- 16, 5, 16, // SizeX = 16, SizeY = 5, SizeZ = 16
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 15, 4, 15, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 3: 0\n" /* dirt */
- "b: 8: 0\n" /* water */
- "c: 2: 0\n" /* grass */
- "d: 17: 1\n" /* tree */
- "e: 13: 0\n" /* gravel */
- "f: 31: 2\n" /* tallgrass */
- "g: 18: 5\n" /* leaves */
- "h: 38: 7\n" /* rose */
- "i: 17: 9\n" /* tree */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "aaaaaaaaaaaaaaaa"
- /* 1 */ "aaaaaaaaaaaaaaaa"
- /* 2 */ "aaaaaaaaaaaaaaaa"
- /* 3 */ "aaaaaaaaaaaaaaaa"
- /* 4 */ "aaaaaaaaaaaaaaaa"
- /* 5 */ "aaaaaaaaaaaaaaaa"
- /* 6 */ "aaaaaaaaaaaaaaaa"
- /* 7 */ "aaaaaaaaaaaaaaaa"
- /* 8 */ "aaaaaaaaaaaaaaaa"
- /* 9 */ "aaaaaaaaaaaaaaaa"
- /* 10 */ "aaaaaaaaaaaaaaaa"
- /* 11 */ "aaaaaaaaaaaaaaaa"
- /* 12 */ "aaaaaaaaaaaaaaaa"
- /* 13 */ "aaaaaaaaaaaaaaaa"
- /* 14 */ "aaaaaaaaaaaaaaaa"
- /* 15 */ "aaaaaaaaaaaaaaaa"
-
- // Level 1
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "aaaaaaaaaaaaaaaa"
- /* 1 */ "aaaaaaaaaaaaaaaa"
- /* 2 */ "aaaaaaaaaaaaaaaa"
- /* 3 */ "aaaaaaaaaaaaaaaa"
- /* 4 */ "aaaaaaaaaaaaaaaa"
- /* 5 */ "aaaaaaaaaaaaaaaa"
- /* 6 */ "aaaabbaaaaaaaaaa"
- /* 7 */ "aaabbbaaaaaaaaaa"
- /* 8 */ "aaabbaaaaaaaaaaa"
- /* 9 */ "aaaabaaaaaaaaaaa"
- /* 10 */ "aaaaaaaaaaaaaaaa"
- /* 11 */ "aaaaaaaaaaaaaaaa"
- /* 12 */ "aaaaaaaaaaaaaaaa"
- /* 13 */ "aaaaaaaaaaaaaaaa"
- /* 14 */ "aaaaaaaaaaaaaaaa"
- /* 15 */ "aaaaaaaaaaaaaaaa"
-
- // Level 2
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "cccccccccccccccc"
- /* 1 */ "ccdccccccccdcccc"
- /* 2 */ "cccccceecccccdcc"
- /* 3 */ "ccccccceeccccccc"
- /* 4 */ "cccccccceccccccc"
- /* 5 */ "cccbbbbceccccccc"
- /* 6 */ "cccbbbbceecccccc"
- /* 7 */ "ccbbbbbcceeeeccc"
- /* 8 */ "ccbbbbbccccceecc"
- /* 9 */ "ccbbbbcccccccecc"
- /* 10 */ "ccccbcccccccceec"
- /* 11 */ "ccccccccccccccec"
- /* 12 */ "ccccccccaaacccec"
- /* 13 */ "cccccccccaccccec"
- /* 14 */ "ccccccccccccceec"
- /* 15 */ "cccccccccccceecc"
-
- // Level 3
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "......f...gg.g.."
- /* 1 */ "..gg.....gggggg."
- /* 2 */ "ffgg......ghgggg"
- /* 3 */ ".............gg."
- /* 4 */ "...........f...."
- /* 5 */ "...........h.ff."
- /* 6 */ ".............fh."
- /* 7 */ "...............f"
- /* 8 */ "................"
- /* 9 */ ".......ff.f....."
- /* 10 */ ".f.....ffggf...."
- /* 11 */ ".......gggg.f..."
- /* 12 */ ".f......iddg...."
- /* 13 */ ".....f..gdgg...."
- /* 14 */ "....ff...gg....."
- /* 15 */ "................"
-
- // Level 4
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ "...........g.g.."
- /* 2 */ ".............gg."
- /* 3 */ "................"
- /* 4 */ "................"
- /* 5 */ "................"
- /* 6 */ "................"
- /* 7 */ "................"
- /* 8 */ "................"
- /* 9 */ "................"
- /* 10 */ ".........g......"
- /* 11 */ "........ggg....."
- /* 12 */ "........ggg....."
- /* 13 */ ".........g......"
- /* 14 */ "................"
- /* 15 */ "................",
-
- // Connectors:
- "-1: 12, 3, 15: 3\n" /* Type -1, direction Z+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // Garden2
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // HouseMid:
- // The data has been exported from the gallery Plains, area index 62, ID 119, created by Aloe_vera
- {
- // Size:
- 10, 9, 9, // SizeX = 10, SizeY = 9, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- 0, 0, -1, // MinX, MinY, MinZ
- 10, 8, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 2\n" /* wood */
- "b:135: 2\n" /* 135 */
- "c:135: 0\n" /* 135 */
- "d: 17: 9\n" /* tree */
- "e:135: 3\n" /* 135 */
- "f: 85: 0\n" /* fence */
- "g: 17: 1\n" /* tree */
- "h:171: 0\n" /* carpet */
- "i: 50: 5\n" /* torch */
- "j: 35: 0\n" /* wool */
- "k: 17: 5\n" /* tree */
- "l:124: 0\n" /* redstonelampon */
- "m: 19: 0\n" /* sponge */
- "n: 69: 9\n" /* lever */
- "o: 44: 8\n" /* step */
- "p: 43: 0\n" /* doubleslab */
- "q: 44: 0\n" /* step */,
-
- // Block data:
- // Level 0
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "maaaaaaaaa"
- /* 1 */ "maaaaaaaaa"
- /* 2 */ "aaaaaaaaaa"
- /* 3 */ "aaaaaaaaaa"
- /* 4 */ "aaaaaaaaaa"
- /* 5 */ "aaaaaaaaaa"
- /* 6 */ "aaaaaaaaaa"
- /* 7 */ "maaaaaaaaa"
- /* 8 */ "maaaaaaaaa"
-
- // Level 1
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".aaaaaaaaa"
- /* 1 */ ".aaaaaaaaa"
- /* 2 */ "baaaaaaaaa"
- /* 3 */ "caaaaaaaaa"
- /* 4 */ "caadaaaaaa"
- /* 5 */ "caaaaaaaaa"
- /* 6 */ "eaaaaaaaaa"
- /* 7 */ ".aaaaaaaaa"
- /* 8 */ ".aaaaaaaaa"
-
- // Level 2
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".fffffffff"
- /* 1 */ ".f.......f"
- /* 2 */ ".f.ggggg.f"
- /* 3 */ "...ghhhg.f"
- /* 4 */ "....hhhg.f"
- /* 5 */ "...ghhhg.f"
- /* 6 */ ".f.ggggg.f"
- /* 7 */ ".f.......f"
- /* 8 */ ".fffffffff"
-
- // Level 3
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".....i...i"
- /* 1 */ ".........."
- /* 2 */ ".i.jjgjj.."
- /* 3 */ "...g...j.."
- /* 4 */ ".......g.i"
- /* 5 */ "...g...j.."
- /* 6 */ ".i.jjgjj.."
- /* 7 */ ".........."
- /* 8 */ ".....i...i"
-
- // Level 4
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".........."
- /* 1 */ ".........."
- /* 2 */ "...jjgjj.."
- /* 3 */ "...g...j.."
- /* 4 */ "...j...g.."
- /* 5 */ "...g...j.."
- /* 6 */ "...jjgjj.."
- /* 7 */ ".........."
- /* 8 */ ".........."
-
- // Level 5
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".........."
- /* 1 */ "...f...f.."
- /* 2 */ "..fgkgkgf."
- /* 3 */ "..fd...d.."
- /* 4 */ "...d.lng.."
- /* 5 */ "..fd...d.."
- /* 6 */ "..fgkgkgf."
- /* 7 */ "...f...f.."
- /* 8 */ ".........."
-
- // Level 6
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "...ooooo.."
- /* 1 */ "..opppppo."
- /* 2 */ ".opgjjjgpo"
- /* 3 */ ".opjgggjpo"
- /* 4 */ ".opjgggjpo"
- /* 5 */ ".opjgggjpo"
- /* 6 */ ".opgjjjgpo"
- /* 7 */ "..opppppo."
- /* 8 */ "...ooooo.."
-
- // Level 7
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".opq...qpo"
- /* 1 */ ".pq.....qp"
- /* 2 */ ".q.qqqqq.q"
- /* 3 */ "...qpppq.."
- /* 4 */ "...qpppq.."
- /* 5 */ "...qpppq.."
- /* 6 */ ".q.qqqqq.q"
- /* 7 */ ".pq.....qp"
- /* 8 */ ".opq...qpo"
-
- // Level 8
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".q.......q"
- /* 1 */ ".........."
- /* 2 */ ".........."
- /* 3 */ ".........."
- /* 4 */ ".....q...."
- /* 5 */ ".........."
- /* 6 */ ".........."
- /* 7 */ ".........."
- /* 8 */ ".q.......q",
-
- // Connectors:
- "-1: 0, 1, 4: 4\n" /* Type -1, direction X- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // HouseMid
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // HouseSmall:
- // The data has been exported from the gallery Plains, area index 68, ID 131, created by Aloe_vera
- {
- // Size:
- 7, 6, 7, // SizeX = 7, SizeY = 6, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 7, 5, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 2\n" /* wood */
- "b: 17: 1\n" /* tree */
- "c: 35: 0\n" /* wool */
- "d: 50: 4\n" /* torch */
- "e: 85: 0\n" /* fence */
- "f: 44: 8\n" /* step */
- "g: 43: 0\n" /* doubleslab */
- "h: 44: 0\n" /* step */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "maaaaam"
- /* 2 */ "maaaaam"
- /* 3 */ "maaaaam"
- /* 4 */ "maaaaam"
- /* 5 */ "maaaaam"
- /* 6 */ "mmmmmmm"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".bcc.b."
- /* 2 */ ".c...c."
- /* 3 */ ".c...c."
- /* 4 */ ".c...c."
- /* 5 */ ".bcccb."
- /* 6 */ "......."
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ ".....d."
- /* 1 */ ".bee.b."
- /* 2 */ ".c...c."
- /* 3 */ ".e...e."
- /* 4 */ ".c...c."
- /* 5 */ ".beeeb."
- /* 6 */ "......."
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ ".fffff."
- /* 1 */ "fbcccbf"
- /* 2 */ "fc...cf"
- /* 3 */ "fc...cf"
- /* 4 */ "fc...cf"
- /* 5 */ "fbcccbf"
- /* 6 */ ".fffff."
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "gh...hg"
- /* 1 */ "hhhhhhh"
- /* 2 */ ".hgggh."
- /* 3 */ ".hgggh."
- /* 4 */ ".hgggh."
- /* 5 */ "hhhhhhh"
- /* 6 */ "gh...hg"
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "......."
- /* 2 */ "......."
- /* 3 */ "...h..."
- /* 4 */ "......."
- /* 5 */ "......."
- /* 6 */ ".......",
-
- // Connectors:
- "-1: 4, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // HouseSmall
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // HouseSmallDblWithDoor:
- // The data has been exported from the gallery Plains, area index 113, ID 265, created by Aloe_vera
- {
- // Size:
- 11, 6, 7, // SizeX = 11, SizeY = 6, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 11, 5, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 2\n" /* wood */
- "b: 17: 9\n" /* tree */
- "c: 17: 1\n" /* tree */
- "d: 35: 0\n" /* wool */
- "e: 64: 7\n" /* wooddoorblock */
- "f:171:12\n" /* carpet */
- "g:135: 1\n" /* 135 */
- "h:126: 2\n" /* woodenslab */
- "i:135: 2\n" /* 135 */
- "j: 50: 4\n" /* torch */
- "k: 64:12\n" /* wooddoorblock */
- "l: 85: 0\n" /* fence */
- "m: 19: 0\n" /* sponge */
- "n: 44: 8\n" /* step */
- "o: 43: 0\n" /* doubleslab */
- "p: 44: 0\n" /* step */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmmmmmmm"
- /* 1 */ "maaaaaaaaam"
- /* 2 */ "maaaabaaaam"
- /* 3 */ "maaaabaaaam"
- /* 4 */ "maaaabaaaam"
- /* 5 */ "maaaaaaaaam"
- /* 6 */ "mmmmmmmmmmm"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".cdedcdddc."
- /* 2 */ ".dfff.fffd."
- /* 3 */ ".dgffdfhfd."
- /* 4 */ ".diifdfffd."
- /* 5 */ ".cdddcdddc."
- /* 6 */ "..........."
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ ".j...j...j."
- /* 1 */ ".cdkdclllc."
- /* 2 */ ".d.......l."
- /* 3 */ ".l...l...l."
- /* 4 */ ".d...l...l."
- /* 5 */ ".clllclllc."
- /* 6 */ "..........."
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ ".nnnnnnnnn."
- /* 1 */ "ncdddcdddcn"
- /* 2 */ "nd...d...dn"
- /* 3 */ "nd...d...dn"
- /* 4 */ "nd...d...dn"
- /* 5 */ "ncdddcdddcn"
- /* 6 */ ".nnnnnnnnn."
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "op.......po"
- /* 1 */ "ppppppppppp"
- /* 2 */ ".pooooooop."
- /* 3 */ ".ponndnnop."
- /* 4 */ ".pooooooop."
- /* 5 */ "ppppppppppp"
- /* 6 */ "op.......po"
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ "...ppppp..."
- /* 4 */ "..........."
- /* 5 */ "..........."
- /* 6 */ "...........",
-
- // Connectors:
- "-1: 3, 1, -1: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // HouseSmallDblWithDoor
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // HouseSmallDouble:
- // The data has been exported from the gallery Plains, area index 72, ID 135, created by Aloe_vera
- {
- // Size:
- 11, 6, 7, // SizeX = 11, SizeY = 6, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 11, 5, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 2\n" /* wood */
- "b: 17: 1\n" /* tree */
- "c: 35: 0\n" /* wool */
- "d:171:12\n" /* carpet */
- "e:135: 1\n" /* 135 */
- "f:126: 2\n" /* woodenslab */
- "g:135: 2\n" /* 135 */
- "h: 50: 4\n" /* torch */
- "i: 85: 0\n" /* fence */
- "j: 44: 8\n" /* step */
- "k: 43: 0\n" /* doubleslab */
- "l: 44: 0\n" /* step */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmmmmmmm"
- /* 1 */ "maaaaaaaaam"
- /* 2 */ "maaaaaaaaam"
- /* 3 */ "maaaaaaaaam"
- /* 4 */ "maaaaaaaaam"
- /* 5 */ "maaaaaaaaam"
- /* 6 */ "mmmmmmmmmmm"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".bcc.bcccb."
- /* 2 */ ".cddd.dddc."
- /* 3 */ ".ceddcdfdc."
- /* 4 */ ".cggdcdddc."
- /* 5 */ ".bcccbcccb."
- /* 6 */ "..........."
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ ".h...h...h."
- /* 1 */ ".bii.biiib."
- /* 2 */ ".c.......c."
- /* 3 */ ".i...i...i."
- /* 4 */ ".c...i...c."
- /* 5 */ ".biiibiiib."
- /* 6 */ "..........."
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ ".jjjjjjjjj."
- /* 1 */ "jbiiibiiibj"
- /* 2 */ "jc.......cj"
- /* 3 */ "jc...c...cj"
- /* 4 */ "jc...c...cj"
- /* 5 */ "jbcccbcccbj"
- /* 6 */ ".jjjjjjjjj."
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "kl...l...lk"
- /* 1 */ "lllllllllll"
- /* 2 */ ".lkkklkkkl."
- /* 3 */ ".lkjklkkkl."
- /* 4 */ ".lkkklkkkl."
- /* 5 */ "lllllllllll"
- /* 6 */ "kl...l...lk"
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ "...l...l..."
- /* 4 */ "..........."
- /* 5 */ "..........."
- /* 6 */ "...........",
-
- // Connectors:
- "-1: 4, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // HouseSmallDouble
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // HouseSmallWithDoor:
- // The data has been exported from the gallery Plains, area index 112, ID 264, created by Aloe_vera
- {
- // Size:
- 7, 6, 7, // SizeX = 7, SizeY = 6, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 7, 5, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 2\n" /* wood */
- "b: 17: 1\n" /* tree */
- "c: 35: 0\n" /* wool */
- "d: 64: 7\n" /* wooddoorblock */
- "e: 50: 4\n" /* torch */
- "f: 64:12\n" /* wooddoorblock */
- "g: 85: 0\n" /* fence */
- "h: 44: 8\n" /* step */
- "i: 43: 0\n" /* doubleslab */
- "j: 44: 0\n" /* step */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "maaaaam"
- /* 2 */ "maaaaam"
- /* 3 */ "maaaaam"
- /* 4 */ "maaaaam"
- /* 5 */ "maaaaam"
- /* 6 */ "mmmmmmm"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".bcdcb."
- /* 2 */ ".c...c."
- /* 3 */ ".c...c."
- /* 4 */ ".c...c."
- /* 5 */ ".bcccb."
- /* 6 */ "......."
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ ".....e."
- /* 1 */ ".bcfcb."
- /* 2 */ ".g...g."
- /* 3 */ ".g...g."
- /* 4 */ ".g...g."
- /* 5 */ ".bgggb."
- /* 6 */ "......."
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ ".hhhhh."
- /* 1 */ "hbcccbh"
- /* 2 */ "hc...ch"
- /* 3 */ "hc...ch"
- /* 4 */ "hc...ch"
- /* 5 */ "hbcccbh"
- /* 6 */ ".hhhhh."
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "ij...ji"
- /* 1 */ "jjjjjjj"
- /* 2 */ ".jiiij."
- /* 3 */ ".jiiij."
- /* 4 */ ".jiiij."
- /* 5 */ "jjjjjjj"
- /* 6 */ "ij...ji"
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "......."
- /* 2 */ "......."
- /* 3 */ "...j..."
- /* 4 */ "......."
- /* 5 */ "......."
- /* 6 */ ".......",
-
- // Connectors:
- "-1: 3, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // HouseSmallWithDoor
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // HouseWide:
- // The data has been exported from the gallery Plains, area index 64, ID 121, created by STR_Warrior
- {
- // Size:
- 11, 6, 11, // SizeX = 11, SizeY = 6, SizeZ = 11
-
- // Hitbox (relative to bounding box):
- -1, 0, -1, // MinX, MinY, MinZ
- 11, 5, 10, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 2\n" /* wood */
- "b: 17: 1\n" /* tree */
- "c: 35: 0\n" /* wool */
- "d:171: 0\n" /* carpet */
- "e:126: 1\n" /* woodenslab */
- "f: 64: 5\n" /* wooddoorblock */
- "g: 85: 0\n" /* fence */
- "h: 50: 1\n" /* torch */
- "i: 50: 2\n" /* torch */
- "j: 64:12\n" /* wooddoorblock */
- "k:126:11\n" /* woodenslab */
- "l: 17: 5\n" /* tree */
- "m: 19: 0\n" /* sponge */
- "n:126: 3\n" /* woodenslab */
- "o:125: 3\n" /* woodendoubleslab */
- "p: 5: 3\n" /* wood */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmmmmmmm"
- /* 1 */ "mmaaaaaaamm"
- /* 2 */ "maaaaaaaaam"
- /* 3 */ "maaaaaaaaam"
- /* 4 */ "maaaaaaaaam"
- /* 5 */ "maaaaaaaaam"
- /* 6 */ "maaaaaaaaam"
- /* 7 */ "maaaaaaaaam"
- /* 8 */ "maaaaaaaaam"
- /* 9 */ "mmaaaaaaamm"
- /* 10 */ "mmmmmmmmmmm"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..bcbcbcb.."
- /* 2 */ ".b.d.....b."
- /* 3 */ ".cded....c."
- /* 4 */ ".bded....b."
- /* 5 */ ".c.d.....c."
- /* 6 */ ".b.......b."
- /* 7 */ ".c.......c."
- /* 8 */ ".b.......b."
- /* 9 */ "..bcbfbcb.."
- /* 10 */ "..........."
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..bgbgbgb.."
- /* 2 */ ".b.......b."
- /* 3 */ ".g.......g."
- /* 4 */ ".bh.....ib."
- /* 5 */ ".g.......g."
- /* 6 */ ".b.......b."
- /* 7 */ ".g.......g."
- /* 8 */ ".b.......b."
- /* 9 */ "..bgbjbgb.."
- /* 10 */ "..........."
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "...kkkkk..."
- /* 1 */ "..bcbcbcb.."
- /* 2 */ ".b.......b."
- /* 3 */ "kc.......ck"
- /* 4 */ "kb.......bk"
- /* 5 */ "kc.......ck"
- /* 6 */ "kb.......bk"
- /* 7 */ "kc.......ck"
- /* 8 */ ".b.......b."
- /* 9 */ "..bcblbcb.."
- /* 10 */ "...kkkkk..."
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ ".kn.....nk."
- /* 1 */ "konnnnnnnok"
- /* 2 */ "nnnnnnnnnnn"
- /* 3 */ ".nnpppppnn."
- /* 4 */ ".nnpkkkpnn."
- /* 5 */ ".nnpkkkpnn."
- /* 6 */ ".nnpkkkpnn."
- /* 7 */ ".nnpppppnn."
- /* 8 */ "nnnnnnnnnnn"
- /* 9 */ "kknnnnnnnok"
- /* 10 */ ".kn.....nk."
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "n.........n"
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ "..........."
- /* 4 */ "....nnn...."
- /* 5 */ "....non...."
- /* 6 */ "....nnn...."
- /* 7 */ "..........."
- /* 8 */ "..........."
- /* 9 */ "..........."
- /* 10 */ "n.........n",
-
- // Connectors:
- "-1: 5, 1, 10: 3\n" /* Type -1, direction Z+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // HouseWide
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // HouseWithGarden:
- // The data has been exported from the gallery Plains, area index 67, ID 130, created by Aloe_vera
- {
- // Size:
- 16, 9, 16, // SizeX = 16, SizeY = 9, SizeZ = 16
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 16, 8, 16, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 3: 0\n" /* dirt */
- "b: 5: 2\n" /* wood */
- "c: 2: 0\n" /* grass */
- "d:113: 0\n" /* netherbrickfence */
- "e: 17: 1\n" /* tree */
- "f: 35: 0\n" /* wool */
- "g:126: 2\n" /* woodenslab */
- "h: 31: 2\n" /* tallgrass */
- "i:125: 2\n" /* woodendoubleslab */
- "j: 38: 3\n" /* rose */
- "k: 38: 2\n" /* rose */
- "l: 38: 1\n" /* rose */
- "m: 19: 0\n" /* sponge */
- "n: 17: 2\n" /* tree */
- "o: 50: 4\n" /* torch */
- "p: 85: 0\n" /* fence */
- "q:140: 0\n" /* flowerpotblock */
- "r: 50: 3\n" /* torch */
- "s: 44: 8\n" /* step */
- "t: 50: 1\n" /* torch */
- "u: 50: 2\n" /* torch */
- "v: 43: 0\n" /* doubleslab */
- "w: 44: 0\n" /* step */
- "x: 18:10\n" /* leaves */,
-
- // Block data:
- // Level 0
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "mmmmmmmmmaammmmm"
- /* 1 */ "aabbbbbbbbbbaaam"
- /* 2 */ "aabbbbbbbbbbaaam"
- /* 3 */ "aabbbbbbbbbbaaam"
- /* 4 */ "aabbbbbbbbbbaaam"
- /* 5 */ "aabbbbbbbbbbaaam"
- /* 6 */ "aabbbbbbbbbbaaam"
- /* 7 */ "aabbbbbbbbbbaaam"
- /* 8 */ "aabbbbbbbbbbaaam"
- /* 9 */ "aabbbbbbbbbbaaam"
- /* 10 */ "aaaaaaaaaaaaaaam"
- /* 11 */ "aaaaaaaaaaaaaaam"
- /* 12 */ "aaaaaaaaaaaaaaam"
- /* 13 */ "aaaaaaaaaaaaaaam"
- /* 14 */ "aaaaaaaaaaaaaaam"
- /* 15 */ "mmmmmmmmmmmmmmmm"
-
- // Level 1
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "mmmmmmmmmccmmmmm"
- /* 1 */ "ccbbbbbbbbbbcccm"
- /* 2 */ "ccbbbbbbbbbbcccm"
- /* 3 */ "ccbbbbbbbbbbcccm"
- /* 4 */ "ccbbbbbbbbbbcccm"
- /* 5 */ "ccbbbbbbbbbbcccm"
- /* 6 */ "ccbbbbbbbbbbcccm"
- /* 7 */ "ccbbbbbbbbbbcccm"
- /* 8 */ "ccbbbbbbbbbbcccm"
- /* 9 */ "ccbbbbbbbbbbcccm"
- /* 10 */ "cccccccccccccccm"
- /* 11 */ "cccccccccccccccm"
- /* 12 */ "cccccccccccccccm"
- /* 13 */ "cccccccccccccacm"
- /* 14 */ "cccccccccccccccm"
- /* 15 */ "mmmmmmmmmmmmmmmm"
-
- // Level 2
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ "ddeffeffe..eddd."
- /* 2 */ "d.fbbgggg..f..d."
- /* 3 */ "d.fbgggggggf.hd."
- /* 4 */ "d.fbgggggggf..d."
- /* 5 */ "d.eggggggggehhd."
- /* 6 */ "d.fgiiggiigf.hd."
- /* 7 */ "d.fgiiggiigf..d."
- /* 8 */ "d.fggggggggf..d."
- /* 9 */ "d.efffeefffe.hd."
- /* 10 */ "d.............d."
- /* 11 */ "djhhk.jhh..hh.d."
- /* 12 */ "d.jlk.hj.h....d."
- /* 13 */ "d..jh.hh..h..nd."
- /* 14 */ "ddddddddddddddd."
- /* 15 */ "................"
-
- // Level 3
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "........o..o...."
- /* 1 */ "..eppeffe..e...."
- /* 2 */ "..pqq......p...."
- /* 3 */ "..pq.......p...."
- /* 4 */ "..pq.......p...."
- /* 5 */ "..e........e...."
- /* 6 */ "..p........p...."
- /* 7 */ "..p........p...."
- /* 8 */ "..p........p...."
- /* 9 */ "..epppeepppe...."
- /* 10 */ "......rr........"
- /* 11 */ "................"
- /* 12 */ "................"
- /* 13 */ ".............n.."
- /* 14 */ "................"
- /* 15 */ "................"
-
- // Level 4
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "..ssssssssss...."
- /* 1 */ ".seffeffeffes..."
- /* 2 */ ".sf..r.....fs..."
- /* 3 */ ".sf........fs..."
- /* 4 */ ".sf........fs..."
- /* 5 */ ".set......ues..."
- /* 6 */ ".sf........fs..."
- /* 7 */ ".sf........fs..."
- /* 8 */ ".sf........fs..."
- /* 9 */ ".sefffeefffes..."
- /* 10 */ "..ssssssssss...."
- /* 11 */ "................"
- /* 12 */ "................"
- /* 13 */ ".............n.."
- /* 14 */ "................"
- /* 15 */ "................"
-
- // Level 5
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ ".vw........wv..."
- /* 1 */ ".wwwwwwwwwwww..."
- /* 2 */ "..wvvvvvvvvw...."
- /* 3 */ "..wvvvvvvvvw...."
- /* 4 */ "..wvvvvvvvvw...."
- /* 5 */ "..wvvvvvvvvw...."
- /* 6 */ "..wvvvvvvvvw...."
- /* 7 */ "..wvvvvvvvvw...."
- /* 8 */ "..wvvvvvvvvw...."
- /* 9 */ ".wwwwwwwwwwww..."
- /* 10 */ ".vw........wv..."
- /* 11 */ "............xxx."
- /* 12 */ "...........xxxxx"
- /* 13 */ "...........xxnxx"
- /* 14 */ "...........xxxxx"
- /* 15 */ "............xxx."
-
- // Level 6
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ "................"
- /* 2 */ "................"
- /* 3 */ "....wwwwww......"
- /* 4 */ "....wvvvvw......"
- /* 5 */ "....wvvvvw......"
- /* 6 */ "....wvvvvw......"
- /* 7 */ "....wwwwww......"
- /* 8 */ "................"
- /* 9 */ "................"
- /* 10 */ "................"
- /* 11 */ "............xxx."
- /* 12 */ "...........xxxxx"
- /* 13 */ "...........xxnxx"
- /* 14 */ "...........xxxxx"
- /* 15 */ "............xxx."
-
- // Level 7
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ "................"
- /* 2 */ "................"
- /* 3 */ "................"
- /* 4 */ "................"
- /* 5 */ "......ww........"
- /* 6 */ "................"
- /* 7 */ "................"
- /* 8 */ "................"
- /* 9 */ "................"
- /* 10 */ "................"
- /* 11 */ "................"
- /* 12 */ "............xxx."
- /* 13 */ "............xnx."
- /* 14 */ "............xx.."
- /* 15 */ "................"
-
- // Level 8
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ "................"
- /* 2 */ "................"
- /* 3 */ "................"
- /* 4 */ "................"
- /* 5 */ "................"
- /* 6 */ "................"
- /* 7 */ "................"
- /* 8 */ "................"
- /* 9 */ "................"
- /* 10 */ "................"
- /* 11 */ "................"
- /* 12 */ ".............x.."
- /* 13 */ "............xxx."
- /* 14 */ ".............x.."
- /* 15 */ "................",
-
- // Connectors:
- "-1: 9, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // HouseWithGarden
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // HouseWithSakura1:
- // The data has been exported from the gallery Plains, area index 75, ID 141, created by Aloe_vera
- {
- // Size:
- 13, 7, 15, // SizeX = 13, SizeY = 7, SizeZ = 15
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 13, 6, 15, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 3: 0\n" /* dirt */
- "b: 2: 0\n" /* grass */
- "c: 17: 5\n" /* tree */
- "d: 5: 2\n" /* wood */
- "e: 17: 9\n" /* tree */
- "f:113: 0\n" /* netherbrickfence */
- "g: 17: 1\n" /* tree */
- "h: 35: 0\n" /* wool */
- "i: 31: 2\n" /* tallgrass */
- "j: 54: 2\n" /* chest */
- "k: 38: 6\n" /* rose */
- "l: 38: 2\n" /* rose */
- "m: 19: 0\n" /* sponge */
- "n: 50: 4\n" /* torch */
- "o: 85: 0\n" /* fence */
- "p: 44: 8\n" /* step */
- "q: 35: 6\n" /* wool */
- "r: 43: 0\n" /* doubleslab */
- "s: 44: 0\n" /* step */,
-
- // Block data:
- // Level 0
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "aaaaaaaaaaaaa"
- /* 1 */ "aaaaaaaaaaaaa"
- /* 2 */ "aaaaaaaaaaaaa"
- /* 3 */ "aaaaaaaaaaaaa"
- /* 4 */ "aaaaaaaaaaaaa"
- /* 5 */ "aaaaaaaaaaaaa"
- /* 6 */ "aaaaaaaaaaaaa"
- /* 7 */ "aaaaaaaaaaaaa"
- /* 8 */ "aaaaaaaaaaaaa"
- /* 9 */ "aaaaaaaaaaaaa"
- /* 10 */ "aaaaaaaaaaaaa"
- /* 11 */ "aaaaaaaaaaaaa"
- /* 12 */ "aaaaaaaaaaaaa"
- /* 13 */ "aaaaaaaaaaaaa"
- /* 14 */ "aaaaaaaaaaaaa"
-
- // Level 1
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "bbbbbbbbbbbbb"
- /* 1 */ "bbbbbbbbbbbbb"
- /* 2 */ "bbbaccdabbbbb"
- /* 3 */ "bbbedddebbbbb"
- /* 4 */ "bbbedddebbbbb"
- /* 5 */ "bbbedddebbbbb"
- /* 6 */ "bbbacccabbbbb"
- /* 7 */ "bbbbbbbbbbbbb"
- /* 8 */ "bbbbbbbbbbbbb"
- /* 9 */ "bbbbbbbbbbbbb"
- /* 10 */ "bbbbbbbbbbabb"
- /* 11 */ "bbbbbbbbbbbbb"
- /* 12 */ "bbbbbbbbbbbbb"
- /* 13 */ "bbbbbbbbbbbbb"
- /* 14 */ "bbbbbbbbbbbbb"
-
- // Level 2
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "ffff...ffffff"
- /* 1 */ "f...........f"
- /* 2 */ "f..ghh.g..i.f"
- /* 3 */ "f..h...h..i.f"
- /* 4 */ "f..h...h....f"
- /* 5 */ "fi.h..jh..i.f"
- /* 6 */ "f..ghhhg....f"
- /* 7 */ "f.........i.f"
- /* 8 */ "fii.........f"
- /* 9 */ "f.k..k.i....f"
- /* 10 */ "fl.i..i...g.f"
- /* 11 */ "f.i..i.k....f"
- /* 12 */ "f.l.k.......f"
- /* 13 */ "f.....l.....f"
- /* 14 */ "fffffffffffff"
-
- // Level 3
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ ".......n....."
- /* 2 */ "...goo.g....."
- /* 3 */ "...h...h....."
- /* 4 */ "...o...o....."
- /* 5 */ "...h...h....."
- /* 6 */ "...gooog....."
- /* 7 */ "............."
- /* 8 */ "............."
- /* 9 */ "............."
- /* 10 */ "..........g.."
- /* 11 */ "............."
- /* 12 */ "............."
- /* 13 */ "............."
- /* 14 */ "............."
-
- // Level 4
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ "...ppppp....."
- /* 2 */ "..pghhhgp...."
- /* 3 */ "..ph...hp...."
- /* 4 */ "..ph...hp...."
- /* 5 */ "..ph...hp...."
- /* 6 */ "..pghhhgp...."
- /* 7 */ "...ppppp....."
- /* 8 */ "............."
- /* 9 */ "..........q.."
- /* 10 */ ".........qgq."
- /* 11 */ "..........q.."
- /* 12 */ "............."
- /* 13 */ "............."
- /* 14 */ "............."
-
- // Level 5
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ "..rs...sr...."
- /* 2 */ "..sssssss...."
- /* 3 */ "...srrrs....."
- /* 4 */ "...srrrs....."
- /* 5 */ "...srrrs....."
- /* 6 */ "..sssssss...."
- /* 7 */ "..rs...sr...."
- /* 8 */ "............."
- /* 9 */ ".........qqq."
- /* 10 */ ".........qqq."
- /* 11 */ ".........qqq."
- /* 12 */ "............."
- /* 13 */ "............."
- /* 14 */ "............."
-
- // Level 6
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ "............."
- /* 2 */ "............."
- /* 3 */ "............."
- /* 4 */ ".....s......."
- /* 5 */ "............."
- /* 6 */ "............."
- /* 7 */ "............."
- /* 8 */ "............."
- /* 9 */ "............."
- /* 10 */ "..........q.."
- /* 11 */ "............."
- /* 12 */ "............."
- /* 13 */ "............."
- /* 14 */ ".............",
-
- // Connectors:
- "-1: 5, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // HouseWithSakura1
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // HouseWithSpa:
- // The data has been exported from the gallery Plains, area index 73, ID 139, created by Aloe_vera
- {
- // Size:
- 16, 8, 14, // SizeX = 16, SizeY = 8, SizeZ = 14
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 15, 7, 13, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 2\n" /* wood */
- "b: 3: 0\n" /* dirt */
- "c: 2: 0\n" /* grass */
- "d: 8: 0\n" /* water */
- "e:135: 3\n" /* 135 */
- "f:135: 1\n" /* 135 */
- "g:113: 0\n" /* netherbrickfence */
- "h: 17: 1\n" /* tree */
- "i: 35: 0\n" /* wool */
- "j:171:12\n" /* carpet */
- "k: 64: 6\n" /* wooddoorblock */
- "l:126: 2\n" /* woodenslab */
- "m: 19: 0\n" /* sponge */
- "n:135: 2\n" /* 135 */
- "o: 64: 7\n" /* wooddoorblock */
- "p: 50: 4\n" /* torch */
- "q: 85: 0\n" /* fence */
- "r: 64:12\n" /* wooddoorblock */
- "s: 50: 3\n" /* torch */
- "t: 44: 8\n" /* step */
- "u: 43: 0\n" /* doubleslab */
- "v: 44: 0\n" /* step */,
-
- // Block data:
- // Level 0
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ ".aaaaaaaaaaaaaa."
- /* 2 */ ".aaaaaaaaaaaaaa."
- /* 3 */ ".aaaaaaaaaaaaaa."
- /* 4 */ ".aaaaaaaaaaaaaa."
- /* 5 */ ".aaaaaaaaaaaaaa."
- /* 6 */ ".aaaaaaaaaaaaaa."
- /* 7 */ ".aaaaaabbbbbbbbb"
- /* 8 */ ".aaaaaabbbbbbbbb"
- /* 9 */ ".aaaaaabbbbbbbbb"
- /* 10 */ ".aaaaaabbbbbbbbb"
- /* 11 */ ".aaaaaabbbbbbbbb"
- /* 12 */ ".aaaaaabbbbbbbbb"
- /* 13 */ ".......bbbbbbbbb"
-
- // Level 1
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "mmmmmmmmmmmmmmmm"
- /* 1 */ "maaaaaaaaaaaaaam"
- /* 2 */ "maaaaaaaaaaaaaam"
- /* 3 */ "maaaaaaaaaaaaaam"
- /* 4 */ "maaaaaaaaaaaaaam"
- /* 5 */ "maaaaaaaaaaaaaam"
- /* 6 */ "maaaaaaaaaaaaaam"
- /* 7 */ "maaaaaaaaaaccccc"
- /* 8 */ "maaaaaaacccccccc"
- /* 9 */ "maaaaaaacccccccc"
- /* 10 */ "maaaaaaacccccccc"
- /* 11 */ "maaaaaaccccccccc"
- /* 12 */ "maaaaaaccccccccc"
- /* 13 */ "mmmmmmmccccccccc"
-
- // Level 2
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ ".aaaaaaaaaaaaaa."
- /* 2 */ ".aaaaaaaaaaaaaa."
- /* 3 */ ".aaaaaaaaaaaaaa."
- /* 4 */ ".aaaaaaaaaaaaaa."
- /* 5 */ ".aaaaaaaaaaaaaa."
- /* 6 */ ".aaddaaaaaaaaaa."
- /* 7 */ ".aaddaaeeef....."
- /* 8 */ ".aaddaaf........"
- /* 9 */ ".aaddaaf........"
- /* 10 */ ".aaddaae........"
- /* 11 */ ".aaddaa........."
- /* 12 */ ".aaaaaa........."
- /* 13 */ "................"
-
- // Level 3
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ ".ggggghiiihiiih."
- /* 2 */ ".geee.ijjjjjjji."
- /* 3 */ ".gf...kjjjijlji."
- /* 4 */ ".gf...innjijjji."
- /* 5 */ ".g....hiiohiiih."
- /* 6 */ ".g....g........."
- /* 7 */ ".g.............."
- /* 8 */ ".g.............."
- /* 9 */ ".g.............."
- /* 10 */ ".g....g........."
- /* 11 */ ".g....g........."
- /* 12 */ ".gggggg........."
- /* 13 */ "................"
-
- // Level 4
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "......p...p...p."
- /* 1 */ ".g....hqqqhqqqh."
- /* 2 */ "......i.......i."
- /* 3 */ "......r...q...q."
- /* 4 */ "......i...q...i."
- /* 5 */ "......hqqrhqqqh."
- /* 6 */ "......g...s....."
- /* 7 */ "................"
- /* 8 */ "................"
- /* 9 */ "................"
- /* 10 */ "................"
- /* 11 */ "................"
- /* 12 */ ".g....g........."
- /* 13 */ "................"
-
- // Level 5
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ ".tttttttttttttt."
- /* 1 */ "tggggghqqqhqqqht"
- /* 2 */ "tg....i.......it"
- /* 3 */ "tg....i...i...it"
- /* 4 */ "tg....i...i...it"
- /* 5 */ "tg....hiiihiiiht"
- /* 6 */ "tg....gtttttttt."
- /* 7 */ "tg....gt........"
- /* 8 */ "tg....gt........"
- /* 9 */ "tg....gt........"
- /* 10 */ "tg....gt........"
- /* 11 */ "tg....gt........"
- /* 12 */ "tggggggt........"
- /* 13 */ ".tttttt........."
-
- // Level 6
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "uv............vu"
- /* 1 */ "vvvvvvvvvvvvvvvv"
- /* 2 */ ".vuuuuuuuuuuuuv."
- /* 3 */ ".vuuuuuutuuuuuv."
- /* 4 */ ".vuuuuuuuuuuuuv."
- /* 5 */ ".vuuuuvvvvvvvvvv"
- /* 6 */ ".vuuuuv.......vu"
- /* 7 */ ".vuuuuv........."
- /* 8 */ ".vuuuuv........."
- /* 9 */ ".vuuuuv........."
- /* 10 */ ".vuuuuv........."
- /* 11 */ ".vuuuuv........."
- /* 12 */ "vvvvvvvv........"
- /* 13 */ "uv....vu........"
-
- // Level 7
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ "................"
- /* 2 */ "................"
- /* 3 */ "...vvvvvvvvvv..."
- /* 4 */ "...vv..........."
- /* 5 */ "...vv..........."
- /* 6 */ "...vv..........."
- /* 7 */ "...vv..........."
- /* 8 */ "...vv..........."
- /* 9 */ "...vv..........."
- /* 10 */ "...vv..........."
- /* 11 */ "................"
- /* 12 */ "................"
- /* 13 */ "................",
-
- // Connectors:
- "",
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // HouseWithSpa
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // MediumSakuraTree:
- // The data has been exported from the gallery Plains, area index 146, ID 490, created by STR_Warrior
- {
- // Size:
- 7, 10, 7, // SizeX = 7, SizeY = 10, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 6, 9, 6, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 3: 0\n" /* dirt */
- "b: 2: 0\n" /* grass */
- "c: 31: 1\n" /* tallgrass */
- "d: 38: 7\n" /* rose */
- "e: 17: 1\n" /* tree */
- "f: 38: 0\n" /* rose */
- "g: 38: 8\n" /* rose */
- "h: 38: 5\n" /* rose */
- "i: 35: 6\n" /* wool */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "aaaaaaa"
- /* 1 */ "aaaaaaa"
- /* 2 */ "aaaaaaa"
- /* 3 */ "aaaaaaa"
- /* 4 */ "aaaaaaa"
- /* 5 */ "aaaaaaa"
- /* 6 */ "aaaaaaa"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "bbbbbbb"
- /* 1 */ "bbbbbbb"
- /* 2 */ "bbbbbbb"
- /* 3 */ "bbbabbb"
- /* 4 */ "bbbbbbb"
- /* 5 */ "bbbbbbb"
- /* 6 */ "bbbbbbb"
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ "mm...mm"
- /* 1 */ "m.c...m"
- /* 2 */ ".dccdc."
- /* 3 */ "..cefc."
- /* 4 */ ".ccfgh."
- /* 5 */ "m.ccc.m"
- /* 6 */ "mm...mm"
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ "m.....m"
- /* 1 */ "......."
- /* 2 */ "......."
- /* 3 */ "...e..."
- /* 4 */ "......."
- /* 5 */ "......."
- /* 6 */ "m.....m"
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "..i...."
- /* 2 */ "......."
- /* 3 */ "...e.i."
- /* 4 */ ".i....."
- /* 5 */ "......."
- /* 6 */ "......."
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "..i...."
- /* 2 */ "...i..."
- /* 3 */ "..ieii."
- /* 4 */ ".i.ii.."
- /* 5 */ "...i..."
- /* 6 */ "......."
-
- // Level 6
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "..ii..."
- /* 2 */ "..iii.."
- /* 3 */ ".iieii."
- /* 4 */ ".iiii.."
- /* 5 */ "..iii.."
- /* 6 */ "......."
-
- // Level 7
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "..iii.."
- /* 2 */ ".iiiii."
- /* 3 */ ".iieii."
- /* 4 */ ".iiiii."
- /* 5 */ "..iii.."
- /* 6 */ "......."
-
- // Level 8
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "...i..."
- /* 2 */ "..iiii."
- /* 3 */ ".iiiii."
- /* 4 */ "..iii.."
- /* 5 */ "...i..."
- /* 6 */ "......."
-
- // Level 9
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "......."
- /* 2 */ "...i..."
- /* 3 */ "..iii.."
- /* 4 */ "...i..."
- /* 5 */ "......."
- /* 6 */ ".......",
-
- // Connectors:
- "-1: 3, 2, 0: 2\n" /* Type -1, direction Z- */
- "3: 6, 2, 3: 5\n" /* Type 3, direction X+ */
- "-3: 0, 2, 3: 4\n" /* Type -3, direction X- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // MediumSakuraTree
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // Restaurant:
- // The data has been exported from the gallery Plains, area index 61, ID 117, created by Aloe_vera
- {
- // Size:
- 15, 10, 15, // SizeX = 15, SizeY = 10, SizeZ = 15
-
- // Hitbox (relative to bounding box):
- -1, 0, -1, // MinX, MinY, MinZ
- 14, 9, 15, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 2\n" /* wood */
- "b:135: 0\n" /* 135 */
- "c:135: 2\n" /* 135 */
- "d:135: 1\n" /* 135 */
- "e: 17: 9\n" /* tree */
- "f:135: 3\n" /* 135 */
- "g: 85: 0\n" /* fence */
- "h: 17: 1\n" /* tree */
- "i:171: 0\n" /* carpet */
- "j:171:12\n" /* carpet */
- "k:126: 1\n" /* woodenslab */
- "l: 50: 5\n" /* torch */
- "m: 19: 0\n" /* sponge */
- "n: 35: 0\n" /* wool */
- "o: 50: 3\n" /* torch */
- "p: 50: 1\n" /* torch */
- "q: 50: 4\n" /* torch */
- "r: 35:14\n" /* wool */
- "s: 44: 8\n" /* step */
- "t: 43: 0\n" /* doubleslab */
- "u: 44: 0\n" /* step */
- "v: 17: 5\n" /* tree */,
-
- // Block data:
- // Level 0
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "mmmmaaaaaaammmm"
- /* 1 */ "maaaaaaaaaaaaam"
- /* 2 */ "maaaaaaaaaaaaam"
- /* 3 */ "maaaaaaaaaaaaam"
- /* 4 */ "aaaaaaaaaaaaaaa"
- /* 5 */ "aaaaaaaaaaaaaaa"
- /* 6 */ "aaaaaaaaaaaaaaa"
- /* 7 */ "aaaaaaaaaaaaaaa"
- /* 8 */ "aaaaaaaaaaaaaaa"
- /* 9 */ "aaaaaaaaaaaaaaa"
- /* 10 */ "aaaaaaaaaaaaaaa"
- /* 11 */ "maaaaaaaaaaaaam"
- /* 12 */ "maaaaaaaaaaaaam"
- /* 13 */ "maaaaaaaaaaaaam"
- /* 14 */ "mmmmaaaaaaammmm"
-
- // Level 1
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "....bcccccd...."
- /* 1 */ ".aaaaaaaaaaaaa."
- /* 2 */ ".aaaaaaaaaaaaa."
- /* 3 */ ".aaaaaaaaaaaaa."
- /* 4 */ "caaaaaaaaaaaaac"
- /* 5 */ "baaaaaaaaaaaaad"
- /* 6 */ "baaaaaaaaaaaaad"
- /* 7 */ "baaaaaaaaaaeaad"
- /* 8 */ "baaaaaaaaaaaaad"
- /* 9 */ "baaaaaaaaaaaaad"
- /* 10 */ "faaaaaaaaaaaaaf"
- /* 11 */ ".aaaaaaaaaaaaa."
- /* 12 */ ".aaaaaaaaaaaaa."
- /* 13 */ ".aaaaaaaaaaaaa."
- /* 14 */ "....bfffffd...."
-
- // Level 2
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".gggg.....gggg."
- /* 2 */ ".g...........g."
- /* 3 */ ".g.hhhhhhhhh.g."
- /* 4 */ ".g.hiiijiiih.g."
- /* 5 */ "...hikijikih..."
- /* 6 */ "...hiiijiiihg.."
- /* 7 */ "...hjjjjjjj...."
- /* 8 */ "...hiiijiiihg.."
- /* 9 */ "...hikijikih..."
- /* 10 */ ".g.hiiijiiih.g."
- /* 11 */ ".g.hhhhhhhhh.g."
- /* 12 */ ".g...........g."
- /* 13 */ ".gggg.....gggg."
- /* 14 */ "..............."
-
- // Level 3
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".l..g.....g..l."
- /* 2 */ "..............."
- /* 3 */ "...hnnnhnnnh..."
- /* 4 */ ".g.n.......n.g."
- /* 5 */ "...n.......n..."
- /* 6 */ "...n.......hl.."
- /* 7 */ "...h..........."
- /* 8 */ "...n.......hl.."
- /* 9 */ "...n.......n..."
- /* 10 */ ".g.n.......n.g."
- /* 11 */ "...hnnnhnnnh..."
- /* 12 */ "..............."
- /* 13 */ ".l..g.....g..l."
- /* 14 */ "..............."
-
- // Level 4
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "....g.....g...."
- /* 2 */ "..............."
- /* 3 */ "...hn.nhn.nh..."
- /* 4 */ ".g.n...o...n.g."
- /* 5 */ "...n.......n..."
- /* 6 */ "...n.......h..."
- /* 7 */ "...hp......e..."
- /* 8 */ "...n.......h..."
- /* 9 */ "...n.......n..."
- /* 10 */ ".g.n...q...n.g."
- /* 11 */ "...hn.nhn.nh..."
- /* 12 */ "..............."
- /* 13 */ "....g.....g...."
- /* 14 */ "..............."
-
- // Level 5
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "....g.....g...."
- /* 2 */ "....ggggggg...."
- /* 3 */ "...hnnnhnnnh..."
- /* 4 */ ".ggn.......ngg."
- /* 5 */ "..gn.......ng.."
- /* 6 */ "..gn.......hg.."
- /* 7 */ "..gh..r.r..ng.."
- /* 8 */ "..gn.......hg.."
- /* 9 */ "..gn.......ng.."
- /* 10 */ ".ggn.......ngg."
- /* 11 */ "...hnnnhnnnh..."
- /* 12 */ "....ggggggg...."
- /* 13 */ "....g.....g...."
- /* 14 */ "..............."
-
- // Level 6
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "...stuuuuuts..."
- /* 2 */ "..sttttttttts.."
- /* 3 */ ".sthvvvhvvvhts."
- /* 4 */ ".tte.......ett."
- /* 5 */ ".ute.......etu."
- /* 6 */ ".ute.......htu."
- /* 7 */ ".uth..g.g..etu."
- /* 8 */ ".ute.......htu."
- /* 9 */ ".ute.......etu."
- /* 10 */ ".tte.......ett."
- /* 11 */ ".sthvvvhvvvhts."
- /* 12 */ "..sttttttttts.."
- /* 13 */ "...stuuuuuts..."
- /* 14 */ "..............."
-
- // Level 7
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".stu.......uts."
- /* 2 */ ".tu.........ut."
- /* 3 */ ".u.uuuuuuuuu.u."
- /* 4 */ "...utttttttu..."
- /* 5 */ "...utttttttu..."
- /* 6 */ "...utttttttu..."
- /* 7 */ "...utttttttu..."
- /* 8 */ "...utttttttu..."
- /* 9 */ "...utttttttu..."
- /* 10 */ "...utttttttu..."
- /* 11 */ ".u.uuuuuuuuu.u."
- /* 12 */ ".tu.........ut."
- /* 13 */ ".stu.......uts."
- /* 14 */ "..............."
-
- // Level 8
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".u...........u."
- /* 2 */ "..............."
- /* 3 */ "..............."
- /* 4 */ "..............."
- /* 5 */ ".....uuuuu....."
- /* 6 */ ".....utttu....."
- /* 7 */ ".....utttu....."
- /* 8 */ ".....utttu....."
- /* 9 */ ".....uuuuu....."
- /* 10 */ "..............."
- /* 11 */ "..............."
- /* 12 */ "..............."
- /* 13 */ ".u...........u."
- /* 14 */ "..............."
-
- // Level 9
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ "..............."
- /* 3 */ "..............."
- /* 4 */ "..............."
- /* 5 */ "..............."
- /* 6 */ "..............."
- /* 7 */ ".......u......."
- /* 8 */ "..............."
- /* 9 */ "..............."
- /* 10 */ "..............."
- /* 11 */ "..............."
- /* 12 */ "..............."
- /* 13 */ "..............."
- /* 14 */ "...............",
-
- // Connectors:
- "-1: 14, 1, 7: 5\n" /* Type -1, direction X+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // Restaurant
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // SakuraDouble:
- // The data has been exported from the gallery Plains, area index 76, ID 142, created by Aloe_vera
- {
- // Size:
- 12, 8, 6, // SizeX = 12, SizeY = 8, SizeZ = 6
-
- // Hitbox (relative to bounding box):
- -1, 0, -1, // MinX, MinY, MinZ
- 12, 7, 6, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 3: 0\n" /* dirt */
- "b: 2: 0\n" /* grass */
- "c: 17: 1\n" /* tree */
- "d: 35: 6\n" /* wool */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "aaaaaaaaaaaa"
- /* 1 */ "aaaaaaaaaaaa"
- /* 2 */ "aaaaaaaaaaaa"
- /* 3 */ "aaaaaaaaaaaa"
- /* 4 */ "aaaaaaaaaaaa"
- /* 5 */ "aaaaaaaaaaaa"
-
- // Level 1
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "bbbbbbbbbbbb"
- /* 1 */ "bbbbbbbbbbbb"
- /* 2 */ "bbabbbbbbbbb"
- /* 3 */ "bbbbbbbbbabb"
- /* 4 */ "bbbbbbbbbbbb"
- /* 5 */ "bbbbbbbbbbbb"
-
- // Level 2
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ "............"
- /* 2 */ "..c........."
- /* 3 */ ".........c.."
- /* 4 */ "............"
- /* 5 */ "............"
-
- // Level 3
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ "............"
- /* 2 */ "..c........."
- /* 3 */ ".........c.."
- /* 4 */ "............"
- /* 5 */ "............"
-
- // Level 4
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "..d........."
- /* 1 */ "ddddd......."
- /* 2 */ "ddcdd...ddd."
- /* 3 */ "ddddd...dcd."
- /* 4 */ "..d.....ddd."
- /* 5 */ "............"
-
- // Level 5
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ ".ddd........"
- /* 1 */ ".ddd....ddd."
- /* 2 */ "ddddd..ddddd"
- /* 3 */ ".ddd...ddcdd"
- /* 4 */ ".ddd...ddddd"
- /* 5 */ "........ddd."
-
- // Level 6
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ "..d......d.."
- /* 2 */ ".ddd....ddd."
- /* 3 */ "..d....ddddd"
- /* 4 */ "........ddd."
- /* 5 */ ".........d.."
-
- // Level 7
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ "............"
- /* 2 */ "............"
- /* 3 */ ".........d.."
- /* 4 */ "............"
- /* 5 */ "............",
-
- // Connectors:
- "-1: -1, 2, 2: 4\n" /* Type -1, direction X- */
- "3: 5, 2, 6: 3\n" /* Type 3, direction Z+ */
- "-3: 6, 2, -1: 2\n" /* Type -3, direction Z- */
- "-3: 12, 2, 2: 5\n" /* Type -3, direction X+ */
- "3: 12, 2, 2: 5\n" /* Type 3, direction X+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // SakuraDouble
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // SakuraSmall:
- // The data has been exported from the gallery Plains, area index 145, ID 489, created by Aloe_vera
- {
- // Size:
- 5, 7, 5, // SizeX = 5, SizeY = 7, SizeZ = 5
-
- // Hitbox (relative to bounding box):
- -1, 0, -1, // MinX, MinY, MinZ
- 5, 6, 5, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 3: 0\n" /* dirt */
- "b: 2: 0\n" /* grass */
- "c: 17: 1\n" /* tree */
- "d: 35: 6\n" /* wool */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 01234 */
- /* 0 */ "aaaaa"
- /* 1 */ "aaaaa"
- /* 2 */ "aaaaa"
- /* 3 */ "aaaaa"
- /* 4 */ "aaaaa"
-
- // Level 1
- /* z\x* 01234 */
- /* 0 */ "bbbbb"
- /* 1 */ "bbbbb"
- /* 2 */ "bbabb"
- /* 3 */ "bbbbb"
- /* 4 */ "bbbbb"
-
- // Level 2
- /* z\x* 01234 */
- /* 0 */ "....."
- /* 1 */ "....."
- /* 2 */ "..c.."
- /* 3 */ "....."
- /* 4 */ "....."
-
- // Level 3
- /* z\x* 01234 */
- /* 0 */ "....."
- /* 1 */ "....."
- /* 2 */ "..c.."
- /* 3 */ "....."
- /* 4 */ "....."
-
- // Level 4
- /* z\x* 01234 */
- /* 0 */ "..d.."
- /* 1 */ "ddddd"
- /* 2 */ "ddcdd"
- /* 3 */ "ddddd"
- /* 4 */ "..d.."
-
- // Level 5
- /* z\x* 01234 */
- /* 0 */ ".ddd."
- /* 1 */ ".ddd."
- /* 2 */ "ddddd"
- /* 3 */ ".ddd."
- /* 4 */ ".ddd."
-
- // Level 6
- /* z\x* 01234 */
- /* 0 */ "....."
- /* 1 */ "..d.."
- /* 2 */ ".ddd."
- /* 3 */ "..d.."
- /* 4 */ ".....",
-
- // Connectors:
- "-1: 2, 2, -1: 2\n" /* Type -1, direction Z- */
- "3: 5, 2, 2: 5\n" /* Type 3, direction X+ */
- "-3: -1, 2, 2: 4\n" /* Type -3, direction X- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // SakuraSmall
-}; // g_JapaneseVillagePrefabs
-
-
-
-
-
-
-const cPrefab::sDef g_JapaneseVillageStartingPrefabs[] =
-{
- ////////////////////////////////////////////////////////////////////////////////
- // HighTemple:
- // The data has been exported from the gallery Plains, area index 70, ID 133, created by Aloe_vera
- {
- // Size:
- 11, 19, 11, // SizeX = 11, SizeY = 19, SizeZ = 11
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 10, 18, 10, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 2\n" /* wood */
- "b:135: 0\n" /* 135 */
- "c:135: 2\n" /* 135 */
- "d:135: 1\n" /* 135 */
- "e: 17: 9\n" /* tree */
- "f:135: 3\n" /* 135 */
- "g: 85: 0\n" /* fence */
- "h: 17: 1\n" /* tree */
- "i:171: 0\n" /* carpet */
- "j: 50: 5\n" /* torch */
- "k: 35: 0\n" /* wool */
- "l: 17: 5\n" /* tree */
- "m: 19: 0\n" /* sponge */
- "n:124: 0\n" /* redstonelampon */
- "o: 69: 9\n" /* lever */
- "p: 44: 8\n" /* step */
- "q: 43: 0\n" /* doubleslab */
- "r: 44: 0\n" /* step */
- "s: 50: 4\n" /* torch */
- "t: 50: 1\n" /* torch */
- "u: 50: 3\n" /* torch */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmaaaaammm"
- /* 1 */ "maaaaaaaaam"
- /* 2 */ "maaaaaaaaam"
- /* 3 */ "aaaaaaaaaaa"
- /* 4 */ "aaaaaaaaaaa"
- /* 5 */ "aaaaaaaaaaa"
- /* 6 */ "aaaaaaaaaaa"
- /* 7 */ "aaaaaaaaaaa"
- /* 8 */ "maaaaaaaaam"
- /* 9 */ "maaaaaaaaam"
- /* 10 */ "mmmaaaaammm"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "...bcccd..."
- /* 1 */ ".aaaaaaaaa."
- /* 2 */ ".aaaaaaaaa."
- /* 3 */ "caaaaaaaaac"
- /* 4 */ "baaaaaaaaad"
- /* 5 */ "baaeaaaaaad"
- /* 6 */ "baaaaaaaaad"
- /* 7 */ "faaaaaaaaaf"
- /* 8 */ ".aaaaaaaaa."
- /* 9 */ ".aaaaaaaaa."
- /* 10 */ "...bfffd..."
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".ggg...ggg."
- /* 2 */ ".g.......g."
- /* 3 */ ".g.hhhhh.g."
- /* 4 */ "...hiiih..."
- /* 5 */ "....iiih..."
- /* 6 */ "...hiiih..."
- /* 7 */ ".g.hhhhh.g."
- /* 8 */ ".g.......g."
- /* 9 */ ".ggg...ggg."
- /* 10 */ "..........."
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".j.g...g.j."
- /* 2 */ "..........."
- /* 3 */ ".g.kkhkk.g."
- /* 4 */ "...h...k..."
- /* 5 */ ".......h..."
- /* 6 */ "...h...k..."
- /* 7 */ ".g.kkhkk.g."
- /* 8 */ "..........."
- /* 9 */ ".j.g...g.j."
- /* 10 */ "..........."
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "...g...g..."
- /* 2 */ "..........."
- /* 3 */ ".g.kkhkk.g."
- /* 4 */ "...h...k..."
- /* 5 */ "...k...h..."
- /* 6 */ "...h...k..."
- /* 7 */ ".g.kkhkk.g."
- /* 8 */ "..........."
- /* 9 */ "...g...g..."
- /* 10 */ "..........."
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "...g...g..."
- /* 2 */ "...ggggg..."
- /* 3 */ ".gghlhlhgg."
- /* 4 */ "..ge...eg.."
- /* 5 */ "..ge.nohg.."
- /* 6 */ "..ge...eg.."
- /* 7 */ ".gghlhlhgg."
- /* 8 */ "...ggggg..."
- /* 9 */ "...g...g..."
- /* 10 */ "..........."
-
- // Level 6
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..pqrrrqp.."
- /* 2 */ ".pqqqqqqqp."
- /* 3 */ ".qqhkkkhqq."
- /* 4 */ ".rqkhhhkqr."
- /* 5 */ ".rqkhhhkqr."
- /* 6 */ ".rqkhhhkqr."
- /* 7 */ ".qqhkkkhqq."
- /* 8 */ ".pqqqqqqqp."
- /* 9 */ "..pqrrrqp.."
- /* 10 */ "..........."
-
- // Level 7
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".qr.....rq."
- /* 2 */ ".........r."
- /* 3 */ "...hhhhh..."
- /* 4 */ "...hiiih..."
- /* 5 */ "....iiih..."
- /* 6 */ "...hiiih..."
- /* 7 */ "...hhhhh..."
- /* 8 */ ".r.......r."
- /* 9 */ ".qr.....rq."
- /* 10 */ "..........."
-
- // Level 8
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ "...kkhkk..."
- /* 4 */ "...h...k..."
- /* 5 */ ".......h..."
- /* 6 */ "...h...k..."
- /* 7 */ "...kkhkk..."
- /* 8 */ "..........."
- /* 9 */ "..........."
- /* 10 */ "..........."
-
- // Level 9
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ ".....s....."
- /* 3 */ "...kkhkk..."
- /* 4 */ "...h...k..."
- /* 5 */ "...k...ht.."
- /* 6 */ "...h...k..."
- /* 7 */ "...kkhkk..."
- /* 8 */ ".....u....."
- /* 9 */ "..........."
- /* 10 */ "..........."
-
- // Level 10
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "...ggggg..."
- /* 3 */ "..ghlhlhg.."
- /* 4 */ "..ge...eg.."
- /* 5 */ "..ge.nohg.."
- /* 6 */ "..ge...eg.."
- /* 7 */ "..ghlhlhg.."
- /* 8 */ "...ggggg..."
- /* 9 */ "..........."
- /* 10 */ "..........."
-
- // Level 11
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..prrrrrp.."
- /* 2 */ ".pqqqqqqqp."
- /* 3 */ ".qqhkkkhqq."
- /* 4 */ ".rqkhhhkqr."
- /* 5 */ ".rqkhhhkqr."
- /* 6 */ ".rqkhhhkqr."
- /* 7 */ ".qqhkkkhqr."
- /* 8 */ ".pqqqqqqqp."
- /* 9 */ "..pqrrrqp.."
- /* 10 */ "..........."
-
- // Level 12
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".qr.....rq."
- /* 2 */ ".r.......r."
- /* 3 */ "...hhhhh..."
- /* 4 */ "...hiiih..."
- /* 5 */ "....iiih..."
- /* 6 */ "...hiiih..."
- /* 7 */ "...hhhhh..."
- /* 8 */ ".r.......r."
- /* 9 */ ".qr.....rq."
- /* 10 */ "..........."
-
- // Level 13
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ "...kkhkk..."
- /* 4 */ "...h...k..."
- /* 5 */ ".......h..."
- /* 6 */ "...h...k..."
- /* 7 */ "...kkhkk..."
- /* 8 */ "..........."
- /* 9 */ "..........."
- /* 10 */ "..........."
-
- // Level 14
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ ".....s....."
- /* 3 */ "...kkhkk..."
- /* 4 */ "...h...k..."
- /* 5 */ "...k...ht.."
- /* 6 */ "...h...k..."
- /* 7 */ "...kkhkk..."
- /* 8 */ ".....u....."
- /* 9 */ "..........."
- /* 10 */ "..........."
-
- // Level 15
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "...ggggg..."
- /* 3 */ "..ghlhlhg.."
- /* 4 */ "..ge...eg.."
- /* 5 */ "..ge.nohg.."
- /* 6 */ "..ge...eg.."
- /* 7 */ "..ghlhlhg.."
- /* 8 */ "...ggggg..."
- /* 9 */ "..........."
- /* 10 */ "..........."
-
- // Level 16
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..pqrrrqp.."
- /* 2 */ ".pqqqqqqqp."
- /* 3 */ ".qqrrrrrqq."
- /* 4 */ ".rqrrrrrqr."
- /* 5 */ ".rqrrrrrqr."
- /* 6 */ ".rqrrrrrqr."
- /* 7 */ ".qqrrrrrqq."
- /* 8 */ ".pqqqqqqqp."
- /* 9 */ "..pqrrrqp.."
- /* 10 */ "..........."
-
- // Level 17
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".qr.....rq."
- /* 2 */ ".rr.....rr."
- /* 3 */ "...rrrrr..."
- /* 4 */ "...rqqqr..."
- /* 5 */ "...rqqqr..."
- /* 6 */ "...rqqqr..."
- /* 7 */ "...rrrrr..."
- /* 8 */ ".rr.....rr."
- /* 9 */ ".qr.....rq."
- /* 10 */ "..........."
-
- // Level 18
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ "..........."
- /* 4 */ "..........."
- /* 5 */ ".....r....."
- /* 6 */ "..........."
- /* 7 */ "..........."
- /* 8 */ "..........."
- /* 9 */ "..........."
- /* 10 */ "...........",
-
- // Connectors:
- "2: 0, 1, 5: 4\n" /* Type 2, direction X- */
- "2: 5, 1, 0: 2\n" /* Type 2, direction Z- */
- "2: 10, 1, 5: 5\n" /* Type 2, direction X+ */
- "2: 5, 1, 10: 3\n" /* Type 2, direction Z+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // HighTemple
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // Well:
- // The data has been exported from the gallery Plains, area index 143, ID 487, created by STR_Warrior
- {
- // Size:
- 7, 14, 7, // SizeX = 7, SizeY = 14, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 6, 13, 6, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 1: 0\n" /* stone */
- "b: 4: 0\n" /* cobblestone */
- "c: 8: 0\n" /* water */
- "d: 13: 0\n" /* gravel */
- "e: 67: 1\n" /* stairs */
- "f: 67: 2\n" /* stairs */
- "g: 67: 0\n" /* stairs */
- "h: 67: 3\n" /* stairs */
- "i: 85: 0\n" /* fence */
- "j: 44: 8\n" /* step */
- "k: 44: 0\n" /* step */
- "l: 43: 0\n" /* doubleslab */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "maaaaam"
- /* 2 */ "maaaaam"
- /* 3 */ "maaaaam"
- /* 4 */ "maaaaam"
- /* 5 */ "maaaaam"
- /* 6 */ "mmmmmmm"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbbbbbm"
- /* 2 */ "mbcc.bm"
- /* 3 */ "mbcccbm"
- /* 4 */ "mbcccbm"
- /* 5 */ "mbbbbbm"
- /* 6 */ "mmmmmmm"
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbbbbbm"
- /* 2 */ "mbcccbm"
- /* 3 */ "mbcccbm"
- /* 4 */ "mbcccbm"
- /* 5 */ "mbbbbbm"
- /* 6 */ "mmmmmmm"
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbbbbbm"
- /* 2 */ "mbcccbm"
- /* 3 */ "mbcccbm"
- /* 4 */ "mbcccbm"
- /* 5 */ "mbbbbbm"
- /* 6 */ "mmmmmmm"
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbbbbbm"
- /* 2 */ "mbcccbm"
- /* 3 */ "mbcccbm"
- /* 4 */ "mbcccbm"
- /* 5 */ "mbbbbbm"
- /* 6 */ "mmmmmmm"
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbbbbbm"
- /* 2 */ "mbcccbm"
- /* 3 */ "mbcccbm"
- /* 4 */ "mbcccbm"
- /* 5 */ "mbbbbbm"
- /* 6 */ "mmmmmmm"
-
- // Level 6
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mbbbbbm"
- /* 2 */ "mbcccbm"
- /* 3 */ "mbcccbm"
- /* 4 */ "mbcccbm"
- /* 5 */ "mbbbbbm"
- /* 6 */ "mmmmmmm"
-
- // Level 7
- /* z\x* 0123456 */
- /* 0 */ "mmbbbmm"
- /* 1 */ "mbbbbbm"
- /* 2 */ "bbcccbb"
- /* 3 */ "bbcccbb"
- /* 4 */ "bbcccbb"
- /* 5 */ "mbbbbbm"
- /* 6 */ "mmbbbmm"
-
- // Level 8
- /* z\x* 0123456 */
- /* 0 */ "mmdddmm"
- /* 1 */ "mbbbbbm"
- /* 2 */ "dbcccbd"
- /* 3 */ "dbcccbd"
- /* 4 */ "dbcccbd"
- /* 5 */ "mbbbbbm"
- /* 6 */ "mmdddmm"
-
- // Level 9
- /* z\x* 0123456 */
- /* 0 */ "mm...mm"
- /* 1 */ "mbefgbm"
- /* 2 */ ".h...h."
- /* 3 */ ".g...e."
- /* 4 */ ".f...f."
- /* 5 */ "mbehgbm"
- /* 6 */ "mm...mm"
-
- // Level 10
- /* z\x* 0123456 */
- /* 0 */ "mm...mm"
- /* 1 */ "mi...im"
- /* 2 */ "......."
- /* 3 */ "......."
- /* 4 */ "......."
- /* 5 */ "mi...im"
- /* 6 */ "mm...mm"
-
- // Level 11
- /* z\x* 0123456 */
- /* 0 */ "mm...mm"
- /* 1 */ "mi...im"
- /* 2 */ "......."
- /* 3 */ "......."
- /* 4 */ "......."
- /* 5 */ "mi...im"
- /* 6 */ "mm...mm"
-
- // Level 12
- /* z\x* 0123456 */
- /* 0 */ "mjkkkjm"
- /* 1 */ "jlllllj"
- /* 2 */ "klllllk"
- /* 3 */ "klllllk"
- /* 4 */ "klllllk"
- /* 5 */ "jlllllj"
- /* 6 */ "mjkkkjm"
-
- // Level 13
- /* z\x* 0123456 */
- /* 0 */ "k.....k"
- /* 1 */ "......."
- /* 2 */ "..kkk.."
- /* 3 */ "..klk.."
- /* 4 */ "..kkk.."
- /* 5 */ "......."
- /* 6 */ "k.....k",
-
- // Connectors:
- "2: 0, 9, 3: 4\n" /* Type 2, direction X- */
- "2: 3, 9, 0: 2\n" /* Type 2, direction Z- */
- "2: 6, 9, 3: 5\n" /* Type 2, direction X+ */
- "2: 3, 9, 6: 3\n" /* Type 2, direction Z+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // Well
-};
-
-
-
-
-
-// The prefab counts:
-
-const size_t g_JapaneseVillagePrefabsCount = ARRAYCOUNT(g_JapaneseVillagePrefabs);
-
-const size_t g_JapaneseVillageStartingPrefabsCount = ARRAYCOUNT(g_JapaneseVillageStartingPrefabs);
-
diff --git a/src/Generating/Prefabs/JapaneseVillagePrefabs.h b/src/Generating/Prefabs/JapaneseVillagePrefabs.h
deleted file mode 100644
index 501b6c1cd..000000000
--- a/src/Generating/Prefabs/JapaneseVillagePrefabs.h
+++ /dev/null
@@ -1,15 +0,0 @@
-
-// JapaneseVillagePrefabs.h
-
-// Declares the prefabs in the group JapaneseVillage
-
-#include "../Prefab.h"
-
-
-
-
-
-extern const cPrefab::sDef g_JapaneseVillagePrefabs[];
-extern const cPrefab::sDef g_JapaneseVillageStartingPrefabs[];
-extern const size_t g_JapaneseVillagePrefabsCount;
-extern const size_t g_JapaneseVillageStartingPrefabsCount;
diff --git a/src/Generating/Prefabs/PlainsVillagePrefabs.cpp b/src/Generating/Prefabs/PlainsVillagePrefabs.cpp
deleted file mode 100644
index 4613f76e2..000000000
--- a/src/Generating/Prefabs/PlainsVillagePrefabs.cpp
+++ /dev/null
@@ -1,6118 +0,0 @@
-
-// PlainsVillagePrefabs.cpp
-
-// Defines the prefabs in the group PlainsVillage
-
-// NOTE: This file has been generated automatically by GalExport!
-// Any manual changes will be overwritten by the next automatic export!
-
-#include "Globals.h"
-#include "PlainsVillagePrefabs.h"
-
-
-
-
-
-const cPrefab::sDef g_PlainsVillagePrefabs[] =
-{
- ////////////////////////////////////////////////////////////////////////////////
- // BigPlantBed:
- // The data has been exported from the gallery Plains, area index 26, ID 70, created by Taugrammaton
- {
- // Size:
- 13, 8, 12, // SizeX = 13, SizeY = 8, SizeZ = 12
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 12, 7, 11, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 3: 0\n" /* dirt */
- "b: 5: 0\n" /* wood */
- "c: 13: 0\n" /* gravel */
- "d: 17: 0\n" /* tree */
- "e: 60: 7\n" /* tilleddirt */
- "f: 8: 0\n" /* water */
- "g: 85: 0\n" /* fence */
- "h: 59: 7\n" /* crops */
- "i: 50: 5\n" /* torch */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "aaaaaaaaaaaaa"
- /* 1 */ "aaaaaaaaaaaaa"
- /* 2 */ "aaaaaaaaaaaaa"
- /* 3 */ "aaaaaaaaaaaaa"
- /* 4 */ "aaaaaaaaaaaaa"
- /* 5 */ "aaaaaaaaaaaaa"
- /* 6 */ "aaaaaaaaaaaaa"
- /* 7 */ "aaaaaaaaaaaaa"
- /* 8 */ "aaaaaaaaaaaaa"
- /* 9 */ "aaaaaaaaaaaaa"
- /* 10 */ "aaaaaaaaaaaaa"
- /* 11 */ "aaaaaaaaaaaaa"
-
- // Level 1
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "bbbbbbbbbbbbb"
- /* 1 */ "bcccccccccccb"
- /* 2 */ "bcccccccccccb"
- /* 3 */ "bcccccccccccb"
- /* 4 */ "bcccccccccccb"
- /* 5 */ "bcccccccccccb"
- /* 6 */ "bcccccccccccb"
- /* 7 */ "bcccccccccccb"
- /* 8 */ "bcccccccccccb"
- /* 9 */ "bcccccccccccb"
- /* 10 */ "bcccccccccccb"
- /* 11 */ "bbbbbbbbbbbbb"
-
- // Level 2
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "ddddddddddddd"
- /* 1 */ "deefeefeefeed"
- /* 2 */ "deefeefeefeed"
- /* 3 */ "deefeefeefeed"
- /* 4 */ "deefeefeefeed"
- /* 5 */ "deefeefeefeed"
- /* 6 */ "deefeefeefeed"
- /* 7 */ "deefeefeefeed"
- /* 8 */ "deefeefeefeed"
- /* 9 */ "deefeefeefeed"
- /* 10 */ "deefeefeefeed"
- /* 11 */ "ddddddddddddd"
-
- // Level 3
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "g..g..g..g..g"
- /* 1 */ "ghh.h..hh.hhg"
- /* 2 */ "ghh..h.hh.hhg"
- /* 3 */ "ghh.h..h..hhg"
- /* 4 */ "ghh.hh.h..hhg"
- /* 5 */ "ghh.h..hh.hhg"
- /* 6 */ "ghh.hh.hh.hhg"
- /* 7 */ "ghh....h..hhg"
- /* 8 */ "ghh..h....hhg"
- /* 9 */ "ghh.....h.hhg"
- /* 10 */ "ghh.hh.h..hhg"
- /* 11 */ "g..g..g..g..g"
-
- // Level 4
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "i..i..i..i..i"
- /* 1 */ "............."
- /* 2 */ "............."
- /* 3 */ "............."
- /* 4 */ "............."
- /* 5 */ "............."
- /* 6 */ "............."
- /* 7 */ "............."
- /* 8 */ "............."
- /* 9 */ "............."
- /* 10 */ "............."
- /* 11 */ "i..i..i..i..i"
-
- // Level 5
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ "............."
- /* 2 */ "............."
- /* 3 */ "............."
- /* 4 */ "............."
- /* 5 */ "............."
- /* 6 */ "............."
- /* 7 */ "............."
- /* 8 */ "............."
- /* 9 */ "............."
- /* 10 */ "............."
- /* 11 */ "............."
-
- // Level 6
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ "............."
- /* 2 */ "............."
- /* 3 */ "............."
- /* 4 */ "............."
- /* 5 */ "............."
- /* 6 */ "............."
- /* 7 */ "............."
- /* 8 */ "............."
- /* 9 */ "............."
- /* 10 */ "............."
- /* 11 */ "............."
-
- // Level 7
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ "............."
- /* 2 */ "............."
- /* 3 */ "............."
- /* 4 */ "............."
- /* 5 */ "............."
- /* 6 */ "............."
- /* 7 */ "............."
- /* 8 */ "............."
- /* 9 */ "............."
- /* 10 */ "............."
- /* 11 */ ".............",
-
- // Connectors:
- "-1: 7, 1, 11: 3\n" /* Type -1, direction Z+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // BigPlantBed
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // CobbleHouse10x5Library:
- // The data has been exported from the gallery Plains, area index 23, ID 66, created by xoft
- {
- // Size:
- 12, 7, 7, // SizeX = 12, SizeY = 7, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, -1, 0, // MinX, MinY, MinZ
- 12, 6, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 4: 0\n" /* cobblestone */
- "b: 67: 0\n" /* stairs */
- "c: 67: 2\n" /* stairs */
- "d: 67: 1\n" /* stairs */
- "e: 64: 7\n" /* wooddoorblock */
- "f: 53: 3\n" /* woodstairs */
- "g: 53: 1\n" /* woodstairs */
- "h: 85: 0\n" /* fence */
- "i: 53: 0\n" /* woodstairs */
- "j: 53: 2\n" /* woodstairs */
- "k:102: 0\n" /* glasspane */
- "l: 64:12\n" /* wooddoorblock */
- "m: 19: 0\n" /* sponge */
- "n: 50: 3\n" /* torch */
- "o: 72: 0\n" /* woodplate */
- "p: 50: 4\n" /* torch */
- "q: 53: 7\n" /* woodstairs */
- "r: 47: 0\n" /* bookshelf */
- "s: 50: 1\n" /* torch */
- "t: 50: 2\n" /* torch */
- "u: 53: 6\n" /* woodstairs */
- "v: 5: 0\n" /* wood */,
-
- // Block data:
- // Level 0
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "mmmmmmmaaamm"
- /* 1 */ "maaaaaaaaaam"
- /* 2 */ "maaaaaaaaaam"
- /* 3 */ "maaaaaaaaaam"
- /* 4 */ "maaaaaaaaaam"
- /* 5 */ "maaaaaaaaaam"
- /* 6 */ "mmmmmmmmmmmm"
-
- // Level 1
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ ".......bcd.."
- /* 1 */ ".aaaaaaaaaa."
- /* 2 */ ".aaaaaaaaaa."
- /* 3 */ ".aaaaaaaaaa."
- /* 4 */ ".aaaaaaaaaa."
- /* 5 */ ".aaaaaaaaaa."
- /* 6 */ "............"
-
- // Level 2
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ ".aaaaaaaeaa."
- /* 2 */ ".af.ghi...a."
- /* 3 */ ".ah.......a."
- /* 4 */ ".aj.ghighia."
- /* 5 */ ".aaaaaaaaaa."
- /* 6 */ "............"
-
- // Level 3
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ ".akkakkalaa."
- /* 2 */ ".k..no.n.nk."
- /* 3 */ ".ko.......k."
- /* 4 */ ".k..po.po.k."
- /* 5 */ ".akkakkakka."
- /* 6 */ "............"
-
- // Level 4
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "jjjjjjjjjjjj"
- /* 1 */ "qaaaaaaaaaaq"
- /* 2 */ ".arrrrrrrra."
- /* 3 */ ".as......ta."
- /* 4 */ ".arrrrrrrra."
- /* 5 */ "uaaaaaaaaaau"
- /* 6 */ "ffffffffffff"
-
- // Level 5
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ "jjjjjjjjjjjj"
- /* 2 */ "qvvvvvvvvvvq"
- /* 3 */ ".vvvvvvvvvv."
- /* 4 */ "uvvvvvvvvvvu"
- /* 5 */ "ffffffffffff"
- /* 6 */ "............"
-
- // Level 6
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ "............"
- /* 2 */ "jjjjjjjjjjjj"
- /* 3 */ "vvvvvvvvvvvv"
- /* 4 */ "ffffffffffff"
- /* 5 */ "............"
- /* 6 */ "............",
-
- // Connectors:
- "-1: 8, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // CobbleHouse10x5Library
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // DoublePlantBed:
- // The data has been exported from the gallery Plains, area index 5, ID 20, created by tonibm1999
- {
- // Size:
- 15, 8, 9, // SizeX = 15, SizeY = 8, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 14, 7, 8, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 3: 0\n" /* dirt */
- "b: 2: 0\n" /* grass */
- "c: 17: 0\n" /* tree */
- "d: 60: 7\n" /* tilleddirt */
- "e: 8: 0\n" /* water */
- "f: 50: 5\n" /* torch */
- "g: 59: 7\n" /* crops */
- "h: 59: 3\n" /* crops */
- "i: 59: 5\n" /* crops */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "aaaaaaabaaaaaaa"
- /* 1 */ "aaaaaaaaaaaaaaa"
- /* 2 */ "aaaaaaaaaaaaaaa"
- /* 3 */ "aaaaaaaaaaaaaaa"
- /* 4 */ "aaaaaaabaaaaaaa"
- /* 5 */ "aaaaaaabaaaaaaa"
- /* 6 */ "aaaaaaabaaaaaaa"
- /* 7 */ "aaaaaaabaaaaaaa"
- /* 8 */ "aaaaaaabaaaaaaa"
-
- // Level 1
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "aaaaaaamaaaaaaa"
- /* 1 */ "aaaaaaamaaaaaaa"
- /* 2 */ "aaaaaaamaaaaaaa"
- /* 3 */ "aaaaaaamaaaaaaa"
- /* 4 */ "aaaaaaamaaaaaaa"
- /* 5 */ "aaaaaaamaaaaaaa"
- /* 6 */ "aaaaaaamaaaaaaa"
- /* 7 */ "aaaaaaamaaaaaaa"
- /* 8 */ "aaaaaaamaaaaaaa"
-
- // Level 2
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "ccccccc.ccccccc"
- /* 1 */ "cddeddc.cddeddc"
- /* 2 */ "cddeddc.cddeddc"
- /* 3 */ "cddeddc.cddeddc"
- /* 4 */ "cddeddc.cddeddc"
- /* 5 */ "cddeddc.cddeddc"
- /* 6 */ "cddeddc.cddeddc"
- /* 7 */ "cddeddc.cddeddc"
- /* 8 */ "ccccccc.ccccccc"
-
- // Level 3
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "f.....f.f.....f"
- /* 1 */ ".gg.gg...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
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ "..............."
- /* 3 */ "..............."
- /* 4 */ "..............."
- /* 5 */ "..............."
- /* 6 */ "..............."
- /* 7 */ "..............."
- /* 8 */ "..............."
-
- // Level 5
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ "..............."
- /* 3 */ "..............."
- /* 4 */ "..............."
- /* 5 */ "..............."
- /* 6 */ "..............."
- /* 7 */ "..............."
- /* 8 */ "..............."
-
- // Level 6
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ "..............."
- /* 3 */ "..............."
- /* 4 */ "..............."
- /* 5 */ "..............."
- /* 6 */ "..............."
- /* 7 */ "..............."
- /* 8 */ "..............."
-
- // Level 7
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ "..............."
- /* 3 */ "..............."
- /* 4 */ "..............."
- /* 5 */ "..............."
- /* 6 */ "..............."
- /* 7 */ "..............."
- /* 8 */ "...............",
-
- // Connectors:
- "-1: 7, 2, 8: 3\n" /* Type -1, direction Z+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // DoublePlantBed
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // Forge:
- // The data has been exported from the gallery Plains, area index 51, ID 102, created by Aloe_vera
- {
- // Size:
- 12, 9, 11, // SizeX = 12, SizeY = 9, SizeZ = 11
-
- // Hitbox (relative to bounding box):
- -1, -1, 0, // MinX, MinY, MinZ
- 12, 8, 11, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 4: 0\n" /* cobblestone */
- "b: 67: 0\n" /* stairs */
- "c: 67: 2\n" /* stairs */
- "d: 67: 1\n" /* stairs */
- "e: 17: 0\n" /* tree */
- "f: 5: 0\n" /* wood */
- "g: 64: 2\n" /* wooddoorblock */
- "h: 10: 0\n" /* lava */
- "i: 54: 2\n" /* chest */
- "j: 61: 2\n" /* furnace */
- "k:102: 0\n" /* glasspane */
- "l: 64: 8\n" /* wooddoorblock */
- "m: 19: 0\n" /* sponge */
- "n:139: 0\n" /* cobblestonewall */
- "o:101: 0\n" /* ironbars */
- "p: 53: 2\n" /* woodstairs */
- "q: 53: 7\n" /* woodstairs */
- "r: 50: 2\n" /* torch */
- "s: 50: 1\n" /* torch */
- "t: 53: 6\n" /* woodstairs */
- "u: 53: 3\n" /* woodstairs */
- "v: 43: 0\n" /* doubleslab */
- "w: 44: 0\n" /* step */,
-
- // Block data:
- // Level 0
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "mmmmmaaaaamm"
- /* 1 */ "maaaaaaaaamm"
- /* 2 */ "maaaaaaaaamm"
- /* 3 */ "maaaaaaaaaaa"
- /* 4 */ "maaaaaaaaaaa"
- /* 5 */ "maaaaaaaaaaa"
- /* 6 */ "maaaaaaaaaaa"
- /* 7 */ "maaaaaaaaaaa"
- /* 8 */ "maaaaammmmmm"
- /* 9 */ "maaaaammmmmm"
- /* 10 */ "mmmmmmmmmmmm"
-
- // Level 1
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ ".....bcccd.."
- /* 1 */ ".aaaaaaaad.."
- /* 2 */ ".aaaaaaaad.."
- /* 3 */ ".aaaaaaaaaaa"
- /* 4 */ ".aaaaaaaaaaa"
- /* 5 */ ".aaaaaaaaaaa"
- /* 6 */ ".aaaaaaaaaaa"
- /* 7 */ ".aaaaaaaaaaa"
- /* 8 */ ".aaaaa......"
- /* 9 */ ".aaaaa......"
- /* 10 */ "............"
-
- // Level 2
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ ".efffe......"
- /* 2 */ ".f...g......"
- /* 3 */ ".f...ea..aaa"
- /* 4 */ ".f...f...aha"
- /* 5 */ ".f...f...aha"
- /* 6 */ ".f...fijjaha"
- /* 7 */ ".f...eaaaaaa"
- /* 8 */ ".f...f......"
- /* 9 */ ".efffe......"
- /* 10 */ "............"
-
- // Level 3
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ ".ekkke......"
- /* 2 */ ".k...l......"
- /* 3 */ ".k...en..n.a"
- /* 4 */ ".k...k.....o"
- /* 5 */ ".f...k.....o"
- /* 6 */ ".k...k.....o"
- /* 7 */ ".k...eaooooa"
- /* 8 */ ".k...f......"
- /* 9 */ ".ekkke......"
- /* 10 */ "............"
-
- // Level 4
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "ppppppp....."
- /* 1 */ "qfffffq....."
- /* 2 */ ".f...f......"
- /* 3 */ ".f..rfa..aoa"
- /* 4 */ ".f...f...o.a"
- /* 5 */ ".f...f...o.a"
- /* 6 */ ".fs..f...o.a"
- /* 7 */ ".f...faaaaaa"
- /* 8 */ ".f...f......"
- /* 9 */ "tffffft....."
- /* 10 */ "uuuuuuu....."
-
- // Level 5
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ "ppppppp....."
- /* 2 */ "qfffffq....."
- /* 3 */ ".f...fvvvvvv"
- /* 4 */ ".f...fvwwwwv"
- /* 5 */ ".f...fvwwwwv"
- /* 6 */ ".f...fvwwwwv"
- /* 7 */ ".f...fvvvvvv"
- /* 8 */ "tffffft....."
- /* 9 */ "uuuuuuu....."
- /* 10 */ "............"
-
- // Level 6
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ "............"
- /* 2 */ "ppppppp....."
- /* 3 */ "qfffffq....."
- /* 4 */ ".f...f......"
- /* 5 */ ".f...f......"
- /* 6 */ ".f...f......"
- /* 7 */ "tffffft....."
- /* 8 */ "uuuuuuu....."
- /* 9 */ "............"
- /* 10 */ "............"
-
- // Level 7
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ "............"
- /* 2 */ "............"
- /* 3 */ "ppppppp....."
- /* 4 */ "qfffffq....."
- /* 5 */ ".f...f......"
- /* 6 */ "tffffft....."
- /* 7 */ "uuuuuuu....."
- /* 8 */ "............"
- /* 9 */ "............"
- /* 10 */ "............"
-
- // Level 8
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ "............"
- /* 2 */ "............"
- /* 3 */ "............"
- /* 4 */ "ppppppp....."
- /* 5 */ "fffffff....."
- /* 6 */ "uuuuuuu....."
- /* 7 */ "............"
- /* 8 */ "............"
- /* 9 */ "............"
- /* 10 */ "............",
-
- // Connectors:
- "-1: 7, 1, -1: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // Forge
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // LampPost:
- // The data has been exported from the gallery Plains, area index 28, ID 73, created by STR_Warrior
- {
- // Size:
- 3, 7, 3, // SizeX = 3, SizeY = 7, SizeZ = 3
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 2, 6, 2, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 3: 0\n" /* dirt */
- "b: 43: 0\n" /* doubleslab */
- "c:139: 0\n" /* cobblestonewall */
- "d: 50: 4\n" /* torch */
- "e: 50: 2\n" /* torch */
- "f: 50: 1\n" /* torch */
- "g: 50: 3\n" /* torch */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 012 */
- /* 0 */ "mmm"
- /* 1 */ "mam"
- /* 2 */ "mmm"
-
- // Level 1
- /* z\x* 012 */
- /* 0 */ "..."
- /* 1 */ ".b."
- /* 2 */ "..."
-
- // Level 2
- /* z\x* 012 */
- /* 0 */ "..."
- /* 1 */ ".c."
- /* 2 */ "..."
-
- // Level 3
- /* z\x* 012 */
- /* 0 */ "..."
- /* 1 */ ".c."
- /* 2 */ "..."
-
- // Level 4
- /* z\x* 012 */
- /* 0 */ ".d."
- /* 1 */ "ebf"
- /* 2 */ ".g."
-
- // Level 5
- /* z\x* 012 */
- /* 0 */ "..."
- /* 1 */ "..."
- /* 2 */ "..."
-
- // Level 6
- /* z\x* 012 */
- /* 0 */ "..."
- /* 1 */ "..."
- /* 2 */ "...",
-
- // Connectors:
- "-1: 1, 1, 2: 3\n" /* Type -1, direction Z+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // LampPost
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // MineshaftCorridor:
- // The data has been exported from the gallery Plains, area index 139, ID 447, created by STR_Warrior
- {
- // Size:
- 10, 4, 3, // SizeX = 10, SizeY = 4, SizeZ = 3
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 9, 3, 2, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 0\n" /* wood */
- "b: 85: 0\n" /* fence */
- "c: 66: 1\n" /* tracks */
- "d: 50: 2\n" /* torch */
- "e: 50: 1\n" /* torch */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "aaaaaaaaaa"
- /* 1 */ "aaaaaaaaaa"
- /* 2 */ "aaaaaaaaaa"
-
- // Level 1
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "..b....b.."
- /* 1 */ "cccccccccc"
- /* 2 */ "..b....b.."
-
- // Level 2
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "..b....b.."
- /* 1 */ ".........."
- /* 2 */ "..b....b.."
-
- // Level 3
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "..a....a.."
- /* 1 */ ".dae..dae."
- /* 2 */ "..a....a..",
-
- // Connectors:
- "-3: 0, 1, 1: 4\n" /* Type -3, direction X- */
- "3: 9, 1, 1: 5\n" /* Type 3, direction X+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- false,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 200,
-
- // MoveToGround:
- false,
- }, // MineshaftCorridor
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // MineshaftCrossing:
- // The data has been exported from the gallery Plains, area index 171, ID 578, created by Aloe_vera
- {
- // Size:
- 5, 4, 5, // SizeX = 5, SizeY = 4, SizeZ = 5
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 4, 3, 4, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 0\n" /* wood */
- "b: 66: 0\n" /* tracks */
- "c: 66: 1\n" /* tracks */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 01234 */
- /* 0 */ "aaaaa"
- /* 1 */ "aaaaa"
- /* 2 */ "aaaaa"
- /* 3 */ "aaaaa"
- /* 4 */ "aaaaa"
-
- // Level 1
- /* z\x* 01234 */
- /* 0 */ "m.b.m"
- /* 1 */ ".aba."
- /* 2 */ "ccccc"
- /* 3 */ ".aba."
- /* 4 */ "m.b.m"
-
- // Level 2
- /* z\x* 01234 */
- /* 0 */ "m...m"
- /* 1 */ ".a.a."
- /* 2 */ "....."
- /* 3 */ ".a.a."
- /* 4 */ "m...m"
-
- // Level 3
- /* z\x* 01234 */
- /* 0 */ "m...m"
- /* 1 */ ".a.a."
- /* 2 */ "....."
- /* 3 */ ".a.a."
- /* 4 */ "m...m",
-
- // Connectors:
- "3: 4, 1, 2: 5\n" /* Type 3, direction X+ */
- "-3: 4, 1, 2: 5\n" /* Type -3, direction X+ */
- "-3: 2, 1, 4: 3\n" /* Type -3, direction Z+ */
- "3: 2, 1, 4: 3\n" /* Type 3, direction Z+ */
- "3: 0, 1, 2: 4\n" /* Type 3, direction X- */
- "-3: 0, 1, 2: 4\n" /* Type -3, direction X- */
- "3: 2, 1, 0: 2\n" /* Type 3, direction Z- */
- "-3: 2, 1, 0: 2\n" /* Type -3, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- false,
-
- // DefaultWeight:
- 1,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- false,
- }, // MineshaftCrossing
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // MineshaftCrossing:
- // The data has been exported from the gallery Plains, area index 193, ID 657, created by Aloe_vera
- {
- // Size:
- 11, 4, 11, // SizeX = 11, SizeY = 4, SizeZ = 11
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 10, 3, 10, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 0\n" /* wood */
- "b: 66: 0\n" /* tracks */
- "c: 85: 0\n" /* fence */
- "d: 66: 1\n" /* tracks */
- "e: 50: 4\n" /* torch */
- "f: 50: 3\n" /* torch */
- "g: 50: 2\n" /* torch */
- "h: 50: 1\n" /* torch */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmaaammmm"
- /* 1 */ "mmmmaaammmm"
- /* 2 */ "mmmmaaammmm"
- /* 3 */ "mmmmaaammmm"
- /* 4 */ "aaaaaaaaaaa"
- /* 5 */ "aaaaaaaaaaa"
- /* 6 */ "aaaaaaaaaaa"
- /* 7 */ "mmmmaaammmm"
- /* 8 */ "mmmmaaammmm"
- /* 9 */ "mmmmaaammmm"
- /* 10 */ "mmmmaaammmm"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmm.b.mmmm"
- /* 1 */ "mmmm.b.mmmm"
- /* 2 */ "mmmmcbcmmmm"
- /* 3 */ "mmmm.b.mmmm"
- /* 4 */ "..c..b..c.."
- /* 5 */ "ddddddddddd"
- /* 6 */ "..c..b..c.."
- /* 7 */ "mmmm.b.mmmm"
- /* 8 */ "mmmmcbcmmmm"
- /* 9 */ "mmmm.b.mmmm"
- /* 10 */ "mmmm.b.mmmm"
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmm...mmmm"
- /* 1 */ "mmmm...mmmm"
- /* 2 */ "mmmmc.cmmmm"
- /* 3 */ "mmmm...mmmm"
- /* 4 */ "..c.....c.."
- /* 5 */ "..........."
- /* 6 */ "..c.....c.."
- /* 7 */ "mmmm...mmmm"
- /* 8 */ "mmmmc.cmmmm"
- /* 9 */ "mmmm...mmmm"
- /* 10 */ "mmmm...mmmm"
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmm...mmmm"
- /* 1 */ "mmmm.e.mmmm"
- /* 2 */ "mmmmaaammmm"
- /* 3 */ "mmmm.f.mmmm"
- /* 4 */ "..a.....a.."
- /* 5 */ ".gah...gah."
- /* 6 */ "..a.....a.."
- /* 7 */ "mmmm.e.mmmm"
- /* 8 */ "mmmmaaammmm"
- /* 9 */ "mmmm.f.mmmm"
- /* 10 */ "mmmm...mmmm",
-
- // Connectors:
- "3: 5, 1, 0: 2\n" /* Type 3, direction Z- */
- "-3: 5, 1, 0: 2\n" /* Type -3, direction Z- */
- "3: 0, 1, 5: 4\n" /* Type 3, direction X- */
- "-3: 0, 1, 5: 4\n" /* Type -3, direction X- */
- "3: 5, 1, 10: 3\n" /* Type 3, direction Z+ */
- "-3: 5, 1, 10: 3\n" /* Type -3, direction Z+ */
- "3: 10, 1, 5: 5\n" /* Type 3, direction X+ */
- "-3: 10, 1, 5: 5\n" /* Type -3, direction X+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- false,
-
- // DefaultWeight:
- 10,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- false,
- }, // MineshaftCrossing
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // MineshaftDoubleCrossing:
- // The data has been exported from the gallery Plains, area index 172, ID 579, created by Aloe_vera
- {
- // Size:
- 5, 8, 5, // SizeX = 5, SizeY = 8, SizeZ = 5
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 4, 7, 4, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 0\n" /* wood */
- "b: 66: 0\n" /* tracks */
- "c: 66: 1\n" /* tracks */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 01234 */
- /* 0 */ "aaaaa"
- /* 1 */ "aaaaa"
- /* 2 */ "aaaaa"
- /* 3 */ "aaaaa"
- /* 4 */ "aaaaa"
-
- // Level 1
- /* z\x* 01234 */
- /* 0 */ "m.b.m"
- /* 1 */ ".aba."
- /* 2 */ "ccccc"
- /* 3 */ ".aba."
- /* 4 */ "m.b.m"
-
- // Level 2
- /* z\x* 01234 */
- /* 0 */ "m...m"
- /* 1 */ ".a.a."
- /* 2 */ "....."
- /* 3 */ ".a.a."
- /* 4 */ "m...m"
-
- // Level 3
- /* z\x* 01234 */
- /* 0 */ "m...m"
- /* 1 */ ".a.a."
- /* 2 */ "....."
- /* 3 */ ".a.a."
- /* 4 */ "m...m"
-
- // Level 4
- /* z\x* 01234 */
- /* 0 */ "aaaaa"
- /* 1 */ "aa.aa"
- /* 2 */ "a...a"
- /* 3 */ "aa.aa"
- /* 4 */ "aaaaa"
-
- // Level 5
- /* z\x* 01234 */
- /* 0 */ "m...m"
- /* 1 */ ".a.a."
- /* 2 */ "....."
- /* 3 */ ".a.a."
- /* 4 */ "m...m"
-
- // Level 6
- /* z\x* 01234 */
- /* 0 */ "m...m"
- /* 1 */ ".a.a."
- /* 2 */ "....."
- /* 3 */ ".a.a."
- /* 4 */ "m...m"
-
- // Level 7
- /* z\x* 01234 */
- /* 0 */ "m...m"
- /* 1 */ ".a.a."
- /* 2 */ "....."
- /* 3 */ ".a.a."
- /* 4 */ "m...m",
-
- // Connectors:
- "-3: 4, 5, 2: 5\n" /* Type -3, direction X+ */
- "3: 4, 5, 2: 5\n" /* Type 3, direction X+ */
- "-3: 2, 1, 4: 3\n" /* Type -3, direction Z+ */
- "3: 2, 1, 4: 3\n" /* Type 3, direction Z+ */
- "-3: 0, 1, 2: 4\n" /* Type -3, direction X- */
- "3: 0, 1, 2: 4\n" /* Type 3, direction X- */
- "-3: 2, 1, 0: 2\n" /* Type -3, direction Z- */
- "3: 2, 1, 0: 2\n" /* Type 3, direction Z- */
- "-3: 4, 1, 2: 5\n" /* Type -3, direction X+ */
- "3: 4, 1, 2: 5\n" /* Type 3, direction X+ */
- "-3: 2, 5, 4: 3\n" /* Type -3, direction Z+ */
- "3: 2, 5, 4: 3\n" /* Type 3, direction Z+ */
- "-3: 0, 5, 2: 4\n" /* Type -3, direction X- */
- "3: 0, 5, 2: 4\n" /* Type 3, direction X- */
- "-3: 2, 5, 0: 2\n" /* Type -3, direction Z- */
- "3: 2, 5, 0: 2\n" /* Type 3, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- false,
-
- // DefaultWeight:
- 1,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- false,
- }, // MineshaftDoubleCrossing
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // MineshaftSpiral:
- // The data has been exported from the gallery Plains, area index 198, ID 662, created by Aloe_vera
- {
- // Size:
- 7, 12, 7, // SizeX = 7, SizeY = 12, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 6, 11, 6, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 0\n" /* wood */
- "b: 85: 0\n" /* fence */
- "c: 66: 4\n" /* tracks */
- "d: 66: 0\n" /* tracks */
- "e: 66: 6\n" /* tracks */
- "f: 66: 2\n" /* tracks */
- "g: 50: 1\n" /* torch */
- "h: 50: 3\n" /* torch */
- "i: 66: 1\n" /* tracks */
- "j: 66: 7\n" /* tracks */
- "k: 66: 5\n" /* tracks */
- "l: 50: 2\n" /* torch */
- "m: 19: 0\n" /* sponge */
- "n: 66: 3\n" /* tracks */
- "o: 66: 8\n" /* tracks */
- "p: 50: 4\n" /* torch */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmmmmm"
- /* 2 */ "mmmmmmm"
- /* 3 */ "aaabmmm"
- /* 4 */ "aaammmm"
- /* 5 */ "aaammmm"
- /* 6 */ "aaammmm"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmmmmm"
- /* 2 */ "aaammmm"
- /* 3 */ "aaabmmm"
- /* 4 */ ".c.mmmm"
- /* 5 */ ".d.mmmm"
- /* 6 */ ".d.mmmm"
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ "aaaammm"
- /* 1 */ "aaaammm"
- /* 2 */ "aaaammm"
- /* 3 */ ".c.bmmm"
- /* 4 */ "...mmmm"
- /* 5 */ "...mmmm"
- /* 6 */ "...mmmm"
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ "b..aamm"
- /* 1 */ ".efaamm"
- /* 2 */ ".d.aamm"
- /* 3 */ "...bmmm"
- /* 4 */ "...mmmm"
- /* 5 */ "...mmmm"
- /* 6 */ "...mmmm"
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "b...aaa"
- /* 1 */ "...faaa"
- /* 2 */ "....aaa"
- /* 3 */ "...baaa"
- /* 4 */ "...mmmm"
- /* 5 */ "mmmmmmm"
- /* 6 */ "mmmmmmm"
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ "ag....b"
- /* 1 */ "h...ij."
- /* 2 */ ".....k."
- /* 3 */ "...baaa"
- /* 4 */ "mmmmaaa"
- /* 5 */ "mmmmmmm"
- /* 6 */ "mmmmmmm"
-
- // Level 6
- /* z\x* 0123456 */
- /* 0 */ "mm....b"
- /* 1 */ "mm....."
- /* 2 */ "mm....."
- /* 3 */ "mmmb.k."
- /* 4 */ "mmmaaaa"
- /* 5 */ "mmmaaaa"
- /* 6 */ "mmmaaaa"
-
- // Level 7
- /* z\x* 0123456 */
- /* 0 */ "mmm..la"
- /* 1 */ "mmm...h"
- /* 2 */ "mmm...."
- /* 3 */ "mmmb..."
- /* 4 */ "mmaa.d."
- /* 5 */ "mmaano."
- /* 6 */ "mmaa..b"
-
- // Level 8
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmmmmm"
- /* 2 */ "mmmm..."
- /* 3 */ "mmmb..."
- /* 4 */ "aaa...."
- /* 5 */ "aaan..."
- /* 6 */ "aaa...b"
-
- // Level 9
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmmmmm"
- /* 2 */ "mmmmmmm"
- /* 3 */ "mmmb..."
- /* 4 */ "......."
- /* 5 */ "iii...p"
- /* 6 */ ".....la"
-
- // Level 10
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmmmmm"
- /* 2 */ "mmmmmmm"
- /* 3 */ "mmmbmmm"
- /* 4 */ ".....mm"
- /* 5 */ ".....mm"
- /* 6 */ ".....mm"
-
- // Level 11
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmmmmm"
- /* 2 */ "mmmmmmm"
- /* 3 */ "mmmbmmm"
- /* 4 */ "....mmm"
- /* 5 */ "....mmm"
- /* 6 */ "....mmm",
-
- // Connectors:
- "3: 1, 1, 6: 3\n" /* Type 3, direction Z+ */
- "-3: 1, 1, 6: 3\n" /* Type -3, direction Z+ */
- "3: 0, 9, 5: 4\n" /* Type 3, direction X- */
- "-3: 0, 9, 5: 4\n" /* Type -3, direction X- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- false,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- false,
- }, // MineshaftSpiral
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // MineshaftStairs:
- // The data has been exported from the gallery Plains, area index 195, ID 659, created by Aloe_vera
- {
- // Size:
- 7, 8, 3, // SizeX = 7, SizeY = 8, SizeZ = 3
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 6, 7, 2, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 0\n" /* wood */
- "b: 66: 1\n" /* tracks */
- "c: 66: 2\n" /* tracks */
- "d: 85: 0\n" /* fence */
- "e: 50: 1\n" /* torch */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "aaammmm"
- /* 1 */ "aaammmm"
- /* 2 */ "aaammmm"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "..aammm"
- /* 1 */ "bcaammm"
- /* 2 */ "..aammm"
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ "...aamm"
- /* 1 */ "..caamm"
- /* 2 */ "...aamm"
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ "...daam"
- /* 1 */ "...caam"
- /* 2 */ "...daam"
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "m..d.aa"
- /* 1 */ "m...caa"
- /* 2 */ "m..d.aa"
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ "mm.d..."
- /* 1 */ "mm...bb"
- /* 2 */ "mm.d..."
-
- // Level 6
- /* z\x* 0123456 */
- /* 0 */ "mmmd..."
- /* 1 */ "mmm...."
- /* 2 */ "mmmd..."
-
- // Level 7
- /* z\x* 0123456 */
- /* 0 */ "mmma..."
- /* 1 */ "mmmae.."
- /* 2 */ "mmma...",
-
- // Connectors:
- "3: 0, 1, 1: 4\n" /* Type 3, direction X- */
- "-3: 0, 1, 1: 4\n" /* Type -3, direction X- */
- "3: 6, 5, 1: 5\n" /* Type 3, direction X+ */
- "-3: 6, 5, 1: 5\n" /* Type -3, direction X+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- false,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- false,
- }, // MineshaftStairs
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // MineshaftStairsCrossing:
- // The data has been exported from the gallery Plains, area index 199, ID 663, created by Aloe_vera
- {
- // Size:
- 11, 12, 12, // SizeX = 11, SizeY = 12, SizeZ = 12
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 10, 11, 11, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 0\n" /* wood */
- "b: 66: 0\n" /* tracks */
- "c: 66: 5\n" /* tracks */
- "d: 85: 0\n" /* fence */
- "e: 66: 1\n" /* tracks */
- "f: 50: 3\n" /* torch */
- "g: 50: 2\n" /* torch */
- "h: 50: 1\n" /* torch */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmaaammmm"
- /* 1 */ "mmmmaaammmm"
- /* 2 */ "mmmmaaammmm"
- /* 3 */ "mmmmmmmmmmm"
- /* 4 */ "mmmmmmmmmmm"
- /* 5 */ "mmmmmmmmmmm"
- /* 6 */ "mmmmmmmmmmm"
- /* 7 */ "mmmmmmmmmmm"
- /* 8 */ "mmmmmmmmmmm"
- /* 9 */ "mmmmmmmmmmm"
- /* 10 */ "mmmmmmmmmmm"
- /* 11 */ "mmmmmmmmmmm"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmm.b.mmmm"
- /* 1 */ "mmmm.c.mmmm"
- /* 2 */ "mmmmaaammmm"
- /* 3 */ "mmmmaaammmm"
- /* 4 */ "mmmmmmmmmmm"
- /* 5 */ "mmmmmmmmmmm"
- /* 6 */ "mmmmmmmmmmm"
- /* 7 */ "mmmmmmmmmmm"
- /* 8 */ "mmmmmmmmmmm"
- /* 9 */ "mmmmmmmmmmm"
- /* 10 */ "mmmmmmmmmmm"
- /* 11 */ "mmmmmmmmmmm"
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmm...mmmm"
- /* 1 */ "mmmm...mmmm"
- /* 2 */ "mmmm.c.mmmm"
- /* 3 */ "mmmmaaammmm"
- /* 4 */ "mmmmaaammmm"
- /* 5 */ "mmmmmmmmmmm"
- /* 6 */ "mmmmmmmmmmm"
- /* 7 */ "mmmmmmmmmmm"
- /* 8 */ "mmmmmmmmmmm"
- /* 9 */ "mmmmmmmmmmm"
- /* 10 */ "mmmmmmmmmmm"
- /* 11 */ "mmmmmmmmmmm"
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmm...mmmm"
- /* 1 */ "mmmm...mmmm"
- /* 2 */ "mmmm...mmmm"
- /* 3 */ "mmmmdcdmmmm"
- /* 4 */ "mmmmaaammmm"
- /* 5 */ "mmmmaaammmm"
- /* 6 */ "mmmmmmmmmmm"
- /* 7 */ "mmmmmmmmmmm"
- /* 8 */ "mmmmmmmmmmm"
- /* 9 */ "mmmmmmmmmmm"
- /* 10 */ "mmmmmmmmmmm"
- /* 11 */ "mmmmmmmmmmm"
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmmmmmmm"
- /* 1 */ "mmmm...mmmm"
- /* 2 */ "mmmm...mmmm"
- /* 3 */ "mmmmd.dmmmm"
- /* 4 */ "mmmm.c.mmmm"
- /* 5 */ "aaaaaaaaaaa"
- /* 6 */ "aaaaaaaaaaa"
- /* 7 */ "aaaaaaaaaaa"
- /* 8 */ "mmmmaaammmm"
- /* 9 */ "mmmmmmmmmmm"
- /* 10 */ "mmmmmmmmmmm"
- /* 11 */ "mmmmmmmmmmm"
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmmmmmmm"
- /* 1 */ "mmmmmmmmmmm"
- /* 2 */ "mmmm...mmmm"
- /* 3 */ "mmmmd.dmmmm"
- /* 4 */ "mmmm...mmmm"
- /* 5 */ "..d..b..d.."
- /* 6 */ "eeeeeeeeeee"
- /* 7 */ "..d..c..d.."
- /* 8 */ "mmmmaaammmm"
- /* 9 */ "mmmmaaammmm"
- /* 10 */ "mmmmmmmmmmm"
- /* 11 */ "mmmmmmmmmmm"
-
- // Level 6
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmmmmmmm"
- /* 1 */ "mmmmmmmmmmm"
- /* 2 */ "mmmmmmmmmmm"
- /* 3 */ "mmmmd.dmmmm"
- /* 4 */ "mmmm...mmmm"
- /* 5 */ "..d.....d.."
- /* 6 */ "..........."
- /* 7 */ "..d.....d.."
- /* 8 */ "mmmm.c.mmmm"
- /* 9 */ "mmmmaaammmm"
- /* 10 */ "mmmmaaammmm"
- /* 11 */ "mmmmmmmmmmm"
-
- // Level 7
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmmmmmmm"
- /* 1 */ "mmmmmmmmmmm"
- /* 2 */ "mmmmmmmmmmm"
- /* 3 */ "mmmmaaammmm"
- /* 4 */ "mmmm.f.mmmm"
- /* 5 */ "..a.....a.."
- /* 6 */ ".gah...gah."
- /* 7 */ "..a.....a.."
- /* 8 */ "mmmm...mmmm"
- /* 9 */ "mmmmdcdmmmm"
- /* 10 */ "mmmmaaammmm"
- /* 11 */ "mmmmaaammmm"
-
- // Level 8
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmmmmmmm"
- /* 1 */ "mmmmmmmmmmm"
- /* 2 */ "mmmmmmmmmmm"
- /* 3 */ "mmmmmmmmmmm"
- /* 4 */ "mmmmmmmmmmm"
- /* 5 */ "mmmmmmmmmmm"
- /* 6 */ "mmmmmmmmmmm"
- /* 7 */ "mmmm...mmmm"
- /* 8 */ "mmmm...mmmm"
- /* 9 */ "mmmmd.dmmmm"
- /* 10 */ "mmmm.c.mmmm"
- /* 11 */ "mmmmaaammmm"
-
- // Level 9
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmmmmmmm"
- /* 1 */ "mmmmmmmmmmm"
- /* 2 */ "mmmmmmmmmmm"
- /* 3 */ "mmmmmmmmmmm"
- /* 4 */ "mmmmmmmmmmm"
- /* 5 */ "mmmmmmmmmmm"
- /* 6 */ "mmmmmmmmmmm"
- /* 7 */ "mmmmmmmmmmm"
- /* 8 */ "mmmm...mmmm"
- /* 9 */ "mmmmd.dmmmm"
- /* 10 */ "mmmm...mmmm"
- /* 11 */ "mmmm.b.mmmm"
-
- // Level 10
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmmmmmmm"
- /* 1 */ "mmmmmmmmmmm"
- /* 2 */ "mmmmmmmmmmm"
- /* 3 */ "mmmmmmmmmmm"
- /* 4 */ "mmmmmmmmmmm"
- /* 5 */ "mmmmmmmmmmm"
- /* 6 */ "mmmmmmmmmmm"
- /* 7 */ "mmmmmmmmmmm"
- /* 8 */ "mmmmmmmmmmm"
- /* 9 */ "mmmmd.dmmmm"
- /* 10 */ "mmmm...mmmm"
- /* 11 */ "mmmm...mmmm"
-
- // Level 11
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmmmmmmmm"
- /* 1 */ "mmmmmmmmmmm"
- /* 2 */ "mmmmmmmmmmm"
- /* 3 */ "mmmmmmmmmmm"
- /* 4 */ "mmmmmmmmmmm"
- /* 5 */ "mmmmmmmmmmm"
- /* 6 */ "mmmmmmmmmmm"
- /* 7 */ "mmmmmmmmmmm"
- /* 8 */ "mmmmmmmmmmm"
- /* 9 */ "mmmmaaammmm"
- /* 10 */ "mmmm.f.mmmm"
- /* 11 */ "mmmm...mmmm",
-
- // Connectors:
- "3: 0, 5, 6: 4\n" /* Type 3, direction X- */
- "-3: 0, 5, 6: 4\n" /* Type -3, direction X- */
- "3: 10, 5, 6: 5\n" /* Type 3, direction X+ */
- "-3: 10, 5, 6: 5\n" /* Type -3, direction X+ */
- "3: 5, 9, 11: 3\n" /* Type 3, direction Z+ */
- "-3: 5, 9, 11: 3\n" /* Type -3, direction Z+ */
- "3: 5, 1, 1: 2\n" /* Type 3, direction Z- */
- "-3: 5, 1, 1: 2\n" /* Type -3, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- false,
-
- // DefaultWeight:
- 30,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- false,
- }, // MineshaftStairsCrossing
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // MineshaftTee:
- // The data has been exported from the gallery Plains, area index 194, ID 658, created by Aloe_vera
- {
- // Size:
- 11, 4, 7, // SizeX = 11, SizeY = 4, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 10, 3, 6, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 0\n" /* wood */
- "b: 66: 0\n" /* tracks */
- "c: 85: 0\n" /* fence */
- "d: 66: 1\n" /* tracks */
- "e: 50: 4\n" /* torch */
- "f: 50: 3\n" /* torch */
- "g: 50: 2\n" /* torch */
- "h: 50: 1\n" /* torch */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmaaammmm"
- /* 1 */ "mmmmaaammmm"
- /* 2 */ "mmmmaaammmm"
- /* 3 */ "mmmmaaammmm"
- /* 4 */ "aaaaaaaaaaa"
- /* 5 */ "aaaaaaaaaaa"
- /* 6 */ "aaaaaaaaaaa"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmm.b.mmmm"
- /* 1 */ "mmmm.b.mmmm"
- /* 2 */ "mmmmcbcmmmm"
- /* 3 */ "mmmm.b.mmmm"
- /* 4 */ "..c..b..c.."
- /* 5 */ "ddddddddddd"
- /* 6 */ "..c.....c.."
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmm...mmmm"
- /* 1 */ "mmmm...mmmm"
- /* 2 */ "mmmmc.cmmmm"
- /* 3 */ "mmmm...mmmm"
- /* 4 */ "..c.....c.."
- /* 5 */ "..........."
- /* 6 */ "..c.....c.."
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmm...mmmm"
- /* 1 */ "mmmm.e.mmmm"
- /* 2 */ "mmmmaaammmm"
- /* 3 */ "mmmm.f.mmmm"
- /* 4 */ "..a.....a.."
- /* 5 */ ".gah...gah."
- /* 6 */ "..a.....a..",
-
- // Connectors:
- "3: 0, 1, 5: 4\n" /* Type 3, direction X- */
- "-3: 0, 1, 5: 4\n" /* Type -3, direction X- */
- "3: 5, 1, 0: 2\n" /* Type 3, direction Z- */
- "-3: 5, 1, 0: 2\n" /* Type -3, direction Z- */
- "3: 10, 1, 5: 5\n" /* Type 3, direction X+ */
- "-3: 10, 1, 5: 5\n" /* Type -3, direction X+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- false,
-
- // DefaultWeight:
- 20,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- false,
- }, // MineshaftTee
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // MineshaftsCorridor5:
- // The data has been exported from the gallery Plains, area index 200, ID 664, created by Aloe_vera
- {
- // Size:
- 11, 4, 3, // SizeX = 11, SizeY = 4, SizeZ = 3
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 10, 3, 2, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 0\n" /* wood */
- "b: 85: 0\n" /* fence */
- "c: 66: 1\n" /* tracks */
- "d: 50: 2\n" /* torch */
- "e: 50: 1\n" /* torch */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "aaaaaaaaaaa"
- /* 1 */ "aaaaaaaaaaa"
- /* 2 */ "aaaaaaaaaaa"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..b.....b.."
- /* 1 */ "ccccccccccc"
- /* 2 */ "..b.....b.."
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..b.....b.."
- /* 1 */ "..........."
- /* 2 */ "..b.....b.."
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..a.....a.."
- /* 1 */ ".dae...dae."
- /* 2 */ "..a.....a..",
-
- // Connectors:
- "3: 10, 1, 1: 5\n" /* Type 3, direction X+ */
- "-3: 10, 1, 1: 5\n" /* Type -3, direction X+ */
- "-3: 0, 1, 1: 4\n" /* Type -3, direction X- */
- "3: 0, 1, 1: 4\n" /* Type 3, direction X- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- false,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- false,
- }, // MineshaftsCorridor5
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // Scarecrow:
- // The data has been exported from the gallery Plains, area index 150, ID 494, created by STR_Warrior
- {
- // Size:
- 1, 6, 3, // SizeX = 1, SizeY = 6, SizeZ = 3
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 0, 5, 2, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a:139: 0\n" /* cobblestonewall */
- "b: 85: 0\n" /* fence */
- "c:126: 4\n" /* woodenslab */
- "d: 86: 1\n" /* pumpkin */
- "e:139: 1\n" /* cobblestonewall */
- "f:163: 4\n" /* acaciawoodenstairs */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 0 */
- /* 0 */ "."
- /* 1 */ "a"
- /* 2 */ "."
-
- // Level 1
- /* z\x* 0 */
- /* 0 */ "."
- /* 1 */ "b"
- /* 2 */ "."
-
- // Level 2
- /* z\x* 0 */
- /* 0 */ "c"
- /* 1 */ "d"
- /* 2 */ "c"
-
- // Level 3
- /* z\x* 0 */
- /* 0 */ "."
- /* 1 */ "e"
- /* 2 */ "."
-
- // Level 4
- /* z\x* 0 */
- /* 0 */ "f"
- /* 1 */ "d"
- /* 2 */ "f"
-
- // Level 5
- /* z\x* 0 */
- /* 0 */ "."
- /* 1 */ "f"
- /* 2 */ ".",
-
- // Connectors:
- "-1: -1, 0, 1: 4\n" /* Type -1, direction X- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 10,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // Scarecrow
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // SinglePlantBed:
- // The data has been exported from the gallery Plains, area index 17, ID 60, created by Aloe_vera
- {
- // Size:
- 10, 7, 7, // SizeX = 10, SizeY = 7, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 9, 6, 6, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 3: 0\n" /* dirt */
- "b: 17: 0\n" /* tree */
- "c: 60: 7\n" /* tilleddirt */
- "d: 8: 0\n" /* water */
- "e: 59: 7\n" /* crops */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "aaaaaaaaaa"
- /* 1 */ "aaaaaaaaaa"
- /* 2 */ "aaaaaaaaaa"
- /* 3 */ "aaaaaaaaaa"
- /* 4 */ "aaaaaaaaaa"
- /* 5 */ "aaaaaaaaaa"
- /* 6 */ "aaaaaaaaaa"
-
- // Level 1
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "bbbbbbbbbb"
- /* 1 */ "bccccccccb"
- /* 2 */ "bccccccccb"
- /* 3 */ "bddddddddb"
- /* 4 */ "bccccccccb"
- /* 5 */ "bccccccccb"
- /* 6 */ "bbbbbbbbbb"
-
- // Level 2
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".........."
- /* 1 */ ".eeeeeeee."
- /* 2 */ ".eeeeeeee."
- /* 3 */ ".........."
- /* 4 */ ".eeeeeeee."
- /* 5 */ ".eeeeeeee."
- /* 6 */ ".........."
-
- // Level 3
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".........."
- /* 1 */ ".........."
- /* 2 */ ".........."
- /* 3 */ ".........."
- /* 4 */ ".........."
- /* 5 */ ".........."
- /* 6 */ ".........."
-
- // Level 4
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".........."
- /* 1 */ ".........."
- /* 2 */ ".........."
- /* 3 */ ".........."
- /* 4 */ ".........."
- /* 5 */ ".........."
- /* 6 */ ".........."
-
- // Level 5
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".........."
- /* 1 */ ".........."
- /* 2 */ ".........."
- /* 3 */ ".........."
- /* 4 */ ".........."
- /* 5 */ ".........."
- /* 6 */ ".........."
-
- // Level 6
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".........."
- /* 1 */ ".........."
- /* 2 */ ".........."
- /* 3 */ ".........."
- /* 4 */ ".........."
- /* 5 */ ".........."
- /* 6 */ "..........",
-
- // Connectors:
- "-1: 9, 1, 3: 5\n" /* Type -1, direction X+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // SinglePlantBed
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // WoodenChurchMid:
- // The data has been exported from the gallery Plains, area index 58, ID 109, created by Aloe_vera
- {
- // Size:
- 7, 15, 13, // SizeX = 7, SizeY = 15, SizeZ = 13
-
- // Hitbox (relative to bounding box):
- -1, -1, 0, // MinX, MinY, MinZ
- 7, 14, 13, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "A: 85: 0\n" /* fence */
- "B:126: 8\n" /* woodenslab */
- "a: 4: 0\n" /* cobblestone */
- "b: 67: 0\n" /* stairs */
- "c: 67: 2\n" /* stairs */
- "d: 67: 1\n" /* stairs */
- "e: 17: 0\n" /* tree */
- "f: 5: 0\n" /* wood */
- "g: 64: 7\n" /* wooddoorblock */
- "h: 65: 3\n" /* ladder */
- "i: 53: 3\n" /* woodstairs */
- "j: 53: 7\n" /* woodstairs */
- "k: 64:12\n" /* wooddoorblock */
- "l:102: 0\n" /* glasspane */
- "m: 19: 0\n" /* sponge */
- "n: 50: 1\n" /* torch */
- "o: 50: 2\n" /* torch */
- "p:171:14\n" /* carpet */
- "q: 50: 3\n" /* torch */
- "r: 53: 2\n" /* woodstairs */
- "s: 53: 0\n" /* woodstairs */
- "t: 53: 1\n" /* woodstairs */
- "u: 53: 5\n" /* woodstairs */
- "v: 53: 4\n" /* woodstairs */
- "w: 17: 4\n" /* tree */
- "x: 17: 8\n" /* tree */
- "y: 54: 2\n" /* chest */
- "z: 50: 4\n" /* torch */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "mmaaamm"
- /* 1 */ "maaaaam"
- /* 2 */ "maaaaam"
- /* 3 */ "maaaaam"
- /* 4 */ "maaaaam"
- /* 5 */ "maaaaam"
- /* 6 */ "maaaaam"
- /* 7 */ "maaaaam"
- /* 8 */ "maaaaam"
- /* 9 */ "maaaaam"
- /* 10 */ "maaaaam"
- /* 11 */ "maaaaam"
- /* 12 */ "mmmmmmm"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "..bcd.."
- /* 1 */ ".aaaaa."
- /* 2 */ ".aaaaa."
- /* 3 */ ".aaaaa."
- /* 4 */ ".aaaaa."
- /* 5 */ ".aaaaa."
- /* 6 */ ".aaaaa."
- /* 7 */ ".aaaaa."
- /* 8 */ ".aaaaa."
- /* 9 */ ".aaaaa."
- /* 10 */ ".aaaaa."
- /* 11 */ ".aaaaa."
- /* 12 */ "......."
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".efgfe."
- /* 2 */ ".f..hf."
- /* 3 */ ".f...f."
- /* 4 */ ".f...f."
- /* 5 */ ".ei.ie."
- /* 6 */ ".f...f."
- /* 7 */ ".fi.if."
- /* 8 */ ".f...f."
- /* 9 */ ".f.j.f."
- /* 10 */ ".f...f."
- /* 11 */ ".efffe."
- /* 12 */ "......."
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".efkfe."
- /* 2 */ ".l..hl."
- /* 3 */ ".l...l."
- /* 4 */ ".l...l."
- /* 5 */ ".e...e."
- /* 6 */ ".l...l."
- /* 7 */ ".l...l."
- /* 8 */ ".fn.of."
- /* 9 */ ".l.p.l."
- /* 10 */ ".l...l."
- /* 11 */ ".ellle."
- /* 12 */ "......."
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".efffe."
- /* 2 */ ".f.qhf."
- /* 3 */ ".f...f."
- /* 4 */ ".f...f."
- /* 5 */ "re...er"
- /* 6 */ "sf...ft"
- /* 7 */ "sf...ft"
- /* 8 */ "sf...ft"
- /* 9 */ "sf...ft"
- /* 10 */ "sf...ft"
- /* 11 */ "sefffet"
- /* 12 */ "su...vt"
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".ewwwe."
- /* 2 */ ".xffhx."
- /* 3 */ ".xfffx."
- /* 4 */ ".xfffx."
- /* 5 */ ".ewwwe."
- /* 6 */ ".sf.ft."
- /* 7 */ ".sf.ft."
- /* 8 */ ".sf.ft."
- /* 9 */ ".sf.ft."
- /* 10 */ ".sf.ft."
- /* 11 */ ".sffft."
- /* 12 */ ".su.vt."
-
- // Level 6
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".eflfe."
- /* 2 */ ".f..hf."
- /* 3 */ ".f...f."
- /* 4 */ ".f.y.f."
- /* 5 */ ".efffe."
- /* 6 */ "..sft.."
- /* 7 */ "..sft.."
- /* 8 */ "..sft.."
- /* 9 */ "..sft.."
- /* 10 */ "..sft.."
- /* 11 */ "..sft.."
- /* 12 */ "..sft.."
-
- // Level 7
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".eflfe."
- /* 2 */ ".f..hf."
- /* 3 */ ".l...l."
- /* 4 */ ".f...f."
- /* 5 */ ".efffe."
- /* 6 */ "......."
- /* 7 */ "......."
- /* 8 */ "......."
- /* 9 */ "......."
- /* 10 */ "......."
- /* 11 */ "......."
- /* 12 */ "......."
-
- // Level 8
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".eflfe."
- /* 2 */ ".f..hf."
- /* 3 */ ".f...f."
- /* 4 */ ".f.z.f."
- /* 5 */ ".efffe."
- /* 6 */ "......."
- /* 7 */ "......."
- /* 8 */ "......."
- /* 9 */ "......."
- /* 10 */ "......."
- /* 11 */ "......."
- /* 12 */ "......."
-
- // Level 9
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".ewwwe."
- /* 2 */ ".xffhx."
- /* 3 */ ".xfffx."
- /* 4 */ ".xfffx."
- /* 5 */ ".ewwwe."
- /* 6 */ "......."
- /* 7 */ "......."
- /* 8 */ "......."
- /* 9 */ "......."
- /* 10 */ "......."
- /* 11 */ "......."
- /* 12 */ "......."
-
- // Level 10
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".eAAAe."
- /* 2 */ ".A...A."
- /* 3 */ ".A...A."
- /* 4 */ ".A...A."
- /* 5 */ ".eAAAe."
- /* 6 */ "......."
- /* 7 */ "......."
- /* 8 */ "......."
- /* 9 */ "......."
- /* 10 */ "......."
- /* 11 */ "......."
- /* 12 */ "......."
-
- // Level 11
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".e...e."
- /* 2 */ "......."
- /* 3 */ "......."
- /* 4 */ "......."
- /* 5 */ ".e...e."
- /* 6 */ "......."
- /* 7 */ "......."
- /* 8 */ "......."
- /* 9 */ "......."
- /* 10 */ "......."
- /* 11 */ "......."
- /* 12 */ "......."
-
- // Level 12
- /* z\x* 0123456 */
- /* 0 */ "su...vt"
- /* 1 */ "sefffet"
- /* 2 */ "sfBBBft"
- /* 3 */ "sfBBBft"
- /* 4 */ "sfBBBft"
- /* 5 */ "sefffet"
- /* 6 */ "su...vt"
- /* 7 */ "......."
- /* 8 */ "......."
- /* 9 */ "......."
- /* 10 */ "......."
- /* 11 */ "......."
- /* 12 */ "......."
-
- // Level 13
- /* z\x* 0123456 */
- /* 0 */ ".su.vt."
- /* 1 */ ".sffft."
- /* 2 */ ".sffft."
- /* 3 */ ".sffft."
- /* 4 */ ".sffft."
- /* 5 */ ".sffft."
- /* 6 */ ".su.vt."
- /* 7 */ "......."
- /* 8 */ "......."
- /* 9 */ "......."
- /* 10 */ "......."
- /* 11 */ "......."
- /* 12 */ "......."
-
- // Level 14
- /* z\x* 0123456 */
- /* 0 */ "..sft.."
- /* 1 */ "..sft.."
- /* 2 */ "..sft.."
- /* 3 */ "..sft.."
- /* 4 */ "..sft.."
- /* 5 */ "..sft.."
- /* 6 */ "..sft.."
- /* 7 */ "......."
- /* 8 */ "......."
- /* 9 */ "......."
- /* 10 */ "......."
- /* 11 */ "......."
- /* 12 */ ".......",
-
- // Connectors:
- "-1: 3, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 20,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // WoodenChurchMid
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // WoodenGranary:
- // The data has been exported from the gallery Plains, area index 54, ID 105, created by Aloe_vera
- {
- // Size:
- 7, 7, 9, // SizeX = 7, SizeY = 7, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, -1, 0, // MinX, MinY, MinZ
- 7, 6, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 4: 0\n" /* cobblestone */
- "b:170: 0\n" /* haybale */
- "c: 67: 0\n" /* stairs */
- "d: 67: 2\n" /* stairs */
- "e: 67: 1\n" /* stairs */
- "f: 17: 0\n" /* tree */
- "g: 5: 0\n" /* wood */
- "h:170: 4\n" /* haybale */
- "i:170: 8\n" /* haybale */
- "j: 54: 2\n" /* chest */
- "k: 50: 4\n" /* torch */
- "l: 53: 0\n" /* woodstairs */
- "m: 19: 0\n" /* sponge */
- "n: 53: 5\n" /* woodstairs */
- "o: 53: 4\n" /* woodstairs */
- "p: 53: 1\n" /* woodstairs */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "maaaaam"
- /* 1 */ "maaaaam"
- /* 2 */ "maaaaam"
- /* 3 */ "maaaaam"
- /* 4 */ "maaaaam"
- /* 5 */ "maaaaam"
- /* 6 */ "maaaaam"
- /* 7 */ "maaaaam"
- /* 8 */ "mmmmmmm"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "bcddde."
- /* 1 */ ".aaaaa."
- /* 2 */ ".aaaaa."
- /* 3 */ ".aaaaa."
- /* 4 */ ".aaaaa."
- /* 5 */ ".aaaaa."
- /* 6 */ ".aaaaa."
- /* 7 */ ".aaaaa."
- /* 8 */ "......."
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".f..bf."
- /* 2 */ ".g...g."
- /* 3 */ ".gb.hg."
- /* 4 */ ".fihif."
- /* 5 */ ".gbbbg."
- /* 6 */ ".gijbg."
- /* 7 */ ".fgfgf."
- /* 8 */ "......."
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ ".k...k."
- /* 1 */ ".f...f."
- /* 2 */ ".g...g."
- /* 3 */ ".g...g."
- /* 4 */ ".fh..f."
- /* 5 */ ".ghibg."
- /* 6 */ ".ghiig."
- /* 7 */ ".fgfgf."
- /* 8 */ "......."
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "ln...op"
- /* 1 */ "lgggggp"
- /* 2 */ "lg...gp"
- /* 3 */ "lg...gp"
- /* 4 */ "lg...gp"
- /* 5 */ "lgbb.gp"
- /* 6 */ "lgibigp"
- /* 7 */ "lgggggp"
- /* 8 */ "ln...op"
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ ".ln.op."
- /* 1 */ ".lgggp."
- /* 2 */ ".lg.gp."
- /* 3 */ ".lg.gp."
- /* 4 */ ".lg.gp."
- /* 5 */ ".lg.gp."
- /* 6 */ ".lg.gp."
- /* 7 */ ".lgggp."
- /* 8 */ ".ln.op."
-
- // Level 6
- /* z\x* 0123456 */
- /* 0 */ "..lgp.."
- /* 1 */ "..lgp.."
- /* 2 */ "..lgp.."
- /* 3 */ "..lgp.."
- /* 4 */ "..lgp.."
- /* 5 */ "..lgp.."
- /* 6 */ "..lgp.."
- /* 7 */ "..lgp.."
- /* 8 */ "..lgp..",
-
- // Connectors:
- "-1: 3, 1, -1: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 20,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // WoodenGranary
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // WoodenHouse10x7Library:
- // The data has been exported from the gallery Plains, area index 47, ID 98, created by Aloe_vera
- {
- // Size:
- 12, 8, 9, // SizeX = 12, SizeY = 8, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, -1, 0, // MinX, MinY, MinZ
- 12, 7, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 4: 0\n" /* cobblestone */
- "b: 67: 0\n" /* stairs */
- "c: 67: 2\n" /* stairs */
- "d: 67: 1\n" /* stairs */
- "e: 17: 0\n" /* tree */
- "f: 5: 0\n" /* wood */
- "g: 64: 7\n" /* wooddoorblock */
- "h: 64: 5\n" /* wooddoorblock */
- "i: 53: 3\n" /* woodstairs */
- "j: 85: 0\n" /* fence */
- "k: 53: 2\n" /* woodstairs */
- "l: 53: 1\n" /* woodstairs */
- "m: 19: 0\n" /* sponge */
- "n: 53: 0\n" /* woodstairs */
- "o:102: 0\n" /* glasspane */
- "p: 64:12\n" /* wooddoorblock */
- "q: 50: 3\n" /* torch */
- "r: 72: 0\n" /* woodplate */
- "s: 53: 7\n" /* woodstairs */
- "t: 47: 0\n" /* bookshelf */
- "u: 50: 1\n" /* torch */
- "v: 50: 2\n" /* torch */
- "w: 53: 6\n" /* woodstairs */,
-
- // Block data:
- // Level 0
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "mmmmaaaammmm"
- /* 1 */ "maaaaaaaaaam"
- /* 2 */ "maaaaaaaaaam"
- /* 3 */ "maaaaaaaaaam"
- /* 4 */ "maaaaaaaaaam"
- /* 5 */ "maaaaaaaaaam"
- /* 6 */ "maaaaaaaaaam"
- /* 7 */ "maaaaaaaaaam"
- /* 8 */ "mmmmmmmmmmmm"
-
- // Level 1
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "....bccd...."
- /* 1 */ ".aaaaaaaaaa."
- /* 2 */ ".aaaaaaaaaa."
- /* 3 */ ".aaaaaaaaaa."
- /* 4 */ ".aaaaaaaaaa."
- /* 5 */ ".aaaaaaaaaa."
- /* 6 */ ".aaaaaaaaaa."
- /* 7 */ ".aaaaaaaaaa."
- /* 8 */ "............"
-
- // Level 2
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ ".efffghfffe."
- /* 2 */ ".f........f."
- /* 3 */ ".fi......if."
- /* 4 */ ".fj......jf."
- /* 5 */ ".fk......kf."
- /* 6 */ ".f.ljnljn.f."
- /* 7 */ ".effffffffe."
- /* 8 */ "............"
-
- // Level 3
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ ".eoofppfooe."
- /* 2 */ ".o..q..q..o."
- /* 3 */ ".o........o."
- /* 4 */ ".fr......rf."
- /* 5 */ ".o........o."
- /* 6 */ ".o..r..r..o."
- /* 7 */ ".eoofoofooe."
- /* 8 */ "............"
-
- // Level 4
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "kkkkkkkkkkkk"
- /* 1 */ "sffffffffffs"
- /* 2 */ ".fttttttttf."
- /* 3 */ ".f........f."
- /* 4 */ ".fu......vf."
- /* 5 */ ".f........f."
- /* 6 */ ".fttttttttf."
- /* 7 */ "wffffffffffw"
- /* 8 */ "iiiiiiiiiiii"
-
- // Level 5
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ "kkkkkkkkkkkk"
- /* 2 */ "sffffffffffs"
- /* 3 */ ".fttttttttf."
- /* 4 */ ".f........f."
- /* 5 */ ".fttttttttf."
- /* 6 */ "wffffffffffw"
- /* 7 */ "iiiiiiiiiiii"
- /* 8 */ "............"
-
- // Level 6
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ "............"
- /* 2 */ "kkkkkkkkkkkk"
- /* 3 */ "sffffffffffs"
- /* 4 */ ".f........f."
- /* 5 */ "wffffffffffw"
- /* 6 */ "iiiiiiiiiiii"
- /* 7 */ "............"
- /* 8 */ "............"
-
- // Level 7
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ "............"
- /* 2 */ "............"
- /* 3 */ "kkkkkkkkkkkk"
- /* 4 */ "ffffffffffff"
- /* 5 */ "iiiiiiiiiiii"
- /* 6 */ "............"
- /* 7 */ "............"
- /* 8 */ "............",
-
- // Connectors:
- "-1: 5, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // WoodenHouse10x7Library
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // WoodenHouse5x5:
- // The data has been exported from the gallery Plains, area index 49, ID 100, created by Aloe_vera
- {
- // Size:
- 7, 7, 7, // SizeX = 7, SizeY = 7, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, -1, 0, // MinX, MinY, MinZ
- 7, 6, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 4: 0\n" /* cobblestone */
- "b: 67: 0\n" /* stairs */
- "c: 67: 2\n" /* stairs */
- "d: 67: 1\n" /* stairs */
- "e: 17: 0\n" /* tree */
- "f: 5: 0\n" /* wood */
- "g: 64: 3\n" /* wooddoorblock */
- "h: 64: 8\n" /* wooddoorblock */
- "i:102: 0\n" /* glasspane */
- "j: 53: 2\n" /* woodstairs */
- "k: 53: 7\n" /* woodstairs */
- "l: 50: 3\n" /* torch */
- "m: 19: 0\n" /* sponge */
- "n: 53: 6\n" /* woodstairs */
- "o: 53: 3\n" /* woodstairs */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "mmaaamm"
- /* 1 */ "maaaaam"
- /* 2 */ "maaaaam"
- /* 3 */ "maaaaam"
- /* 4 */ "maaaaam"
- /* 5 */ "maaaaam"
- /* 6 */ "mmmmmmm"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "..bcd.."
- /* 1 */ ".aaaaa."
- /* 2 */ ".aaaaa."
- /* 3 */ ".aaaaa."
- /* 4 */ ".aaaaa."
- /* 5 */ ".aaaaa."
- /* 6 */ "......."
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".efgfe."
- /* 2 */ ".f...f."
- /* 3 */ ".f...f."
- /* 4 */ ".f...f."
- /* 5 */ ".efffe."
- /* 6 */ "......."
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".efhfe."
- /* 2 */ ".i...i."
- /* 3 */ ".i...i."
- /* 4 */ ".i...i."
- /* 5 */ ".eiiie."
- /* 6 */ "......."
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "jjjjjjj"
- /* 1 */ "kfffffk"
- /* 2 */ ".fl.lf."
- /* 3 */ ".f...f."
- /* 4 */ ".f...f."
- /* 5 */ "nfffffn"
- /* 6 */ "ooooooo"
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "jjjjjjj"
- /* 2 */ "kfffffk"
- /* 3 */ ".f...f."
- /* 4 */ "nfffffn"
- /* 5 */ "ooooooo"
- /* 6 */ "......."
-
- // Level 6
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "......."
- /* 2 */ "jjjjjjj"
- /* 3 */ "fffffff"
- /* 4 */ "ooooooo"
- /* 5 */ "......."
- /* 6 */ ".......",
-
- // Connectors:
- "-1: 3, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // WoodenHouse5x5
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // WoodenHouse7x5:
- // The data has been exported from the gallery Plains, area index 40, ID 91, created by xoft
- {
- // Size:
- 9, 7, 7, // SizeX = 9, SizeY = 7, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, -1, 0, // MinX, MinY, MinZ
- 9, 6, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 4: 0\n" /* cobblestone */
- "b: 67: 0\n" /* stairs */
- "c: 67: 2\n" /* stairs */
- "d: 67: 1\n" /* stairs */
- "e: 17: 0\n" /* tree */
- "f: 5: 0\n" /* wood */
- "g: 64: 7\n" /* wooddoorblock */
- "h:102: 0\n" /* glasspane */
- "i: 64:12\n" /* wooddoorblock */
- "j: 53: 2\n" /* woodstairs */
- "k: 53: 7\n" /* woodstairs */
- "l: 50: 3\n" /* torch */
- "m: 19: 0\n" /* sponge */
- "n: 53: 6\n" /* woodstairs */
- "o: 53: 3\n" /* woodstairs */,
-
- // Block data:
- // Level 0
- /* z\x* 012345678 */
- /* 0 */ "mmmaaammm"
- /* 1 */ "maaaaaaam"
- /* 2 */ "maaaaaaam"
- /* 3 */ "maaaaaaam"
- /* 4 */ "maaaaaaam"
- /* 5 */ "maaaaaaam"
- /* 6 */ "mmmmmmmmm"
-
- // Level 1
- /* z\x* 012345678 */
- /* 0 */ "...bcd..."
- /* 1 */ ".aaaaaaa."
- /* 2 */ ".aaaaaaa."
- /* 3 */ ".aaaaaaa."
- /* 4 */ ".aaaaaaa."
- /* 5 */ ".aaaaaaa."
- /* 6 */ "........."
-
- // Level 2
- /* z\x* 012345678 */
- /* 0 */ "........."
- /* 1 */ ".effgffe."
- /* 2 */ ".f.....f."
- /* 3 */ ".f.....f."
- /* 4 */ ".f.....f."
- /* 5 */ ".efffffe."
- /* 6 */ "........."
-
- // Level 3
- /* z\x* 012345678 */
- /* 0 */ "........."
- /* 1 */ ".ehfifhe."
- /* 2 */ ".h.....h."
- /* 3 */ ".h.....h."
- /* 4 */ ".h.....h."
- /* 5 */ ".ehhfhhe."
- /* 6 */ "........."
-
- // Level 4
- /* z\x* 012345678 */
- /* 0 */ "jjjjjjjjj"
- /* 1 */ "kefffffek"
- /* 2 */ ".f.l.l.f."
- /* 3 */ ".f.....f."
- /* 4 */ ".f.....f."
- /* 5 */ "nefffffen"
- /* 6 */ "ooooooooo"
-
- // Level 5
- /* z\x* 012345678 */
- /* 0 */ "........."
- /* 1 */ "jjjjjjjjj"
- /* 2 */ "kfffffffk"
- /* 3 */ ".f.....f."
- /* 4 */ "nfffffffn"
- /* 5 */ "ooooooooo"
- /* 6 */ "........."
-
- // Level 6
- /* z\x* 012345678 */
- /* 0 */ "........."
- /* 1 */ "........."
- /* 2 */ "jjjjjjjjj"
- /* 3 */ "fffffffff"
- /* 4 */ "ooooooooo"
- /* 5 */ "........."
- /* 6 */ ".........",
-
- // Connectors:
- "-1: 4, 1, -1: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // WoodenHouse7x5
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // WoodenHouse9x5:
- // The data has been exported from the gallery Plains, area index 41, ID 92, created by xoft
- {
- // Size:
- 11, 7, 7, // SizeX = 11, SizeY = 7, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, -1, 0, // MinX, MinY, MinZ
- 11, 6, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 4: 0\n" /* cobblestone */
- "b: 67: 0\n" /* stairs */
- "c: 67: 2\n" /* stairs */
- "d: 67: 1\n" /* stairs */
- "e: 17: 0\n" /* tree */
- "f: 5: 0\n" /* wood */
- "g: 64: 3\n" /* wooddoorblock */
- "h:102: 0\n" /* glasspane */
- "i: 64: 8\n" /* wooddoorblock */
- "j: 53: 2\n" /* woodstairs */
- "k: 53: 7\n" /* woodstairs */
- "l: 50: 3\n" /* torch */
- "m: 19: 0\n" /* sponge */
- "n: 53: 6\n" /* woodstairs */
- "o: 53: 3\n" /* woodstairs */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmaaammmm"
- /* 1 */ "maaaaaaaaam"
- /* 2 */ "maaaaaaaaam"
- /* 3 */ "maaaaaaaaam"
- /* 4 */ "maaaaaaaaam"
- /* 5 */ "maaaaaaaaam"
- /* 6 */ "mmmmmmmmmmm"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "....bcd...."
- /* 1 */ ".aaaaaaaaa."
- /* 2 */ ".aaaaaaaaa."
- /* 3 */ ".aaaaaaaaa."
- /* 4 */ ".aaaaaaaaa."
- /* 5 */ ".aaaaaaaaa."
- /* 6 */ "..........."
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".efffgfffe."
- /* 2 */ ".f.......f."
- /* 3 */ ".f.......f."
- /* 4 */ ".f.......f."
- /* 5 */ ".efffffffe."
- /* 6 */ "..........."
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".ehhfifhhe."
- /* 2 */ ".h.......h."
- /* 3 */ ".h.......h."
- /* 4 */ ".h.......h."
- /* 5 */ ".ehhhfhhhe."
- /* 6 */ "..........."
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "jjjjjjjjjjj"
- /* 1 */ "kfffffffffk"
- /* 2 */ ".f..l.l.ff."
- /* 3 */ ".f......ff."
- /* 4 */ ".f......ff."
- /* 5 */ "nfffffffffn"
- /* 6 */ "ooooooooooo"
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "jjjjjjjjjjj"
- /* 2 */ "kfffffffffk"
- /* 3 */ ".fffffffff."
- /* 4 */ "nfffffffffn"
- /* 5 */ "ooooooooooo"
- /* 6 */ "..........."
-
- // Level 6
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "jjjjjjjjjjj"
- /* 3 */ "fffffffffff"
- /* 4 */ "ooooooooooo"
- /* 5 */ "..........."
- /* 6 */ "...........",
-
- // Connectors:
- "-1: 5, 1, -1: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // WoodenHouse9x5
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // WoodenHouse9x5Fence:
- // The data has been exported from the gallery Plains, area index 9, ID 26, created by Aloe_vera
- {
- // Size:
- 10, 7, 11, // SizeX = 10, SizeY = 7, SizeZ = 11
-
- // Hitbox (relative to bounding box):
- 0, -1, -1, // MinX, MinY, MinZ
- 10, 6, 11, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 4: 0\n" /* cobblestone */
- "b: 3: 0\n" /* dirt */
- "c: 5: 0\n" /* wood */
- "d: 2: 0\n" /* grass */
- "e: 67: 2\n" /* stairs */
- "f: 43: 0\n" /* doubleslab */
- "g: 67: 0\n" /* stairs */
- "h: 67: 3\n" /* stairs */
- "i: 17: 0\n" /* tree */
- "j: 53: 1\n" /* woodstairs */
- "k: 85: 0\n" /* fence */
- "l: 53: 0\n" /* woodstairs */
- "m: 19: 0\n" /* sponge */
- "n: 64: 2\n" /* wooddoorblock */
- "o: 64: 4\n" /* wooddoorblock */
- "p:102: 0\n" /* glasspane */
- "q: 72: 0\n" /* woodplate */
- "r: 64: 8\n" /* wooddoorblock */
- "s: 64:12\n" /* wooddoorblock */
- "t: 53: 5\n" /* woodstairs */
- "u: 53: 4\n" /* woodstairs */
- "v: 50: 1\n" /* torch */
- "w: 50: 2\n" /* torch */,
-
- // Block data:
- // Level 0
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "mmmmmmmmmm"
- /* 1 */ "maaaaammmm"
- /* 2 */ "maaaaammmm"
- /* 3 */ "maaaaabbbb"
- /* 4 */ "aaaaaabbbb"
- /* 5 */ "aaaaaabbbb"
- /* 6 */ "aaaaaabbbb"
- /* 7 */ "maaaaabbbb"
- /* 8 */ "maaaaabbbb"
- /* 9 */ "maaaaammmm"
- /* 10 */ "mmmmmmmmmm"
-
- // Level 1
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "......mmmm"
- /* 1 */ ".aaaaammmm"
- /* 2 */ ".acccammmm"
- /* 3 */ ".acccadddd"
- /* 4 */ "eafffadddd"
- /* 5 */ "gaffffdddd"
- /* 6 */ "hafffadddd"
- /* 7 */ ".afffadddd"
- /* 8 */ ".afffadddd"
- /* 9 */ ".aaaaammmm"
- /* 10 */ "......mmmm"
-
- // Level 2
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "......mmmm"
- /* 1 */ ".icccimmmm"
- /* 2 */ ".cjklcmmmm"
- /* 3 */ ".c...ckkkk"
- /* 4 */ ".c...c...k"
- /* 5 */ ".n...o...k"
- /* 6 */ ".c...c...k"
- /* 7 */ ".cff.c...k"
- /* 8 */ ".c...ckkkk"
- /* 9 */ ".icccimmmm"
- /* 10 */ "......mmmm"
-
- // Level 3
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "......mmmm"
- /* 1 */ ".ipppimmmm"
- /* 2 */ ".p.q.pmmmm"
- /* 3 */ ".p...p...."
- /* 4 */ ".c...c...."
- /* 5 */ ".r...s...."
- /* 6 */ ".c...c...."
- /* 7 */ ".p...p...."
- /* 8 */ ".p...p...."
- /* 9 */ ".ipppimmmm"
- /* 10 */ "......mmmm"
-
- // Level 4
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "lt...ujmmm"
- /* 1 */ "licccijmmm"
- /* 2 */ "lc...cjmmm"
- /* 3 */ "lc...cj..."
- /* 4 */ "lcv.wcj..."
- /* 5 */ "lc...cj..."
- /* 6 */ "lcv.wcj..."
- /* 7 */ "lc...cj..."
- /* 8 */ "lc...cj..."
- /* 9 */ "licccijmmm"
- /* 10 */ "lt...ujmmm"
-
- // Level 5
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".lt.uj.mmm"
- /* 1 */ ".lcccj.mmm"
- /* 2 */ ".lc.cj.mmm"
- /* 3 */ ".lc.cj...."
- /* 4 */ ".lc.cj...."
- /* 5 */ ".lc.cj...."
- /* 6 */ ".lc.cj...."
- /* 7 */ ".lc.cj...."
- /* 8 */ ".lc.cj...."
- /* 9 */ ".lcccj.mmm"
- /* 10 */ ".lt.uj.mmm"
-
- // Level 6
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "..lcj..mmm"
- /* 1 */ "..lcj..mmm"
- /* 2 */ "..lcj..mmm"
- /* 3 */ "..lcj....."
- /* 4 */ "..lcj....."
- /* 5 */ "..lcj....."
- /* 6 */ "..lcj....."
- /* 7 */ "..lcj....."
- /* 8 */ "..lcj....."
- /* 9 */ "..lcj..mmm"
- /* 10 */ "..lcj..mmm",
-
- // Connectors:
- "-1: 0, 1, 5: 4\n" /* Type -1, direction X- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // WoodenHouse9x5Fence
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // WoodenHouse9x5Library:
- // The data has been exported from the gallery Plains, area index 46, ID 97, created by Aloe_vera
- {
- // Size:
- 11, 7, 7, // SizeX = 11, SizeY = 7, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, -1, 0, // MinX, MinY, MinZ
- 11, 6, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 4: 0\n" /* cobblestone */
- "b: 67: 0\n" /* stairs */
- "c: 67: 2\n" /* stairs */
- "d: 67: 1\n" /* stairs */
- "e: 17: 0\n" /* tree */
- "f: 5: 0\n" /* wood */
- "g: 64: 7\n" /* wooddoorblock */
- "h: 53: 3\n" /* woodstairs */
- "i: 85: 0\n" /* fence */
- "j: 53: 2\n" /* woodstairs */
- "k: 53: 1\n" /* woodstairs */
- "l: 53: 0\n" /* woodstairs */
- "m: 19: 0\n" /* sponge */
- "n:102: 0\n" /* glasspane */
- "o: 64:12\n" /* wooddoorblock */
- "p: 50: 3\n" /* torch */
- "q: 72: 0\n" /* woodplate */
- "r: 53: 7\n" /* woodstairs */
- "s: 47: 0\n" /* bookshelf */
- "t: 50: 1\n" /* torch */
- "u: 50: 2\n" /* torch */
- "v: 53: 6\n" /* woodstairs */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmaaammmm"
- /* 1 */ "maaaaaaaaam"
- /* 2 */ "maaaaaaaaam"
- /* 3 */ "maaaaaaaaam"
- /* 4 */ "maaaaaaaaam"
- /* 5 */ "maaaaaaaaam"
- /* 6 */ "mmmmmmmmmmm"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "....bcd...."
- /* 1 */ ".aaaaaaaaa."
- /* 2 */ ".aaaaaaaaa."
- /* 3 */ ".aaaaaaaaa."
- /* 4 */ ".aaaaaaaaa."
- /* 5 */ ".aaaaaaaaa."
- /* 6 */ "..........."
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".efffgfffe."
- /* 2 */ ".fh.....hf."
- /* 3 */ ".fi.....if."
- /* 4 */ ".fj.kil.jf."
- /* 5 */ ".efffffffe."
- /* 6 */ "..........."
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".ennfofnne."
- /* 2 */ ".n..p.p..n."
- /* 3 */ ".nq.....qn."
- /* 4 */ ".n...q...n."
- /* 5 */ ".ennnfnnne."
- /* 6 */ "..........."
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "jjjjjjjjjjj"
- /* 1 */ "rfffffffffr"
- /* 2 */ ".fsssssssf."
- /* 3 */ ".ft.....uf."
- /* 4 */ ".fsssssssf."
- /* 5 */ "vfffffffffv"
- /* 6 */ "hhhhhhhhhhh"
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "jjjjjjjjjjj"
- /* 2 */ "rfffffffffr"
- /* 3 */ ".f.......f."
- /* 4 */ "vfffffffffv"
- /* 5 */ "hhhhhhhhhhh"
- /* 6 */ "..........."
-
- // Level 6
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "jjjjjjjjjjj"
- /* 3 */ "fffffffffff"
- /* 4 */ "hhhhhhhhhhh"
- /* 5 */ "..........."
- /* 6 */ "...........",
-
- // Connectors:
- "-1: 5, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // WoodenHouse9x5Library
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // WoodenHouse9x7:
- // The data has been exported from the gallery Plains, area index 52, ID 103, created by Aloe_vera
- {
- // Size:
- 11, 8, 9, // SizeX = 11, SizeY = 8, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, -1, 0, // MinX, MinY, MinZ
- 11, 7, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 4: 0\n" /* cobblestone */
- "b: 67: 0\n" /* stairs */
- "c: 67: 2\n" /* stairs */
- "d: 67: 1\n" /* stairs */
- "e: 17: 0\n" /* tree */
- "f: 5: 0\n" /* wood */
- "g: 64: 7\n" /* wooddoorblock */
- "h:102: 0\n" /* glasspane */
- "i: 64:12\n" /* wooddoorblock */
- "j: 53: 2\n" /* woodstairs */
- "k: 53: 7\n" /* woodstairs */
- "l: 50: 3\n" /* torch */
- "m: 19: 0\n" /* sponge */
- "n: 50: 4\n" /* torch */
- "o: 53: 6\n" /* woodstairs */
- "p: 53: 3\n" /* woodstairs */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmaaammmm"
- /* 1 */ "maaaaaaaaam"
- /* 2 */ "maaaaaaaaam"
- /* 3 */ "maaaaaaaaam"
- /* 4 */ "maaaaaaaaam"
- /* 5 */ "maaaaaaaaam"
- /* 6 */ "maaaaaaaaam"
- /* 7 */ "maaaaaaaaam"
- /* 8 */ "mmmmmmmmmmm"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "....bcd...."
- /* 1 */ ".aaaaaaaaa."
- /* 2 */ ".aaaaaaaaa."
- /* 3 */ ".aaaaaaaaa."
- /* 4 */ ".aaaaaaaaa."
- /* 5 */ ".aaaaaaaaa."
- /* 6 */ ".aaaaaaaaa."
- /* 7 */ ".aaaaaaaaa."
- /* 8 */ "..........."
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".efffgfffe."
- /* 2 */ ".f.......f."
- /* 3 */ ".f.......f."
- /* 4 */ ".f.......f."
- /* 5 */ ".f.......f."
- /* 6 */ ".f.......f."
- /* 7 */ ".efffffffe."
- /* 8 */ "..........."
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".ehhfifhhe."
- /* 2 */ ".h.......h."
- /* 3 */ ".h.......h."
- /* 4 */ ".f.......f."
- /* 5 */ ".h.......h."
- /* 6 */ ".h.......h."
- /* 7 */ ".ehhhfhhhe."
- /* 8 */ "..........."
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "jjjjjjjjjjj"
- /* 1 */ "kfffffffffk"
- /* 2 */ ".f..l.l..f."
- /* 3 */ ".f.......f."
- /* 4 */ ".f.......f."
- /* 5 */ ".f.......f."
- /* 6 */ ".f...n...f."
- /* 7 */ "offfffffffo"
- /* 8 */ "ppppppppppp"
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "jjjjjjjjjjj"
- /* 2 */ "kfffffffffk"
- /* 3 */ ".f.......f."
- /* 4 */ ".f.......f."
- /* 5 */ ".f.......f."
- /* 6 */ "offfffffffo"
- /* 7 */ "ppppppppppp"
- /* 8 */ "..........."
-
- // Level 6
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "jjjjjjjjjjj"
- /* 3 */ "kfffffffffk"
- /* 4 */ ".f.......f."
- /* 5 */ "offfffffffo"
- /* 6 */ "ppppppppppp"
- /* 7 */ "..........."
- /* 8 */ "..........."
-
- // Level 7
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ "jjjjjjjjjjj"
- /* 4 */ "fffffffffff"
- /* 5 */ "ppppppppppp"
- /* 6 */ "..........."
- /* 7 */ "..........."
- /* 8 */ "...........",
-
- // Connectors:
- "-1: 5, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // WoodenHouse9x7
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // WoodenHouse9x7Butcher:
- // The data has been exported from the gallery Plains, area index 48, ID 99, created by Aloe_vera
- {
- // Size:
- 11, 9, 13, // SizeX = 11, SizeY = 9, SizeZ = 13
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 11, 8, 13, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "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 */
- "f: 67: 1\n" /* stairs */
- "g: 43: 0\n" /* doubleslab */
- "h: 17: 0\n" /* tree */
- "i: 5: 0\n" /* wood */
- "j: 64: 7\n" /* wooddoorblock */
- "k: 53: 3\n" /* woodstairs */
- "l: 85: 0\n" /* fence */
- "m: 19: 0\n" /* sponge */
- "n: 53: 2\n" /* woodstairs */
- "o:102: 0\n" /* glasspane */
- "p: 64:12\n" /* wooddoorblock */
- "q: 72: 0\n" /* woodplate */
- "r: 53: 7\n" /* woodstairs */
- "s: 50: 1\n" /* torch */
- "t: 50: 2\n" /* torch */
- "u: 53: 6\n" /* woodstairs */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 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 */
- /* * 01234567890 */
- /* 0 */ "mmmmcccmmmm"
- /* 1 */ "mcccccccccm"
- /* 2 */ "mcccccccccm"
- /* 3 */ "mcccccccccm"
- /* 4 */ "mcccccccccm"
- /* 5 */ "mcccccccccm"
- /* 6 */ "mcccccccccm"
- /* 7 */ "mcccccccccm"
- /* 8 */ "mmaaaaaaamm"
- /* 9 */ "mmaaaaaaamm"
- /* 10 */ "mmaaaaaaamm"
- /* 11 */ "mmaaaaaaamm"
- /* 12 */ "mmaaaaaaamm"
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "....def...."
- /* 1 */ ".ccccccccc."
- /* 2 */ ".cggggcccc."
- /* 3 */ ".cggggcccc."
- /* 4 */ ".cggggcccc."
- /* 5 */ ".cggggcccc."
- /* 6 */ ".cggggcccc."
- /* 7 */ ".ccccccccc."
- /* 8 */ "..bbbbbbb.."
- /* 9 */ "mmbbbbbbbmm"
- /* 10 */ "mmbbbbbbbmm"
- /* 11 */ "mmbbbbbbbmm"
- /* 12 */ "mmbbbbbbbmm"
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".hiiijiiih."
- /* 2 */ ".i.g....ki."
- /* 3 */ ".i.g....li."
- /* 4 */ ".i.g....ni."
- /* 5 */ ".i.......i."
- /* 6 */ ".i.......i."
- /* 7 */ ".hiiijiiih."
- /* 8 */ "..l.....l.."
- /* 9 */ "mml.....lmm"
- /* 10 */ "mml.....lmm"
- /* 11 */ "mml.....lmm"
- /* 12 */ "mmlllllllmm"
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".hooipiooh."
- /* 2 */ ".o.......o."
- /* 3 */ ".o......qo."
- /* 4 */ ".i.......i."
- /* 5 */ ".o.......o."
- /* 6 */ ".o.......o."
- /* 7 */ ".hooipiooh."
- /* 8 */ "..........."
- /* 9 */ "mm.......mm"
- /* 10 */ "mm.......mm"
- /* 11 */ "mm.......mm"
- /* 12 */ "mm.......mm"
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "nnnnnnnnnnn"
- /* 1 */ "riiiiiiiiir"
- /* 2 */ ".i.......i."
- /* 3 */ ".i.......i."
- /* 4 */ ".is.....ti."
- /* 5 */ ".i.......i."
- /* 6 */ ".i.......i."
- /* 7 */ "uiiiiiiiiiu"
- /* 8 */ "kkkkkkkkkkk"
- /* 9 */ "mm.......mm"
- /* 10 */ "mm.......mm"
- /* 11 */ "mm.......mm"
- /* 12 */ "mm.......mm"
-
- // Level 6
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "nnnnnnnnnnn"
- /* 2 */ "riiiiiiiiir"
- /* 3 */ ".i.......i."
- /* 4 */ ".i.......i."
- /* 5 */ ".i.......i."
- /* 6 */ "uiiiiiiiiiu"
- /* 7 */ "kkkkkkkkkkk"
- /* 8 */ "..........."
- /* 9 */ "mm.......mm"
- /* 10 */ "mm.......mm"
- /* 11 */ "mm.......mm"
- /* 12 */ "mm.......mm"
-
- // Level 7
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "nnnnnnnnnnn"
- /* 3 */ "riiiiiiiiir"
- /* 4 */ ".i.......i."
- /* 5 */ "uiiiiiiiiiu"
- /* 6 */ "kkkkkkkkkkk"
- /* 7 */ "..........."
- /* 8 */ "..........."
- /* 9 */ "mm.......mm"
- /* 10 */ "mm.......mm"
- /* 11 */ "mm.......mm"
- /* 12 */ "mm.......mm"
-
- // Level 8
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ "nnnnnnnnnnn"
- /* 4 */ "iiiiiiiiiii"
- /* 5 */ "kkkkkkkkkkk"
- /* 6 */ "..........."
- /* 7 */ "..........."
- /* 8 */ "..........."
- /* 9 */ "mm.......mm"
- /* 10 */ "mm.......mm"
- /* 11 */ "mm.......mm"
- /* 12 */ "mm.......mm",
-
- // Connectors:
- "-1: 5, 2, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // WoodenHouse9x7Butcher
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // WoodenHouse9x7DoubleDoor:
- // The data has been exported from the gallery Plains, area index 38, ID 87, created by Aloe_vera
- {
- // Size:
- 11, 8, 9, // SizeX = 11, SizeY = 8, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, -1, 0, // MinX, MinY, MinZ
- 11, 7, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 4: 0\n" /* cobblestone */
- "b: 67: 0\n" /* stairs */
- "c: 67: 2\n" /* stairs */
- "d: 67: 1\n" /* stairs */
- "e: 67: 3\n" /* stairs */
- "f: 17: 0\n" /* tree */
- "g: 5: 0\n" /* wood */
- "h: 64: 7\n" /* wooddoorblock */
- "i:102: 0\n" /* glasspane */
- "j: 64:12\n" /* wooddoorblock */
- "k: 53: 2\n" /* woodstairs */
- "l: 53: 7\n" /* woodstairs */
- "m: 19: 0\n" /* sponge */
- "n: 17: 4\n" /* tree */
- "o: 17: 8\n" /* tree */
- "p: 50: 3\n" /* torch */
- "q: 50: 4\n" /* torch */
- "r: 53: 6\n" /* woodstairs */
- "s: 53: 3\n" /* woodstairs */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmaaammmm"
- /* 1 */ "maaaaaaaaam"
- /* 2 */ "maaaaaaaaam"
- /* 3 */ "maaaaaaaaam"
- /* 4 */ "maaaaaaaaam"
- /* 5 */ "maaaaaaaaam"
- /* 6 */ "maaaaaaaaam"
- /* 7 */ "maaaaaaaaam"
- /* 8 */ "mmmmaaammmm"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "....bcd...."
- /* 1 */ ".aaaaaaaaa."
- /* 2 */ ".aaaaaaaaa."
- /* 3 */ ".aaaaaaaaa."
- /* 4 */ ".aaaaaaaaa."
- /* 5 */ ".aaaaaaaaa."
- /* 6 */ ".aaaaaaaaa."
- /* 7 */ ".aaaaaaaaa."
- /* 8 */ "....bed...."
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".fggfhfggf."
- /* 2 */ ".g.......g."
- /* 3 */ ".g.......g."
- /* 4 */ ".f.......f."
- /* 5 */ ".g.......g."
- /* 6 */ ".g.......g."
- /* 7 */ ".fggfhfggf."
- /* 8 */ "..........."
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".fiifjfiif."
- /* 2 */ ".i.......i."
- /* 3 */ ".i.......i."
- /* 4 */ ".f.......f."
- /* 5 */ ".i.......i."
- /* 6 */ ".i.......i."
- /* 7 */ ".fiifjfiif."
- /* 8 */ "..........."
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "kkkkkkkkkkk"
- /* 1 */ "lfnnnnnnnfl"
- /* 2 */ ".o..p.p..o."
- /* 3 */ ".o.......o."
- /* 4 */ ".o.......o."
- /* 5 */ ".o.......o."
- /* 6 */ ".o..q.q..o."
- /* 7 */ "rfnnnnnnnfr"
- /* 8 */ "sssssssssss"
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "kkkkkkkkkkk"
- /* 2 */ "lgggggggggl"
- /* 3 */ ".g.......g."
- /* 4 */ ".g.......g."
- /* 5 */ ".g.......g."
- /* 6 */ "rgggggggggr"
- /* 7 */ "sssssssssss"
- /* 8 */ "..........."
-
- // Level 6
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "kkkkkkkkkkk"
- /* 3 */ "lgggggggggl"
- /* 4 */ ".g.......g."
- /* 5 */ "rgggggggggr"
- /* 6 */ "sssssssssss"
- /* 7 */ "..........."
- /* 8 */ "..........."
-
- // Level 7
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ "kkkkkkkkkkk"
- /* 4 */ "ggggggggggg"
- /* 5 */ "sssssssssss"
- /* 6 */ "..........."
- /* 7 */ "..........."
- /* 8 */ "...........",
-
- // Connectors:
- "-1: 5, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // WoodenHouse9x7DoubleDoor
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // WoodenHouseL13x14:
- // The data has been exported from the gallery Plains, area index 39, ID 90, created by STR_Warrior
- {
- // Size:
- 15, 9, 16, // SizeX = 15, SizeY = 9, SizeZ = 16
-
- // Hitbox (relative to bounding box):
- -1, -1, 0, // MinX, MinY, MinZ
- 15, 8, 16, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "A: 53: 7\n" /* woodstairs */
- "B: 53: 4\n" /* woodstairs */
- "C: 53: 5\n" /* woodstairs */
- "D: 53: 6\n" /* woodstairs */
- "a: 4: 0\n" /* cobblestone */
- "b: 67: 0\n" /* stairs */
- "c: 67: 2\n" /* stairs */
- "d: 67: 1\n" /* stairs */
- "e: 43: 0\n" /* doubleslab */
- "f: 17: 0\n" /* tree */
- "g: 5: 0\n" /* wood */
- "h: 64: 7\n" /* wooddoorblock */
- "i: 96: 8\n" /* trapdoor */
- "j: 61: 2\n" /* furnace */
- "k: 53: 3\n" /* woodstairs */
- "l: 85: 0\n" /* fence */
- "m: 19: 0\n" /* sponge */
- "n: 53: 2\n" /* woodstairs */
- "o: 53: 1\n" /* woodstairs */
- "p: 53: 0\n" /* woodstairs */
- "q: 47: 0\n" /* bookshelf */
- "r:102: 0\n" /* glasspane */
- "s: 64:12\n" /* wooddoorblock */
- "t: 72: 0\n" /* woodplate */
- "u: 17: 4\n" /* tree */
- "v: 17: 8\n" /* tree */
- "w: 50: 3\n" /* torch */
- "x: 50: 1\n" /* torch */
- "y: 50: 4\n" /* torch */
- "z: 50: 2\n" /* torch */,
-
- // Block data:
- // Level 0
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "mmmmmmaaammmmmm"
- /* 1 */ "maaaaaaaaaaaaam"
- /* 2 */ "maaaaaaaaaaaaam"
- /* 3 */ "maaaaaaaaaaaaam"
- /* 4 */ "maaaaaaaaaaaaam"
- /* 5 */ "maaaaaaaaaaaaam"
- /* 6 */ "maaaaaaaaaaaaam"
- /* 7 */ "maaaaaaaaaaaaam"
- /* 8 */ "mmmmmmmmaaaaaam"
- /* 9 */ "mmmmmmmmaaaaaam"
- /* 10 */ "mmmmmmmmaaaaaam"
- /* 11 */ "mmmmmmmmaaaaaam"
- /* 12 */ "mmmmmmmmaaaaaam"
- /* 13 */ "mmmmmmmmaaaaaam"
- /* 14 */ "mmmmmmmmaaaaaam"
- /* 15 */ "mmmmmmmmmmmmmmm"
-
- // Level 1
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "......bcd......"
- /* 1 */ ".aaaaaaaaaaaaa."
- /* 2 */ ".aeeeeaaaaaaaa."
- /* 3 */ ".aeeeeaaaaaaaa."
- /* 4 */ ".aaaaaaaaaaaaa."
- /* 5 */ ".aaaaaaaaaaaaa."
- /* 6 */ ".aaaaaaaaaaaaa."
- /* 7 */ ".aaaaaaaaaaaaa."
- /* 8 */ "........aaaaaa."
- /* 9 */ "mmmmmmm.aaaaaa."
- /* 10 */ "mmmmmmm.aaaaaa."
- /* 11 */ "mmmmmmm.aaaaaa."
- /* 12 */ "mmmmmmm.aaaaaa."
- /* 13 */ "mmmmmmm.aaaaaa."
- /* 14 */ "mmmmmmm.aaaaaa."
- /* 15 */ "mmmmmmm........"
-
- // Level 2
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".fggggfhfggggf."
- /* 2 */ ".g...i.......g."
- /* 3 */ ".gjeee......kg."
- /* 4 */ ".f..........lg."
- /* 5 */ ".g..........ng."
- /* 6 */ ".g.olp..ol...g."
- /* 7 */ ".fggggggfn...f."
- /* 8 */ "........g....g."
- /* 9 */ "mmmmmmm.gk...g."
- /* 10 */ "mmmmmmm.gl..kg."
- /* 11 */ "mmmmmmm.gn..lg."
- /* 12 */ "mmmmmmm.g...ng."
- /* 13 */ "mmmmmmm.gq..qg."
- /* 14 */ "mmmmmmm.fggggf."
- /* 15 */ "mmmmmmm........"
-
- // Level 3
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".fgrrgfsfgrrgf."
- /* 2 */ ".g...........g."
- /* 3 */ ".g...........r."
- /* 4 */ ".f..........tr."
- /* 5 */ ".g...........r."
- /* 6 */ ".g..t....t...g."
- /* 7 */ ".fgrrrrgf....f."
- /* 8 */ "........g....g."
- /* 9 */ "mmmmmmm.r....r."
- /* 10 */ "mmmmmmm.rt...r."
- /* 11 */ "mmmmmmm.r...tr."
- /* 12 */ "mmmmmmm.r....r."
- /* 13 */ "mmmmmmm.gq..qg."
- /* 14 */ "mmmmmmm.fgrrgf."
- /* 15 */ "mmmmmmm........"
-
- // Level 4
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".fuuuuuuuuuuuf."
- /* 2 */ ".v....w.w....v."
- /* 3 */ ".v...........v."
- /* 4 */ ".vx..........v."
- /* 5 */ ".v...........v."
- /* 6 */ ".v......y....v."
- /* 7 */ ".fuuuuuufx..zv."
- /* 8 */ "........v....v."
- /* 9 */ "mmmmmmm.v....v."
- /* 10 */ "mmmmmmm.v....v."
- /* 11 */ "mmmmmmm.v....v."
- /* 12 */ "mmmmmmm.v....v."
- /* 13 */ "mmmmmmm.v.yy.v."
- /* 14 */ "mmmmmmm.fuuuuf."
- /* 15 */ "mmmmmmm........"
-
- // Level 5
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "nnnnnnnnnnnnnno"
- /* 1 */ "pgggggggggggggo"
- /* 2 */ "pgAAAAAAAAAABgo"
- /* 3 */ "pgC.........Bgo"
- /* 4 */ "pgC.........Bgo"
- /* 5 */ "pgC.........Bgo"
- /* 6 */ "pgCDDDDDDD..Bgo"
- /* 7 */ "pggggggggC..Bgo"
- /* 8 */ "pkkkkkkpgC..Bgo"
- /* 9 */ "mmmmmmmpgC..Bgo"
- /* 10 */ "mmmmmmmpgC..Bgo"
- /* 11 */ "mmmmmmmpgC..Bgo"
- /* 12 */ "mmmmmmmpgC..Bgo"
- /* 13 */ "mmmmmmmpgCDDBgo"
- /* 14 */ "mmmmmmmpggggggo"
- /* 15 */ "mmmmmmmpkkkkkkk"
-
- // Level 6
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".pnnnnnnnnnnno."
- /* 2 */ ".pgggggggggggo."
- /* 3 */ ".pgggggggggggo."
- /* 4 */ ".pgggggggggggo."
- /* 5 */ ".pgggggggggggo."
- /* 6 */ ".pgggggggggggo."
- /* 7 */ ".pkkkkkkkggggo."
- /* 8 */ "........pggggo."
- /* 9 */ "mmmmmmm.pggggo."
- /* 10 */ "mmmmmmm.pggggo."
- /* 11 */ "mmmmmmm.pggggo."
- /* 12 */ "mmmmmmm.pggggo."
- /* 13 */ "mmmmmmm.pggggo."
- /* 14 */ "mmmmmmm.kkkkko."
- /* 15 */ "mmmmmmm........"
-
- // Level 7
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ "..nnnnnnnnnnn.."
- /* 3 */ "..pgggggggggo.."
- /* 4 */ "..pgggggggggo.."
- /* 5 */ "..pgggggggggo.."
- /* 6 */ "..kkkkkkkkggo.."
- /* 7 */ ".........pggo.."
- /* 8 */ ".........pggo.."
- /* 9 */ "mmmmmmm..pggo.."
- /* 10 */ "mmmmmmm..pggo.."
- /* 11 */ "mmmmmmm..pggo.."
- /* 12 */ "mmmmmmm..pggo.."
- /* 13 */ "mmmmmmm..kkko.."
- /* 14 */ "mmmmmmm........"
- /* 15 */ "mmmmmmm........"
-
- // Level 8
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ "..............."
- /* 3 */ "...pnnnnnnno..."
- /* 4 */ "...pgggggggo..."
- /* 5 */ "...pkkkkkkpo..."
- /* 6 */ "..........po..."
- /* 7 */ "..........po..."
- /* 8 */ "..........po..."
- /* 9 */ "mmmmmmm...po..."
- /* 10 */ "mmmmmmm...po..."
- /* 11 */ "mmmmmmm...po..."
- /* 12 */ "mmmmmmm...pk..."
- /* 13 */ "mmmmmmm........"
- /* 14 */ "mmmmmmm........"
- /* 15 */ "mmmmmmm........",
-
- // Connectors:
- "-1: 7, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // WoodenHouseL13x14
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // WoodenHouseL14x14:
- // The data has been exported from the gallery Plains, area index 0, ID 4, created by Aloe_vera
- {
- // Size:
- 16, 8, 16, // SizeX = 16, SizeY = 8, SizeZ = 16
-
- // Hitbox (relative to bounding box):
- -1, 1, 0, // MinX, MinY, MinZ
- 16, 7, 16, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 4: 0\n" /* cobblestone */
- "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: 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
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "mmmmmmmmaaammmmm"
- /* 1 */ "maaaaaaaaaaaaaam"
- /* 2 */ "maaaaaaaaaaaaaam"
- /* 3 */ "maaaaaaaaaaaaaam"
- /* 4 */ "maaaaaaaaaaaaaam"
- /* 5 */ "maaaaaaaaaaaaaam"
- /* 6 */ "maaaaaaaaaaaaaam"
- /* 7 */ "maaaaaaaaaaaaaam"
- /* 8 */ "mmmmmaaaaaaaaaam"
- /* 9 */ "mmmmmmmmaaaaaaam"
- /* 10 */ "mmmmmmmmaaaaaaam"
- /* 11 */ "mmmmmmmmaaaaaaam"
- /* 12 */ "mmmmmmmmaaaaaaam"
- /* 13 */ "mmmmmmmmaaaaaaam"
- /* 14 */ "mmmmmmmmaaaaaaam"
- /* 15 */ "mmmmmmmmmmmmmmmm"
-
- // Level 1
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "........bcd....."
- /* 1 */ ".aaaaaaaaaaaaaa."
- /* 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 */ ".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 */ ".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 */ "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 */ "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 */ "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 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ "................"
- /* 2 */ "................"
- /* 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- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // WoodenHouseL14x14
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // WoodenHouseL9x9:
- // The data has been exported from the gallery Plains, area index 42, ID 93, created by xoft
- {
- // Size:
- 11, 7, 11, // SizeX = 11, SizeY = 7, SizeZ = 11
-
- // Hitbox (relative to bounding box):
- -1, -1, 0, // MinX, MinY, MinZ
- 11, 6, 11, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 4: 0\n" /* cobblestone */
- "b: 67: 0\n" /* stairs */
- "c: 67: 2\n" /* stairs */
- "d: 67: 1\n" /* stairs */
- "e: 17: 0\n" /* tree */
- "f: 5: 0\n" /* wood */
- "g: 64: 7\n" /* wooddoorblock */
- "h:102: 0\n" /* glasspane */
- "i: 64:12\n" /* wooddoorblock */
- "j: 53: 2\n" /* woodstairs */
- "k: 53: 7\n" /* woodstairs */
- "l: 53: 1\n" /* woodstairs */
- "m: 19: 0\n" /* sponge */
- "n: 50: 3\n" /* torch */
- "o: 50: 4\n" /* torch */
- "p: 53: 6\n" /* woodstairs */
- "q: 50: 1\n" /* torch */
- "r: 50: 2\n" /* torch */
- "s: 53: 3\n" /* woodstairs */
- "t: 53: 0\n" /* woodstairs */
- "u: 53: 5\n" /* woodstairs */
- "v: 53: 4\n" /* woodstairs */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmaaammmm"
- /* 1 */ "maaaaaaaaam"
- /* 2 */ "maaaaaaaaam"
- /* 3 */ "maaaaaaaaam"
- /* 4 */ "maaaaaaaaam"
- /* 5 */ "maaaaaaaaam"
- /* 6 */ "mmmmmaaaaam"
- /* 7 */ "mmmmmaaaaam"
- /* 8 */ "mmmmmaaaaam"
- /* 9 */ "mmmmmaaaaam"
- /* 10 */ "mmmmmmmmmmm"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "....bcd...."
- /* 1 */ ".aaaaaaaaa."
- /* 2 */ ".aaaaaaaaa."
- /* 3 */ ".aaaaaaaaa."
- /* 4 */ ".aaaaaaaaa."
- /* 5 */ ".aaaaaaaaa."
- /* 6 */ ".....aaaaa."
- /* 7 */ "mmmm.aaaaa."
- /* 8 */ "mmmm.aaaaa."
- /* 9 */ "mmmm.aaaaa."
- /* 10 */ "mmmm......."
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".efffgfffe."
- /* 2 */ ".f.......f."
- /* 3 */ ".f.......f."
- /* 4 */ ".f.......f."
- /* 5 */ ".efffe...f."
- /* 6 */ ".....f...f."
- /* 7 */ "mmmm.f...f."
- /* 8 */ "mmmm.f...f."
- /* 9 */ "mmmm.efffe."
- /* 10 */ "mmmm......."
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".ehhfifhhe."
- /* 2 */ ".h.......h."
- /* 3 */ ".h.......h."
- /* 4 */ ".h.......h."
- /* 5 */ ".ehhhe...f."
- /* 6 */ ".....h...h."
- /* 7 */ "mmmm.h...h."
- /* 8 */ "mmmm.h...h."
- /* 9 */ "mmmm.ehhhe."
- /* 10 */ "mmmm......."
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "jjjjjjjjjjj"
- /* 1 */ "kfffffffffl"
- /* 2 */ ".f..n.n..fl"
- /* 3 */ ".f.......fl"
- /* 4 */ ".f...o...fl"
- /* 5 */ "pfffffq.rfl"
- /* 6 */ "sssssf...fl"
- /* 7 */ "mmmmtf...fl"
- /* 8 */ "mmmmtf...fl"
- /* 9 */ "mmmmtfffffl"
- /* 10 */ "mmmmtu...vl"
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "jjjjjjjjjl."
- /* 2 */ "kffffffffl."
- /* 3 */ ".f......fl."
- /* 4 */ "pffffff.fl."
- /* 5 */ "ssssssf.fl."
- /* 6 */ ".....tf.fl."
- /* 7 */ "mmmm.tf.fl."
- /* 8 */ "mmmm.tf.fl."
- /* 9 */ "mmmm.tfffl."
- /* 10 */ "mmmm.tu.vl."
-
- // Level 6
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "jjjjjjjjj.."
- /* 3 */ "ffffffffl.."
- /* 4 */ "sssssstfl.."
- /* 5 */ "......tfl.."
- /* 6 */ "......tfl.."
- /* 7 */ "mmmm..tfl.."
- /* 8 */ "mmmm..tfl.."
- /* 9 */ "mmmm..tfl.."
- /* 10 */ "mmmm..tfl..",
-
- // Connectors:
- "-1: 5, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // WoodenHouseL9x9
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // WoodenHouseU13x9:
- // The data has been exported from the gallery Plains, area index 43, ID 94, created by xoft
- {
- // Size:
- 15, 7, 11, // SizeX = 15, SizeY = 7, SizeZ = 11
-
- // Hitbox (relative to bounding box):
- -1, -1, 0, // MinX, MinY, MinZ
- 15, 6, 11, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 4: 0\n" /* cobblestone */
- "b: 67: 0\n" /* stairs */
- "c: 67: 2\n" /* stairs */
- "d: 67: 1\n" /* stairs */
- "e: 17: 0\n" /* tree */
- "f: 5: 0\n" /* wood */
- "g: 64: 7\n" /* wooddoorblock */
- "h:102: 0\n" /* glasspane */
- "i: 64:12\n" /* wooddoorblock */
- "j: 53: 2\n" /* woodstairs */
- "k: 53: 0\n" /* woodstairs */
- "l: 53: 1\n" /* woodstairs */
- "m: 19: 0\n" /* sponge */
- "n: 50: 3\n" /* torch */
- "o: 50: 4\n" /* torch */
- "p: 50: 2\n" /* torch */
- "q: 50: 1\n" /* torch */
- "r: 53: 3\n" /* woodstairs */
- "s: 53: 5\n" /* woodstairs */
- "t: 53: 4\n" /* woodstairs */,
-
- // Block data:
- // Level 0
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "mmmmmmaaammmmmm"
- /* 1 */ "maaaaaaaaaaaaam"
- /* 2 */ "maaaaaaaaaaaaam"
- /* 3 */ "maaaaaaaaaaaaam"
- /* 4 */ "maaaaaaaaaaaaam"
- /* 5 */ "maaaaaaaaaaaaam"
- /* 6 */ "maaaaammmaaaaam"
- /* 7 */ "maaaaammmaaaaam"
- /* 8 */ "maaaaammmaaaaam"
- /* 9 */ "maaaaammmaaaaam"
- /* 10 */ "mmmmmmmmmmmmmmm"
-
- // Level 1
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "......bcd......"
- /* 1 */ ".aaaaaaaaaaaaa."
- /* 2 */ ".aaaaaaaaaaaaa."
- /* 3 */ ".aaaaaaaaaaaaa."
- /* 4 */ ".aaaaaaaaaaaaa."
- /* 5 */ ".aaaaaaaaaaaaa."
- /* 6 */ ".aaaaa...aaaaa."
- /* 7 */ ".aaaaa...aaaaa."
- /* 8 */ ".aaaaa...aaaaa."
- /* 9 */ ".aaaaa...aaaaa."
- /* 10 */ "..............."
-
- // Level 2
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".efffffgfffffe."
- /* 2 */ ".f...........f."
- /* 3 */ ".f...........f."
- /* 4 */ ".f...........f."
- /* 5 */ ".f...efffe...f."
- /* 6 */ ".f...f...f...f."
- /* 7 */ ".f...f...f...f."
- /* 8 */ ".f...f...f...f."
- /* 9 */ ".efffe...efffe."
- /* 10 */ "..............."
-
- // Level 3
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".ehhhhfifhhhhe."
- /* 2 */ ".h...........h."
- /* 3 */ ".h...........h."
- /* 4 */ ".h...........h."
- /* 5 */ ".f...ehhhe...f."
- /* 6 */ ".h...h...h...h."
- /* 7 */ ".h...h...h...h."
- /* 8 */ ".h...h...h...h."
- /* 9 */ ".ehhhe...ehhhe."
- /* 10 */ "..............."
-
- // Level 4
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "jjjjjjjjjjjjjjj"
- /* 1 */ "kfffffffffffffl"
- /* 2 */ "kf....n.n....fl"
- /* 3 */ "kf...........fl"
- /* 4 */ "kf...o...o...fl"
- /* 5 */ "kf..pfffffq..fl"
- /* 6 */ "kf...frrrf...fl"
- /* 7 */ "kf...fl.kf...fl"
- /* 8 */ "kf...fl.kf...fl"
- /* 9 */ "kfffffl.kfffffl"
- /* 10 */ "ks...tl.ks...tl"
-
- // Level 5
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".jjjjjjjjjjjjl."
- /* 2 */ ".kfffffffffffl."
- /* 3 */ ".kfffffffffffl."
- /* 4 */ ".kfffffffffffl."
- /* 5 */ ".kffflrrrrfffl."
- /* 6 */ ".kfffl...kfffl."
- /* 7 */ ".kfffl...kfffl."
- /* 8 */ ".kfffl...kfffl."
- /* 9 */ ".kfffl...kfffl."
- /* 10 */ ".ks.tl...ks.tl."
-
- // Level 6
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ "..kjjjjjjjjjj.."
- /* 3 */ "..kfffffffffl.."
- /* 4 */ "..kflrrrrrkfl.."
- /* 5 */ "..kfl.....kfl.."
- /* 6 */ "..kfl.....kfl.."
- /* 7 */ "..kfl.....kfl.."
- /* 8 */ "..kfl.....kfl.."
- /* 9 */ "..kfl.....kfl.."
- /* 10 */ "..kfl.....kfl..",
-
- // Connectors:
- "-1: 7, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // WoodenHouseU13x9
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // WoodenMill5x5:
- // The data has been exported from the gallery Plains, area index 60, ID 111, created by Aloe_vera
- {
- // Size:
- 9, 17, 13, // SizeX = 9, SizeY = 17, SizeZ = 13
-
- // Hitbox (relative to bounding box):
- -1, -1, 0, // MinX, MinY, MinZ
- 8, 16, 12, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 4: 0\n" /* cobblestone */
- "b: 67: 2\n" /* stairs */
- "c: 67: 1\n" /* stairs */
- "d: 67: 3\n" /* stairs */
- "e: 17: 0\n" /* tree */
- "f: 5: 0\n" /* wood */
- "g: 54: 4\n" /* chest */
- "h:154: 4\n" /* hopper */
- "i: 64: 4\n" /* wooddoorblock */
- "j:102: 0\n" /* glasspane */
- "k: 85: 0\n" /* fence */
- "l: 64:12\n" /* wooddoorblock */
- "m: 19: 0\n" /* sponge */
- "n: 50: 2\n" /* torch */
- "o: 35: 0\n" /* wool */
- "p: 17: 4\n" /* tree */
- "q: 17: 8\n" /* tree */
- "r: 53: 2\n" /* woodstairs */
- "s: 53: 7\n" /* woodstairs */
- "t: 53: 6\n" /* woodstairs */
- "u: 53: 3\n" /* woodstairs */,
-
- // Block data:
- // Level 0
- /* z\x* 012345678 */
- /* 0 */ "mmmmmmmmm"
- /* 1 */ "mmmmmmmmm"
- /* 2 */ "mmmmmmmmm"
- /* 3 */ "mmmmmmmmm"
- /* 4 */ "maaaaammm"
- /* 5 */ "maaaaaamm"
- /* 6 */ "maaaaaamm"
- /* 7 */ "maaaaaamm"
- /* 8 */ "maaaaammm"
- /* 9 */ "mmmmmmmmm"
- /* 10 */ "mmmmmmmmm"
- /* 11 */ "mmmmmmmmm"
- /* 12 */ "mmmmmmmmm"
-
- // Level 1
- /* z\x* 012345678 */
- /* 0 */ "mmmmmmm.."
- /* 1 */ "mmmmmmm.."
- /* 2 */ "mmmmmmm.."
- /* 3 */ "........."
- /* 4 */ ".aaaaa..."
- /* 5 */ ".aaaaab.."
- /* 6 */ ".aaaaac.."
- /* 7 */ ".aaaaad.."
- /* 8 */ ".aaaaa..."
- /* 9 */ "........."
- /* 10 */ "mmmmmmm.."
- /* 11 */ "mmmmmmm.."
- /* 12 */ "mmmmmmm.."
-
- // Level 2
- /* z\x* 012345678 */
- /* 0 */ "mmmmmmm.."
- /* 1 */ "mmmmmmm.."
- /* 2 */ "mmmmmmm.."
- /* 3 */ "........."
- /* 4 */ ".efffe..."
- /* 5 */ ".f...f..."
- /* 6 */ ".fgh.i..."
- /* 7 */ ".f...f..."
- /* 8 */ ".efffe..."
- /* 9 */ "........."
- /* 10 */ "mmmmmmm.."
- /* 11 */ "mmmmmmm.."
- /* 12 */ "mmmmmmm.."
-
- // Level 3
- /* z\x* 012345678 */
- /* 0 */ "mmmmmmm.."
- /* 1 */ "mmmmmmm.."
- /* 2 */ "mmmmmmm.."
- /* 3 */ "........."
- /* 4 */ ".ejjje..."
- /* 5 */ ".j...f..."
- /* 6 */ ".j.k.l..."
- /* 7 */ ".j...f..."
- /* 8 */ ".ejjje..."
- /* 9 */ "........."
- /* 10 */ "mmmmmmm.."
- /* 11 */ "mmmmmmm.."
- /* 12 */ "mmmmmmm.."
-
- // Level 4
- /* z\x* 012345678 */
- /* 0 */ "mmmmmmm.."
- /* 1 */ "mmmmmmm.."
- /* 2 */ "mmmmmmm.."
- /* 3 */ "........."
- /* 4 */ ".efffe..."
- /* 5 */ ".f..nf..."
- /* 6 */ ".f.k.f..."
- /* 7 */ ".f..nf..k"
- /* 8 */ ".efffe..o"
- /* 9 */ "........."
- /* 10 */ "mmmmmmm.."
- /* 11 */ "mmmmmmm.."
- /* 12 */ "mmmmmmm.."
-
- // Level 5
- /* z\x* 012345678 */
- /* 0 */ "mmmmmmm.."
- /* 1 */ "mmmmmmm.."
- /* 2 */ "mmmmmmm.."
- /* 3 */ "........."
- /* 4 */ ".epppe..."
- /* 5 */ ".q...q..."
- /* 6 */ ".q.k.q..."
- /* 7 */ ".q...q..k"
- /* 8 */ ".epppe..o"
- /* 9 */ "........."
- /* 10 */ "mmmmmmm.."
- /* 11 */ "mmmmmmm.."
- /* 12 */ "mmmmmmm.."
-
- // Level 6
- /* z\x* 012345678 */
- /* 0 */ "mmmmmmm.."
- /* 1 */ "mmmmmmm.."
- /* 2 */ "mmmmmmm.."
- /* 3 */ "........."
- /* 4 */ ".efffe..."
- /* 5 */ ".f...f..."
- /* 6 */ ".f.k.f..k"
- /* 7 */ ".f...f..o"
- /* 8 */ ".efffe..o"
- /* 9 */ "........."
- /* 10 */ "mmmmmmm.."
- /* 11 */ "mmmmmmm.."
- /* 12 */ "mmmmmmm.."
-
- // Level 7
- /* z\x* 012345678 */
- /* 0 */ "mmmmmmm.."
- /* 1 */ "mmmmmmm.."
- /* 2 */ "mmmmmmm.."
- /* 3 */ "........."
- /* 4 */ ".ejjje..."
- /* 5 */ ".j...j..."
- /* 6 */ ".j.k.j..k"
- /* 7 */ ".j...j..o"
- /* 8 */ ".ejjje..."
- /* 9 */ "........."
- /* 10 */ "mmmmmmm.."
- /* 11 */ "mmmmmmm.."
- /* 12 */ "mmmmmmm.."
-
- // Level 8
- /* z\x* 012345678 */
- /* 0 */ "mmmmmmm.o"
- /* 1 */ "mmmmmmm.o"
- /* 2 */ "mmmmmmm.o"
- /* 3 */ "........."
- /* 4 */ ".efffe..."
- /* 5 */ ".f...f..k"
- /* 6 */ ".f.k.f..o"
- /* 7 */ ".f...f..o"
- /* 8 */ ".efffe..."
- /* 9 */ "........."
- /* 10 */ "mmmmmmm.."
- /* 11 */ "mmmmmmm.."
- /* 12 */ "mmmmmmm.."
-
- // Level 9
- /* z\x* 012345678 */
- /* 0 */ "mmmmmmm.k"
- /* 1 */ "mmmmmmm.k"
- /* 2 */ "mmmmmmm.o"
- /* 3 */ "........o"
- /* 4 */ ".epppe..o"
- /* 5 */ ".q...q..k"
- /* 6 */ ".q.k.q..o"
- /* 7 */ ".q...q..k"
- /* 8 */ ".epppe..k"
- /* 9 */ "........."
- /* 10 */ "mmmmmmm.."
- /* 11 */ "mmmmmmm.."
- /* 12 */ "mmmmmmm.."
-
- // Level 10
- /* z\x* 012345678 */
- /* 0 */ "mmmmmmm.."
- /* 1 */ "mmmmmmm.."
- /* 2 */ "mmmmmmm.k"
- /* 3 */ "rrrrrrr.k"
- /* 4 */ "sfffffs.o"
- /* 5 */ ".f...f..o"
- /* 6 */ ".f.kppppp"
- /* 7 */ ".f...f..o"
- /* 8 */ "tffffft.o"
- /* 9 */ "uuuuuuu.k"
- /* 10 */ "mmmmmmm.k"
- /* 11 */ "mmmmmmm.."
- /* 12 */ "mmmmmmm.."
-
- // Level 11
- /* z\x* 012345678 */
- /* 0 */ "mmmmmmm.."
- /* 1 */ "mmmmmmm.."
- /* 2 */ "mmmmmmm.."
- /* 3 */ "........."
- /* 4 */ "rrrrrrr.k"
- /* 5 */ "sfffffs.k"
- /* 6 */ ".f...f..o"
- /* 7 */ "tffffft.k"
- /* 8 */ "uuuuuuu.o"
- /* 9 */ "........o"
- /* 10 */ "mmmmmmm.o"
- /* 11 */ "mmmmmmm.k"
- /* 12 */ "mmmmmmm.k"
-
- // Level 12
- /* z\x* 012345678 */
- /* 0 */ "mmmmmmm.."
- /* 1 */ "mmmmmmm.."
- /* 2 */ "mmmmmmm.."
- /* 3 */ "........."
- /* 4 */ "........."
- /* 5 */ "rrrrrrr.o"
- /* 6 */ "fffffff.o"
- /* 7 */ "uuuuuuu.k"
- /* 8 */ "........."
- /* 9 */ "........."
- /* 10 */ "mmmmmmm.o"
- /* 11 */ "mmmmmmm.o"
- /* 12 */ "mmmmmmm.o"
-
- // Level 13
- /* z\x* 012345678 */
- /* 0 */ "mmmmmmm.."
- /* 1 */ "mmmmmmm.."
- /* 2 */ "mmmmmmm.."
- /* 3 */ "........."
- /* 4 */ "........."
- /* 5 */ "........o"
- /* 6 */ "........k"
- /* 7 */ "........."
- /* 8 */ "........."
- /* 9 */ "........."
- /* 10 */ "mmmmmmm.."
- /* 11 */ "mmmmmmm.."
- /* 12 */ "mmmmmmm.."
-
- // Level 14
- /* z\x* 012345678 */
- /* 0 */ "mmmmmmm.."
- /* 1 */ "mmmmmmm.."
- /* 2 */ "mmmmmmm.."
- /* 3 */ "........."
- /* 4 */ "........o"
- /* 5 */ "........o"
- /* 6 */ "........k"
- /* 7 */ "........."
- /* 8 */ "........."
- /* 9 */ "........."
- /* 10 */ "mmmmmmm.."
- /* 11 */ "mmmmmmm.."
- /* 12 */ "mmmmmmm.."
-
- // Level 15
- /* z\x* 012345678 */
- /* 0 */ "mmmmmmm.."
- /* 1 */ "mmmmmmm.."
- /* 2 */ "mmmmmmm.."
- /* 3 */ "........."
- /* 4 */ "........o"
- /* 5 */ "........k"
- /* 6 */ "........."
- /* 7 */ "........."
- /* 8 */ "........."
- /* 9 */ "........."
- /* 10 */ "mmmmmmm.."
- /* 11 */ "mmmmmmm.."
- /* 12 */ "mmmmmmm.."
-
- // Level 16
- /* z\x* 012345678 */
- /* 0 */ "mmmmmmm.."
- /* 1 */ "mmmmmmm.."
- /* 2 */ "mmmmmmm.."
- /* 3 */ "........."
- /* 4 */ "........o"
- /* 5 */ "........k"
- /* 6 */ "........."
- /* 7 */ "........."
- /* 8 */ "........."
- /* 9 */ "........."
- /* 10 */ "mmmmmmm.."
- /* 11 */ "mmmmmmm.."
- /* 12 */ "mmmmmmm..",
-
- // Connectors:
- "-1: 8, 1, 6: 5\n" /* Type -1, direction X+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // WoodenMill5x5
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // WoodenStables:
- // The data has been exported from the gallery Plains, area index 55, ID 106, created by Aloe_vera
- {
- // Size:
- 15, 9, 9, // SizeX = 15, SizeY = 9, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, -1, 0, // MinX, MinY, MinZ
- 15, 8, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 4: 0\n" /* cobblestone */
- "b: 67: 0\n" /* stairs */
- "c: 67: 2\n" /* stairs */
- "d: 67: 1\n" /* stairs */
- "e: 3: 0\n" /* dirt */
- "f: 17: 0\n" /* tree */
- "g:107: 0\n" /* fencegate */
- "h:107: 4\n" /* fencegate */
- "i: 5: 0\n" /* wood */
- "j:107: 6\n" /* fencegate */
- "k: 85: 0\n" /* fence */
- "l:170: 0\n" /* haybale */
- "m: 19: 0\n" /* sponge */
- "n:170: 4\n" /* haybale */
- "o:170: 8\n" /* haybale */
- "p: 50: 1\n" /* torch */
- "q: 50: 2\n" /* torch */
- "r: 53: 2\n" /* woodstairs */
- "s: 53: 7\n" /* woodstairs */
- "t: 53: 6\n" /* woodstairs */
- "u: 53: 3\n" /* woodstairs */,
-
- // Block data:
- // Level 0
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "maaaaaaaaaaaaam"
- /* 1 */ "maaaaaaaaaaaaam"
- /* 2 */ "maaaaaaaaaaaaam"
- /* 3 */ "maaaaaaaaaaaaam"
- /* 4 */ "maaaaaaaaaaaaam"
- /* 5 */ "maaaaaaaaaaaaam"
- /* 6 */ "maaaaaaaaaaaaam"
- /* 7 */ "maaaaaaaaaaaaam"
- /* 8 */ "mmmmmmmmmmmmmmm"
-
- // Level 1
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ ".bcccccccccccd."
- /* 1 */ ".aaaaaaaaaaaaa."
- /* 2 */ ".aeeeeeeeeeeea."
- /* 3 */ ".aeeeeeeeeeeea."
- /* 4 */ ".aeeeeeeeeeeea."
- /* 5 */ ".aeeeeeeeeeeea."
- /* 6 */ ".aeeeeeeeeeeea."
- /* 7 */ ".aaaaaaaaaaaaa."
- /* 8 */ "..............."
-
- // Level 2
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".fghgighgigjgf."
- /* 2 */ ".k...k...k...k."
- /* 3 */ ".k...k...k...k."
- /* 4 */ ".k...k...k...k."
- /* 5 */ ".k...k...k...k."
- /* 6 */ ".kl..k..nko..k."
- /* 7 */ ".fkkkikkkikkkf."
- /* 8 */ "..............."
-
- // Level 3
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".f...i...i...f."
- /* 2 */ "..............."
- /* 3 */ "..............."
- /* 4 */ "..............."
- /* 5 */ "..............."
- /* 6 */ "..............."
- /* 7 */ ".f...i...i...f."
- /* 8 */ "..............."
-
- // Level 4
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".fp.qip.qip.qf."
- /* 2 */ "..............."
- /* 3 */ "..............."
- /* 4 */ "..............."
- /* 5 */ "..............."
- /* 6 */ "..............."
- /* 7 */ ".f...i...i...f."
- /* 8 */ "..............."
-
- // Level 5
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "rrrrrrrrrrrrrrr"
- /* 1 */ "siiiiiiiiiiiiis"
- /* 2 */ ".i...........i."
- /* 3 */ ".i...........i."
- /* 4 */ ".i...........i."
- /* 5 */ ".i...........i."
- /* 6 */ ".i...........i."
- /* 7 */ "tiiiiiiiiiiiiit"
- /* 8 */ "uuuuuuuuuuuuuuu"
-
- // Level 6
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "rrrrrrrrrrrrrrr"
- /* 2 */ "siiiiiiiiiiiiis"
- /* 3 */ ".i...........i."
- /* 4 */ ".i...........i."
- /* 5 */ ".i...........i."
- /* 6 */ "tiiiiiiiiiiiiit"
- /* 7 */ "uuuuuuuuuuuuuuu"
- /* 8 */ "..............."
-
- // Level 7
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ "rrrrrrrrrrrrrrr"
- /* 3 */ "siiiiiiiiiiiiis"
- /* 4 */ ".i...........i."
- /* 5 */ "tiiiiiiiiiiiiit"
- /* 6 */ "uuuuuuuuuuuuuuu"
- /* 7 */ "..............."
- /* 8 */ "..............."
-
- // Level 8
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ "..............."
- /* 3 */ "rrrrrrrrrrrrrrr"
- /* 4 */ "iiiiiiiiiiiiiii"
- /* 5 */ "uuuuuuuuuuuuuuu"
- /* 6 */ "..............."
- /* 7 */ "..............."
- /* 8 */ "...............",
-
- // Connectors:
- "-1: 7, 1, -1: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // WoodenStables
-}; // g_PlainsVillagePrefabs
-
-
-
-
-
-
-const cPrefab::sDef g_PlainsVillageStartingPrefabs[] =
-{
- ////////////////////////////////////////////////////////////////////////////////
- // CobbleWell4x4:
- // The data has been exported from the gallery Plains, area index 1, ID 5, created by Aloe_vera
- {
- // Size:
- 4, 13, 4, // SizeX = 4, SizeY = 13, SizeZ = 4
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 3, 12, 3, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 1: 0\n" /* stone */
- "b: 4: 0\n" /* cobblestone */
- "c: 8: 0\n" /* water */
- "d: 85: 0\n" /* fence */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 0123 */
- /* 0 */ "aaaa"
- /* 1 */ "aaaa"
- /* 2 */ "aaaa"
- /* 3 */ "aaaa"
-
- // Level 1
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "bccb"
- /* 2 */ "bccb"
- /* 3 */ "bbbb"
-
- // Level 2
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "bccb"
- /* 2 */ "bccb"
- /* 3 */ "bbbb"
-
- // Level 3
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "bccb"
- /* 2 */ "bccb"
- /* 3 */ "bbbb"
-
- // Level 4
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "bccb"
- /* 2 */ "bccb"
- /* 3 */ "bbbb"
-
- // Level 5
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "bccb"
- /* 2 */ "bccb"
- /* 3 */ "bbbb"
-
- // Level 6
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "bccb"
- /* 2 */ "bccb"
- /* 3 */ "bbbb"
-
- // Level 7
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "bccb"
- /* 2 */ "bccb"
- /* 3 */ "bbbb"
-
- // Level 8
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "bccb"
- /* 2 */ "bccb"
- /* 3 */ "bbbb"
-
- // Level 9
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "b..b"
- /* 2 */ "b..b"
- /* 3 */ "bbbb"
-
- // Level 10
- /* z\x* 0123 */
- /* 0 */ "d..d"
- /* 1 */ "...."
- /* 2 */ "...."
- /* 3 */ "d..d"
-
- // Level 11
- /* z\x* 0123 */
- /* 0 */ "d..d"
- /* 1 */ "...."
- /* 2 */ "...."
- /* 3 */ "d..d"
-
- // Level 12
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "bbbb"
- /* 2 */ "bbbb"
- /* 3 */ "bbbb",
-
- // Connectors:
- "2: 1, 9, 3: 3\n" /* Type 2, direction Z+ */
- "2: 2, 9, 0: 2\n" /* Type 2, direction Z- */
- "2: 0, 9, 1: 4\n" /* Type 2, direction X- */
- "2: 3, 9, 2: 5\n" /* Type 2, direction X+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // CobbleWell4x4
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // MineEntrance:
- // The data has been exported from the gallery Plains, area index 138, ID 446, created by STR_Warrior
- {
- // Size:
- 7, 38, 7, // SizeX = 7, SizeY = 38, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 6, 37, 6, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 5: 0\n" /* wood */
- "b: 77: 2\n" /* stonebutton */
- "c: 66: 6\n" /* tracks */
- "d: 27: 1\n" /* poweredrail */
- "e: 66: 5\n" /* tracks */
- "f: 66: 9\n" /* tracks */
- "g: 66: 2\n" /* tracks */
- "h: 50: 4\n" /* torch */
- "i: 66: 4\n" /* tracks */
- "j: 66: 8\n" /* tracks */
- "k: 66: 3\n" /* tracks */
- "l: 66: 7\n" /* tracks */
- "m: 19: 0\n" /* sponge */
- "n: 50: 2\n" /* torch */
- "o: 4: 0\n" /* cobblestone */
- "p: 2: 0\n" /* grass */
- "q: 13: 0\n" /* gravel */
- "r: 53: 2\n" /* woodstairs */
- "s: 77: 1\n" /* stonebutton */
- "t: 27: 0\n" /* poweredrail */
- "u: 53: 7\n" /* woodstairs */
- "v: 53: 6\n" /* woodstairs */
- "w: 53: 3\n" /* woodstairs */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "maaaaam"
- /* 1 */ "maaaaam"
- /* 2 */ "maaaaam"
- /* 3 */ "maaaaam"
- /* 4 */ "maaaaam"
- /* 5 */ "maaaaam"
- /* 6 */ "mmmmmmm"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "mm...mm"
- /* 1 */ "mm.abam"
- /* 2 */ "mmcddam"
- /* 3 */ "mae..am"
- /* 4 */ "mmaa.mm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ "mm...mm"
- /* 1 */ "mm.a.mm"
- /* 2 */ "mm...mm"
- /* 3 */ "ma..aam"
- /* 4 */ "mmfgamm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ "mm.h.mm"
- /* 1 */ "mm.a.mm"
- /* 2 */ "mm.aamm"
- /* 3 */ "ma..iam"
- /* 4 */ "mm..jmm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mmaklmm"
- /* 3 */ "maa..am"
- /* 4 */ "mm...mm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mmc..mm"
- /* 3 */ "mae.nam"
- /* 4 */ "mmaa.mm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 6
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mm...mm"
- /* 3 */ "ma..aam"
- /* 4 */ "mmfgamm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 7
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mm.aamm"
- /* 3 */ "ma..iam"
- /* 4 */ "mm..jmm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 8
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mmaklmm"
- /* 3 */ "maa..am"
- /* 4 */ "mm...mm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 9
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mmc..mm"
- /* 3 */ "mae.nam"
- /* 4 */ "mmaa.mm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 10
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mm...mm"
- /* 3 */ "ma..aam"
- /* 4 */ "mmfgamm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 11
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mm.aamm"
- /* 3 */ "ma..iam"
- /* 4 */ "mm..jmm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 12
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mmaklmm"
- /* 3 */ "maa..am"
- /* 4 */ "mm...mm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 13
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mmc..mm"
- /* 3 */ "mae.nam"
- /* 4 */ "mmaa.mm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 14
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mm...mm"
- /* 3 */ "ma..aam"
- /* 4 */ "mmfgamm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 15
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mm.aamm"
- /* 3 */ "ma..iam"
- /* 4 */ "mm..jmm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 16
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mmaklmm"
- /* 3 */ "maa..am"
- /* 4 */ "mm...mm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 17
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mmc..mm"
- /* 3 */ "mae.nam"
- /* 4 */ "mmaa.mm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 18
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mm...mm"
- /* 3 */ "ma..aam"
- /* 4 */ "mmfgamm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 19
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mm.aamm"
- /* 3 */ "ma..iam"
- /* 4 */ "mm..jmm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 20
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mmaklmm"
- /* 3 */ "maa..am"
- /* 4 */ "mm...mm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 21
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mmc..mm"
- /* 3 */ "mae.nam"
- /* 4 */ "mmaa.mm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 22
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mm...mm"
- /* 3 */ "ma..aam"
- /* 4 */ "mmfgamm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 23
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mm.aamm"
- /* 3 */ "ma..iam"
- /* 4 */ "mm..jmm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 24
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mmaklmm"
- /* 3 */ "maa..am"
- /* 4 */ "mm...mm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 25
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mmc..mm"
- /* 3 */ "mae.nam"
- /* 4 */ "mmaa.mm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 26
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mm...mm"
- /* 3 */ "ma..aam"
- /* 4 */ "mmfgamm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 27
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mm.aamm"
- /* 3 */ "ma..iam"
- /* 4 */ "mm..jmm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 28
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mmaklmm"
- /* 3 */ "maa..am"
- /* 4 */ "mm...mm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 29
- /* z\x* 0123456 */
- /* 0 */ "mmmmmmm"
- /* 1 */ "mmmammm"
- /* 2 */ "mmc..mm"
- /* 3 */ "mae.nam"
- /* 4 */ "mmaa.mm"
- /* 5 */ "mmmammm"
- /* 6 */ "mmmmmmm"
-
- // Level 30
- /* z\x* 0123456 */
- /* 0 */ "mmooomm"
- /* 1 */ "mmmammm"
- /* 2 */ "om...mo"
- /* 3 */ "oa..aao"
- /* 4 */ "omfgamo"
- /* 5 */ "mmmammm"
- /* 6 */ "mmooomm"
-
- // Level 31
- /* z\x* 0123456 */
- /* 0 */ "ppqqqpp"
- /* 1 */ "paaaaap"
- /* 2 */ "qa.aaaq"
- /* 3 */ "qa..iaq"
- /* 4 */ "qa..jaq"
- /* 5 */ "paaaaap"
- /* 6 */ "ppqqqpp"
-
- // Level 32
- /* z\x* 0123456 */
- /* 0 */ "...r..."
- /* 1 */ ".astba."
- /* 2 */ "...fl.."
- /* 3 */ "......."
- /* 4 */ "......."
- /* 5 */ ".a...a."
- /* 6 */ "......."
-
- // Level 33
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".a...a."
- /* 2 */ "......."
- /* 3 */ "......."
- /* 4 */ "......."
- /* 5 */ ".a...a."
- /* 6 */ "......."
-
- // Level 34
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".a...a."
- /* 2 */ "......."
- /* 3 */ "......."
- /* 4 */ "......."
- /* 5 */ ".a...a."
- /* 6 */ "......."
-
- // Level 35
- /* z\x* 0123456 */
- /* 0 */ "rrrrrrr"
- /* 1 */ "uaaaaau"
- /* 2 */ ".a...a."
- /* 3 */ ".a...a."
- /* 4 */ ".a...a."
- /* 5 */ "vaaaaav"
- /* 6 */ "wwwwwww"
-
- // Level 36
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "rrrrrrr"
- /* 2 */ "uaaaaau"
- /* 3 */ ".aaaaa."
- /* 4 */ "vaaaaav"
- /* 5 */ "wwwwwww"
- /* 6 */ "......."
-
- // Level 37
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "......."
- /* 2 */ "rrrrrrr"
- /* 3 */ "aaaaaaa"
- /* 4 */ "wwwwwww"
- /* 5 */ "......."
- /* 6 */ ".......",
-
- // Connectors:
- "2: 6, 32, 3: 5\n" /* Type 2, direction X+ */
- "2: 3, 32, 6: 3\n" /* Type 2, direction Z+ */
- "2: 0, 32, 3: 4\n" /* Type 2, direction X- */
- "2: 3, 32, 0: 2\n" /* Type 2, direction Z- */
- "3: 3, 1, 0: 2\n" /* Type 3, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- false,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // MineEntrance
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // RoofedWell:
- // The data has been exported from the gallery Plains, area index 119, ID 271, created by STR_Warrior
- {
- // Size:
- 7, 15, 7, // SizeX = 7, SizeY = 15, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 6, 14, 6, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 1: 0\n" /* stone */
- "b: 4: 0\n" /* cobblestone */
- "c: 8: 0\n" /* water */
- "d: 3: 0\n" /* dirt */
- "e: 2: 0\n" /* grass */
- "f: 13: 0\n" /* gravel */
- "g:118: 3\n" /* cauldronblock */
- "h: 85: 0\n" /* fence */
- "i: 53: 2\n" /* woodstairs */
- "j: 53: 7\n" /* woodstairs */
- "k: 5: 0\n" /* wood */
- "l: 53: 4\n" /* woodstairs */
- "m: 19: 0\n" /* sponge */
- "n: 53: 5\n" /* woodstairs */
- "o: 53: 6\n" /* woodstairs */
- "p: 53: 3\n" /* woodstairs */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "aaaaaaa"
- /* 1 */ "aaaaaaa"
- /* 2 */ "aaaaaaa"
- /* 3 */ "aaaaaaa"
- /* 4 */ "aaaaaaa"
- /* 5 */ "aaaaaaa"
- /* 6 */ "aaaaaaa"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "aaaaaaa"
- /* 1 */ "abbbbba"
- /* 2 */ "abcccba"
- /* 3 */ "abcccba"
- /* 4 */ "abcccba"
- /* 5 */ "abbbbba"
- /* 6 */ "aaaaaaa"
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ "aaaaaaa"
- /* 1 */ "abbbbba"
- /* 2 */ "abcccba"
- /* 3 */ "abcccba"
- /* 4 */ "abcccba"
- /* 5 */ "abbbbba"
- /* 6 */ "aaaaaaa"
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ "aaaaaaa"
- /* 1 */ "abbbbba"
- /* 2 */ "abcccba"
- /* 3 */ "abcccba"
- /* 4 */ "abcccba"
- /* 5 */ "abbbbba"
- /* 6 */ "aaaaaaa"
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "aaaaaaa"
- /* 1 */ "abbbbba"
- /* 2 */ "abcccba"
- /* 3 */ "abcccba"
- /* 4 */ "abcccba"
- /* 5 */ "abbbbba"
- /* 6 */ "aaaaaaa"
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ "ddddddd"
- /* 1 */ "dbbbbbd"
- /* 2 */ "dbcccbd"
- /* 3 */ "dbcccbd"
- /* 4 */ "dbcccbd"
- /* 5 */ "dbbbbbd"
- /* 6 */ "ddddddd"
-
- // Level 6
- /* z\x* 0123456 */
- /* 0 */ "ddddddd"
- /* 1 */ "dbbbbbd"
- /* 2 */ "dbcccbd"
- /* 3 */ "dbcccbd"
- /* 4 */ "dbcccbd"
- /* 5 */ "dbbbbbd"
- /* 6 */ "ddddddd"
-
- // Level 7
- /* z\x* 0123456 */
- /* 0 */ "ddddddd"
- /* 1 */ "dbbbbbd"
- /* 2 */ "dbcccbd"
- /* 3 */ "dbcccbd"
- /* 4 */ "dbcccbd"
- /* 5 */ "dbbbbbd"
- /* 6 */ "ddddddd"
-
- // Level 8
- /* z\x* 0123456 */
- /* 0 */ "eefffee"
- /* 1 */ "ebbbbbe"
- /* 2 */ "fbcccbf"
- /* 3 */ "fbcccbf"
- /* 4 */ "fbcccbf"
- /* 5 */ "ebbbbbe"
- /* 6 */ "eefffee"
-
- // Level 9
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".bbbbb."
- /* 2 */ ".b...b."
- /* 3 */ ".b.g.b."
- /* 4 */ ".b...b."
- /* 5 */ ".bbbbb."
- /* 6 */ "......."
-
- // Level 10
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".h...h."
- /* 2 */ "......."
- /* 3 */ "...h..."
- /* 4 */ "......."
- /* 5 */ ".h...h."
- /* 6 */ "......."
-
- // Level 11
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".h...h."
- /* 2 */ "......."
- /* 3 */ "...h..."
- /* 4 */ "......."
- /* 5 */ ".h...h."
- /* 6 */ "......."
-
- // Level 12
- /* z\x* 0123456 */
- /* 0 */ "iiiiiii"
- /* 1 */ "jkjjjkj"
- /* 2 */ ".l...n."
- /* 3 */ ".l.h.n."
- /* 4 */ ".l...n."
- /* 5 */ "okoooko"
- /* 6 */ "ppppppp"
-
- // Level 13
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "iiiiiii"
- /* 2 */ "jkjjjkj"
- /* 3 */ ".k.h.k."
- /* 4 */ "okoooko"
- /* 5 */ "ppppppp"
- /* 6 */ "......."
-
- // Level 14
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "......."
- /* 2 */ "iiiiiii"
- /* 3 */ "kkkkkkk"
- /* 4 */ "ppppppp"
- /* 5 */ "......."
- /* 6 */ ".......",
-
- // Connectors:
- "2: 0, 9, 3: 4\n" /* Type 2, direction X- */
- "2: 3, 9, 6: 3\n" /* Type 2, direction Z+ */
- "2: 6, 9, 3: 5\n" /* Type 2, direction X+ */
- "2: 3, 9, 0: 2\n" /* Type 2, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // RoofedWell
-};
-
-
-
-
-
-// The prefab counts:
-
-const size_t g_PlainsVillagePrefabsCount = ARRAYCOUNT(g_PlainsVillagePrefabs);
-
-const size_t g_PlainsVillageStartingPrefabsCount = ARRAYCOUNT(g_PlainsVillageStartingPrefabs);
-
diff --git a/src/Generating/Prefabs/PlainsVillagePrefabs.h b/src/Generating/Prefabs/PlainsVillagePrefabs.h
deleted file mode 100644
index 087783b1e..000000000
--- a/src/Generating/Prefabs/PlainsVillagePrefabs.h
+++ /dev/null
@@ -1,15 +0,0 @@
-
-// PlainsVillagePrefabs.h
-
-// Declares the prefabs in the group PlainsVillage
-
-#include "../Prefab.h"
-
-
-
-
-
-extern const cPrefab::sDef g_PlainsVillagePrefabs[];
-extern const cPrefab::sDef g_PlainsVillageStartingPrefabs[];
-extern const size_t g_PlainsVillagePrefabsCount;
-extern const size_t g_PlainsVillageStartingPrefabsCount;
diff --git a/src/Generating/Prefabs/SandFlatRoofVillagePrefabs.cpp b/src/Generating/Prefabs/SandFlatRoofVillagePrefabs.cpp
deleted file mode 100644
index 3328ee210..000000000
--- a/src/Generating/Prefabs/SandFlatRoofVillagePrefabs.cpp
+++ /dev/null
@@ -1,1669 +0,0 @@
-
-// SandFlatRoofVillagePrefabs.cpp
-
-// Defines the prefabs in the group SandFlatRoofVillage
-
-// NOTE: This file has been generated automatically by GalExport!
-// Any manual changes will be overwritten by the next automatic export!
-
-#include "Globals.h"
-#include "SandFlatRoofVillagePrefabs.h"
-
-
-
-
-
-const cPrefab::sDef g_SandFlatRoofVillagePrefabs[] =
-{
- ////////////////////////////////////////////////////////////////////////////////
- // Forge:
- // The data has been exported from the gallery Desert, area index 32, ID 173, created by Aloe_vera
- {
- // Size:
- 12, 6, 10, // SizeX = 12, SizeY = 6, SizeZ = 10
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 12, 5, 10, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e:128: 3\n" /* sandstonestairs */
- "f:171:15\n" /* carpet */
- "g: 64: 6\n" /* wooddoorblock */
- "h:171: 0\n" /* carpet */
- "i:171:14\n" /* carpet */
- "j: 61: 2\n" /* furnace */
- "k: 10: 0\n" /* lava */
- "l: 54: 2\n" /* chest */
- "m: 19: 0\n" /* sponge */
- "n: 24: 2\n" /* sandstone */
- "o: 64:12\n" /* wooddoorblock */
- "p: 50: 1\n" /* torch */
- "q:101: 0\n" /* ironbars */
- "r:128: 4\n" /* sandstonestairs */
- "s:128: 6\n" /* sandstonestairs */
- "t:128: 5\n" /* sandstonestairs */
- "u:128: 7\n" /* sandstonestairs */,
-
- // Block data:
- // Level 0
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "aaaaaaammmmm"
- /* 1 */ "aaaaaaaaaaam"
- /* 2 */ "aaaaaaaaaaam"
- /* 3 */ "aaaaaaaaaaam"
- /* 4 */ "aaaaaaaaaaam"
- /* 5 */ "aaaaaaaaaaam"
- /* 6 */ "maaaaaaaaaam"
- /* 7 */ "maaaaaaaaaam"
- /* 8 */ "maaaaaaaaaam"
- /* 9 */ "mmmmmmmmmmmm"
-
- // Level 1
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "bcccccd....."
- /* 1 */ "baaaaaaaaaa."
- /* 2 */ "baaaaaaaaaa."
- /* 3 */ "baaaaaaaaaa."
- /* 4 */ "baaaaaaaaaa."
- /* 5 */ "eaaaaaaaaaa."
- /* 6 */ ".aaaaaaaaaa."
- /* 7 */ ".aaaaaaaaaa."
- /* 8 */ ".aaaaaaaaaa."
- /* 9 */ "............"
-
- // Level 2
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ ".a....aaaaa."
- /* 2 */ "......afffa."
- /* 3 */ "......ghfha."
- /* 4 */ "......aiiia."
- /* 5 */ ".a....ahfha."
- /* 6 */ ".ajaajafffa."
- /* 7 */ ".aakkaal..a."
- /* 8 */ ".aaaaaaaaaa."
- /* 9 */ "............"
-
- // Level 3
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ ".n....nn.nn."
- /* 2 */ "......n...n."
- /* 3 */ "......o...n."
- /* 4 */ "......n....."
- /* 5 */ ".n....n...n."
- /* 6 */ ".n....n...n."
- /* 7 */ ".n....n...n."
- /* 8 */ ".nnn.nnn.nn."
- /* 9 */ "............"
-
- // Level 4
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "............"
- /* 1 */ ".a....aaaaa."
- /* 2 */ "......a...a."
- /* 3 */ "......a...a."
- /* 4 */ "......ap..a."
- /* 5 */ ".a....a...a."
- /* 6 */ ".aqqqqa...a."
- /* 7 */ ".a....a...a."
- /* 8 */ ".aaaaaaaaaa."
- /* 9 */ "............"
-
- // Level 5
- /* z\x* 11 */
- /* * 012345678901 */
- /* 0 */ "rsssssssssss"
- /* 1 */ "raaaaaaaaaat"
- /* 2 */ "raaaaaaaaaat"
- /* 3 */ "raaaaaaaaaat"
- /* 4 */ "raaaaaaaaaat"
- /* 5 */ "raaaaaaaaaat"
- /* 6 */ "raaaaaaaaaat"
- /* 7 */ "raaaaaaaaaat"
- /* 8 */ "raaaaaaaaaat"
- /* 9 */ "uuuuuuuuuuut",
-
- // Connectors:
- "-1: 3, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // Forge
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // House11x7:
- // The data has been exported from the gallery Desert, area index 31, ID 172, created by Aloe_vera
- {
- // Size:
- 13, 6, 9, // SizeX = 13, SizeY = 6, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 13, 5, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e: 64: 7\n" /* wooddoorblock */
- "f:171: 0\n" /* carpet */
- "g:171:15\n" /* carpet */
- "h:171:14\n" /* carpet */
- "i: 24: 2\n" /* sandstone */
- "j: 64:12\n" /* wooddoorblock */
- "k: 50: 3\n" /* torch */
- "l: 50: 1\n" /* torch */
- "m: 19: 0\n" /* sponge */
- "n: 50: 2\n" /* torch */
- "o: 50: 4\n" /* torch */
- "p:128: 4\n" /* sandstonestairs */
- "q:128: 6\n" /* sandstonestairs */
- "r:128: 5\n" /* sandstonestairs */
- "s:128: 7\n" /* sandstonestairs */,
-
- // Block data:
- // Level 0
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "mmaaammmmmmmm"
- /* 1 */ "maaaaaaaaaaam"
- /* 2 */ "maaaaaaaaaaam"
- /* 3 */ "maaaaaaaaaaam"
- /* 4 */ "maaaaaaaaaaam"
- /* 5 */ "maaaaaaaaaaam"
- /* 6 */ "maaaaaaaaaaam"
- /* 7 */ "maaaaaaaaaaam"
- /* 8 */ "mmmmmmmmmmmmm"
-
- // Level 1
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "..bcd........"
- /* 1 */ ".aaaaaaaaaaa."
- /* 2 */ ".aaaaaaaaaaa."
- /* 3 */ ".aaaaaaaaaaa."
- /* 4 */ ".aaaaaaaaaaa."
- /* 5 */ ".aaaaaaaaaaa."
- /* 6 */ ".aaaaaaaaaaa."
- /* 7 */ ".aaaaaaaaaaa."
- /* 8 */ "............."
-
- // Level 2
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ ".aaeaaaaaaaa."
- /* 2 */ ".affgggggffa."
- /* 3 */ ".afghhhhhgfa."
- /* 4 */ ".afghfffhgfa."
- /* 5 */ ".afghhhhhgfa."
- /* 6 */ ".affgggggffa."
- /* 7 */ ".aaaaaaaaaaa."
- /* 8 */ "............."
-
- // Level 3
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ ".iiji.iii.ii."
- /* 2 */ ".i.........i."
- /* 3 */ ".i.........i."
- /* 4 */ "............."
- /* 5 */ ".i.........i."
- /* 6 */ ".i.........i."
- /* 7 */ ".ii.ii.ii.ii."
- /* 8 */ "............."
-
- // Level 4
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ ".aaaaaaaaaaa."
- /* 2 */ ".a..k..k...a."
- /* 3 */ ".a.........a."
- /* 4 */ ".al.......na."
- /* 5 */ ".a.........a."
- /* 6 */ ".a....o....a."
- /* 7 */ ".aaaaaaaaaaa."
- /* 8 */ "............."
-
- // Level 5
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "pqqqqqqqqqqqq"
- /* 1 */ "paaaaaaaaaaar"
- /* 2 */ "paaaaaaaaaaar"
- /* 3 */ "paaaaaaaaaaar"
- /* 4 */ "paaaaaaaaaaar"
- /* 5 */ "paaaaaaaaaaar"
- /* 6 */ "paaaaaaaaaaar"
- /* 7 */ "paaaaaaaaaaar"
- /* 8 */ "ssssssssssssr",
-
- // Connectors:
- "-1: 3, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // House11x7
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // House5x4:
- // The data has been exported from the gallery Desert, area index 25, ID 166, created by Aloe_vera
- {
- // Size:
- 7, 6, 6, // SizeX = 7, SizeY = 6, SizeZ = 6
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 7, 5, 6, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e: 64: 7\n" /* wooddoorblock */
- "f:171: 0\n" /* carpet */
- "g:171:14\n" /* carpet */
- "h: 24: 2\n" /* sandstone */
- "i: 64:12\n" /* wooddoorblock */
- "j: 50: 3\n" /* torch */
- "k:128: 4\n" /* sandstonestairs */
- "l:128: 6\n" /* sandstonestairs */
- "m: 19: 0\n" /* sponge */
- "n:128: 5\n" /* sandstonestairs */
- "o:128: 7\n" /* sandstonestairs */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "mmaaamm"
- /* 1 */ "maaaaam"
- /* 2 */ "maaaaam"
- /* 3 */ "maaaaam"
- /* 4 */ "maaaaam"
- /* 5 */ "mmmmmmm"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "..bcd.."
- /* 1 */ ".aaaaa."
- /* 2 */ ".aaaaa."
- /* 3 */ ".aaaaa."
- /* 4 */ ".aaaaa."
- /* 5 */ "......."
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".aaeaa."
- /* 2 */ ".afgfa."
- /* 3 */ ".afgfa."
- /* 4 */ ".aaaaa."
- /* 5 */ "......."
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".hhihh."
- /* 2 */ ".h...h."
- /* 3 */ ".h...h."
- /* 4 */ ".hh.hh."
- /* 5 */ "......."
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".aaaaa."
- /* 2 */ ".aj.ja."
- /* 3 */ ".a...a."
- /* 4 */ ".aaaaa."
- /* 5 */ "......."
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ "kllllln"
- /* 1 */ "kaaaaan"
- /* 2 */ "kaaaaan"
- /* 3 */ "kaaaaan"
- /* 4 */ "kaaaaan"
- /* 5 */ "oooooon",
-
- // Connectors:
- "-1: 3, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // House5x4
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // House5x5:
- // The data has been exported from the gallery Desert, area index 26, ID 167, created by Aloe_vera
- {
- // Size:
- 7, 6, 7, // SizeX = 7, SizeY = 6, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 7, 5, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e: 64: 7\n" /* wooddoorblock */
- "f:171: 0\n" /* carpet */
- "g:171:15\n" /* carpet */
- "h:171:14\n" /* carpet */
- "i: 24: 2\n" /* sandstone */
- "j: 64:12\n" /* wooddoorblock */
- "k: 50: 3\n" /* torch */
- "l:128: 4\n" /* sandstonestairs */
- "m: 19: 0\n" /* sponge */
- "n:128: 6\n" /* sandstonestairs */
- "o:128: 5\n" /* sandstonestairs */
- "p:128: 7\n" /* sandstonestairs */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "mmaaamm"
- /* 1 */ "maaaaam"
- /* 2 */ "maaaaam"
- /* 3 */ "maaaaam"
- /* 4 */ "maaaaam"
- /* 5 */ "maaaaam"
- /* 6 */ "mmmmmmm"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "..bcd.."
- /* 1 */ ".aaaaa."
- /* 2 */ ".aaaaa."
- /* 3 */ ".aaaaa."
- /* 4 */ ".aaaaa."
- /* 5 */ ".aaaaa."
- /* 6 */ "......."
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".aaeaa."
- /* 2 */ ".afffa."
- /* 3 */ ".aghga."
- /* 4 */ ".afffa."
- /* 5 */ ".aaaaa."
- /* 6 */ "......."
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".iijii."
- /* 2 */ ".i...i."
- /* 3 */ "......."
- /* 4 */ ".i...i."
- /* 5 */ ".ii.ii."
- /* 6 */ "......."
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".aaaaa."
- /* 2 */ ".ak.ka."
- /* 3 */ ".a...a."
- /* 4 */ ".a...a."
- /* 5 */ ".aaaaa."
- /* 6 */ "......."
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ "lnnnnno"
- /* 1 */ "laaaaao"
- /* 2 */ "laaaaao"
- /* 3 */ "laaaaao"
- /* 4 */ "laaaaao"
- /* 5 */ "laaaaao"
- /* 6 */ "ppppppo",
-
- // Connectors:
- "-1: 3, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // House5x5
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // House7x5:
- // The data has been exported from the gallery Desert, area index 27, ID 168, created by Aloe_vera
- {
- // Size:
- 9, 6, 7, // SizeX = 9, SizeY = 6, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 9, 5, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e: 64: 7\n" /* wooddoorblock */
- "f:171:14\n" /* carpet */
- "g:171: 0\n" /* carpet */
- "h:171:15\n" /* carpet */
- "i: 24: 2\n" /* sandstone */
- "j: 64:12\n" /* wooddoorblock */
- "k: 50: 3\n" /* torch */
- "l:128: 4\n" /* sandstonestairs */
- "m: 19: 0\n" /* sponge */
- "n:128: 6\n" /* sandstonestairs */
- "o:128: 5\n" /* sandstonestairs */
- "p:128: 7\n" /* sandstonestairs */,
-
- // Block data:
- // Level 0
- /* z\x* 012345678 */
- /* 0 */ "mmaaammmm"
- /* 1 */ "maaaaaaam"
- /* 2 */ "maaaaaaam"
- /* 3 */ "maaaaaaam"
- /* 4 */ "maaaaaaam"
- /* 5 */ "maaaaaaam"
- /* 6 */ "mmmmmmmmm"
-
- // Level 1
- /* z\x* 012345678 */
- /* 0 */ "..bcd...."
- /* 1 */ ".aaaaaaa."
- /* 2 */ ".aaaaaaa."
- /* 3 */ ".aaaaaaa."
- /* 4 */ ".aaaaaaa."
- /* 5 */ ".aaaaaaa."
- /* 6 */ "........."
-
- // Level 2
- /* z\x* 012345678 */
- /* 0 */ "........."
- /* 1 */ ".aaeaaaa."
- /* 2 */ ".afffffa."
- /* 3 */ ".aghhhga."
- /* 4 */ ".afffffa."
- /* 5 */ ".aaaaaaa."
- /* 6 */ "........."
-
- // Level 3
- /* z\x* 012345678 */
- /* 0 */ "........."
- /* 1 */ ".iiji.ii."
- /* 2 */ ".i.....i."
- /* 3 */ "........."
- /* 4 */ ".i.....i."
- /* 5 */ ".iii.iii."
- /* 6 */ "........."
-
- // Level 4
- /* z\x* 012345678 */
- /* 0 */ "........."
- /* 1 */ ".aaaaaaa."
- /* 2 */ ".ak.k..a."
- /* 3 */ ".a.....a."
- /* 4 */ ".a.....a."
- /* 5 */ ".aaaaaaa."
- /* 6 */ "........."
-
- // Level 5
- /* z\x* 012345678 */
- /* 0 */ "lnnnnnnnn"
- /* 1 */ "laaaaaaao"
- /* 2 */ "laaaaaaao"
- /* 3 */ "laaaaaaao"
- /* 4 */ "laaaaaaao"
- /* 5 */ "laaaaaaao"
- /* 6 */ "ppppppppo",
-
- // Connectors:
- "-1: 3, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // House7x5
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // House8x5:
- // The data has been exported from the gallery Desert, area index 28, ID 169, created by Aloe_vera
- {
- // Size:
- 10, 6, 7, // SizeX = 10, SizeY = 6, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 10, 5, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e: 64: 7\n" /* wooddoorblock */
- "f:171: 0\n" /* carpet */
- "g:171:14\n" /* carpet */
- "h:171:15\n" /* carpet */
- "i: 24: 2\n" /* sandstone */
- "j: 64:12\n" /* wooddoorblock */
- "k: 50: 3\n" /* torch */
- "l:128: 4\n" /* sandstonestairs */
- "m: 19: 0\n" /* sponge */
- "n:128: 6\n" /* sandstonestairs */
- "o:128: 5\n" /* sandstonestairs */
- "p:128: 7\n" /* sandstonestairs */,
-
- // Block data:
- // Level 0
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "mmaaammmmm"
- /* 1 */ "maaaaaaaam"
- /* 2 */ "maaaaaaaam"
- /* 3 */ "maaaaaaaam"
- /* 4 */ "maaaaaaaam"
- /* 5 */ "maaaaaaaam"
- /* 6 */ "mmmmmmmmmm"
-
- // Level 1
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "..bcd....."
- /* 1 */ ".aaaaaaaa."
- /* 2 */ ".aaaaaaaa."
- /* 3 */ ".aaaaaaaa."
- /* 4 */ ".aaaaaaaa."
- /* 5 */ ".aaaaaaaa."
- /* 6 */ ".........."
-
- // Level 2
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".........."
- /* 1 */ ".aaeaaaaa."
- /* 2 */ ".afghhgfa."
- /* 3 */ ".afhffhfa."
- /* 4 */ ".afghhgfa."
- /* 5 */ ".aaaaaaaa."
- /* 6 */ ".........."
-
- // Level 3
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".........."
- /* 1 */ ".iijii.ii."
- /* 2 */ ".i......i."
- /* 3 */ ".........."
- /* 4 */ ".i......i."
- /* 5 */ ".ii.ii.ii."
- /* 6 */ ".........."
-
- // Level 4
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".........."
- /* 1 */ ".aaaaaaaa."
- /* 2 */ ".ak.k...a."
- /* 3 */ ".a......a."
- /* 4 */ ".a......a."
- /* 5 */ ".aaaaaaaa."
- /* 6 */ ".........."
-
- // Level 5
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "lnnnnnnnnn"
- /* 1 */ "laaaaaaaao"
- /* 2 */ "laaaaaaaao"
- /* 3 */ "laaaaaaaao"
- /* 4 */ "laaaaaaaao"
- /* 5 */ "laaaaaaaao"
- /* 6 */ "pppppppppo",
-
- // Connectors:
- "-1: 3, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // House8x5
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // House8x7:
- // The data has been exported from the gallery Desert, area index 29, ID 170, created by Aloe_vera
- {
- // Size:
- 10, 6, 9, // SizeX = 10, SizeY = 6, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 10, 5, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e: 64: 7\n" /* wooddoorblock */
- "f:171: 0\n" /* carpet */
- "g:171:14\n" /* carpet */
- "h:171:15\n" /* carpet */
- "i: 24: 2\n" /* sandstone */
- "j: 64:12\n" /* wooddoorblock */
- "k: 50: 3\n" /* torch */
- "l: 50: 1\n" /* torch */
- "m: 19: 0\n" /* sponge */
- "n: 50: 2\n" /* torch */
- "o:128: 4\n" /* sandstonestairs */
- "p:128: 6\n" /* sandstonestairs */
- "q:128: 5\n" /* sandstonestairs */
- "r:128: 7\n" /* sandstonestairs */,
-
- // Block data:
- // Level 0
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "mmaaammmmm"
- /* 1 */ "maaaaaaaam"
- /* 2 */ "maaaaaaaam"
- /* 3 */ "maaaaaaaam"
- /* 4 */ "maaaaaaaam"
- /* 5 */ "maaaaaaaam"
- /* 6 */ "maaaaaaaam"
- /* 7 */ "maaaaaaaam"
- /* 8 */ "mmmmmmmmmm"
-
- // Level 1
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "..bcd....."
- /* 1 */ ".aaaaaaaa."
- /* 2 */ ".aaaaaaaa."
- /* 3 */ ".aaaaaaaa."
- /* 4 */ ".aaaaaaaa."
- /* 5 */ ".aaaaaaaa."
- /* 6 */ ".aaaaaaaa."
- /* 7 */ ".aaaaaaaa."
- /* 8 */ ".........."
-
- // Level 2
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".........."
- /* 1 */ ".aaeaaaaa."
- /* 2 */ ".afghhgfa."
- /* 3 */ ".afhffhfa."
- /* 4 */ ".afhgghfa."
- /* 5 */ ".afhffhfa."
- /* 6 */ ".afghhgfa."
- /* 7 */ ".aaaaaaaa."
- /* 8 */ ".........."
-
- // Level 3
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".........."
- /* 1 */ ".iijii.ii."
- /* 2 */ ".i......i."
- /* 3 */ ".i......i."
- /* 4 */ ".........."
- /* 5 */ ".i......i."
- /* 6 */ ".i......i."
- /* 7 */ ".ii.ii.ii."
- /* 8 */ ".........."
-
- // Level 4
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ ".........."
- /* 1 */ ".aaaaaaaa."
- /* 2 */ ".a..k...a."
- /* 3 */ ".a......a."
- /* 4 */ ".al....na."
- /* 5 */ ".a......a."
- /* 6 */ ".a......a."
- /* 7 */ ".aaaaaaaa."
- /* 8 */ ".........."
-
- // Level 5
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "oppppppppp"
- /* 1 */ "oaaaaaaaaq"
- /* 2 */ "oaaaaaaaaq"
- /* 3 */ "oaaaaaaaaq"
- /* 4 */ "oaaaaaaaaq"
- /* 5 */ "oaaaaaaaaq"
- /* 6 */ "oaaaaaaaaq"
- /* 7 */ "oaaaaaaaaq"
- /* 8 */ "rrrrrrrrrq",
-
- // Connectors:
- "-1: 3, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // House8x7
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // House9x7:
- // The data has been exported from the gallery Desert, area index 30, ID 171, created by Aloe_vera
- {
- // Size:
- 11, 6, 9, // SizeX = 11, SizeY = 6, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 11, 5, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e: 64: 7\n" /* wooddoorblock */
- "f:171: 0\n" /* carpet */
- "g:171:15\n" /* carpet */
- "h:171:14\n" /* carpet */
- "i: 24: 2\n" /* sandstone */
- "j: 64:12\n" /* wooddoorblock */
- "k: 50: 3\n" /* torch */
- "l: 50: 1\n" /* torch */
- "m: 19: 0\n" /* sponge */
- "n: 50: 2\n" /* torch */
- "o: 50: 4\n" /* torch */
- "p:128: 4\n" /* sandstonestairs */
- "q:128: 6\n" /* sandstonestairs */
- "r:128: 5\n" /* sandstonestairs */
- "s:128: 7\n" /* sandstonestairs */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmaaammmmmm"
- /* 1 */ "maaaaaaaaam"
- /* 2 */ "maaaaaaaaam"
- /* 3 */ "maaaaaaaaam"
- /* 4 */ "maaaaaaaaam"
- /* 5 */ "maaaaaaaaam"
- /* 6 */ "maaaaaaaaam"
- /* 7 */ "maaaaaaaaam"
- /* 8 */ "mmmmmmmmmmm"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..bcd......"
- /* 1 */ ".aaaaaaaaa."
- /* 2 */ ".aaaaaaaaa."
- /* 3 */ ".aaaaaaaaa."
- /* 4 */ ".aaaaaaaaa."
- /* 5 */ ".aaaaaaaaa."
- /* 6 */ ".aaaaaaaaa."
- /* 7 */ ".aaaaaaaaa."
- /* 8 */ "..........."
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".aaeaaaaaa."
- /* 2 */ ".affgggffa."
- /* 3 */ ".afghhhgfa."
- /* 4 */ ".afghfhgfa."
- /* 5 */ ".afghhhgfa."
- /* 6 */ ".affgggffa."
- /* 7 */ ".aaaaaaaaa."
- /* 8 */ "..........."
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".iijii.iii."
- /* 2 */ ".i.......i."
- /* 3 */ ".i.......i."
- /* 4 */ "..........."
- /* 5 */ ".i.......i."
- /* 6 */ ".i.......i."
- /* 7 */ ".ii.iii.ii."
- /* 8 */ "..........."
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".aaaaaaaaa."
- /* 2 */ ".a..k....a."
- /* 3 */ ".a.......a."
- /* 4 */ ".al.....na."
- /* 5 */ ".a.......a."
- /* 6 */ ".a...o...a."
- /* 7 */ ".aaaaaaaaa."
- /* 8 */ "..........."
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "pqqqqqqqqqq"
- /* 1 */ "paaaaaaaaar"
- /* 2 */ "paaaaaaaaar"
- /* 3 */ "paaaaaaaaar"
- /* 4 */ "paaaaaaaaar"
- /* 5 */ "paaaaaaaaar"
- /* 6 */ "paaaaaaaaar"
- /* 7 */ "paaaaaaaaar"
- /* 8 */ "ssssssssssr",
-
- // Connectors:
- "-1: 3, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // House9x7
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // HouseL13x12:
- // The data has been exported from the gallery Desert, area index 53, ID 345, created by jakibaki
- {
- // Size:
- 15, 6, 14, // SizeX = 15, SizeY = 6, SizeZ = 14
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 15, 5, 14, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e: 43: 1\n" /* doubleslab */
- "f: 64: 7\n" /* wooddoorblock */
- "g:171: 0\n" /* carpet */
- "h:171:15\n" /* carpet */
- "i:171:14\n" /* carpet */
- "j: 58: 0\n" /* workbench */
- "k: 24: 2\n" /* sandstone */
- "l: 64:12\n" /* wooddoorblock */
- "m: 19: 0\n" /* sponge */
- "n: 50: 3\n" /* torch */
- "o: 50: 1\n" /* torch */
- "p: 50: 2\n" /* torch */
- "q: 50: 4\n" /* torch */
- "r:128: 6\n" /* sandstonestairs */
- "s:128: 5\n" /* sandstonestairs */
- "t:128: 4\n" /* sandstonestairs */
- "u:128: 7\n" /* sandstonestairs */,
-
- // Block data:
- // Level 0
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "mmmaaammmmmmmmm"
- /* 1 */ "maaaaaaaaaaaaam"
- /* 2 */ "maaaaaaaaaaaaam"
- /* 3 */ "maaaaaaaaaaaaam"
- /* 4 */ "maaaaaaaaaaaaam"
- /* 5 */ "maaaaaaaaaaaaam"
- /* 6 */ "maaaaaaaaaaaaam"
- /* 7 */ "maaaaaaaaaaaaam"
- /* 8 */ "mmmmmmmaaaaaaam"
- /* 9 */ "mmmmmmmaaaaaaam"
- /* 10 */ "mmmmmmmaaaaaaam"
- /* 11 */ "mmmmmmmaaaaaaam"
- /* 12 */ "mmmmmmmaaaaaaam"
- /* 13 */ "mmmmmmmmmmmmmmm"
-
- // Level 1
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "...bcd........."
- /* 1 */ ".aaaaaaaaaaaaa."
- /* 2 */ ".aaaaaaaaaaaaa."
- /* 3 */ ".aaaaaaaaaaaaa."
- /* 4 */ ".aaaaaaaaaaaaa."
- /* 5 */ ".aaaaaaaaaaaea."
- /* 6 */ ".aaaaaaaaaaaaa."
- /* 7 */ ".aaaaaaaaaaaaa."
- /* 8 */ ".......aeaaaaa."
- /* 9 */ "mmmmmm.aaaaaaa."
- /* 10 */ "mmmmmm.aaaaaaa."
- /* 11 */ "mmmmmm.aaaaaaa."
- /* 12 */ "mmmmmm.aaaaaaa."
- /* 13 */ "..............."
-
- // Level 2
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".aaafaaaaaaaaa."
- /* 2 */ ".agghhhhhhhhga."
- /* 3 */ ".aghiiiiiiiiha."
- /* 4 */ ".aghiggggggiha."
- /* 5 */ ".aghiiiiiigiha."
- /* 6 */ ".agghhhhhigiha."
- /* 7 */ ".aaaaaaahigiha."
- /* 8 */ ".......ahigiha."
- /* 9 */ "mmmmmm.ahiiiha."
- /* 10 */ "mmmmmm.aghhhga."
- /* 11 */ "mmmmmm.aggggja."
- /* 12 */ "mmmmmm.aaaaaaa."
- /* 13 */ "..............."
-
- // Level 3
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".kkklkkkk.kkkk."
- /* 2 */ ".k...........k."
- /* 3 */ ".k...........k."
- /* 4 */ "..............."
- /* 5 */ ".k...........k."
- /* 6 */ ".k...........k."
- /* 7 */ ".kkk.kkk.....k."
- /* 8 */ ".......k.....k."
- /* 9 */ "mmmmmm.k......."
- /* 10 */ "mmmmmm.......k."
- /* 11 */ "mmmmmm.k.....k."
- /* 12 */ "mmmmmm.kkk.kkk."
- /* 13 */ "..............."
-
- // Level 4
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".aaaaaaaaaaaaa."
- /* 2 */ ".a......n....a."
- /* 3 */ ".a...........a."
- /* 4 */ ".ao..........a."
- /* 5 */ ".a...........a."
- /* 6 */ ".a..........pa."
- /* 7 */ ".aaaaaaa.....a."
- /* 8 */ ".......a.....a."
- /* 9 */ "mmmmmm.a.....a."
- /* 10 */ "mmmmmm.a.....a."
- /* 11 */ "mmmmmm.a..q..a."
- /* 12 */ "mmmmmm.aaaaaaa."
- /* 13 */ "..............."
-
- // Level 5
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "rrrrrrrrrrrrrrs"
- /* 1 */ "taaaaaaaaaaaaas"
- /* 2 */ "taaaaaaaaaaaaas"
- /* 3 */ "taaaaaaaaaaaaas"
- /* 4 */ "taaaaaaaaaaaaas"
- /* 5 */ "taaaaaaaaaaaaas"
- /* 6 */ "taaaaaaaaaaaaas"
- /* 7 */ "taaaaaaaaaaaaas"
- /* 8 */ "tuuuuutaaaaaaas"
- /* 9 */ "mmmmmmtaaaaaaas"
- /* 10 */ "mmmmmmtaaaaaaas"
- /* 11 */ "mmmmmmtaaaaaaas"
- /* 12 */ "mmmmmmtaaaaaaas"
- /* 13 */ "......tuuuuuuuu",
-
- // Connectors:
- "-1: 4, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // HouseL13x12
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // MarketStall:
- // The data has been exported from the gallery Desert, area index 34, ID 175, created by Aloe_vera
- {
- // Size:
- 7, 6, 7, // SizeX = 7, SizeY = 6, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 7, 5, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 12: 0\n" /* sand */
- "b: 85: 0\n" /* fence */
- "c:171:14\n" /* carpet */
- "d:171:15\n" /* carpet */
- "e:171: 0\n" /* carpet */
- "f: 35:14\n" /* wool */
- "g: 35: 0\n" /* wool */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "aaaaaaa"
- /* 1 */ "aaaaaaa"
- /* 2 */ "aaaaaaa"
- /* 3 */ "aaaaaaa"
- /* 4 */ "aaaaaaa"
- /* 5 */ "aaaaaaa"
- /* 6 */ "aaaaaaa"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "b.....b"
- /* 1 */ "cddeddc"
- /* 2 */ "cdeeedc"
- /* 3 */ "cdeeedc"
- /* 4 */ "cddeddc"
- /* 5 */ "b.....b"
- /* 6 */ "......."
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ "b.....b"
- /* 1 */ "......."
- /* 2 */ "......."
- /* 3 */ "......."
- /* 4 */ "......."
- /* 5 */ "b.....b"
- /* 6 */ "......."
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ "b.....b"
- /* 1 */ "......."
- /* 2 */ "......."
- /* 3 */ "......."
- /* 4 */ "......."
- /* 5 */ "b.....b"
- /* 6 */ "fgfgfgf"
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "fgfgfgf"
- /* 1 */ "......."
- /* 2 */ "......."
- /* 3 */ "......."
- /* 4 */ "......."
- /* 5 */ "fgfgfgf"
- /* 6 */ "......."
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "fgfgfgf"
- /* 2 */ "fgfgfgf"
- /* 3 */ "fgfgfgf"
- /* 4 */ "fgfgfgf"
- /* 5 */ "......."
- /* 6 */ ".......",
-
- // Connectors:
- "-1: 2, 0, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 5,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // MarketStall
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // Marketplace:
- // The data has been exported from the gallery Desert, area index 38, ID 261, created by Aloe_vera
- {
- // Size:
- 14, 4, 16, // SizeX = 14, SizeY = 4, SizeZ = 16
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 14, 3, 16, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b: 12: 0\n" /* sand */
- "c: 24: 2\n" /* sandstone */
- "d: 12: 2\n" /* sand */
- "e: 85: 0\n" /* fence */
- "f: 5: 0\n" /* wood */
- "g:128: 2\n" /* sandstonestairs */
- "h:128: 0\n" /* sandstonestairs */
- "i: 8: 0\n" /* water */
- "j:128: 1\n" /* sandstonestairs */
- "k:128: 3\n" /* sandstonestairs */
- "l: 35: 0\n" /* wool */
- "m: 19: 0\n" /* sponge */
- "n: 35:14\n" /* wool */,
-
- // Block data:
- // Level 0
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ "aaaabbbaaabbbb"
- /* 1 */ "aaaabbaabbabbb"
- /* 2 */ "aababbabcabbbb"
- /* 3 */ "aaaaabaaaaabbb"
- /* 4 */ "bbbbbbbbbbbbbb"
- /* 5 */ "bbbbbbbbbbaabb"
- /* 6 */ "bbbbccccbbabab"
- /* 7 */ "ccbbccccbbaaab"
- /* 8 */ "ccbbccccbbabbb"
- /* 9 */ "dcbbccccbbabaa"
- /* 10 */ "ccbbbbbbbbaaba"
- /* 11 */ "ccbbbbbbbbabaa"
- /* 12 */ "bbbbbbbbbbabaa"
- /* 13 */ "bbbaababbbaaba"
- /* 14 */ "bbbcaaaabbabbb"
- /* 15 */ "bbbcccabbbabbb"
-
- // Level 1
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ "e...e.e...e..."
- /* 1 */ ".............."
- /* 2 */ ".............."
- /* 3 */ "fffff.fffff..."
- /* 4 */ ".............."
- /* 5 */ "..........f..e"
- /* 6 */ "....gggg..f..."
- /* 7 */ ".f..hiij..f..."
- /* 8 */ ".f..hiij..f..."
- /* 9 */ ".f..kkkk..f..e"
- /* 10 */ ".f............"
- /* 11 */ ".f........f..e"
- /* 12 */ "...fffff..f..."
- /* 13 */ "..........f..."
- /* 14 */ "..........f..."
- /* 15 */ "...e...e..f..e"
-
- // Level 2
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ "lnlnl.lnlnl..."
- /* 1 */ ".............."
- /* 2 */ ".............."
- /* 3 */ "e...e.e...e..."
- /* 4 */ ".............."
- /* 5 */ "..........e..l"
- /* 6 */ ".............n"
- /* 7 */ ".e...........l"
- /* 8 */ ".............n"
- /* 9 */ "..........e..l"
- /* 10 */ ".............."
- /* 11 */ ".e........e..l"
- /* 12 */ "...e...e.....n"
- /* 13 */ ".............l"
- /* 14 */ ".............n"
- /* 15 */ "...lnlnl..e..l"
-
- // Level 3
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ ".............."
- /* 1 */ "lnlnl.lnlnl..."
- /* 2 */ "lnlnl.lnlnl..."
- /* 3 */ "lnlnl.lnlnl..."
- /* 4 */ ".............."
- /* 5 */ "..........lll."
- /* 6 */ "..........nnn."
- /* 7 */ "ll........lll."
- /* 8 */ "nn........nnn."
- /* 9 */ "ll........lll."
- /* 10 */ "nn............"
- /* 11 */ "ll........lll."
- /* 12 */ "...lnlnl..nnn."
- /* 13 */ "...lnlnl..lll."
- /* 14 */ "...lnlnl..nnn."
- /* 15 */ "..........lll.",
-
- // Connectors:
- "-1: 5, 0, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 20,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // Marketplace
-}; // g_SandFlatRoofVillagePrefabs
-
-
-
-
-
-
-const cPrefab::sDef g_SandFlatRoofVillageStartingPrefabs[] =
-{
- ////////////////////////////////////////////////////////////////////////////////
- // Well:
- // The data has been exported from the gallery Desert, area index 44, ID 275, created by Aloe_vera
- {
- // Size:
- 5, 16, 5, // SizeX = 5, SizeY = 16, SizeZ = 5
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 4, 15, 4, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 1: 0\n" /* stone */
- "b: 24: 0\n" /* sandstone */
- "c: 8: 0\n" /* water */
- "d:128: 2\n" /* sandstonestairs */
- "e:128: 0\n" /* sandstonestairs */
- "f:128: 1\n" /* sandstonestairs */
- "g:128: 3\n" /* sandstonestairs */
- "h:128: 6\n" /* sandstonestairs */
- "i:128: 4\n" /* sandstonestairs */
- "j:128: 5\n" /* sandstonestairs */
- "k:128: 7\n" /* sandstonestairs */
- "l: 44: 1\n" /* step */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 01234 */
- /* 0 */ "aaaaa"
- /* 1 */ "abbba"
- /* 2 */ "abbba"
- /* 3 */ "abbba"
- /* 4 */ "aaaaa"
-
- // Level 1
- /* z\x* 01234 */
- /* 0 */ "bbbbb"
- /* 1 */ "bcccb"
- /* 2 */ "bcccb"
- /* 3 */ "bcccb"
- /* 4 */ "bbbbb"
-
- // Level 2
- /* z\x* 01234 */
- /* 0 */ "bbbbb"
- /* 1 */ "bcccb"
- /* 2 */ "bcccb"
- /* 3 */ "bcccb"
- /* 4 */ "bbbbb"
-
- // Level 3
- /* z\x* 01234 */
- /* 0 */ "bbbbb"
- /* 1 */ "bcccb"
- /* 2 */ "bcccb"
- /* 3 */ "bcccb"
- /* 4 */ "bbbbb"
-
- // Level 4
- /* z\x* 01234 */
- /* 0 */ "bbbbb"
- /* 1 */ "bcccb"
- /* 2 */ "bcccb"
- /* 3 */ "bcccb"
- /* 4 */ "bbbbb"
-
- // Level 5
- /* z\x* 01234 */
- /* 0 */ "bbbbb"
- /* 1 */ "bcccb"
- /* 2 */ "bcccb"
- /* 3 */ "bcccb"
- /* 4 */ "bbbbb"
-
- // Level 6
- /* z\x* 01234 */
- /* 0 */ "bbbbb"
- /* 1 */ "bcccb"
- /* 2 */ "bcccb"
- /* 3 */ "bcccb"
- /* 4 */ "bbbbb"
-
- // Level 7
- /* z\x* 01234 */
- /* 0 */ "bbbbb"
- /* 1 */ "bcccb"
- /* 2 */ "bcccb"
- /* 3 */ "bcccb"
- /* 4 */ "bbbbb"
-
- // Level 8
- /* z\x* 01234 */
- /* 0 */ "bbbbb"
- /* 1 */ "bcbcb"
- /* 2 */ "bbcbb"
- /* 3 */ "bcbcb"
- /* 4 */ "bbbbb"
-
- // Level 9
- /* z\x* 01234 */
- /* 0 */ "bbbbb"
- /* 1 */ "bcbcb"
- /* 2 */ "bbbbb"
- /* 3 */ "bcbcb"
- /* 4 */ "bbbbb"
-
- // Level 10
- /* z\x* 01234 */
- /* 0 */ "bbbbb"
- /* 1 */ "bcbcb"
- /* 2 */ "bbbbb"
- /* 3 */ "bcbcb"
- /* 4 */ "bbbbb"
-
- // Level 11
- /* z\x* 01234 */
- /* 0 */ "ddddd"
- /* 1 */ "ecccf"
- /* 2 */ "ecbcf"
- /* 3 */ "ecccf"
- /* 4 */ "ggggf"
-
- // Level 12
- /* z\x* 01234 */
- /* 0 */ "....."
- /* 1 */ "....."
- /* 2 */ "..b.."
- /* 3 */ "....."
- /* 4 */ "....."
-
- // Level 13
- /* z\x* 01234 */
- /* 0 */ "....."
- /* 1 */ "....."
- /* 2 */ "..b.."
- /* 3 */ "....."
- /* 4 */ "....."
-
- // Level 14
- /* z\x* 01234 */
- /* 0 */ "....."
- /* 1 */ ".hhh."
- /* 2 */ ".ibj."
- /* 3 */ ".kkj."
- /* 4 */ "....."
-
- // Level 15
- /* z\x* 01234 */
- /* 0 */ "lllll"
- /* 1 */ "lllll"
- /* 2 */ "lllll"
- /* 3 */ "lllll"
- /* 4 */ "lllll",
-
- // Connectors:
- "2: 4, 11, 2: 5\n" /* Type 2, direction X+ */
- "2: 2, 11, 4: 3\n" /* Type 2, direction Z+ */
- "2: 0, 11, 2: 4\n" /* Type 2, direction X- */
- "2: 2, 11, 0: 2\n" /* Type 2, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // Well
-};
-
-
-
-
-
-// The prefab counts:
-
-const size_t g_SandFlatRoofVillagePrefabsCount = ARRAYCOUNT(g_SandFlatRoofVillagePrefabs);
-
-const size_t g_SandFlatRoofVillageStartingPrefabsCount = ARRAYCOUNT(g_SandFlatRoofVillageStartingPrefabs);
-
diff --git a/src/Generating/Prefabs/SandFlatRoofVillagePrefabs.h b/src/Generating/Prefabs/SandFlatRoofVillagePrefabs.h
deleted file mode 100644
index ea06de5b5..000000000
--- a/src/Generating/Prefabs/SandFlatRoofVillagePrefabs.h
+++ /dev/null
@@ -1,15 +0,0 @@
-
-// SandFlatRoofVillagePrefabs.h
-
-// Declares the prefabs in the group SandFlatRoofVillage
-
-#include "../Prefab.h"
-
-
-
-
-
-extern const cPrefab::sDef g_SandFlatRoofVillagePrefabs[];
-extern const cPrefab::sDef g_SandFlatRoofVillageStartingPrefabs[];
-extern const size_t g_SandFlatRoofVillagePrefabsCount;
-extern const size_t g_SandFlatRoofVillageStartingPrefabsCount;
diff --git a/src/Generating/Prefabs/SandVillagePrefabs.cpp b/src/Generating/Prefabs/SandVillagePrefabs.cpp
deleted file mode 100644
index c63f8161b..000000000
--- a/src/Generating/Prefabs/SandVillagePrefabs.cpp
+++ /dev/null
@@ -1,2307 +0,0 @@
-
-// SandVillagePrefabs.cpp
-
-// Defines the prefabs in the group SandVillage
-
-// NOTE: This file has been generated automatically by GalExport!
-// Any manual changes will be overwritten by the next automatic export!
-
-#include "Globals.h"
-#include "SandVillagePrefabs.h"
-
-
-
-
-
-const cPrefab::sDef g_SandVillagePrefabs[] =
-{
- ////////////////////////////////////////////////////////////////////////////////
- // DoubleField:
- // The data has been exported from the gallery Desert, area index 5, ID 75, created by tonibm1999
- {
- // Size:
- 13, 3, 9, // SizeX = 13, SizeY = 3, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, 0, -1, // MinX, MinY, MinZ
- 13, 2, 8, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b: 60: 7\n" /* tilleddirt */
- "c: 8: 0\n" /* water */
- "d: 50: 5\n" /* torch */
- "e: 59: 7\n" /* crops */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "aaaaaaaaaaaaa"
- /* 1 */ "aaaaaaaaaaaaa"
- /* 2 */ "aaaaaaaaaaaaa"
- /* 3 */ "aaaaaaaaaaaaa"
- /* 4 */ "aaaaaaaaaaaaa"
- /* 5 */ "aaaaaaaaaaaaa"
- /* 6 */ "aaaaaaaaaaaaa"
- /* 7 */ "aaaaaaaaaaaaa"
- /* 8 */ "aaaaaaaaaaaaa"
-
- // Level 1
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "aaaaaaaaaaaaa"
- /* 1 */ "abbcbbabbcbba"
- /* 2 */ "abbcbbabbcbba"
- /* 3 */ "abbcbbabbcbba"
- /* 4 */ "abbcbbabbcbba"
- /* 5 */ "abbcbbabbcbba"
- /* 6 */ "abbcbbabbcbba"
- /* 7 */ "abbcbbabbcbba"
- /* 8 */ "aaaaaaaaaaaaa"
-
- // Level 2
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "d.....d.....d"
- /* 1 */ ".ee.ee.ee.ee."
- /* 2 */ ".ee.ee.ee.ee."
- /* 3 */ ".ee.ee.ee.ee."
- /* 4 */ ".ee.ee.ee.ee."
- /* 5 */ ".ee.ee.ee.ee."
- /* 6 */ ".ee.ee.ee.ee."
- /* 7 */ ".ee.ee.ee.ee."
- /* 8 */ "d.....d.....d",
-
- // Connectors:
- "-1: 6, 1, 8: 3\n" /* Type -1, direction Z+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // DoubleField
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // House11x7:
- // The data has been exported from the gallery Desert, area index 6, ID 81, created by Aloe_vera
- {
- // Size:
- 11, 7, 7, // SizeX = 11, SizeY = 7, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 11, 6, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e: 64: 7\n" /* wooddoorblock */
- "f:102: 0\n" /* glasspane */
- "g: 64:12\n" /* wooddoorblock */
- "h:128: 7\n" /* sandstonestairs */
- "i: 50: 3\n" /* torch */
- "j: 50: 4\n" /* torch */
- "k:128: 6\n" /* sandstonestairs */
- "l:128: 3\n" /* sandstonestairs */
- "m: 19: 0\n" /* sponge */
- "n: 50: 1\n" /* torch */
- "o: 50: 2\n" /* torch */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmaaammmm"
- /* 1 */ "maaaaaaaaam"
- /* 2 */ "maaaaaaaaam"
- /* 3 */ "maaaaaaaaam"
- /* 4 */ "maaaaaaaaam"
- /* 5 */ "maaaaaaaaam"
- /* 6 */ "mmmmmmmmmmm"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "....bcd...."
- /* 1 */ ".aaaaaaaaa."
- /* 2 */ ".aaaaaaaaa."
- /* 3 */ ".aaaaaaaaa."
- /* 4 */ ".aaaaaaaaa."
- /* 5 */ ".aaaaaaaaa."
- /* 6 */ "..........."
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".aaaaeaaaa."
- /* 2 */ ".a.......a."
- /* 3 */ ".a.......a."
- /* 4 */ ".a.......a."
- /* 5 */ ".aaaaaaaaa."
- /* 6 */ "..........."
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".affagaffa."
- /* 2 */ ".f.......f."
- /* 3 */ ".f.......f."
- /* 4 */ ".f.......f."
- /* 5 */ ".affafaffa."
- /* 6 */ "..........."
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "ccccccccccc"
- /* 1 */ "haaaaaaaaah"
- /* 2 */ ".a..i.i..a."
- /* 3 */ ".a.......a."
- /* 4 */ ".a..j.j..a."
- /* 5 */ "kaaaaaaaaak"
- /* 6 */ "lllllllllll"
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "ccccccccccc"
- /* 2 */ "haaaaaaaaah"
- /* 3 */ ".an.....oa."
- /* 4 */ "kaaaaaaaaak"
- /* 5 */ "lllllllllll"
- /* 6 */ "..........."
-
- // Level 6
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "ccccccccccc"
- /* 3 */ "aaaaaaaaaaa"
- /* 4 */ "lllllllllll"
- /* 5 */ "..........."
- /* 6 */ "...........",
-
- // Connectors:
- "-1: 5, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // House11x7
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // House11x9:
- // The data has been exported from the gallery Desert, area index 11, ID 115, created by xoft
- {
- // Size:
- 11, 8, 9, // SizeX = 11, SizeY = 8, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 11, 7, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e: 64: 7\n" /* wooddoorblock */
- "f:102: 0\n" /* glasspane */
- "g: 64:12\n" /* wooddoorblock */
- "h:128: 7\n" /* sandstonestairs */
- "i: 50: 3\n" /* torch */
- "j: 50: 4\n" /* torch */
- "k:128: 6\n" /* sandstonestairs */
- "l:128: 3\n" /* sandstonestairs */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "mmmmaaammmm"
- /* 1 */ "maaaaaaaaam"
- /* 2 */ "maaaaaaaaam"
- /* 3 */ "maaaaaaaaam"
- /* 4 */ "maaaaaaaaam"
- /* 5 */ "maaaaaaaaam"
- /* 6 */ "maaaaaaaaam"
- /* 7 */ "maaaaaaaaam"
- /* 8 */ "mmmmmmmmmmm"
-
- // Level 1
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "....bcd...."
- /* 1 */ ".aaaaaaaaa."
- /* 2 */ ".aaaaaaaaa."
- /* 3 */ ".aaaaaaaaa."
- /* 4 */ ".aaaaaaaaa."
- /* 5 */ ".aaaaaaaaa."
- /* 6 */ ".aaaaaaaaa."
- /* 7 */ ".aaaaaaaaa."
- /* 8 */ "..........."
-
- // Level 2
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".aaaaeaaaa."
- /* 2 */ ".a.......a."
- /* 3 */ ".a.......a."
- /* 4 */ ".a.......a."
- /* 5 */ ".a.......a."
- /* 6 */ ".a.......a."
- /* 7 */ ".aaaaaaaaa."
- /* 8 */ "..........."
-
- // Level 3
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ ".affagaffa."
- /* 2 */ ".f.......f."
- /* 3 */ ".f.......f."
- /* 4 */ ".a.......a."
- /* 5 */ ".f.......f."
- /* 6 */ ".f.......f."
- /* 7 */ ".afffafffa."
- /* 8 */ "..........."
-
- // Level 4
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "ccccccccccc"
- /* 1 */ "haaaaaaaaah"
- /* 2 */ ".a..i.i..a."
- /* 3 */ ".a.......a."
- /* 4 */ ".a.......a."
- /* 5 */ ".a.......a."
- /* 6 */ ".a...j...a."
- /* 7 */ "kaaaaaaaaak"
- /* 8 */ "lllllllllll"
-
- // Level 5
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "ccccccccccc"
- /* 2 */ "haaaaaaaaah"
- /* 3 */ ".a.......a."
- /* 4 */ ".a.......a."
- /* 5 */ ".a.......a."
- /* 6 */ "kaaaaaaaaak"
- /* 7 */ "lllllllllll"
- /* 8 */ "..........."
-
- // Level 6
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "ccccccccccc"
- /* 3 */ "haaaaaaaaah"
- /* 4 */ ".a.......a."
- /* 5 */ "kaaaaaaaaak"
- /* 6 */ "lllllllllll"
- /* 7 */ "..........."
- /* 8 */ "..........."
-
- // Level 7
- /* z\x* 1 */
- /* * 01234567890 */
- /* 0 */ "..........."
- /* 1 */ "..........."
- /* 2 */ "..........."
- /* 3 */ "ccccccccccc"
- /* 4 */ "aaaaaaaaaaa"
- /* 5 */ "lllllllllll"
- /* 6 */ "..........."
- /* 7 */ "..........."
- /* 8 */ "...........",
-
- // Connectors:
- "-1: 5, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // House11x9
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // House13x7:
- // The data has been exported from the gallery Desert, area index 15, ID 125, created by Aloe_vera
- {
- // Size:
- 13, 7, 7, // SizeX = 13, SizeY = 7, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 13, 6, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e: 64: 7\n" /* wooddoorblock */
- "f:102: 0\n" /* glasspane */
- "g: 64:12\n" /* wooddoorblock */
- "h:128: 7\n" /* sandstonestairs */
- "i: 50: 3\n" /* torch */
- "j: 50: 4\n" /* torch */
- "k:128: 6\n" /* sandstonestairs */
- "l:128: 3\n" /* sandstonestairs */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "mmmmmaaammmmm"
- /* 1 */ "maaaaaaaaaaam"
- /* 2 */ "maaaaaaaaaaam"
- /* 3 */ "maaaaaaaaaaam"
- /* 4 */ "maaaaaaaaaaam"
- /* 5 */ "maaaaaaaaaaam"
- /* 6 */ "mmmmmmmmmmmmm"
-
- // Level 1
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ ".....bcd....."
- /* 1 */ ".aaaaaaaaaaa."
- /* 2 */ ".aaaaaaaaaaa."
- /* 3 */ ".aaaaaaaaaaa."
- /* 4 */ ".aaaaaaaaaaa."
- /* 5 */ ".aaaaaaaaaaa."
- /* 6 */ "............."
-
- // Level 2
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ ".aaaaaeaaaaa."
- /* 2 */ ".a.........a."
- /* 3 */ ".a.........a."
- /* 4 */ ".a.........a."
- /* 5 */ ".aaaaaaaaaaa."
- /* 6 */ "............."
-
- // Level 3
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ ".afffagafffa."
- /* 2 */ ".f.........f."
- /* 3 */ ".f.........f."
- /* 4 */ ".f.........f."
- /* 5 */ ".affafffaffa."
- /* 6 */ "............."
-
- // Level 4
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "ccccccccccccc"
- /* 1 */ "haaaaaaaaaaah"
- /* 2 */ ".a...i.i...a."
- /* 3 */ ".a.........a."
- /* 4 */ ".a..j...j..a."
- /* 5 */ "kaaaaaaaaaaak"
- /* 6 */ "lllllllllllll"
-
- // Level 5
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ "ccccccccccccc"
- /* 2 */ "haaaaaaaaaaah"
- /* 3 */ ".a.........a."
- /* 4 */ "kaaaaaaaaaaak"
- /* 5 */ "lllllllllllll"
- /* 6 */ "............."
-
- // Level 6
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ "............."
- /* 2 */ "ccccccccccccc"
- /* 3 */ "aaaaaaaaaaaaa"
- /* 4 */ "lllllllllllll"
- /* 5 */ "............."
- /* 6 */ ".............",
-
- // Connectors:
- "-1: 6, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // House13x7
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // House13x9:
- // The data has been exported from the gallery Desert, area index 12, ID 116, created by xoft
- {
- // Size:
- 13, 8, 9, // SizeX = 13, SizeY = 8, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 13, 7, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e: 64: 7\n" /* wooddoorblock */
- "f:102: 0\n" /* glasspane */
- "g: 64:12\n" /* wooddoorblock */
- "h:128: 7\n" /* sandstonestairs */
- "i: 50: 3\n" /* torch */
- "j: 50: 4\n" /* torch */
- "k:128: 6\n" /* sandstonestairs */
- "l:128: 3\n" /* sandstonestairs */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "mmmmmaaammmmm"
- /* 1 */ "maaaaaaaaaaam"
- /* 2 */ "maaaaaaaaaaam"
- /* 3 */ "maaaaaaaaaaam"
- /* 4 */ "maaaaaaaaaaam"
- /* 5 */ "maaaaaaaaaaam"
- /* 6 */ "maaaaaaaaaaam"
- /* 7 */ "maaaaaaaaaaam"
- /* 8 */ "mmmmmmmmmmmmm"
-
- // Level 1
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ ".....bcd....."
- /* 1 */ ".aaaaaaaaaaa."
- /* 2 */ ".aaaaaaaaaaa."
- /* 3 */ ".aaaaaaaaaaa."
- /* 4 */ ".aaaaaaaaaaa."
- /* 5 */ ".aaaaaaaaaaa."
- /* 6 */ ".aaaaaaaaaaa."
- /* 7 */ ".aaaaaaaaaaa."
- /* 8 */ "............."
-
- // Level 2
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ ".aaaaaeaaaaa."
- /* 2 */ ".a.........a."
- /* 3 */ ".a.........a."
- /* 4 */ ".a.........a."
- /* 5 */ ".a.........a."
- /* 6 */ ".a.........a."
- /* 7 */ ".aaaaaaaaaaa."
- /* 8 */ "............."
-
- // Level 3
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ ".afffagafffa."
- /* 2 */ ".f.........f."
- /* 3 */ ".f.........f."
- /* 4 */ ".a.........a."
- /* 5 */ ".f.........f."
- /* 6 */ ".f.........f."
- /* 7 */ ".affaffafffa."
- /* 8 */ "............."
-
- // Level 4
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "ccccccccccccc"
- /* 1 */ "haaaaaaaaaaah"
- /* 2 */ ".a...i.i...a."
- /* 3 */ ".a.........a."
- /* 4 */ ".a.........a."
- /* 5 */ ".a.........a."
- /* 6 */ ".a..j..j...a."
- /* 7 */ "kaaaaaaaaaaak"
- /* 8 */ "lllllllllllll"
-
- // Level 5
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ "ccccccccccccc"
- /* 2 */ "haaaaaaaaaaah"
- /* 3 */ ".a.........a."
- /* 4 */ ".a.........a."
- /* 5 */ ".a.........a."
- /* 6 */ "kaaaaaaaaaaak"
- /* 7 */ "lllllllllllll"
- /* 8 */ "............."
-
- // Level 6
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ "............."
- /* 2 */ "ccccccccccccc"
- /* 3 */ "haaaaaaaaaaah"
- /* 4 */ ".a.........a."
- /* 5 */ "kaaaaaaaaaaak"
- /* 6 */ "lllllllllllll"
- /* 7 */ "............."
- /* 8 */ "............."
-
- // Level 7
- /* z\x* 111 */
- /* * 0123456789012 */
- /* 0 */ "............."
- /* 1 */ "............."
- /* 2 */ "............."
- /* 3 */ "ccccccccccccc"
- /* 4 */ "aaaaaaaaaaaaa"
- /* 5 */ "lllllllllllll"
- /* 6 */ "............."
- /* 7 */ "............."
- /* 8 */ ".............",
-
- // Connectors:
- "-1: 6, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // House13x9
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // House15x9:
- // The data has been exported from the gallery Desert, area index 13, ID 118, created by xoft
- {
- // Size:
- 15, 8, 9, // SizeX = 15, SizeY = 8, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 15, 7, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e: 64: 7\n" /* wooddoorblock */
- "f:102: 0\n" /* glasspane */
- "g: 64:12\n" /* wooddoorblock */
- "h:128: 7\n" /* sandstonestairs */
- "i: 50: 3\n" /* torch */
- "j: 50: 4\n" /* torch */
- "k:128: 6\n" /* sandstonestairs */
- "l:128: 3\n" /* sandstonestairs */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "mmmmmaaammmmmmm"
- /* 1 */ "maaaaaaaaaaaaam"
- /* 2 */ "maaaaaaaaaaaaam"
- /* 3 */ "maaaaaaaaaaaaam"
- /* 4 */ "maaaaaaaaaaaaam"
- /* 5 */ "maaaaaaaaaaaaam"
- /* 6 */ "maaaaaaaaaaaaam"
- /* 7 */ "maaaaaaaaaaaaam"
- /* 8 */ "mmmmmmmmmmmmmmm"
-
- // Level 1
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ ".....bcd......."
- /* 1 */ ".aaaaaaaaaaaaa."
- /* 2 */ ".aaaaaaaaaaaaa."
- /* 3 */ ".aaaaaaaaaaaaa."
- /* 4 */ ".aaaaaaaaaaaaa."
- /* 5 */ ".aaaaaaaaaaaaa."
- /* 6 */ ".aaaaaaaaaaaaa."
- /* 7 */ ".aaaaaaaaaaaaa."
- /* 8 */ "..............."
-
- // Level 2
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".aaaaaeaaaaaaa."
- /* 2 */ ".a...........a."
- /* 3 */ ".a...........a."
- /* 4 */ ".a...........a."
- /* 5 */ ".a...........a."
- /* 6 */ ".a...........a."
- /* 7 */ ".aaaaaaaaaaaaa."
- /* 8 */ "..............."
-
- // Level 3
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ ".afffagaffaffa."
- /* 2 */ ".f...........f."
- /* 3 */ ".f...........f."
- /* 4 */ ".a...........a."
- /* 5 */ ".f...........f."
- /* 6 */ ".f...........f."
- /* 7 */ ".affaffaffaffa."
- /* 8 */ "..............."
-
- // Level 4
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "ccccccccccccccc"
- /* 1 */ "haaaaaaaaaaaaah"
- /* 2 */ ".a...i.i..i..a."
- /* 3 */ ".a...........a."
- /* 4 */ ".a...........a."
- /* 5 */ ".a...........a."
- /* 6 */ ".a..j..j..j..a."
- /* 7 */ "kaaaaaaaaaaaaak"
- /* 8 */ "lllllllllllllll"
-
- // Level 5
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "ccccccccccccccc"
- /* 2 */ "haaaaaaaaaaaaah"
- /* 3 */ ".a...........a."
- /* 4 */ ".a...........a."
- /* 5 */ ".a...........a."
- /* 6 */ "kaaaaaaaaaaaaak"
- /* 7 */ "lllllllllllllll"
- /* 8 */ "..............."
-
- // Level 6
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ "ccccccccccccccc"
- /* 3 */ "haaaaaaaaaaaaah"
- /* 4 */ ".a...........a."
- /* 5 */ "kaaaaaaaaaaaaak"
- /* 6 */ "lllllllllllllll"
- /* 7 */ "..............."
- /* 8 */ "..............."
-
- // Level 7
- /* z\x* 11111 */
- /* * 012345678901234 */
- /* 0 */ "..............."
- /* 1 */ "..............."
- /* 2 */ "..............."
- /* 3 */ "ccccccccccccccc"
- /* 4 */ "aaaaaaaaaaaaaaa"
- /* 5 */ "lllllllllllllll"
- /* 6 */ "..............."
- /* 7 */ "..............."
- /* 8 */ "...............",
-
- // Connectors:
- "-1: 6, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // House15x9
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // House16x9:
- // The data has been exported from the gallery Desert, area index 16, ID 126, created by Aloe_vera
- {
- // Size:
- 16, 8, 9, // SizeX = 16, SizeY = 8, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 16, 7, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e: 64: 7\n" /* wooddoorblock */
- "f:102: 0\n" /* glasspane */
- "g: 64:12\n" /* wooddoorblock */
- "h:128: 7\n" /* sandstonestairs */
- "i: 50: 3\n" /* torch */
- "j: 50: 4\n" /* torch */
- "k:128: 6\n" /* sandstonestairs */
- "l:128: 3\n" /* sandstonestairs */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "mmmmmmmmaaammmmm"
- /* 1 */ "maaaaaaaaaaaaaam"
- /* 2 */ "maaaaaaaaaaaaaam"
- /* 3 */ "maaaaaaaaaaaaaam"
- /* 4 */ "maaaaaaaaaaaaaam"
- /* 5 */ "maaaaaaaaaaaaaam"
- /* 6 */ "maaaaaaaaaaaaaam"
- /* 7 */ "maaaaaaaaaaaaaam"
- /* 8 */ "mmmmmmmmmmmmmmmm"
-
- // Level 1
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "........bcd....."
- /* 1 */ ".aaaaaaaaaaaaaa."
- /* 2 */ ".aaaaaaaaaaaaaa."
- /* 3 */ ".aaaaaaaaaaaaaa."
- /* 4 */ ".aaaaaaaaaaaaaa."
- /* 5 */ ".aaaaaaaaaaaaaa."
- /* 6 */ ".aaaaaaaaaaaaaa."
- /* 7 */ ".aaaaaaaaaaaaaa."
- /* 8 */ "................"
-
- // Level 2
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ ".aaaaaaaaeaaaaa."
- /* 2 */ ".a............a."
- /* 3 */ ".a............a."
- /* 4 */ ".a............a."
- /* 5 */ ".a............a."
- /* 6 */ ".a............a."
- /* 7 */ ".aaaaaaaaaaaaaa."
- /* 8 */ "................"
-
- // Level 3
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ ".affafffagafffa."
- /* 2 */ ".f............f."
- /* 3 */ ".f............f."
- /* 4 */ ".a............a."
- /* 5 */ ".f............f."
- /* 6 */ ".f............f."
- /* 7 */ ".affaffafffaffa."
- /* 8 */ "................"
-
- // Level 4
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "cccccccccccccccc"
- /* 1 */ "haaaaaaaaaaaaaah"
- /* 2 */ ".a..i...i.i...a."
- /* 3 */ ".a............a."
- /* 4 */ ".a............a."
- /* 5 */ ".a............a."
- /* 6 */ ".a..j..j...j..a."
- /* 7 */ "kaaaaaaaaaaaaaak"
- /* 8 */ "llllllllllllllll"
-
- // Level 5
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ "cccccccccccccccc"
- /* 2 */ "haaaaaaaaaaaaaah"
- /* 3 */ ".a............a."
- /* 4 */ ".a............a."
- /* 5 */ ".a............a."
- /* 6 */ "kaaaaaaaaaaaaaak"
- /* 7 */ "llllllllllllllll"
- /* 8 */ "................"
-
- // Level 6
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ "................"
- /* 2 */ "cccccccccccccccc"
- /* 3 */ "haaaaaaaaaaaaaah"
- /* 4 */ ".a............a."
- /* 5 */ "kaaaaaaaaaaaaaak"
- /* 6 */ "llllllllllllllll"
- /* 7 */ "................"
- /* 8 */ "................"
-
- // Level 7
- /* z\x* 111111 */
- /* * 0123456789012345 */
- /* 0 */ "................"
- /* 1 */ "................"
- /* 2 */ "................"
- /* 3 */ "cccccccccccccccc"
- /* 4 */ "aaaaaaaaaaaaaaaa"
- /* 5 */ "llllllllllllllll"
- /* 6 */ "................"
- /* 7 */ "................"
- /* 8 */ "................",
-
- // Connectors:
- "-1: 9, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // House16x9
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // House7x7:
- // The data has been exported from the gallery Desert, area index 8, ID 112, created by Aloe_vera
- {
- // Size:
- 7, 7, 7, // SizeX = 7, SizeY = 7, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 7, 6, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e: 64: 7\n" /* wooddoorblock */
- "f:102: 0\n" /* glasspane */
- "g: 64:12\n" /* wooddoorblock */
- "h:128: 7\n" /* sandstonestairs */
- "i: 50: 3\n" /* torch */
- "j:128: 6\n" /* sandstonestairs */
- "k:128: 3\n" /* sandstonestairs */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "mmmaaam"
- /* 1 */ "maaaaam"
- /* 2 */ "maaaaam"
- /* 3 */ "maaaaam"
- /* 4 */ "maaaaam"
- /* 5 */ "maaaaam"
- /* 6 */ "mmmmmmm"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "...bcd."
- /* 1 */ ".aaaaa."
- /* 2 */ ".aaaaa."
- /* 3 */ ".aaaaa."
- /* 4 */ ".aaaaa."
- /* 5 */ ".aaaaa."
- /* 6 */ "......."
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".aaaea."
- /* 2 */ ".a...a."
- /* 3 */ ".a...a."
- /* 4 */ ".a...a."
- /* 5 */ ".aaaaa."
- /* 6 */ "......."
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".afaga."
- /* 2 */ ".f...f."
- /* 3 */ ".f...f."
- /* 4 */ ".f...f."
- /* 5 */ ".afffa."
- /* 6 */ "......."
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "ccccccc"
- /* 1 */ "haaaaah"
- /* 2 */ ".a.i.a."
- /* 3 */ ".a...a."
- /* 4 */ ".a...a."
- /* 5 */ "jaaaaaj"
- /* 6 */ "kkkkkkk"
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "ccccccc"
- /* 2 */ "haaaaah"
- /* 3 */ ".a...a."
- /* 4 */ "jaaaaaj"
- /* 5 */ "kkkkkkk"
- /* 6 */ "......."
-
- // Level 6
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "......."
- /* 2 */ "ccccccc"
- /* 3 */ "aaaaaaa"
- /* 4 */ "kkkkkkk"
- /* 5 */ "......."
- /* 6 */ ".......",
-
- // Connectors:
- "-1: 4, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // House7x7
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // House9x7:
- // The data has been exported from the gallery Desert, area index 9, ID 113, created by xoft
- {
- // Size:
- 9, 7, 7, // SizeX = 9, SizeY = 7, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 9, 6, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e: 64: 7\n" /* wooddoorblock */
- "f:102: 0\n" /* glasspane */
- "g: 64:12\n" /* wooddoorblock */
- "h:128: 7\n" /* sandstonestairs */
- "i: 50: 3\n" /* torch */
- "j: 50: 4\n" /* torch */
- "k:128: 6\n" /* sandstonestairs */
- "l:128: 3\n" /* sandstonestairs */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 012345678 */
- /* 0 */ "mmmaaammm"
- /* 1 */ "maaaaaaam"
- /* 2 */ "maaaaaaam"
- /* 3 */ "maaaaaaam"
- /* 4 */ "maaaaaaam"
- /* 5 */ "maaaaaaam"
- /* 6 */ "mmmmmmmmm"
-
- // Level 1
- /* z\x* 012345678 */
- /* 0 */ "...bcd..."
- /* 1 */ ".aaaaaaa."
- /* 2 */ ".aaaaaaa."
- /* 3 */ ".aaaaaaa."
- /* 4 */ ".aaaaaaa."
- /* 5 */ ".aaaaaaa."
- /* 6 */ "........."
-
- // Level 2
- /* z\x* 012345678 */
- /* 0 */ "........."
- /* 1 */ ".aaaeaaa."
- /* 2 */ ".a.....a."
- /* 3 */ ".a.....a."
- /* 4 */ ".a.....a."
- /* 5 */ ".aaaaaaa."
- /* 6 */ "........."
-
- // Level 3
- /* z\x* 012345678 */
- /* 0 */ "........."
- /* 1 */ ".afagafa."
- /* 2 */ ".f.....f."
- /* 3 */ ".f.....f."
- /* 4 */ ".f.....f."
- /* 5 */ ".affaffa."
- /* 6 */ "........."
-
- // Level 4
- /* z\x* 012345678 */
- /* 0 */ "ccccccccc"
- /* 1 */ "haaaaaaah"
- /* 2 */ ".a.i.i.a."
- /* 3 */ ".a.....a."
- /* 4 */ ".a..j..a."
- /* 5 */ "kaaaaaaak"
- /* 6 */ "lllllllll"
-
- // Level 5
- /* z\x* 012345678 */
- /* 0 */ "........."
- /* 1 */ "ccccccccc"
- /* 2 */ "haaaaaaah"
- /* 3 */ ".a.....a."
- /* 4 */ "kaaaaaaak"
- /* 5 */ "lllllllll"
- /* 6 */ "........."
-
- // Level 6
- /* z\x* 012345678 */
- /* 0 */ "........."
- /* 1 */ "........."
- /* 2 */ "ccccccccc"
- /* 3 */ "aaaaaaaaa"
- /* 4 */ "lllllllll"
- /* 5 */ "........."
- /* 6 */ ".........",
-
- // Connectors:
- "-1: 4, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // House9x7
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // House9x9:
- // The data has been exported from the gallery Desert, area index 10, ID 114, created by xoft
- {
- // Size:
- 9, 8, 9, // SizeX = 9, SizeY = 8, SizeZ = 9
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 9, 7, 9, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e: 64: 7\n" /* wooddoorblock */
- "f:102: 0\n" /* glasspane */
- "g: 64:12\n" /* wooddoorblock */
- "h:128: 7\n" /* sandstonestairs */
- "i: 50: 3\n" /* torch */
- "j: 50: 4\n" /* torch */
- "k:128: 6\n" /* sandstonestairs */
- "l:128: 3\n" /* sandstonestairs */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 012345678 */
- /* 0 */ "mmmaaammm"
- /* 1 */ "maaaaaaam"
- /* 2 */ "maaaaaaam"
- /* 3 */ "maaaaaaam"
- /* 4 */ "maaaaaaam"
- /* 5 */ "maaaaaaam"
- /* 6 */ "maaaaaaam"
- /* 7 */ "maaaaaaam"
- /* 8 */ "mmmmmmmmm"
-
- // Level 1
- /* z\x* 012345678 */
- /* 0 */ "...bcd..."
- /* 1 */ ".aaaaaaa."
- /* 2 */ ".aaaaaaa."
- /* 3 */ ".aaaaaaa."
- /* 4 */ ".aaaaaaa."
- /* 5 */ ".aaaaaaa."
- /* 6 */ ".aaaaaaa."
- /* 7 */ ".aaaaaaa."
- /* 8 */ "........."
-
- // Level 2
- /* z\x* 012345678 */
- /* 0 */ "........."
- /* 1 */ ".aaaeaaa."
- /* 2 */ ".a.....a."
- /* 3 */ ".a.....a."
- /* 4 */ ".a.....a."
- /* 5 */ ".a.....a."
- /* 6 */ ".a.....a."
- /* 7 */ ".aaaaaaa."
- /* 8 */ "........."
-
- // Level 3
- /* z\x* 012345678 */
- /* 0 */ "........."
- /* 1 */ ".afagafa."
- /* 2 */ ".f.....f."
- /* 3 */ ".f.....f."
- /* 4 */ ".a.....a."
- /* 5 */ ".f.....f."
- /* 6 */ ".f.....f."
- /* 7 */ ".affaffa."
- /* 8 */ "........."
-
- // Level 4
- /* z\x* 012345678 */
- /* 0 */ "ccccccccc"
- /* 1 */ "haaaaaaah"
- /* 2 */ ".a.i.i.a."
- /* 3 */ ".a.....a."
- /* 4 */ ".a.....a."
- /* 5 */ ".a.....a."
- /* 6 */ ".a..j..a."
- /* 7 */ "kaaaaaaak"
- /* 8 */ "lllllllll"
-
- // Level 5
- /* z\x* 012345678 */
- /* 0 */ "........."
- /* 1 */ "ccccccccc"
- /* 2 */ "haaaaaaah"
- /* 3 */ ".a.....a."
- /* 4 */ ".a.....a."
- /* 5 */ ".a.....a."
- /* 6 */ "kaaaaaaak"
- /* 7 */ "lllllllll"
- /* 8 */ "........."
-
- // Level 6
- /* z\x* 012345678 */
- /* 0 */ "........."
- /* 1 */ "........."
- /* 2 */ "ccccccccc"
- /* 3 */ "haaaaaaah"
- /* 4 */ ".a.....a."
- /* 5 */ "kaaaaaaak"
- /* 6 */ "lllllllll"
- /* 7 */ "........."
- /* 8 */ "........."
-
- // Level 7
- /* z\x* 012345678 */
- /* 0 */ "........."
- /* 1 */ "........."
- /* 2 */ "........."
- /* 3 */ "ccccccccc"
- /* 4 */ "aaaaaaaaa"
- /* 5 */ "lllllllll"
- /* 6 */ "........."
- /* 7 */ "........."
- /* 8 */ ".........",
-
- // Connectors:
- "-1: 4, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // House9x9
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // HouseL14x12:
- // The data has been exported from the gallery Desert, area index 14, ID 124, created by Aloe_vera
- {
- // Size:
- 14, 8, 12, // SizeX = 14, SizeY = 8, SizeZ = 12
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 14, 7, 12, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e:128: 3\n" /* sandstonestairs */
- "f: 64: 3\n" /* wooddoorblock */
- "g: 64: 1\n" /* wooddoorblock */
- "h:102: 0\n" /* glasspane */
- "i: 64: 8\n" /* wooddoorblock */
- "j:128: 7\n" /* sandstonestairs */
- "k: 50: 3\n" /* torch */
- "l: 50: 2\n" /* torch */
- "m: 19: 0\n" /* sponge */
- "n: 50: 4\n" /* torch */
- "o:128: 6\n" /* sandstonestairs */
- "p: 50: 1\n" /* torch */
- "q:128: 5\n" /* sandstonestairs */
- "r:128: 4\n" /* sandstonestairs */,
-
- // Block data:
- // Level 0
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ "mmmmaaammmmmmm"
- /* 1 */ "maaaaaaaaaaaam"
- /* 2 */ "maaaaaaaaaaaam"
- /* 3 */ "maaaaaaaaaaaam"
- /* 4 */ "maaaaaaaaaaaam"
- /* 5 */ "maaaaaaaaaaaam"
- /* 6 */ "maaaaaaaaaaaam"
- /* 7 */ "maaaaaaaaaaaam"
- /* 8 */ "mmmmaaaaaaaaam"
- /* 9 */ "mmmmmmaaaaaaam"
- /* 10 */ "mmmmmmaaaaaaam"
- /* 11 */ "mmmmmmmmmmmmmm"
-
- // Level 1
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ "....bcd......."
- /* 1 */ ".aaaaaaaaaaaa."
- /* 2 */ ".aaaaaaaaaaaa."
- /* 3 */ ".aaaaaaaaaaaa."
- /* 4 */ ".aaaaaaaaaaaa."
- /* 5 */ ".aaaaaaaaaaaa."
- /* 6 */ ".aaaaaaaaaaaa."
- /* 7 */ ".aaaaaaaaaaaa."
- /* 8 */ "....beaaaaaaa."
- /* 9 */ "mmmmm.aaaaaaa."
- /* 10 */ "mmmmm.aaaaaaa."
- /* 11 */ "mmmmm........."
-
- // Level 2
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ ".............."
- /* 1 */ ".aaaafaaaaaaa."
- /* 2 */ ".a..........a."
- /* 3 */ ".a..........a."
- /* 4 */ ".a..........a."
- /* 5 */ ".a..........a."
- /* 6 */ ".a..........a."
- /* 7 */ ".aaaaga.....a."
- /* 8 */ "......a.....a."
- /* 9 */ "mmmmm.a.....a."
- /* 10 */ "mmmmm.aaaaaaa."
- /* 11 */ "mmmmm........."
-
- // Level 3
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ ".............."
- /* 1 */ ".ahhaiahhahha."
- /* 2 */ ".h..........h."
- /* 3 */ ".h..........h."
- /* 4 */ ".a..........a."
- /* 5 */ ".h..........h."
- /* 6 */ ".h..........h."
- /* 7 */ ".ahhaia.....a."
- /* 8 */ "......h.....h."
- /* 9 */ "mmmmm.h.....h."
- /* 10 */ "mmmmm.ahhahha."
- /* 11 */ "mmmmm........."
-
- // Level 4
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ "cccccccccccccc"
- /* 1 */ "jaaaaaaaaaaaad"
- /* 2 */ ".a..k.k.....ad"
- /* 3 */ ".a..........ad"
- /* 4 */ ".a.........lad"
- /* 5 */ ".a..........ad"
- /* 6 */ ".a..n.n.....ad"
- /* 7 */ "oaaaaaap...lad"
- /* 8 */ "eeeeeba.....ad"
- /* 9 */ "mmmmmba.....ad"
- /* 10 */ "mmmmmbaaaaaaad"
- /* 11 */ "mmmmmbq.....rd"
-
- // Level 5
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ ".............."
- /* 1 */ "ccccccccccccd."
- /* 2 */ "jaaaaaaaaaaad."
- /* 3 */ ".a.........ad."
- /* 4 */ ".a.........ad."
- /* 5 */ ".a.........ad."
- /* 6 */ "oaaaaaaa...ad."
- /* 7 */ "eeeeeeba...ad."
- /* 8 */ "......ba...ad."
- /* 9 */ "mmmmm.ba...ad."
- /* 10 */ "mmmmm.baaaaad."
- /* 11 */ "mmmmm.bq...rd."
-
- // Level 6
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ ".............."
- /* 1 */ ".............."
- /* 2 */ "cccccccccccc.."
- /* 3 */ "jaaaaaaaaaad.."
- /* 4 */ ".a........ad.."
- /* 5 */ "oaaaaaaaa.ad.."
- /* 6 */ "eeeeeeeea.ad.."
- /* 7 */ ".......ba.ad.."
- /* 8 */ ".......ba.ad.."
- /* 9 */ "mmmmm..ba.ad.."
- /* 10 */ "mmmmm..baaad.."
- /* 11 */ "mmmmm..bq.rd.."
-
- // Level 7
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ ".............."
- /* 1 */ ".............."
- /* 2 */ ".............."
- /* 3 */ "ccccccccccc..."
- /* 4 */ "aaaaaaaaaad..."
- /* 5 */ "eeeeeeeebad..."
- /* 6 */ "........bad..."
- /* 7 */ "........bad..."
- /* 8 */ "........bad..."
- /* 9 */ "mmmmm...bad..."
- /* 10 */ "mmmmm...bad..."
- /* 11 */ "mmmmm...bad...",
-
- // Connectors:
- "-1: 5, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // HouseL14x12
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // HouseL14x12:
- // The data has been exported from the gallery Desert, area index 7, ID 82, created by Aloe_vera
- {
- // Size:
- 14, 7, 12, // SizeX = 14, SizeY = 7, SizeZ = 12
-
- // Hitbox (relative to bounding box):
- -1, 0, 0, // MinX, MinY, MinZ
- 14, 6, 12, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 0\n" /* sandstonestairs */
- "c:128: 2\n" /* sandstonestairs */
- "d:128: 1\n" /* sandstonestairs */
- "e:128: 3\n" /* sandstonestairs */
- "f: 64: 7\n" /* wooddoorblock */
- "g: 64: 5\n" /* wooddoorblock */
- "h:102: 0\n" /* glasspane */
- "i: 64:12\n" /* wooddoorblock */
- "j:128: 7\n" /* sandstonestairs */
- "k: 50: 3\n" /* torch */
- "l: 50: 4\n" /* torch */
- "m: 19: 0\n" /* sponge */
- "n:128: 6\n" /* sandstonestairs */
- "o:128: 5\n" /* sandstonestairs */
- "p:128: 4\n" /* sandstonestairs */
- "q: 50: 1\n" /* torch */,
-
- // Block data:
- // Level 0
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ "mmmmmmmaaammmm"
- /* 1 */ "maaaaaaaaaaaam"
- /* 2 */ "maaaaaaaaaaaam"
- /* 3 */ "maaaaaaaaaaaam"
- /* 4 */ "maaaaaaaaaaaam"
- /* 5 */ "maaaaaaaaaaaam"
- /* 6 */ "mmmmaaamaaaaam"
- /* 7 */ "mmmmmmmmaaaaam"
- /* 8 */ "mmmmmmmmaaaaam"
- /* 9 */ "mmmmmmmmaaaaam"
- /* 10 */ "mmmmmmmmaaaaam"
- /* 11 */ "mmmmmmmmmmmmmm"
-
- // Level 1
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ ".......bcd...."
- /* 1 */ ".aaaaaaaaaaaa."
- /* 2 */ ".aaaaaaaaaaaa."
- /* 3 */ ".aaaaaaaaaaaa."
- /* 4 */ ".aaaaaaaaaaaa."
- /* 5 */ ".aaaaaaaaaaaa."
- /* 6 */ "....bed.aaaaa."
- /* 7 */ "........aaaaa."
- /* 8 */ "........aaaaa."
- /* 9 */ "........aaaaa."
- /* 10 */ "........aaaaa."
- /* 11 */ ".............."
-
- // Level 2
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ ".............."
- /* 1 */ ".aaaaaaafaaaa."
- /* 2 */ ".a..........a."
- /* 3 */ ".a..........a."
- /* 4 */ ".a..........a."
- /* 5 */ ".aaaagaaa...a."
- /* 6 */ "........a...a."
- /* 7 */ "........a...a."
- /* 8 */ "........a...a."
- /* 9 */ "........a...a."
- /* 10 */ "........aaaaa."
- /* 11 */ ".............."
-
- // Level 3
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ ".............."
- /* 1 */ ".ahhahhaiahha."
- /* 2 */ ".h..........h."
- /* 3 */ ".h..........h."
- /* 4 */ ".h..........a."
- /* 5 */ ".ahhaiahh...h."
- /* 6 */ "........h...h."
- /* 7 */ "........a...a."
- /* 8 */ "........h...h."
- /* 9 */ "........h...h."
- /* 10 */ "........ahhha."
- /* 11 */ ".............."
-
- // Level 4
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ "cccccccccccccc"
- /* 1 */ "jaaaaaaaaaaaad"
- /* 2 */ ".a.....k.k..ad"
- /* 3 */ ".a..........ad"
- /* 4 */ ".a..l.l.....ad"
- /* 5 */ "naaaaaaaa...ad"
- /* 6 */ "eeeeeeeba...ad"
- /* 7 */ ".......ba...ad"
- /* 8 */ ".......ba...ad"
- /* 9 */ ".......ba...ad"
- /* 10 */ ".......baaaaad"
- /* 11 */ ".......bo...pd"
-
- // Level 5
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ ".............."
- /* 1 */ "ccccccccccccc."
- /* 2 */ "jaaaaaaaaaaad."
- /* 3 */ ".aq........ad."
- /* 4 */ "naaaaaaaaa.ad."
- /* 5 */ "eeeeeeeeba.ad."
- /* 6 */ "........ba.ad."
- /* 7 */ "........ba.ad."
- /* 8 */ "........ba.ad."
- /* 9 */ "........balad."
- /* 10 */ "........baaad."
- /* 11 */ "........bo.pd."
-
- // Level 6
- /* z\x* 1111 */
- /* * 01234567890123 */
- /* 0 */ ".............."
- /* 1 */ ".............."
- /* 2 */ "cccccccccccc.."
- /* 3 */ "aaaaaaaaaaad.."
- /* 4 */ "eeeeeeeeebad.."
- /* 5 */ ".........bad.."
- /* 6 */ ".........bad.."
- /* 7 */ ".........bad.."
- /* 8 */ ".........bad.."
- /* 9 */ ".........bad.."
- /* 10 */ ".........bad.."
- /* 11 */ ".........bad..",
-
- // Connectors:
- "-1: 8, 1, 0: 2\n" /* Type -1, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // HouseL14x12
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // SingleField:
- // The data has been exported from the gallery Desert, area index 17, ID 127, created by Aloe_vera
- {
- // Size:
- 10, 3, 7, // SizeX = 10, SizeY = 3, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- 0, 0, -1, // MinX, MinY, MinZ
- 10, 2, 7, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b: 60: 7\n" /* tilleddirt */
- "c: 8: 0\n" /* water */
- "d: 50: 5\n" /* torch */
- "e: 59: 7\n" /* crops */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "aaaaaaaaaa"
- /* 1 */ "aaaaaaaaaa"
- /* 2 */ "aaaaaaaaaa"
- /* 3 */ "aaaaaaaaaa"
- /* 4 */ "aaaaaaaaaa"
- /* 5 */ "aaaaaaaaaa"
- /* 6 */ "aaaaaaaaaa"
-
- // Level 1
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "aaaaaaaaaa"
- /* 1 */ "abbbbbbbba"
- /* 2 */ "abbbbbbbba"
- /* 3 */ "acccccccca"
- /* 4 */ "abbbbbbbba"
- /* 5 */ "abbbbbbbba"
- /* 6 */ "aaaaaaaaaa"
-
- // Level 2
- /* z\x* */
- /* * 0123456789 */
- /* 0 */ "d........d"
- /* 1 */ ".eeeeeeee."
- /* 2 */ ".eeeeeeee."
- /* 3 */ ".........."
- /* 4 */ ".eeeeeeee."
- /* 5 */ ".eeeeeeee."
- /* 6 */ "d........d",
-
- // Connectors:
- "-1: 0, 1, 3: 4\n" /* Type -1, direction X- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // SingleField
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // SmallHut:
- // The data has been exported from the gallery Desert, area index 4, ID 68, created by tonibm1999
- {
- // Size:
- 5, 6, 6, // SizeX = 5, SizeY = 6, SizeZ = 6
-
- // Hitbox (relative to bounding box):
- -1, 0, -1, // MinX, MinY, MinZ
- 5, 5, 5, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 24: 0\n" /* sandstone */
- "b:128: 3\n" /* sandstonestairs */
- "c: 24: 2\n" /* sandstone */
- "d: 50: 5\n" /* torch */
- "e: 26:10\n" /* bedblock */
- "f: 26: 2\n" /* bedblock */
- "g: 64: 5\n" /* wooddoorblock */
- "h: 64:12\n" /* wooddoorblock */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 01234 */
- /* 0 */ "aaaaa"
- /* 1 */ "aaaaa"
- /* 2 */ "aaaaa"
- /* 3 */ "aaaaa"
- /* 4 */ "aaaaa"
- /* 5 */ "mmamm"
-
- // Level 1
- /* z\x* 01234 */
- /* 0 */ "aaaaa"
- /* 1 */ "aaaaa"
- /* 2 */ "aaaaa"
- /* 3 */ "aaaaa"
- /* 4 */ "aaaaa"
- /* 5 */ "..b.."
-
- // Level 2
- /* z\x* 01234 */
- /* 0 */ "accca"
- /* 1 */ "cdedc"
- /* 2 */ "c.f.c"
- /* 3 */ "c...c"
- /* 4 */ "acgca"
- /* 5 */ "....."
-
- // Level 3
- /* z\x* 01234 */
- /* 0 */ "ac.ca"
- /* 1 */ "c...c"
- /* 2 */ "....."
- /* 3 */ "c...c"
- /* 4 */ "achca"
- /* 5 */ "....."
-
- // Level 4
- /* z\x* 01234 */
- /* 0 */ "accca"
- /* 1 */ "c...c"
- /* 2 */ "c...c"
- /* 3 */ "c...c"
- /* 4 */ "accca"
- /* 5 */ "....."
-
- // Level 5
- /* z\x* 01234 */
- /* 0 */ ".aaa."
- /* 1 */ "aaaaa"
- /* 2 */ "aaaaa"
- /* 3 */ "aaaaa"
- /* 4 */ ".aaa."
- /* 5 */ ".....",
-
- // Connectors:
- "-1: 2, 1, 5: 3\n" /* Type -1, direction Z+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // SmallHut
-}; // g_SandVillagePrefabs
-
-
-
-
-
-
-const cPrefab::sDef g_SandVillageStartingPrefabs[] =
-{
- ////////////////////////////////////////////////////////////////////////////////
- // RoofedWell:
- // The data has been exported from the gallery Desert, area index 43, ID 274, created by Aloe_vera
- {
- // Size:
- 7, 14, 7, // SizeX = 7, SizeY = 14, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 6, 13, 6, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 1: 0\n" /* stone */
- "b: 24: 0\n" /* sandstone */
- "c: 8: 0\n" /* water */
- "d: 12: 0\n" /* sand */
- "e: 4: 0\n" /* cobblestone */
- "f: 13: 0\n" /* gravel */
- "g:118: 3\n" /* cauldronblock */
- "h: 85: 0\n" /* fence */
- "i:128: 2\n" /* sandstonestairs */
- "j:128: 7\n" /* sandstonestairs */
- "k:128: 4\n" /* sandstonestairs */
- "l:128: 5\n" /* sandstonestairs */
- "m: 19: 0\n" /* sponge */
- "n:128: 6\n" /* sandstonestairs */
- "o:128: 3\n" /* sandstonestairs */,
-
- // Block data:
- // Level 0
- /* z\x* 0123456 */
- /* 0 */ "aaaaaaa"
- /* 1 */ "aaaaaaa"
- /* 2 */ "aaaaaaa"
- /* 3 */ "aaaaaaa"
- /* 4 */ "aaaaaaa"
- /* 5 */ "aaaaaaa"
- /* 6 */ "aaaaaaa"
-
- // Level 1
- /* z\x* 0123456 */
- /* 0 */ "aaaaaaa"
- /* 1 */ "abbbbba"
- /* 2 */ "abcccba"
- /* 3 */ "abcccba"
- /* 4 */ "abcccba"
- /* 5 */ "abbbbba"
- /* 6 */ "aaaaaaa"
-
- // Level 2
- /* z\x* 0123456 */
- /* 0 */ "aaaaaaa"
- /* 1 */ "abbbbba"
- /* 2 */ "abcccba"
- /* 3 */ "abcccba"
- /* 4 */ "abcccba"
- /* 5 */ "abbbbba"
- /* 6 */ "aaaaaaa"
-
- // Level 3
- /* z\x* 0123456 */
- /* 0 */ "aaaaaaa"
- /* 1 */ "abbbbba"
- /* 2 */ "abcccba"
- /* 3 */ "abcccba"
- /* 4 */ "abcccba"
- /* 5 */ "abbbbba"
- /* 6 */ "aaaaaaa"
-
- // Level 4
- /* z\x* 0123456 */
- /* 0 */ "ddddddd"
- /* 1 */ "dbbbbbd"
- /* 2 */ "dbcccbd"
- /* 3 */ "dbcccbd"
- /* 4 */ "dbcccbd"
- /* 5 */ "dbbbbbd"
- /* 6 */ "ddddddd"
-
- // Level 5
- /* z\x* 0123456 */
- /* 0 */ "ddddddd"
- /* 1 */ "dbbbbbd"
- /* 2 */ "dbcccbd"
- /* 3 */ "dbcccbd"
- /* 4 */ "dbcccbd"
- /* 5 */ "dbbbbbd"
- /* 6 */ "ddddddd"
-
- // Level 6
- /* z\x* 0123456 */
- /* 0 */ "ddeeedd"
- /* 1 */ "dbbbbbd"
- /* 2 */ "ebcccbe"
- /* 3 */ "ebcccbe"
- /* 4 */ "ebcccbe"
- /* 5 */ "dbbbbbd"
- /* 6 */ "ddeeedd"
-
- // Level 7
- /* z\x* 0123456 */
- /* 0 */ "ddfffdd"
- /* 1 */ "dbbbbbd"
- /* 2 */ "fbcccbf"
- /* 3 */ "fbcccbf"
- /* 4 */ "fbcccbf"
- /* 5 */ "dbbbbbd"
- /* 6 */ "ddfffdd"
-
- // Level 8
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".bbbbb."
- /* 2 */ ".b...b."
- /* 3 */ ".b.g.b."
- /* 4 */ ".b...b."
- /* 5 */ ".bbbbb."
- /* 6 */ "......."
-
- // Level 9
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".h...h."
- /* 2 */ "......."
- /* 3 */ "...h..."
- /* 4 */ "......."
- /* 5 */ ".h...h."
- /* 6 */ "......."
-
- // Level 10
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ ".h...h."
- /* 2 */ "......."
- /* 3 */ "...h..."
- /* 4 */ "......."
- /* 5 */ ".h...h."
- /* 6 */ "......."
-
- // Level 11
- /* z\x* 0123456 */
- /* 0 */ "iiiiiii"
- /* 1 */ "jbjjjbj"
- /* 2 */ ".k...l."
- /* 3 */ ".k.h.l."
- /* 4 */ ".k...l."
- /* 5 */ "nbnnnbn"
- /* 6 */ "ooooooo"
-
- // Level 12
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "iiiiiii"
- /* 2 */ "jb...bj"
- /* 3 */ ".b.h.b."
- /* 4 */ "nb...bn"
- /* 5 */ "ooooooo"
- /* 6 */ "......."
-
- // Level 13
- /* z\x* 0123456 */
- /* 0 */ "......."
- /* 1 */ "......."
- /* 2 */ "iiiiiii"
- /* 3 */ "bbbbbbb"
- /* 4 */ "ooooooo"
- /* 5 */ "......."
- /* 6 */ ".......",
-
- // Connectors:
- "2: 6, 8, 3: 5\n" /* Type 2, direction X+ */
- "2: 3, 8, 6: 3\n" /* Type 2, direction Z+ */
- "2: 0, 8, 3: 4\n" /* Type 2, direction X- */
- "2: 3, 8, 0: 2\n" /* Type 2, direction Z- */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // RoofedWell
-
-
-
- ////////////////////////////////////////////////////////////////////////////////
- // Well:
- // The data has been exported from the gallery Desert, area index 0, ID 1, created by Aloe_vera
- {
- // Size:
- 4, 13, 4, // SizeX = 4, SizeY = 13, SizeZ = 4
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 3, 12, 3, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* air */
- "a: 1: 0\n" /* stone */
- "b: 24: 0\n" /* sandstone */
- "c: 8: 0\n" /* water */
- "d: 85: 0\n" /* fence */
- "m: 19: 0\n" /* sponge */,
-
- // Block data:
- // Level 0
- /* z\x* 0123 */
- /* 0 */ "aaaa"
- /* 1 */ "aaaa"
- /* 2 */ "aaaa"
- /* 3 */ "aaaa"
-
- // Level 1
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "bccb"
- /* 2 */ "bccb"
- /* 3 */ "bbbb"
-
- // Level 2
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "bccb"
- /* 2 */ "bccb"
- /* 3 */ "bbbb"
-
- // Level 3
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "bccb"
- /* 2 */ "bccb"
- /* 3 */ "bbbb"
-
- // Level 4
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "bccb"
- /* 2 */ "bccb"
- /* 3 */ "bbbb"
-
- // Level 5
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "bccb"
- /* 2 */ "bccb"
- /* 3 */ "bbbb"
-
- // Level 6
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "bccb"
- /* 2 */ "bccb"
- /* 3 */ "bbbb"
-
- // Level 7
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "bccb"
- /* 2 */ "bccb"
- /* 3 */ "bbbb"
-
- // Level 8
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "b..b"
- /* 2 */ "b..b"
- /* 3 */ "bbbb"
-
- // Level 9
- /* z\x* 0123 */
- /* 0 */ "d..d"
- /* 1 */ "...."
- /* 2 */ "...."
- /* 3 */ "d..d"
-
- // Level 10
- /* z\x* 0123 */
- /* 0 */ "d..d"
- /* 1 */ "...."
- /* 2 */ "...."
- /* 3 */ "d..d"
-
- // Level 11
- /* z\x* 0123 */
- /* 0 */ "d..d"
- /* 1 */ "...."
- /* 2 */ "...."
- /* 3 */ "d..d"
-
- // Level 12
- /* z\x* 0123 */
- /* 0 */ "bbbb"
- /* 1 */ "bbbb"
- /* 2 */ "bbbb"
- /* 3 */ "bbbb",
-
- // Connectors:
- "2: 2, 8, 0: 2\n" /* Type 2, direction Z- */
- "2: 0, 8, 1: 4\n" /* Type 2, direction X- */
- "2: 1, 8, 3: 3\n" /* Type 2, direction Z+ */
- "2: 3, 8, 2: 5\n" /* Type 2, direction X+ */,
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotation allowed */
-
- // Merge strategy:
- cBlockArea::msSpongePrint,
-
- // ShouldExtendFloor:
- true,
-
- // DefaultWeight:
- 100,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 0,
-
- // MoveToGround:
- true,
- }, // Well
-};
-
-
-
-
-
-// The prefab counts:
-
-const size_t g_SandVillagePrefabsCount = ARRAYCOUNT(g_SandVillagePrefabs);
-
-const size_t g_SandVillageStartingPrefabsCount = ARRAYCOUNT(g_SandVillageStartingPrefabs);
-
diff --git a/src/Generating/Prefabs/SandVillagePrefabs.h b/src/Generating/Prefabs/SandVillagePrefabs.h
deleted file mode 100644
index 7b00db56f..000000000
--- a/src/Generating/Prefabs/SandVillagePrefabs.h
+++ /dev/null
@@ -1,15 +0,0 @@
-
-// SandVillagePrefabs.h
-
-// Declares the prefabs in the group SandVillage
-
-#include "../Prefab.h"
-
-
-
-
-
-extern const cPrefab::sDef g_SandVillagePrefabs[];
-extern const cPrefab::sDef g_SandVillageStartingPrefabs[];
-extern const size_t g_SandVillagePrefabsCount;
-extern const size_t g_SandVillageStartingPrefabsCount;
diff --git a/src/Generating/Prefabs/UnderwaterBasePrefabs.cpp b/src/Generating/Prefabs/UnderwaterBasePrefabs.cpp
index 1655f50b9..112531641 100644
--- a/src/Generating/Prefabs/UnderwaterBasePrefabs.cpp
+++ b/src/Generating/Prefabs/UnderwaterBasePrefabs.cpp
@@ -32,9 +32,9 @@ const cPrefab::sDef g_UnderwaterBasePrefabs[] =
"b: 20: 0\n" /* glass */
"c: 5: 5\n" /* wood */
"d: 8: 0\n" /* water */
- "e: 64: 4\n" /* wooddoorblock */
- "f: 64:12\n" /* wooddoorblock */
- "g: 64:13\n" /* wooddoorblock */
+ "e: 64: 0\n" /* wooddoorblock */
+ "f: 64: 8\n" /* wooddoorblock */
+ "g: 64: 9\n" /* wooddoorblock */
"m: 19: 0\n" /* sponge */,
// Block data:
@@ -280,18 +280,16 @@ const cPrefab::sDef g_UnderwaterBasePrefabs[] =
".: 0: 0\n" /* air */
"a: 5: 5\n" /* wood */
"b: 5: 0\n" /* wood */
- "c: 64: 5\n" /* wooddoorblock */
- "d: 64: 2\n" /* wooddoorblock */
- "e: 64: 4\n" /* wooddoorblock */
- "f: 64: 1\n" /* wooddoorblock */
- "g: 20: 0\n" /* glass */
- "h: 64:12\n" /* wooddoorblock */
- "i: 76: 3\n" /* redstonetorchon */
- "j: 64: 8\n" /* wooddoorblock */
- "k: 76: 4\n" /* redstonetorchon */
- "l: 76: 2\n" /* redstonetorchon */
- "m: 19: 0\n" /* sponge */
- "n: 76: 1\n" /* redstonetorchon */,
+ "c: 64: 2\n" /* wooddoorblock */
+ "d: 64: 1\n" /* wooddoorblock */
+ "e: 20: 0\n" /* glass */
+ "f: 64: 9\n" /* wooddoorblock */
+ "g: 76: 3\n" /* redstonetorchon */
+ "h: 64: 8\n" /* wooddoorblock */
+ "i: 76: 4\n" /* redstonetorchon */
+ "j: 76: 2\n" /* redstonetorchon */
+ "k: 76: 1\n" /* redstonetorchon */
+ "m: 19: 0\n" /* sponge */,
// Block data:
// Level 0
@@ -313,28 +311,28 @@ const cPrefab::sDef g_UnderwaterBasePrefabs[] =
/* * 0123456789 */
/* 0 */ "abbbbbmmmm"
/* 1 */ "c.....bbmm"
- /* 2 */ "d.......bm"
+ /* 2 */ "c.......bm"
/* 3 */ "abb.....bm"
/* 4 */ "mmmbb....b"
/* 5 */ "mmmmmb...b"
/* 6 */ "mmmmmb...b"
/* 7 */ "mmmmmmb..b"
/* 8 */ "mmmmmmb..b"
- /* 9 */ "mmmmmmaefa"
+ /* 9 */ "mmmmmmadda"
// Level 2
/* z\x* */
/* * 0123456789 */
- /* 0 */ "abggbbmmmm"
- /* 1 */ "h...i.bbmm"
- /* 2 */ "j.......bm"
- /* 3 */ "abbk....bm"
+ /* 0 */ "abeebbmmmm"
+ /* 1 */ "f...g.bbmm"
+ /* 2 */ "h.......bm"
+ /* 3 */ "abbi....bm"
/* 4 */ "mmmbb....b"
- /* 5 */ "mmmmmb..lb"
- /* 6 */ "mmmmmbn..g"
- /* 7 */ "mmmmmmb..g"
+ /* 5 */ "mmmmmb..jb"
+ /* 6 */ "mmmmmbk..e"
+ /* 7 */ "mmmmmmb..e"
/* 8 */ "mmmmmmb..b"
- /* 9 */ "mmmmmmahja"
+ /* 9 */ "mmmmmmafha"
// Level 3
/* z\x* */
@@ -396,20 +394,17 @@ const cPrefab::sDef g_UnderwaterBasePrefabs[] =
"a: 5: 5\n" /* wood */
"b: 5: 0\n" /* wood */
"c: 64: 3\n" /* wooddoorblock */
- "d: 64: 6\n" /* wooddoorblock */
- "e: 64: 5\n" /* wooddoorblock */
- "f: 64: 0\n" /* wooddoorblock */
- "g: 64: 2\n" /* wooddoorblock */
- "h: 64: 1\n" /* wooddoorblock */
- "i: 64: 8\n" /* wooddoorblock */
- "j: 64:12\n" /* wooddoorblock */
- "k: 20: 0\n" /* glass */
- "l: 76: 1\n" /* redstonetorchon */
+ "d: 64: 2\n" /* wooddoorblock */
+ "e: 64: 0\n" /* wooddoorblock */
+ "f: 64: 1\n" /* wooddoorblock */
+ "g: 64: 8\n" /* wooddoorblock */
+ "h: 64: 9\n" /* wooddoorblock */
+ "i: 20: 0\n" /* glass */
+ "j: 76: 1\n" /* redstonetorchon */
+ "k: 76: 2\n" /* redstonetorchon */
+ "l: 76: 3\n" /* redstonetorchon */
"m: 19: 0\n" /* sponge */
- "n: 76: 2\n" /* redstonetorchon */
- "o: 76: 3\n" /* redstonetorchon */
- "p: 76: 4\n" /* redstonetorchon */
- "q: 64: 9\n" /* wooddoorblock */,
+ "n: 76: 4\n" /* redstonetorchon */,
// Block data:
// Level 0
@@ -435,42 +430,42 @@ const cPrefab::sDef g_UnderwaterBasePrefabs[] =
// Level 1
/* z\x* 111111 */
/* * 0123456789012345 */
- /* 0 */ "mmmmmmacdammmmmm"
+ /* 0 */ "mmmmmmaccammmmmm"
/* 1 */ "mmmmmmb..bmmmmmm"
/* 2 */ "mmmmmmb..bmmmmmm"
/* 3 */ "mmmmmmb..bmmmmmm"
/* 4 */ "mmmmmmb..bmmmmmm"
/* 5 */ "mmmmmmb..bmmmmmm"
/* 6 */ "abbbbbb..bbbbbba"
- /* 7 */ "e..............f"
- /* 8 */ "g..............f"
+ /* 7 */ "d..............e"
+ /* 8 */ "d..............e"
/* 9 */ "abbbbbb..bbbbbba"
/* 10 */ "mmmmmmb..bmmmmmm"
/* 11 */ "mmmmmmb..bmmmmmm"
/* 12 */ "mmmmmmb..bmmmmmm"
/* 13 */ "mmmmmmb..bmmmmmm"
/* 14 */ "mmmmmmb..bmmmmmm"
- /* 15 */ "mmmmmmahhammmmmm"
+ /* 15 */ "mmmmmmaffammmmmm"
// Level 2
/* z\x* 111111 */
/* * 0123456789012345 */
- /* 0 */ "mmmmmmaijammmmmm"
+ /* 0 */ "mmmmmmaghammmmmm"
/* 1 */ "mmmmmmb..bmmmmmm"
- /* 2 */ "mmmmmmk..kmmmmmm"
- /* 3 */ "mmmmmmk..kmmmmmm"
- /* 4 */ "mmmmmmblnbmmmmmm"
+ /* 2 */ "mmmmmmi..immmmmm"
+ /* 3 */ "mmmmmmi..immmmmm"
+ /* 4 */ "mmmmmmbjkbmmmmmm"
/* 5 */ "mmmmmmb..bmmmmmm"
- /* 6 */ "abkkbbb..bbbkkba"
- /* 7 */ "j...o......o...i"
- /* 8 */ "i...p......p...q"
- /* 9 */ "abkkbbb..bbbkkba"
+ /* 6 */ "abiibbb..bbbiiba"
+ /* 7 */ "h...l......l...g"
+ /* 8 */ "g...n......n...h"
+ /* 9 */ "abiibbb..bbbiiba"
/* 10 */ "mmmmmmb..bmmmmmm"
- /* 11 */ "mmmmmmblnbmmmmmm"
- /* 12 */ "mmmmmmk..kmmmmmm"
- /* 13 */ "mmmmmmk..kmmmmmm"
+ /* 11 */ "mmmmmmbjkbmmmmmm"
+ /* 12 */ "mmmmmmi..immmmmm"
+ /* 13 */ "mmmmmmi..immmmmm"
/* 14 */ "mmmmmmb..bmmmmmm"
- /* 15 */ "mmmmmmaqiammmmmm"
+ /* 15 */ "mmmmmmahgammmmmm"
// Level 3
/* z\x* 111111 */
@@ -549,8 +544,6 @@ const cPrefab::sDef g_UnderwaterBasePrefabs[] =
"h: 64: 8\n" /* wooddoorblock */
"i: 76: 4\n" /* redstonetorchon */
"j: 64: 0\n" /* wooddoorblock */
- "k: 64: 7\n" /* wooddoorblock */
- "l: 64:12\n" /* wooddoorblock */
"m: 19: 0\n" /* sponge */,
// Block data:
@@ -607,7 +600,7 @@ const cPrefab::sDef g_UnderwaterBasePrefabs[] =
/* * 0123456789012345 */
/* 0 */ "mmmmmmmbbbbbbbba"
/* 1 */ "mmmmmmmb.......j"
- /* 2 */ "mmmmmmmb.......k"
+ /* 2 */ "mmmmmmmb.......j"
/* 3 */ "mmmmmmmbbbbbbbba"
// Level 7
@@ -615,7 +608,7 @@ const cPrefab::sDef g_UnderwaterBasePrefabs[] =
/* * 0123456789012345 */
/* 0 */ "mmmmmmmmbbbeebba"
/* 1 */ "mmmmmmmmb.g....h"
- /* 2 */ "mmmmmmmmb.i....l"
+ /* 2 */ "mmmmmmmmb.i....f"
/* 3 */ "mmmmmmmmbbbeebba"
// Level 8
@@ -672,19 +665,16 @@ const cPrefab::sDef g_UnderwaterBasePrefabs[] =
"a: 5: 5\n" /* wood */
"b: 5: 0\n" /* wood */
"c: 64: 3\n" /* wooddoorblock */
- "d: 64: 6\n" /* wooddoorblock */
- "e: 64: 5\n" /* wooddoorblock */
- "f: 64: 0\n" /* wooddoorblock */
- "g: 64: 2\n" /* wooddoorblock */
- "h: 64: 8\n" /* wooddoorblock */
- "i: 64:12\n" /* wooddoorblock */
- "j: 20: 0\n" /* glass */
- "k: 76: 1\n" /* redstonetorchon */
- "l: 76: 2\n" /* redstonetorchon */
- "m: 19: 0\n" /* sponge */
- "n: 76: 3\n" /* redstonetorchon */
- "o: 76: 4\n" /* redstonetorchon */
- "p: 64: 9\n" /* wooddoorblock */,
+ "d: 64: 2\n" /* wooddoorblock */
+ "e: 64: 0\n" /* wooddoorblock */
+ "f: 64: 8\n" /* wooddoorblock */
+ "g: 64: 9\n" /* wooddoorblock */
+ "h: 20: 0\n" /* glass */
+ "i: 76: 1\n" /* redstonetorchon */
+ "j: 76: 2\n" /* redstonetorchon */
+ "k: 76: 3\n" /* redstonetorchon */
+ "l: 76: 4\n" /* redstonetorchon */
+ "m: 19: 0\n" /* sponge */,
// Block data:
// Level 0
@@ -704,30 +694,30 @@ const cPrefab::sDef g_UnderwaterBasePrefabs[] =
// Level 1
/* z\x* 111111 */
/* * 0123456789012345 */
- /* 0 */ "mmmmmmacdammmmmm"
+ /* 0 */ "mmmmmmaccammmmmm"
/* 1 */ "mmmmmmb..bmmmmmm"
/* 2 */ "mmmmmmb..bmmmmmm"
/* 3 */ "mmmmmmb..bmmmmmm"
/* 4 */ "mmmmmmb..bmmmmmm"
/* 5 */ "mmmmmmb..bmmmmmm"
/* 6 */ "abbbbbb..bbbbbba"
- /* 7 */ "e..............f"
- /* 8 */ "g..............f"
+ /* 7 */ "d..............e"
+ /* 8 */ "d..............e"
/* 9 */ "abbbbbbbbbbbbbba"
// Level 2
/* z\x* 111111 */
/* * 0123456789012345 */
- /* 0 */ "mmmmmmahiammmmmm"
+ /* 0 */ "mmmmmmafgammmmmm"
/* 1 */ "mmmmmmb..bmmmmmm"
- /* 2 */ "mmmmmmj..jmmmmmm"
- /* 3 */ "mmmmmmj..jmmmmmm"
- /* 4 */ "mmmmmmbklbmmmmmm"
+ /* 2 */ "mmmmmmh..hmmmmmm"
+ /* 3 */ "mmmmmmh..hmmmmmm"
+ /* 4 */ "mmmmmmbijbmmmmmm"
/* 5 */ "mmmmmmb..bmmmmmm"
- /* 6 */ "abjjbbb..bbbjjba"
- /* 7 */ "i...n......n...h"
- /* 8 */ "h...o......o...p"
- /* 9 */ "abjjbbbjjbbbjjba"
+ /* 6 */ "abhhbbb..bbbhhba"
+ /* 7 */ "g...k......k...f"
+ /* 8 */ "f...l......l...g"
+ /* 9 */ "abhhbbbhhbbbhhba"
// Level 3
/* z\x* 111111 */
@@ -974,14 +964,12 @@ const cPrefab::sDef g_UnderwaterBasePrefabs[] =
"a: 5: 0\n" /* wood */
"b: 5: 5\n" /* wood */
"c: 20: 0\n" /* glass */
- "d: 64: 5\n" /* wooddoorblock */
+ "d: 64: 2\n" /* wooddoorblock */
"e: 64: 0\n" /* wooddoorblock */
- "f: 64: 2\n" /* wooddoorblock */
- "g: 76: 3\n" /* redstonetorchon */
- "h: 64:12\n" /* wooddoorblock */
- "i: 64: 8\n" /* wooddoorblock */
- "j: 64: 9\n" /* wooddoorblock */
- "k: 76: 4\n" /* redstonetorchon */
+ "f: 76: 3\n" /* redstonetorchon */
+ "g: 64: 9\n" /* wooddoorblock */
+ "h: 64: 8\n" /* wooddoorblock */
+ "i: 76: 4\n" /* redstonetorchon */
"m: 19: 0\n" /* sponge */,
// Block data:
@@ -1001,7 +989,7 @@ const cPrefab::sDef g_UnderwaterBasePrefabs[] =
/* 0 */ "mmaccccccccccamm"
/* 1 */ "ba............ab"
/* 2 */ "d..............e"
- /* 3 */ "f..............e"
+ /* 3 */ "d..............e"
/* 4 */ "ba............ab"
/* 5 */ "mmaccccccccccamm"
@@ -1009,10 +997,10 @@ const cPrefab::sDef g_UnderwaterBasePrefabs[] =
/* z\x* 111111 */
/* * 0123456789012345 */
/* 0 */ "mmaccccccccccamm"
- /* 1 */ "bag..........gab"
- /* 2 */ "h..............i"
- /* 3 */ "i..............j"
- /* 4 */ "bak..........kab"
+ /* 1 */ "baf..........fab"
+ /* 2 */ "g..............h"
+ /* 3 */ "h..............g"
+ /* 4 */ "bai..........iab"
/* 5 */ "mmaccccccccccamm"
// Level 3
@@ -1673,7 +1661,8 @@ const cPrefab::sDef g_UnderwaterBasePrefabs[] =
"j: 76: 4\n" /* redstonetorchon */
"k: 64: 1\n" /* wooddoorblock */
"l: 64: 8\n" /* wooddoorblock */
- "m: 19: 0\n" /* sponge */,
+ "m: 19: 0\n" /* sponge */
+ "n: 64: 9\n" /* wooddoorblock */,
// Block data:
// Level 0
@@ -1721,7 +1710,7 @@ const cPrefab::sDef g_UnderwaterBasePrefabs[] =
// Level 2
/* z\x* 1111 */
/* * 01234567890123 */
- /* 0 */ "mmmmallammmmmm"
+ /* 0 */ "mmmmalnammmmmm"
/* 1 */ "mmmmb..bmmmmmm"
/* 2 */ "mmmmc..cmmmmmm"
/* 3 */ "mmmcc..ccmmmmm"
@@ -1729,14 +1718,14 @@ const cPrefab::sDef g_UnderwaterBasePrefabs[] =
/* 5 */ "mcc......ccmmm"
/* 6 */ "mc........ccba"
/* 7 */ "c............l"
- /* 8 */ "c............l"
+ /* 8 */ "c............n"
/* 9 */ "mc........ccba"
/* 10 */ "mcc......ccmmm"
/* 11 */ "mmcc....ccmmmm"
/* 12 */ "mmmcc..ccmmmmm"
/* 13 */ "mmmmc..cmmmmmm"
/* 14 */ "mmmmb..bmmmmmm"
- /* 15 */ "mmmmallammmmmm"
+ /* 15 */ "mmmmanlammmmmm"
/* 16 */ "dddddddddddddd"
// Level 3
diff --git a/src/Generating/ProtIntGen.h b/src/Generating/ProtIntGen.h
index 9e471e8bb..c0c7102d2 100644
--- a/src/Generating/ProtIntGen.h
+++ b/src/Generating/ProtIntGen.h
@@ -47,7 +47,7 @@ public:
virtual ~cProtIntGen() {}
/** Generates the array of specified size into a_Values, based on given min coords. */
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) = 0;
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) = 0;
};
@@ -109,14 +109,14 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- int BaseZ = a_MinZ + z;
- for (int x = 0; x < a_SizeX; x++)
+ int BaseZ = a_MinZ + static_cast<int>(z);
+ for (size_t x = 0; x < a_SizeX; x++)
{
- a_Values[x + a_SizeX * z] = (super::m_Noise.IntNoise2DInt(a_MinX + x, BaseZ) / 7) % m_Range;
+ a_Values[x + a_SizeX * z] = (super::m_Noise.IntNoise2DInt(a_MinX + static_cast<int>(x), BaseZ) / 7) % m_Range;
}
} // for z
}
@@ -146,22 +146,22 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- int BaseZ = a_MinZ + z;
- for (int x = 0; x < a_SizeX; x++)
+ int BaseZ = a_MinZ + static_cast<int>(z);
+ for (size_t x = 0; x < a_SizeX; x++)
{
- int rnd = (super::m_Noise.IntNoise2DInt(a_MinX + x, BaseZ) / 7);
+ int rnd = (super::m_Noise.IntNoise2DInt(a_MinX + static_cast<int>(x), BaseZ) / 7);
a_Values[x + a_SizeX * z] = ((rnd % 100) < m_Threshold) ? ((rnd / 101) % bgLandOceanMax + 1) : 0;
}
}
// If the centerpoint of the world is within the area, set it to bgTemperate, always:
- if ((a_MinX <= 0) && (a_MinZ <= 0) && (a_MinX + a_SizeX > 0) && (a_MinZ + a_SizeZ > 0))
+ if ((a_MinX <= 0) && (a_MinZ <= 0) && (a_MinX + static_cast<int>(a_SizeX) > 0) && (a_MinZ + static_cast<int>(a_SizeZ) > 0))
{
- a_Values[-a_MinX - a_MinZ * a_SizeX] = bgTemperate;
+ a_Values[static_cast<size_t>(-a_MinX) - static_cast<size_t>(a_MinZ) * a_SizeX] = bgTemperate;
}
}
@@ -189,13 +189,13 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Get the coords for the lower generator:
int lowerMinX = a_MinX >> 1;
int lowerMinZ = a_MinZ >> 1;
- int lowerSizeX = a_SizeX / 2 + 2;
- int lowerSizeZ = a_SizeZ / 2 + 2;
+ size_t lowerSizeX = a_SizeX / 2 + 2;
+ size_t lowerSizeZ = a_SizeZ / 2 + 2;
ASSERT(lowerSizeX * lowerSizeZ <= m_BufferSize);
ASSERT(lowerSizeX > 0);
ASSERT(lowerSizeZ > 0);
@@ -203,22 +203,22 @@ public:
// Generate the underlying data with half the resolution:
int lowerData[m_BufferSize];
m_UnderlyingGen->GetInts(lowerMinX, lowerMinZ, lowerSizeX, lowerSizeZ, lowerData);
- const int lowStepX = (lowerSizeX - 1) * 2;
+ const size_t lowStepX = (lowerSizeX - 1) * 2;
int cache[m_BufferSize];
// Discreet-interpolate the values into twice the size:
- for (int z = 0; z < lowerSizeZ - 1; ++z)
+ for (size_t z = 0; z < lowerSizeZ - 1; ++z)
{
- int idx = (z * 2) * lowStepX;
+ size_t idx = (z * 2) * lowStepX;
int PrevZ0 = lowerData[z * lowerSizeX];
int PrevZ1 = lowerData[(z + 1) * lowerSizeX];
- for (int x = 0; x < lowerSizeX - 1; ++x)
+ for (size_t x = 0; x < lowerSizeX - 1; ++x)
{
int ValX1Z0 = lowerData[x + 1 + z * lowerSizeX];
int ValX1Z1 = lowerData[x + 1 + (z + 1) * lowerSizeX];
- int RndX = (x + lowerMinX) * 2;
- int RndZ = (z + lowerMinZ) * 2;
+ int RndX = (static_cast<int>(x) + lowerMinX) * 2;
+ int RndZ = (static_cast<int>(z) + lowerMinZ) * 2;
cache[idx] = PrevZ0;
cache[idx + lowStepX] = super::chooseRandomOne(RndX, RndZ + 1, PrevZ0, PrevZ1);
cache[idx + 1] = super::chooseRandomOne(RndX, RndZ - 1, PrevZ0, ValX1Z0);
@@ -230,7 +230,7 @@ public:
}
// Copy from Cache into a_Values; take into account the even / odd offsets in a_Min:
- for (int z = 0; z < a_SizeZ; ++z)
+ for (size_t z = 0; z < a_SizeZ; ++z)
{
memcpy(a_Values + z * a_SizeX, cache + (z + (a_MinZ & 1)) * lowStepX + (a_MinX & 1), a_SizeX * sizeof(int));
}
@@ -259,21 +259,21 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Generate the underlying values:
- int lowerSizeX = a_SizeX + 2;
- int lowerSizeZ = a_SizeZ + 2;
+ size_t lowerSizeX = a_SizeX + 2;
+ size_t lowerSizeZ = a_SizeZ + 2;
ASSERT(lowerSizeX * lowerSizeZ <= m_BufferSize);
int lowerData[m_BufferSize];
m_Underlying->GetInts(a_MinX - 1, a_MinZ - 1, lowerSizeX, lowerSizeZ, lowerData);
// Smooth - for each square check if the surroundings are the same, if so, expand them diagonally.
// Also get rid of single-pixel irregularities (A-B-A):
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- int NoiseZ = a_MinZ + z;
- for (int x = 0; x < a_SizeX; x++)
+ int NoiseZ = a_MinZ + static_cast<int>(z);
+ for (size_t x = 0; x < a_SizeX; x++)
{
int val = lowerData[x + 1 + (z + 1) * lowerSizeX];
int above = lowerData[x + 1 + z * lowerSizeX];
@@ -283,7 +283,7 @@ public:
if ((left == right) && (above == below))
{
- if (((super::m_Noise.IntNoise2DInt(a_MinX + x, NoiseZ) / 7) % 2) == 0)
+ if (((super::m_Noise.IntNoise2DInt(a_MinX + static_cast<int>(x), NoiseZ) / 7) % 2) == 0)
{
val = left;
}
@@ -331,21 +331,21 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Generate the underlying values:
- int lowerSizeX = a_SizeX + 1;
- int lowerSizeZ = a_SizeZ + 1;
+ size_t lowerSizeX = a_SizeX + 1;
+ size_t lowerSizeZ = a_SizeZ + 1;
ASSERT(lowerSizeX * lowerSizeZ <= m_BufferSize);
int lowerData[m_BufferSize];
m_Underlying->GetInts(a_MinX, a_MinZ, lowerSizeX, lowerSizeZ, lowerData);
// Average - add all 4 "neighbors" and divide by 4:
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- for (int x = 0; x < a_SizeX; x++)
+ for (size_t x = 0; x < a_SizeX; x++)
{
- int idxLower = x + lowerSizeX * z;
+ size_t idxLower = x + lowerSizeX * z;
a_Values[x + a_SizeX * z] = (
lowerData[idxLower] + lowerData[idxLower + 1] +
lowerData[idxLower + lowerSizeX] + lowerData[idxLower + lowerSizeX + 1]
@@ -375,24 +375,24 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Generate the underlying values:
- int lowerSizeX = a_SizeX + 4;
- int lowerSizeZ = a_SizeZ + 4;
+ size_t lowerSizeX = a_SizeX + 4;
+ size_t lowerSizeZ = a_SizeZ + 4;
ASSERT(lowerSizeX * lowerSizeZ <= m_BufferSize);
int lowerData[m_BufferSize];
m_Underlying->GetInts(a_MinX - 1, a_MinZ - 1, lowerSizeX, lowerSizeZ, lowerData);
// Calculate the weighted average of all 16 "neighbors":
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- for (int x = 0; x < a_SizeX; x++)
+ for (size_t x = 0; x < a_SizeX; x++)
{
- int idxLower1 = x + lowerSizeX * z;
- int idxLower2 = idxLower1 + lowerSizeX;
- int idxLower3 = idxLower1 + 2 * lowerSizeX;
- int idxLower4 = idxLower1 + 3 * lowerSizeX;
+ size_t idxLower1 = x + lowerSizeX * z;
+ size_t idxLower2 = idxLower1 + lowerSizeX;
+ size_t idxLower3 = idxLower1 + 2 * lowerSizeX;
+ size_t idxLower4 = idxLower1 + 3 * lowerSizeX;
a_Values[x + a_SizeX * z] = (
1 * lowerData[idxLower1] + 2 * lowerData[idxLower1 + 1] + 2 * lowerData[idxLower1 + 2] + 1 * lowerData[idxLower1 + 3] +
2 * lowerData[idxLower2] + 32 * lowerData[idxLower2 + 1] + 32 * lowerData[idxLower2 + 2] + 2 * lowerData[idxLower2 + 3] +
@@ -425,23 +425,23 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Generate the underlying values:
- int lowerSizeX = a_SizeX + 3;
- int lowerSizeZ = a_SizeZ + 3;
+ size_t lowerSizeX = a_SizeX + 3;
+ size_t lowerSizeZ = a_SizeZ + 3;
ASSERT(lowerSizeX * lowerSizeZ <= m_BufferSize);
int lowerData[m_BufferSize];
m_Underlying->GetInts(a_MinX, a_MinZ, lowerSizeX, lowerSizeZ, lowerData);
// Calculate the weighted average the neighbors:
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- for (int x = 0; x < a_SizeX; x++)
+ for (size_t x = 0; x < a_SizeX; x++)
{
- int idxLower1 = x + lowerSizeX * z;
- int idxLower2 = idxLower1 + lowerSizeX;
- int idxLower3 = idxLower1 + 2 * lowerSizeX;
+ size_t idxLower1 = x + lowerSizeX * z;
+ size_t idxLower2 = idxLower1 + lowerSizeX;
+ size_t idxLower3 = idxLower1 + 2 * lowerSizeX;
a_Values[x + a_SizeX * z] = (
WeightDiagonal * lowerData[idxLower1] + WeightCardinal * lowerData[idxLower1 + 1] + WeightDiagonal * lowerData[idxLower1 + 2] +
WeightCardinal * lowerData[idxLower2] + WeightCenter * lowerData[idxLower2 + 1] + WeightCardinal * lowerData[idxLower2 + 2] +
@@ -476,20 +476,20 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Generate the underlying values:
m_Underlying->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, a_Values);
// Replace random values:
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- int BaseZ = a_MinZ + z;
- for (int x = 0; x < a_SizeX; x++)
+ int BaseZ = a_MinZ + static_cast<int>(z);
+ for (size_t x = 0; x < a_SizeX; x++)
{
- if (((super::m_Noise.IntNoise2DInt(BaseZ, a_MinX + x) / 13) % 101) < m_ChancePct)
+ if (((super::m_Noise.IntNoise2DInt(BaseZ, a_MinX + static_cast<int>(x)) / 13) % 101) < m_ChancePct)
{
- a_Values[x + a_SizeX * z] = m_Min + (super::m_Noise.IntNoise2DInt(a_MinX + x, BaseZ) / 7) % m_Range;
+ a_Values[x + a_SizeX * z] = m_Min + (super::m_Noise.IntNoise2DInt(a_MinX + static_cast<int>(x), BaseZ) / 7) % m_Range;
}
} // for x
} // for z
@@ -522,18 +522,18 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Generate the underlying values:
m_Underlying->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, a_Values);
// Add the random values:
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- int NoiseZ = a_MinZ + z;
- for (int x = 0; x < a_SizeX; x++)
+ int NoiseZ = a_MinZ + static_cast<int>(z);
+ for (size_t x = 0; x < a_SizeX; x++)
{
- int noiseVal = ((super::m_Noise.IntNoise2DInt(a_MinX + x, NoiseZ) / 7) % m_Range) - m_HalfRange;
+ int noiseVal = ((super::m_Noise.IntNoise2DInt(a_MinX + static_cast<int>(x), NoiseZ) / 7) % m_Range) - m_HalfRange;
a_Values[x + z * a_SizeX] += noiseVal;
}
}
@@ -564,23 +564,23 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Generate the underlying values:
- int lowerSizeX = a_SizeX + 2;
- int lowerSizeZ = a_SizeZ + 2;
+ size_t lowerSizeX = a_SizeX + 2;
+ size_t lowerSizeZ = a_SizeZ + 2;
ASSERT(lowerSizeX * lowerSizeZ <= m_BufferSize);
int lowerData[m_BufferSize];
m_Underlying->GetInts(a_MinX - 1, a_MinZ - 1, lowerSizeX, lowerSizeZ, lowerData);
// Average random values:
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- int NoiseZ = a_MinZ + z;
- for (int x = 0; x < a_SizeX; x++)
+ int NoiseZ = a_MinZ + static_cast<int>(z);
+ for (size_t x = 0; x < a_SizeX; x++)
{
- int idxLower = x + 1 + lowerSizeX * (z + 1);
- if (((super::m_Noise.IntNoise2DInt(a_MinX + x, NoiseZ) / 7) % 100) > m_AvgChancePct)
+ size_t idxLower = x + 1 + lowerSizeX * (z + 1);
+ if (((super::m_Noise.IntNoise2DInt(a_MinX + static_cast<int>(x), NoiseZ) / 7) % 100) > m_AvgChancePct)
{
// Average the 4 neighbors:
a_Values[x + z * a_SizeX] = (
@@ -621,28 +621,28 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Generate the underlying values:
- int lowerSizeX = a_SizeX + 2;
- int lowerSizeZ = a_SizeZ + 2;
+ size_t lowerSizeX = a_SizeX + 2;
+ size_t lowerSizeZ = a_SizeZ + 2;
ASSERT(lowerSizeX * lowerSizeZ <= m_BufferSize);
int lowerData[m_BufferSize];
m_Underlying->GetInts(a_MinX - 1, a_MinZ - 1, lowerSizeX, lowerSizeZ, lowerData);
// Average random values:
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- int NoiseZ = a_MinZ + z;
- for (int x = 0; x < a_SizeX; x++)
+ int NoiseZ = a_MinZ + static_cast<int>(z);
+ for (size_t x = 0; x < a_SizeX; x++)
{
- int idxLower = x + 1 + lowerSizeX * (z + 1);
- if (((super::m_Noise.IntNoise2DInt(a_MinX + x, NoiseZ) / 7) % 100) > m_AvgChancePct)
+ size_t idxLower = x + 1 + lowerSizeX * (z + 1);
+ if (((super::m_Noise.IntNoise2DInt(a_MinX + static_cast<int>(x), NoiseZ) / 7) % 100) > m_AvgChancePct)
{
// Chose a value in between the min and max neighbor:
int min = std::min(std::min(lowerData[idxLower - 1], lowerData[idxLower + 1]), std::min(lowerData[idxLower - lowerSizeX], lowerData[idxLower + lowerSizeX]));
int max = std::max(std::max(lowerData[idxLower - 1], lowerData[idxLower + 1]), std::max(lowerData[idxLower - lowerSizeX], lowerData[idxLower + lowerSizeX]));
- a_Values[x + z * a_SizeX] = min + ((super::m_Noise.IntNoise2DInt(a_MinX + x, NoiseZ + 10) / 7) % (max - min + 1));
+ a_Values[x + z * a_SizeX] = min + ((super::m_Noise.IntNoise2DInt(a_MinX + static_cast<int>(x), NoiseZ + 10) / 7) % (max - min + 1));
}
else
{
@@ -675,7 +675,7 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Map for biome -> its beach:
static const int ToBeach[] =
@@ -723,16 +723,16 @@ public:
};
// Generate the underlying values:
- int lowerSizeX = a_SizeX + 2;
- int lowerSizeZ = a_SizeZ + 2;
+ size_t lowerSizeX = a_SizeX + 2;
+ size_t lowerSizeZ = a_SizeZ + 2;
ASSERT(lowerSizeX * lowerSizeZ <= m_BufferSize);
int lowerValues[m_BufferSize];
m_Underlying->GetInts(a_MinX - 1, a_MinZ - 1, lowerSizeX, lowerSizeZ, lowerValues);
// Add beaches between ocean and biomes:
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- for (int x = 0; x < a_SizeX; x++)
+ for (size_t x = 0; x < a_SizeX; x++)
{
int val = lowerValues[x + 1 + (z + 1) * lowerSizeX];
int above = lowerValues[x + 1 + z * lowerSizeX];
@@ -779,16 +779,16 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
m_Underlying->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, a_Values);
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- for (int x = 0; x < a_SizeX; x++)
+ for (size_t x = 0; x < a_SizeX; x++)
{
if (a_Values[x + z * a_SizeX] == bgOcean)
{
- int rnd = super::m_Noise.IntNoise2DInt(a_MinX + x, a_MinZ + z) / 7;
+ int rnd = super::m_Noise.IntNoise2DInt(a_MinX + static_cast<int>(x), a_MinZ + static_cast<int>(z)) / 7;
if (rnd % 1000 < m_Chance)
{
a_Values[x + z * a_SizeX] = (rnd / 1003) % bgLandOceanMax;
@@ -822,19 +822,19 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values)
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values)
{
// Generate the underlying biome groups:
- int lowerSizeX = a_SizeX + 2;
- int lowerSizeZ = a_SizeZ + 2;
+ size_t lowerSizeX = a_SizeX + 2;
+ size_t lowerSizeZ = a_SizeZ + 2;
ASSERT(lowerSizeX * lowerSizeZ <= m_BufferSize);
int lowerValues[m_BufferSize];
m_Underlying->GetInts(a_MinX, a_MinZ, lowerSizeX, lowerSizeZ, lowerValues);
// Change the biomes on incompatible edges into an edge biome:
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- for (int x = 0; x < a_SizeX; x++)
+ for (size_t x = 0; x < a_SizeX; x++)
{
int val = lowerValues[x + 1 + (z + 1) * lowerSizeX];
int Above = lowerValues[x + 1 + z * lowerSizeX];
@@ -920,7 +920,7 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Define the per-biome-group biomes:
static const int oceanBiomes[] =
@@ -998,16 +998,16 @@ public:
// Overwrite each biome group with a random biome from that group:
// Take care of the bgfRare flag
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- int IdxZ = z * a_SizeX;
- for (int x = 0; x < a_SizeX; x++)
+ size_t IdxZ = z * a_SizeX;
+ for (size_t x = 0; x < a_SizeX; x++)
{
int val = a_Values[x + IdxZ];
const cBiomesInGroups & Biomes = (val > bgfRare) ?
rareBiomesInGroups[(val & (bgfRare - 1)) % ARRAYCOUNT(rareBiomesInGroups)] :
- biomesInGroups[val % ARRAYCOUNT(biomesInGroups)];
- int rnd = (super::m_Noise.IntNoise2DInt(x + a_MinX, z + a_MinZ) / 7);
+ biomesInGroups[static_cast<size_t>(val) % ARRAYCOUNT(biomesInGroups)];
+ int rnd = (super::m_Noise.IntNoise2DInt(static_cast<int>(x) + a_MinX, static_cast<int>(z) + a_MinZ) / 7);
a_Values[x + IdxZ] = Biomes.Biomes[rnd % Biomes.Count];
}
}
@@ -1050,21 +1050,21 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Generate the underlying values:
m_Underlying->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, a_Values);
// Replace some of the values:
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- int idxZ = z * a_SizeX;
- for (int x = 0; x < a_SizeX; x++)
+ size_t idxZ = z * a_SizeX;
+ for (size_t x = 0; x < a_SizeX; x++)
{
- int idx = x + idxZ;
+ size_t idx = x + idxZ;
if (a_Values[idx] == m_From)
{
- int rnd = super::m_Noise.IntNoise2DInt(x + a_MinX, z + a_MinZ) / 7;
+ int rnd = super::m_Noise.IntNoise2DInt(static_cast<int>(x) + a_MinX, static_cast<int>(z) + a_MinZ) / 7;
if (rnd % 1000 < m_Chance)
{
a_Values[idx] = m_To;
@@ -1109,7 +1109,7 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Generate the underlying data:
ASSERT(a_SizeX * a_SizeZ <= m_BufferSize);
@@ -1118,12 +1118,12 @@ public:
m_Rivers->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, riverData);
// Mix the values:
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- int idxZ = z * a_SizeX;
- for (int x = 0; x < a_SizeX; x++)
+ size_t idxZ = z * a_SizeX;
+ for (size_t x = 0; x < a_SizeX; x++)
{
- int idx = x + idxZ;
+ size_t idx = x + idxZ;
if (IsBiomeOcean(a_Values[idx]))
{
// Oceans are kept without any changes
@@ -1136,7 +1136,7 @@ public:
}
// There's a river, change the output to a river or a frozen river, based on the original biome:
- if (IsBiomeVeryCold((EMCSBiome)a_Values[idx]))
+ if (IsBiomeVeryCold(static_cast<EMCSBiome>(a_Values[idx])))
{
a_Values[idx] = biFrozenRiver;
}
@@ -1173,19 +1173,19 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Generate the underlying data:
- int lowerSizeX = a_SizeX + 2;
- int lowerSizeZ = a_SizeZ + 2;
+ size_t lowerSizeX = a_SizeX + 2;
+ size_t lowerSizeZ = a_SizeZ + 2;
ASSERT(lowerSizeX * lowerSizeZ <= m_BufferSize);
int lowerValues[m_BufferSize];
m_Underlying->GetInts(a_MinX - 1, a_MinZ - 1, lowerSizeX, lowerSizeZ, lowerValues);
// Detect the edges:
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- for (int x = 0; x < a_SizeX; x++)
+ for (size_t x = 0; x < a_SizeX; x++)
{
int Above = lowerValues[x + 1 + z * lowerSizeX];
int Below = lowerValues[x + 1 + (z + 2) * lowerSizeX];
@@ -1231,19 +1231,19 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Generate the underlying data:
- int lowerSizeX = a_SizeX + 2;
- int lowerSizeZ = a_SizeZ + 2;
+ size_t lowerSizeX = a_SizeX + 2;
+ size_t lowerSizeZ = a_SizeZ + 2;
ASSERT(lowerSizeX * lowerSizeZ <= m_BufferSize);
int lowerValues[m_BufferSize];
m_Underlying->GetInts(a_MinX - 1, a_MinZ - 1, lowerSizeX, lowerSizeZ, lowerValues);
// Add the mushroom islands:
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- for (int x = 0; x < a_SizeX; x++)
+ for (size_t x = 0; x < a_SizeX; x++)
{
int val = lowerValues[x + 1 + (z + 1) * lowerSizeX];
if (!IsBiomeOcean(val))
@@ -1278,7 +1278,7 @@ public:
// If at least 3 ocean neighbors and the chance is right, change:
if (
(NumOceanNeighbors >= 3) &&
- ((super::m_Noise.IntNoise2DInt(x + a_MinX, z + a_MinZ) / 7) % 1000 < m_Chance)
+ ((super::m_Noise.IntNoise2DInt(static_cast<int>(x) + a_MinX, static_cast<int>(z) + a_MinZ) / 7) % 1000 < m_Chance)
)
{
a_Values[x + z * a_SizeX] = m_ToValue;
@@ -1321,17 +1321,17 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Generate the underlying data:
m_Underlying->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, a_Values);
// Change random pixels to bgOcean:
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- for (int x = 0; x < a_SizeX; x++)
+ for (size_t x = 0; x < a_SizeX; x++)
{
- int rnd = super::m_Noise.IntNoise2DInt(x + a_MinX, z + a_MinZ) / 7;
+ int rnd = super::m_Noise.IntNoise2DInt(static_cast<int>(x) + a_MinX, static_cast<int>(z) + a_MinZ) / 7;
if (rnd % 1000 < m_Chance)
{
a_Values[x + z * a_SizeX] = m_ToValue;
@@ -1370,20 +1370,20 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Generate the underlying data:
m_Underlying->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, a_Values);
// Change some of the biome groups into rare biome groups:
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- for (int x = 0; x < a_SizeX; x++)
+ for (size_t x = 0; x < a_SizeX; x++)
{
- int rnd = super::m_Noise.IntNoise2DInt(x + a_MinX, z + a_MinZ) / 7;
+ int rnd = super::m_Noise.IntNoise2DInt(static_cast<int>(x) + a_MinX, static_cast<int>(z) + a_MinZ) / 7;
if (rnd % 1000 < m_Chance)
{
- int idx = x + a_SizeX * z;
+ size_t idx = x + a_SizeX * z;
a_Values[idx] = a_Values[idx] | bgfRare;
}
}
@@ -1418,7 +1418,7 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Generate the base biomes and the alterations:
m_BaseBiomes->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, a_Values);
@@ -1426,8 +1426,8 @@ public:
m_Alterations->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, alterations);
// Change the biomes into their alternate versions:
- int len = a_SizeX * a_SizeZ;
- for (int idx = 0; idx < len; ++idx)
+ size_t len = a_SizeX * a_SizeZ;
+ for (size_t idx = 0; idx < len; ++idx)
{
if (alterations[idx] == 0)
{
@@ -1482,19 +1482,19 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Generate the underlying biomes:
- int lowerSizeX = a_SizeX + 2;
- int lowerSizeZ = a_SizeZ + 2;
+ size_t lowerSizeX = a_SizeX + 2;
+ size_t lowerSizeZ = a_SizeZ + 2;
ASSERT(lowerSizeX * lowerSizeZ <= m_BufferSize);
int lowerValues[m_BufferSize];
m_Underlying->GetInts(a_MinX - 1, a_MinZ - 1, lowerSizeX, lowerSizeZ, lowerValues);
// Convert incompatible edges into neutral biomes:
- for (int z = 0; z < a_SizeZ; z++)
+ for (size_t z = 0; z < a_SizeZ; z++)
{
- for (int x = 0; x < a_SizeX; x++)
+ for (size_t x = 0; x < a_SizeX; x++)
{
int biome = lowerValues[x + 1 + (z + 1) * lowerSizeX];
int above = lowerValues[x + 1 + z * lowerSizeX];
@@ -1642,7 +1642,7 @@ public:
}
- virtual void GetInts(int a_MinX, int a_MinZ, int a_SizeX, int a_SizeZ, int * a_Values) override
+ virtual void GetInts(int a_MinX, int a_MinZ, size_t a_SizeX, size_t a_SizeZ, int *a_Values) override
{
// Generate the underlying biomes and the alterations:
m_Underlying->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, a_Values);
@@ -1650,8 +1650,8 @@ public:
m_Alteration->GetInts(a_MinX, a_MinZ, a_SizeX, a_SizeZ, alterations);
// Wherever alterations are nonzero, change into alternate biome, if available:
- int len = a_SizeX * a_SizeZ;
- for (int idx = 0; idx < len; ++idx)
+ size_t len = a_SizeX * a_SizeZ;
+ for (size_t idx = 0; idx < len; ++idx)
{
if (alterations[idx] == 0)
{
diff --git a/src/Generating/RainbowRoadsGen.cpp b/src/Generating/RainbowRoadsGen.cpp
index fd4a81692..03400556a 100644
--- a/src/Generating/RainbowRoadsGen.cpp
+++ b/src/Generating/RainbowRoadsGen.cpp
@@ -76,7 +76,7 @@ protected:
{
for (cPlacedPieces::iterator itr = m_Pieces.begin(), end = m_Pieces.end(); itr != end; ++itr)
{
- cPrefab & Prefab = (cPrefab &)((*itr)->GetPiece());
+ const cPrefab & Prefab = static_cast<const cPrefab &>((*itr)->GetPiece());
Prefab.Draw(a_Chunk, *itr);
} // for itr - m_PlacedPieces[]
}
diff --git a/src/Generating/Ravines.cpp b/src/Generating/Ravines.cpp
index 9f8f69139..8c6316273 100644
--- a/src/Generating/Ravines.cpp
+++ b/src/Generating/Ravines.cpp
@@ -135,17 +135,17 @@ void cStructGenRavines::cRavine::GenerateBaseDefPoints(int a_BlockX, int a_Block
// Get the base angle in which the ravine "axis" goes:
float Angle = (float)(((float)((a_Noise.IntNoise3DInt(20 * a_BlockX, 70 * a_BlockZ, 6000) / 9) % 16384)) / 16384.0 * M_PI);
- float xc = sin(Angle);
- float zc = cos(Angle);
+ float xc = sinf(Angle);
+ float zc = cosf(Angle);
// Calculate the definition points and radii:
int MaxRadius = (int)(sqrt(12.0 + ((a_Noise.IntNoise2DInt(61 * a_BlockX, 97 * a_BlockZ) / 13) % a_Size) / 16));
int Top = 32 + ((a_Noise.IntNoise2DInt(13 * a_BlockX, 17 * a_BlockZ) / 23) % 32);
int Bottom = 5 + ((a_Noise.IntNoise2DInt(17 * a_BlockX, 29 * a_BlockZ) / 13) % 32);
int Mid = (Top + Bottom) / 2;
- int PointX = CenterX - (int)(xc * a_Size / 2);
- int PointZ = CenterZ - (int)(zc * a_Size / 2);
- m_Points.push_back(cRavDefPoint(PointX, PointZ, 0, (Mid + Top) / 2, (Mid + Bottom) / 2));
+ int DefinitionPointX = CenterX - (int)(xc * a_Size / 2);
+ int DefinitionPointZ = CenterZ - (int)(zc * a_Size / 2);
+ m_Points.push_back(cRavDefPoint(DefinitionPointX, DefinitionPointZ, 0, (Mid + Top) / 2, (Mid + Bottom) / 2));
for (int i = 1; i < NUM_RAVINE_POINTS - 1; i++)
{
int LineX = CenterX + (int)(xc * a_Size * (i - NUM_RAVINE_POINTS / 2) / NUM_RAVINE_POINTS);
@@ -160,9 +160,9 @@ void cStructGenRavines::cRavine::GenerateBaseDefPoints(int a_BlockX, int a_Block
int ThisBottom = Bottom + ((a_Noise.IntNoise3DInt(19 * a_BlockX, 7 * a_BlockZ, i * 31) / 13) % 8) - 4;
m_Points.push_back(cRavDefPoint(PointX, PointZ, Radius, ThisTop, ThisBottom));
} // for i - m_Points[]
- PointX = CenterX + (int)(xc * a_Size / 2);
- PointZ = CenterZ + (int)(zc * a_Size / 2);
- m_Points.push_back(cRavDefPoint(PointX, PointZ, 0, Mid, Mid));
+ DefinitionPointX = CenterX + (int)(xc * a_Size / 2);
+ DefinitionPointZ = CenterZ + (int)(zc * a_Size / 2);
+ m_Points.push_back(cRavDefPoint(DefinitionPointX, DefinitionPointZ, 0, Mid, Mid));
}
diff --git a/src/Generating/RoughRavines.cpp b/src/Generating/RoughRavines.cpp
index 2ee3704b3..c0397ee26 100644
--- a/src/Generating/RoughRavines.cpp
+++ b/src/Generating/RoughRavines.cpp
@@ -21,7 +21,7 @@ class cRoughRavine :
public:
cRoughRavine(
- int a_Seed, int a_Size,
+ int a_Seed, size_t a_Size,
float a_CenterWidth, float a_Roughness,
float a_FloorHeightEdge1, float a_FloorHeightEdge2, float a_FloorHeightCenter,
float a_CeilingHeightEdge1, float a_CeilingHeightEdge2, float a_CeilingHeightCenter,
@@ -33,14 +33,14 @@ public:
m_Roughness(a_Roughness)
{
// Create the basic structure - 2 lines meeting at the centerpoint:
- int Max = 2 * a_Size;
- int Half = a_Size; // m_DefPoints[Half] will be the centerpoint
+ size_t Max = 2 * a_Size;
+ size_t Half = a_Size; // m_DefPoints[Half] will be the centerpoint
m_DefPoints.resize(Max + 1);
int rnd = m_Noise.IntNoise2DInt(a_OriginX, a_OriginZ) / 7;
float Len = (float)a_Size;
float Angle = (float)rnd; // Angle is in radians, will be wrapped in the "sin" and "cos" operations
- float OfsX = sin(Angle) * Len;
- float OfsZ = cos(Angle) * Len;
+ float OfsX = sinf(Angle) * Len;
+ float OfsZ = cosf(Angle) * Len;
m_DefPoints[0].Set (a_OriginX - OfsX, a_OriginZ - OfsZ, 1, a_CeilingHeightEdge1, a_FloorHeightEdge1);
m_DefPoints[Half].Set((float)a_OriginX, (float)a_OriginZ, a_CenterWidth, a_CeilingHeightCenter, a_FloorHeightCenter);
m_DefPoints[Max].Set (a_OriginX + OfsX, a_OriginZ + OfsZ, 1, a_CeilingHeightEdge2, a_FloorHeightEdge2);
@@ -90,7 +90,7 @@ protected:
/** Recursively subdivides the line between the points of the specified index.
Sets the midpoint to the center of the line plus or minus a random offset, then calls itself for each half
of the new line. */
- void SubdivideLine(int a_Idx1, int a_Idx2)
+ void SubdivideLine(size_t a_Idx1, size_t a_Idx2)
{
// Calculate the midpoint:
const sRavineDefPoint & p1 = m_DefPoints[a_Idx1];
@@ -114,7 +114,7 @@ protected:
MidX -= dz * m_Roughness;
MidZ += dx * m_Roughness;
}
- int MidIdx = (a_Idx1 + a_Idx2) / 2;
+ size_t MidIdx = (a_Idx1 + a_Idx2) / 2;
m_DefPoints[MidIdx].Set(MidX, MidZ, MidR, MidT, MidB);
// Recurse the two halves, if they are worth recursing:
@@ -275,7 +275,7 @@ cRoughRavines::cRoughRavines(
cGridStructGen::cStructurePtr cRoughRavines::CreateStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ)
{
// Pick a random value for each of the ravine's parameters:
- int Size = m_MinSize + (m_Noise.IntNoise2DInt(a_GridX, a_GridZ) / 7) % (m_MaxSize - m_MinSize); // Random int from m_MinSize to m_MaxSize
+ size_t Size = static_cast<size_t>(m_MinSize + (m_Noise.IntNoise2DInt(a_GridX, a_GridZ) / 7) % (m_MaxSize - m_MinSize)); // Random int from m_MinSize to m_MaxSize
float CenterWidth = m_Noise.IntNoise2DInRange(a_GridX + 10, a_GridZ, m_MinCenterWidth, m_MaxCenterWidth);
float Roughness = m_Noise.IntNoise2DInRange(a_GridX + 20, a_GridZ, m_MinRoughness, m_MaxRoughness);
float FloorHeightEdge1 = m_Noise.IntNoise2DInRange(a_GridX + 30, a_GridZ, m_MinFloorHeightEdge, m_MaxFloorHeightEdge);
diff --git a/src/Generating/StructGen.cpp b/src/Generating/StructGen.cpp
index 7572cdcbf..fd911e7dc 100644
--- a/src/Generating/StructGen.cpp
+++ b/src/Generating/StructGen.cpp
@@ -72,7 +72,7 @@ void cStructGenTrees::GenFinish(cChunkDesc & a_ChunkDesc)
{
for (int z = 0; z < cChunkDef::Width; z++)
{
- for (int y = cChunkDef::Height - 1; y >= 0; y--)
+ for (HEIGHTTYPE y = cChunkDef::Height - 1; y >= 0; y--)
{
if (a_ChunkDesc.GetBlockType(x, y, z) != E_BLOCK_AIR)
{
@@ -304,14 +304,14 @@ void cStructGenOreNests::GenerateOre(int a_ChunkX, int a_ChunkZ, BLOCKTYPE a_Ore
for (int i = 0; i < a_NumNests; i++)
{
- int rnd = m_Noise.IntNoise3DInt(a_ChunkX + i, a_Seq, a_ChunkZ + 64 * i) / 8;
- int BaseX = rnd % cChunkDef::Width;
- rnd /= cChunkDef::Width;
- int BaseZ = rnd % cChunkDef::Width;
- rnd /= cChunkDef::Width;
- int BaseY = rnd % a_MaxHeight;
- rnd /= a_MaxHeight;
- int NestSize = a_NestSize + (rnd % (a_NestSize / 4)); // The actual nest size may be up to 1 / 4 larger
+ int Nestrnd = m_Noise.IntNoise3DInt(a_ChunkX + i, a_Seq, a_ChunkZ + 64 * i) / 8;
+ int BaseX = Nestrnd % cChunkDef::Width;
+ Nestrnd /= cChunkDef::Width;
+ int BaseZ = Nestrnd % cChunkDef::Width;
+ Nestrnd /= cChunkDef::Width;
+ int BaseY = Nestrnd % a_MaxHeight;
+ Nestrnd /= a_MaxHeight;
+ int NestSize = a_NestSize + (Nestrnd % (a_NestSize / 4)); // The actual nest size may be up to 1 / 4 larger
int Num = 0;
while (Num < NestSize)
{
@@ -436,14 +436,14 @@ void cStructGenLakes::CreateLakeImage(int a_ChunkX, int a_ChunkZ, int a_MaxLakeH
BLOCKTYPE * BlockTypes = a_Lake.GetBlockTypes();
for (int i = 0; i < NumBubbles; i++)
{
- int Rnd = m_Noise.IntNoise3DInt(a_ChunkX, i, a_ChunkZ) / 13;
- const int BubbleR = 2 + (Rnd & 0x03); // 2 .. 5
+ int BubbleRnd = m_Noise.IntNoise3DInt(a_ChunkX, i, a_ChunkZ) / 13;
+ const int BubbleR = 2 + (BubbleRnd & 0x03); // 2 .. 5
const int Range = 16 - 2 * BubbleR;
- const int BubbleX = BubbleR + (Rnd % Range);
+ const int BubbleX = BubbleR + (BubbleRnd % Range);
Rnd >>= 4;
- const int BubbleY = 4 + (Rnd & 0x01); // 4 .. 5
+ const int BubbleY = 4 + (BubbleRnd & 0x01); // 4 .. 5
Rnd >>= 1;
- const int BubbleZ = BubbleR + (Rnd % Range);
+ const int BubbleZ = BubbleR + (BubbleRnd % Range);
const int HalfR = BubbleR / 2; // 1 .. 2
const int RSquared = BubbleR * BubbleR;
for (int y = -HalfR; y <= HalfR; y++)
diff --git a/src/Generating/TestRailsGen.cpp b/src/Generating/TestRailsGen.cpp
index 8256b55a0..72317eb67 100644
--- a/src/Generating/TestRailsGen.cpp
+++ b/src/Generating/TestRailsGen.cpp
@@ -76,7 +76,7 @@ protected:
{
for (cPlacedPieces::iterator itr = m_Pieces.begin(), end = m_Pieces.end(); itr != end; ++itr)
{
- cPrefab & Prefab = (cPrefab &)((*itr)->GetPiece());
+ const cPrefab & Prefab = static_cast<const cPrefab &>((*itr)->GetPiece());
Prefab.Draw(a_Chunk, *itr);
} // for itr - m_PlacedPieces[]
}
diff --git a/src/Generating/Trees.cpp b/src/Generating/Trees.cpp
index 72fe5f819..5da8fc44a 100644
--- a/src/Generating/Trees.cpp
+++ b/src/Generating/Trees.cpp
@@ -6,6 +6,7 @@
#include "Globals.h"
#include "Trees.h"
#include "../BlockID.h"
+#include "../World.h"
@@ -130,7 +131,7 @@ inline void PushSomeColumns(int a_BlockX, int a_Height, int a_BlockZ, int a_Colu
{
int x = a_BlockX + a_Coords[i].x;
int z = a_BlockZ + a_Coords[i].z;
- if (a_Noise.IntNoise3DInt(x + 64 * a_Seq, a_Height + (int)i, z + 64 * a_Seq) <= a_Chance)
+ if (a_Noise.IntNoise3DInt(x + 64 * a_Seq, a_Height + static_cast<int>(i), z + 64 * a_Seq) <= a_Chance)
{
for (int j = 0; j < a_ColumnHeight; j++)
{
@@ -200,7 +201,8 @@ void GetTreeImageByBiome(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_No
}
else
{
- GetJungleTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks);
+ bool IsLarge = a_Noise.IntNoise3DInt(a_BlockX + 32 * a_Seq, a_BlockY + 32 * a_Seq, a_BlockZ) < 0x60000000;
+ GetJungleTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks, IsLarge);
}
return;
}
@@ -321,12 +323,12 @@ void GetSmallAppleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a
int Random = a_Noise.IntNoise3DInt(a_BlockX + 64 * a_Seq, a_BlockY, a_BlockZ) >> 3;
- int Heights[] = {1, 2, 2, 3} ;
- int Height = 1 + Heights[Random & 3];
+ HEIGHTTYPE Heights[] = {1, 2, 2, 3} ;
+ HEIGHTTYPE Height = 1 + Heights[Random & 3];
Random >>= 2;
// Pre-alloc so that we don't realloc too often later:
- a_LogBlocks.reserve(Height + 5);
+ a_LogBlocks.reserve(static_cast<size_t>(Height + 5));
a_OtherBlocks.reserve(ARRAYCOUNT(BigO2) * 2 + ARRAYCOUNT(BigO1) + ARRAYCOUNT(Corners) * 3 + 3 + 5);
// Trunk:
@@ -396,8 +398,8 @@ void GetLargeAppleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a
for (int i = 4; i < Height; i++)
{
// Get a direction for the trunk to go to.
- Vector3d BranchStartDirection = AvailableDirections[a_Noise.IntNoise3DInt(a_BlockX, a_BlockY + i, a_BlockZ) % ARRAYCOUNT(AvailableDirections)];
- Vector3d BranchDirection = AvailableDirections[a_Noise.IntNoise3DInt(a_BlockX, a_BlockY / i, a_BlockZ) % ARRAYCOUNT(AvailableDirections)] / 3;
+ Vector3d BranchStartDirection = AvailableDirections[static_cast<size_t>(a_Noise.IntNoise3DInt(a_BlockX, a_BlockY + i, a_BlockZ)) % ARRAYCOUNT(AvailableDirections)];
+ Vector3d BranchDirection = AvailableDirections[static_cast<size_t>(a_Noise.IntNoise3DInt(a_BlockX, a_BlockY / i, a_BlockZ)) % ARRAYCOUNT(AvailableDirections)] / 3;
int BranchLength = 2 + a_Noise.IntNoise3DInt(a_BlockX * a_Seq, a_BlockY * a_Seq, a_BlockZ * a_Seq) % 3;
GetLargeAppleTreeBranch(a_BlockX, a_BlockY + i, a_BlockZ, BranchLength, BranchStartDirection, BranchDirection, a_BlockY + Height, a_Noise, a_LogBlocks);
@@ -476,10 +478,10 @@ NIBBLETYPE GetLogMetaFromDirection(NIBBLETYPE a_BlockMeta, Vector3d a_Direction)
void GetBirchTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks)
{
- int Height = 5 + (a_Noise.IntNoise3DInt(a_BlockX + 64 * a_Seq, a_BlockY, a_BlockZ) % 3);
+ HEIGHTTYPE Height = 5 + (a_Noise.IntNoise3DInt(a_BlockX + 64 * a_Seq, a_BlockY, a_BlockZ) % 3);
// Prealloc, so that we don't realloc too often later:
- a_LogBlocks.reserve(Height);
+ a_LogBlocks.reserve(static_cast<size_t>(Height));
a_OtherBlocks.reserve(80);
// The entire trunk, out of logs:
@@ -650,10 +652,10 @@ void GetDarkoakTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_No
void GetTallBirchTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks)
{
- int Height = 9 + (a_Noise.IntNoise3DInt(a_BlockX + 64 * a_Seq, a_BlockY, a_BlockZ) % 3);
+ HEIGHTTYPE Height = 9 + (a_Noise.IntNoise3DInt(a_BlockX + 64 * a_Seq, a_BlockY, a_BlockZ) % 3);
// Prealloc, so that we don't realloc too often later:
- a_LogBlocks.reserve(Height);
+ a_LogBlocks.reserve(static_cast<size_t>(Height));
a_OtherBlocks.reserve(80);
// The entire trunk, out of logs:
@@ -713,12 +715,12 @@ void GetSpruceTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noi
// (each of the mod8 remainders has a very different chance of occurrence) - that's why we divide by 8
int MyRandom = a_Noise.IntNoise3DInt(a_BlockX + 32 * a_Seq, a_BlockY + 32 * a_Seq, a_BlockZ) / 8;
- static const int sHeights[] = {1, 2, 2, 3};
- int Height = sHeights[MyRandom & 3];
+ static const HEIGHTTYPE sHeights[] = {1, 2, 2, 3};
+ HEIGHTTYPE Height = sHeights[MyRandom & 3];
MyRandom >>= 2;
// Prealloc, so that we don't realloc too often later:
- a_LogBlocks.reserve(Height);
+ a_LogBlocks.reserve(static_cast<size_t>(Height));
a_OtherBlocks.reserve(180);
// Clear trunk blocks:
@@ -816,8 +818,8 @@ void GetPineTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise
}
// Pre-allocate the vector:
- a_LogBlocks.reserve(TrunkHeight);
- a_OtherBlocks.reserve(NumLeavesLayers * 25);
+ a_LogBlocks.reserve(static_cast<size_t>(TrunkHeight));
+ a_OtherBlocks.reserve(static_cast<size_t>(NumLeavesLayers * 25));
// The entire trunk, out of logs:
for (int i = TrunkHeight; i >= 0; --i)
@@ -843,7 +845,7 @@ void GetPineTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise
{
break;
}
- ASSERT((size_t)LayerSize < ARRAYCOUNT(BigOs));
+ ASSERT(static_cast<size_t>(LayerSize) < ARRAYCOUNT(BigOs));
PushCoordBlocks(a_BlockX, h, a_BlockZ, a_OtherBlocks, BigOs[LayerSize].Coords, BigOs[LayerSize].Count, E_BLOCK_LEAVES, E_META_LEAVES_CONIFER);
h--;
}
@@ -866,8 +868,8 @@ void GetSwampTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Nois
int Height = 3 + (a_Noise.IntNoise3DInt(a_BlockX + 32 * a_Seq, a_BlockY, a_BlockZ + 32 * a_Seq) / 8) % 3;
- a_LogBlocks.reserve(Height);
- a_OtherBlocks.reserve(2 * ARRAYCOUNT(BigO2) + 2 * ARRAYCOUNT(BigO3) + Height * ARRAYCOUNT(Vines) + 20);
+ a_LogBlocks.reserve(static_cast<size_t>(Height));
+ a_OtherBlocks.reserve(2 * ARRAYCOUNT(BigO2) + 2 * ARRAYCOUNT(BigO3) + static_cast<size_t>(Height) * ARRAYCOUNT(Vines) + 20);
for (int i = 0; i < Height; i++)
{
@@ -920,9 +922,9 @@ void GetAppleBushImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Nois
-void GetJungleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks)
+void GetJungleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks, bool a_Large)
{
- if (a_Noise.IntNoise3DInt(a_BlockX + 32 * a_Seq, a_BlockY + 32 * a_Seq, a_BlockZ) < 0x60000000)
+ if (!a_Large)
{
GetSmallJungleTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks);
}
@@ -952,8 +954,8 @@ void GetLargeJungleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise &
int Height = 24 + (a_Noise.IntNoise3DInt(a_BlockX + 32 * a_Seq, a_BlockY, a_BlockZ + 32 * a_Seq) / 11) % 24;
- a_LogBlocks.reserve(Height * 4);
- a_OtherBlocks.reserve(2 * ARRAYCOUNT(BigO4) + ARRAYCOUNT(BigO3) + Height * ARRAYCOUNT(Vines) + 50);
+ a_LogBlocks.reserve(static_cast<size_t>(Height) * 4);
+ a_OtherBlocks.reserve(2 * ARRAYCOUNT(BigO4) + ARRAYCOUNT(BigO3) + static_cast<size_t>(Height) * ARRAYCOUNT(Vines) + 50);
for (int i = 0; i < Height; i++)
{
@@ -999,12 +1001,12 @@ void GetSmallJungleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise &
int Height = 7 + (a_Noise.IntNoise3DInt(a_BlockX + 5 * a_Seq, a_BlockY, a_BlockZ + 5 * a_Seq) / 5) % 3;
- a_LogBlocks.reserve(Height);
+ a_LogBlocks.reserve(static_cast<size_t>(Height));
a_OtherBlocks.reserve(
2 * ARRAYCOUNT(BigO3) + // O3 layer, 2x
2 * ARRAYCOUNT(BigO2) + // O2 layer, 2x
ARRAYCOUNT(BigO1) + 1 + // Plus on the top
- Height * ARRAYCOUNT(Vines) + // Vines
+ static_cast<size_t>(Height) * ARRAYCOUNT(Vines) + // Vines
50 // some safety
);
@@ -1041,3 +1043,89 @@ void GetSmallJungleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise &
+
+bool GetLargeTreeAdjustment(cWorld & a_World, int & a_X, int & a_Y, int & a_Z, NIBBLETYPE a_Meta)
+{
+ bool IsLarge = true;
+ a_Meta = a_Meta & 0x07;
+
+ // Check to see if we are the northwest corner
+ for (int x = 0; x < 2; ++x)
+ {
+ for (int z = 0; z < 2; ++z)
+ {
+ NIBBLETYPE meta;
+ BLOCKTYPE type;
+ a_World.GetBlockTypeMeta(a_X + x, a_Y, a_Z + z, type, meta);
+ IsLarge = IsLarge && (type == E_BLOCK_SAPLING) && ((a_Meta & meta) == a_Meta);
+ }
+ }
+
+ if (IsLarge)
+ {
+ return true;
+ }
+
+ IsLarge = true;
+ // Check to see if we are the southwest corner
+ for (int x = 0; x < 2; ++x)
+ {
+ for (int z = 0; z > -2; --z)
+ {
+ NIBBLETYPE meta;
+ BLOCKTYPE type;
+ a_World.GetBlockTypeMeta(a_X + x, a_Y, a_Z + z, type, meta);
+ IsLarge = IsLarge && (type == E_BLOCK_SAPLING) && ((a_Meta & meta) == a_Meta);
+ }
+ }
+
+ if (IsLarge)
+ {
+ --a_Z;
+ return true;
+ }
+
+ IsLarge = true;
+ // Check to see if we are the southeast corner
+ for (int x = 0; x > -2; --x)
+ {
+ for (int z = 0; z > -2; --z)
+ {
+ NIBBLETYPE meta;
+ BLOCKTYPE type;
+ a_World.GetBlockTypeMeta(a_X + x, a_Y, a_Z + z, type, meta);
+ IsLarge = IsLarge && (type == E_BLOCK_SAPLING) && ((a_Meta & meta) == a_Meta);
+ }
+ }
+
+ if (IsLarge)
+ {
+ --a_Z;
+ --a_X;
+ return true;
+ }
+
+ IsLarge = true;
+ // Check to see if we are the northeast corner
+ for (int x = 0; x > -2; --x)
+ {
+ for (int z = 0; z < 2; ++z)
+ {
+ NIBBLETYPE meta;
+ BLOCKTYPE type;
+ a_World.GetBlockTypeMeta(a_X + x, a_Y, a_Z + z, type, meta);
+ IsLarge = IsLarge && (type == E_BLOCK_SAPLING) && ((a_Meta & meta) == a_Meta);
+ }
+ }
+
+ if (IsLarge)
+ {
+ --a_X;
+ }
+
+ return IsLarge;
+}
+
+
+
+
diff --git a/src/Generating/Trees.h b/src/Generating/Trees.h
index a2c8274f5..092d71182 100644
--- a/src/Generating/Trees.h
+++ b/src/Generating/Trees.h
@@ -20,6 +20,8 @@ logs can overwrite others(leaves), but others shouldn't overwrite logs. This is
#include "../ChunkDef.h"
#include "../Noise/Noise.h"
+class cWorld;
+
@@ -96,7 +98,7 @@ void GetSwampTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Nois
void GetAppleBushImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks);
/// Generates an image of a random jungle tree
-void GetJungleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks);
+void GetJungleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks, bool a_Large);
/// Generates an image of a large jungle tree (2x2 trunk)
void GetLargeJungleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks);
@@ -104,7 +106,7 @@ void GetLargeJungleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise &
/// Generates an image of a small jungle tree (1x1 trunk)
void GetSmallJungleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks);
-
+bool GetLargeTreeAdjustment(cWorld & a_World, int & a_X, int & a_Y, int & a_Z, NIBBLETYPE a_Meta);
diff --git a/src/Generating/TwoHeights.cpp b/src/Generating/TwoHeights.cpp
index e75c301de..06c474458 100644
--- a/src/Generating/TwoHeights.cpp
+++ b/src/Generating/TwoHeights.cpp
@@ -69,7 +69,7 @@ public:
}
- virtual void InitializeShapeGen(cIniFile & a_IniFile)
+ virtual void InitializeShapeGen(cIniFile & a_IniFile) override
{
m_FrequencyX = static_cast<NOISE_DATATYPE>(a_IniFile.GetValueSetF("Generator", "TwoHeightsFrequencyX", 40));
m_FrequencyY = static_cast<NOISE_DATATYPE>(a_IniFile.GetValueSetF("Generator", "TwoHeightsFrequencyY", 40));
diff --git a/src/Generating/UnderwaterBaseGen.cpp b/src/Generating/UnderwaterBaseGen.cpp
index dbc4aef1b..c5066ca1b 100644
--- a/src/Generating/UnderwaterBaseGen.cpp
+++ b/src/Generating/UnderwaterBaseGen.cpp
@@ -76,7 +76,7 @@ protected:
{
for (cPlacedPieces::iterator itr = m_Pieces.begin(), end = m_Pieces.end(); itr != end; ++itr)
{
- cPrefab & Prefab = (cPrefab &)((*itr)->GetPiece());
+ const cPrefab & Prefab = static_cast<const cPrefab &>((*itr)->GetPiece());
Prefab.Draw(a_Chunk, *itr);
} // for itr - m_PlacedPieces[]
}
diff --git a/src/Generating/VillageGen.cpp b/src/Generating/VillageGen.cpp
index a3f8caa46..2475565c0 100644
--- a/src/Generating/VillageGen.cpp
+++ b/src/Generating/VillageGen.cpp
@@ -5,11 +5,6 @@
#include "Globals.h"
#include "VillageGen.h"
-#include "Prefabs/AlchemistVillagePrefabs.h"
-#include "Prefabs/JapaneseVillagePrefabs.h"
-#include "Prefabs/PlainsVillagePrefabs.h"
-#include "Prefabs/SandVillagePrefabs.h"
-#include "Prefabs/SandFlatRoofVillagePrefabs.h"
#include "PieceGenerator.h"
@@ -52,6 +47,16 @@ public:
) :
super(a_PieceDefs, a_NumPieceDefs, a_StartingPieceDefs, a_NumStartingPieceDefs)
{
+ AddRoadPieces();
+ }
+
+ cVillagePiecePool(void)
+ {
+ AddRoadPieces();
+ }
+
+ void AddRoadPieces(void)
+ {
// Add the road pieces:
for (int len = 27; len < 60; len += 12)
{
@@ -93,7 +98,7 @@ public:
return 0;
}
- return ((const cPrefab &)a_NewPiece).GetPieceWeight(a_PlacedPiece, a_ExistingConnector);
+ return static_cast<const cPrefab &>(a_NewPiece).GetPieceWeight(a_PlacedPiece, a_ExistingConnector);
}
};
@@ -115,10 +120,8 @@ public:
int a_MaxRoadDepth,
int a_MaxSize,
int a_Density,
- cPiecePool & a_Prefabs,
- cTerrainHeightGenPtr a_HeightGen,
- BLOCKTYPE a_RoadBlock,
- BLOCKTYPE a_WaterRoadBlock
+ cVillagePiecePool & a_Prefabs,
+ cTerrainHeightGenPtr a_HeightGen
) :
super(a_GridX, a_GridZ, a_OriginX, a_OriginZ),
m_Seed(a_Seed),
@@ -127,9 +130,7 @@ public:
m_Density(a_Density),
m_Borders(a_OriginX - a_MaxSize, 0, a_OriginZ - a_MaxSize, a_OriginX + a_MaxSize, cChunkDef::Height - 1, a_OriginZ + a_MaxSize),
m_Prefabs(a_Prefabs),
- m_HeightGen(a_HeightGen),
- m_RoadBlock(a_RoadBlock),
- m_WaterRoadBlock(a_WaterRoadBlock)
+ m_HeightGen(a_HeightGen)
{
// Generate the pieces for this village; don't care about the Y coord:
cBFSPieceGenerator pg(*this, a_Seed);
@@ -141,7 +142,7 @@ public:
// If the central piece should be moved to ground, move it, and
// check all of its dependents and move those that are strictly connector-driven based on its new Y coord:
- if (((cPrefab &)m_Pieces[0]->GetPiece()).ShouldMoveToGround())
+ if (static_cast<const cPrefab &>(m_Pieces[0]->GetPiece()).ShouldMoveToGround())
{
int OrigPosY = m_Pieces[0]->GetCoords().y;
PlacePieceOnGround(*m_Pieces[0]);
@@ -172,7 +173,7 @@ protected:
cCuboid m_Borders;
/** Prefabs to use for buildings */
- cPiecePool & m_Prefabs;
+ cVillagePiecePool & m_Prefabs;
/** The underlying height generator, used for placing the structures on top of the terrain. */
cTerrainHeightGenPtr m_HeightGen;
@@ -180,12 +181,6 @@ protected:
/** The village pieces, placed by the generator. */
cPlacedPieces m_Pieces;
- /** The block to use for the roads. */
- BLOCKTYPE m_RoadBlock;
-
- /** The block used for the roads if the road is on water. */
- BLOCKTYPE m_WaterRoadBlock;
-
// cGridStructGen::cStructure overrides:
virtual void DrawIntoChunk(cChunkDesc & a_Chunk) override
@@ -197,7 +192,7 @@ protected:
m_HeightGen->GenHeightMap(a_Chunk.GetChunkX(), a_Chunk.GetChunkZ(), HeightMap);
for (cPlacedPieces::iterator itr = m_Pieces.begin(), end = m_Pieces.end(); itr != end; ++itr)
{
- cPrefab & Prefab = (cPrefab &)((*itr)->GetPiece());
+ const cPrefab & Prefab = static_cast<const cPrefab &>((*itr)->GetPiece());
if ((*itr)->GetPiece().GetSize().y == 1)
{
// It's a road, special handling (change top terrain blocks to m_RoadBlock)
@@ -241,17 +236,21 @@ protected:
int MaxX = std::min(RoadCoords.p2.x - a_Chunk.GetChunkX() * cChunkDef::Width, cChunkDef::Width - 1);
int MinZ = std::max(RoadCoords.p1.z - a_Chunk.GetChunkZ() * cChunkDef::Width, 0);
int MaxZ = std::min(RoadCoords.p2.z - a_Chunk.GetChunkZ() * cChunkDef::Width, cChunkDef::Width - 1);
+ auto WaterRoadBlockType = m_Prefabs.GetVillageWaterRoadBlockType();
+ auto WaterRoadBlockMeta = m_Prefabs.GetVillageWaterRoadBlockMeta();
+ auto RoadBlockType = m_Prefabs.GetVillageRoadBlockType();
+ auto RoadBlockMeta = m_Prefabs.GetVillageRoadBlockMeta();
for (int z = MinZ; z <= MaxZ; z++)
{
for (int x = MinX; x <= MaxX; x++)
{
if (IsBlockWater(a_Chunk.GetBlockType(x, cChunkDef::GetHeight(a_HeightMap, x, z), z)))
{
- a_Chunk.SetBlockType(x, cChunkDef::GetHeight(a_HeightMap, x, z), z, m_WaterRoadBlock);
+ a_Chunk.SetBlockTypeMeta(x, cChunkDef::GetHeight(a_HeightMap, x, z), z, WaterRoadBlockType, WaterRoadBlockMeta);
}
else
{
- a_Chunk.SetBlockType(x, cChunkDef::GetHeight(a_HeightMap, x, z), z, m_RoadBlock);
+ a_Chunk.SetBlockTypeMeta(x, cChunkDef::GetHeight(a_HeightMap, x, z), z, RoadBlockType, RoadBlockMeta);
}
}
}
@@ -259,13 +258,13 @@ protected:
// cPiecePool overrides:
- virtual cPieces GetPiecesWithConnector(int a_ConnectorType)
+ virtual cPieces GetPiecesWithConnector(int a_ConnectorType) override
{
return m_Prefabs.GetPiecesWithConnector(a_ConnectorType);
}
- virtual cPieces GetStartingPieces(void)
+ virtual cPieces GetStartingPieces(void) override
{
return m_Prefabs.GetStartingPieces();
}
@@ -319,7 +318,7 @@ protected:
{
if (
(a_PlacedPieces[i]->GetParent() == Pivot) && // It is a direct dependant of the pivot
- !((const cPrefab &)a_PlacedPieces[i]->GetPiece()).ShouldMoveToGround() // It attaches strictly by connectors
+ !(static_cast<const cPrefab &>(a_PlacedPieces[i]->GetPiece())).ShouldMoveToGround() // It attaches strictly by connectors
)
{
a_PlacedPieces[i]->MoveToGroundBy(a_HeightDifference);
@@ -336,30 +335,18 @@ protected:
////////////////////////////////////////////////////////////////////////////////
// cVillageGen:
-static cVillagePiecePool g_SandVillage(g_SandVillagePrefabs, g_SandVillagePrefabsCount, g_SandVillageStartingPrefabs, g_SandVillageStartingPrefabsCount);
-static cVillagePiecePool g_SandFlatRoofVillage(g_SandFlatRoofVillagePrefabs, g_SandFlatRoofVillagePrefabsCount, g_SandFlatRoofVillageStartingPrefabs, g_SandFlatRoofVillageStartingPrefabsCount);
-static cVillagePiecePool g_AlchemistVillage(g_AlchemistVillagePrefabs, g_AlchemistVillagePrefabsCount, g_AlchemistVillageStartingPrefabs, g_AlchemistVillageStartingPrefabsCount);
-static cVillagePiecePool g_PlainsVillage(g_PlainsVillagePrefabs, g_PlainsVillagePrefabsCount, g_PlainsVillageStartingPrefabs, g_PlainsVillageStartingPrefabsCount);
-static cVillagePiecePool g_JapaneseVillage(g_JapaneseVillagePrefabs, g_JapaneseVillagePrefabsCount, g_JapaneseVillageStartingPrefabs, g_JapaneseVillageStartingPrefabsCount);
-
-static cVillagePiecePool * g_DesertVillagePools[] =
-{
- &g_SandVillage,
- &g_SandFlatRoofVillage,
- &g_AlchemistVillage,
-} ;
-
-static cVillagePiecePool * g_PlainsVillagePools[] =
-{
- &g_PlainsVillage,
- &g_JapaneseVillage,
-} ;
-
-
-
-
-
-cVillageGen::cVillageGen(int a_Seed, int a_GridSize, int a_MaxOffset, int a_MaxDepth, int a_MaxSize, int a_MinDensity, int a_MaxDensity, cBiomeGenPtr a_BiomeGen, cTerrainHeightGenPtr a_HeightGen) :
+cVillageGen::cVillageGen(
+ int a_Seed,
+ int a_GridSize,
+ int a_MaxOffset,
+ int a_MaxDepth,
+ int a_MaxSize,
+ int a_MinDensity,
+ int a_MaxDensity,
+ cBiomeGenPtr a_BiomeGen,
+ cTerrainHeightGenPtr a_HeightGen,
+ const AStringVector & a_PrefabsToLoad
+) :
super(a_Seed, a_GridSize, a_GridSize, a_MaxOffset, a_MaxOffset, a_MaxSize, a_MaxSize, 100),
m_Noise(a_Seed + 1000),
m_MaxDepth(a_MaxDepth),
@@ -369,6 +356,21 @@ cVillageGen::cVillageGen(int a_Seed, int a_GridSize, int a_MaxOffset, int a_MaxD
m_BiomeGen(a_BiomeGen),
m_HeightGen(a_HeightGen)
{
+ for (const auto & toLoad: a_PrefabsToLoad)
+ {
+ auto prefabs = std::make_shared<cVillagePiecePool>();
+ auto fileName = Printf("Prefabs%sVillages%s%s.cubeset", cFile::GetPathSeparator().c_str(), cFile::GetPathSeparator().c_str(), toLoad.c_str());
+ if (prefabs->LoadFromFile(fileName, true))
+ {
+ if (NoCaseCompare(prefabs->GetIntendedUse(), "village") != 0)
+ {
+ LOGWARNING("Village generator: File %s is intended for use in \"%s\", rather than villages. Loading the file, but the generator may behave unexpectedly.",
+ fileName.c_str(), prefabs->GetIntendedUse().c_str()
+ );
+ }
+ m_Pools.push_back(std::move(prefabs));
+ }
+ }
}
@@ -383,60 +385,48 @@ cGridStructGen::cStructurePtr cVillageGen::CreateStructure(int a_GridX, int a_Gr
cChunkDef::BiomeMap Biomes;
m_BiomeGen->GenBiomes(ChunkX, ChunkZ, Biomes);
- // Check if all the biomes are village-friendly:
- // If just one is not, no village is created, because it's likely that an unfriendly biome is too close
- cVillagePiecePool * VillagePrefabs = nullptr;
- BLOCKTYPE RoadBlock = E_BLOCK_GRAVEL;
- BLOCKTYPE WaterRoadBlock = E_BLOCK_PLANKS;
- int rnd = m_Noise.IntNoise2DInt(a_OriginX, a_OriginZ) / 11;
- cVillagePiecePool * PlainsVillage = g_PlainsVillagePools[rnd % ARRAYCOUNT(g_PlainsVillagePools)];
- cVillagePiecePool * DesertVillage = g_DesertVillagePools[rnd % ARRAYCOUNT(g_DesertVillagePools)];
+ // Get a list of pools that support each biome within the chunk:
+ // If just one column's biome is not allowed, the pool is not used because it's likely that an unfriendly biome is too close
+ auto availablePools = m_Pools;
for (size_t i = 0; i < ARRAYCOUNT(Biomes); i++)
{
- switch (Biomes[i])
- {
- case biDesert:
- case biDesertM:
+ auto biome = Biomes[i];
+ availablePools.erase(std::remove_if(availablePools.begin(), availablePools.end(),
+ [biome](SharedPtr<cPrefabPiecePool> a_Pool)
{
- // These biomes allow sand villages
- VillagePrefabs = DesertVillage;
- // RoadBlock = E_BLOCK_SANDSTONE;
- break;
- }
- case biPlains:
- case biSavanna:
- case biSavannaM:
- case biSunflowerPlains:
- {
- // These biomes allow plains-style villages
- VillagePrefabs = PlainsVillage;
- break;
- }
- default:
- {
- // Village-unfriendly biome, bail out with zero structure:
- return cStructurePtr();
- }
- } // switch (Biomes[i])
- } // for i - Biomes[]
+ return !a_Pool->IsBiomeAllowed(biome);
+ }),
+ availablePools.end()
+ );
+ // Bail out if no compatible pools left:
+ if (availablePools.empty())
+ {
+ return cStructurePtr();
+ }
+ }
+
+ // Pick one pool from the available pools:
+ if (availablePools.empty())
+ {
+ return cStructurePtr();
+ }
+ auto rnd = m_Noise.IntNoise2DInt(a_OriginX, a_OriginZ) / 11;
+ auto pool = availablePools[static_cast<size_t>(rnd) % availablePools.size()];
+ rnd /= 137;
// Choose density for the village, random between m_MinDensity and m_MaxDensity:
int Density;
- if (m_MaxDensity > m_MinDensity)
+ if (pool->GetMaxDensity() > pool->GetMinDensity())
{
- Density = m_MinDensity + rnd % (m_MaxDensity - m_MinDensity);
+ Density = pool->GetMinDensity() + rnd % (pool->GetMaxDensity() - pool->GetMinDensity());
}
else
{
- Density = m_MinDensity;
+ Density = pool->GetMinDensity();
}
// Create a village based on the chosen prefabs:
- if (VillagePrefabs == nullptr)
- {
- return cStructurePtr();
- }
- return cStructurePtr(new cVillage(m_Seed, a_GridX, a_GridZ, a_OriginX, a_OriginZ, m_MaxDepth, m_MaxSize, Density, *VillagePrefabs, m_HeightGen, RoadBlock, WaterRoadBlock));
+ return cStructurePtr(new cVillage(m_Seed, a_GridX, a_GridZ, a_OriginX, a_OriginZ, m_MaxDepth, m_MaxSize, Density, *pool.get(), m_HeightGen));
}
diff --git a/src/Generating/VillageGen.h b/src/Generating/VillageGen.h
index c384ed9e5..e7f9f2529 100644
--- a/src/Generating/VillageGen.h
+++ b/src/Generating/VillageGen.h
@@ -16,15 +16,34 @@
+// fwd:
+class cVillagePiecePool;
+
+
+
+
+
class cVillageGen :
public cGridStructGen
{
typedef cGridStructGen super;
public:
- cVillageGen(int a_Seed, int a_GridSize, int a_MaxOffset, int a_MaxDepth, int a_MaxSize, int a_MinDensity, int a_MaxDensity, cBiomeGenPtr a_BiomeGen, cTerrainHeightGenPtr a_HeightGen);
+ /** Creates a new instance of the generator with the specified parameters. */
+ cVillageGen(
+ int a_Seed,
+ int a_GridSize,
+ int a_MaxOffset,
+ int a_MaxDepth,
+ int a_MaxSize,
+ int a_MinDensity, int a_MaxDensity,
+ cBiomeGenPtr a_BiomeGen,
+ cTerrainHeightGenPtr a_HeightGen,
+ const AStringVector & a_PrefabsToLoad
+ );
protected:
class cVillage; // fwd: VillageGen.cpp
+ typedef std::vector<SharedPtr<cVillagePiecePool> > cVillagePiecePools;
/** The noise used for generating random numbers */
cNoise m_Noise;
@@ -47,6 +66,9 @@ protected:
/** The underlying height generator, used to position the prefabs crossing chunk borders */
cTerrainHeightGenPtr m_HeightGen;
+ /** All available prefab sets. Each village gets one of these chosen randomly. */
+ cVillagePiecePools m_Pools;
+
// cGridStructGen overrides:
virtual cStructurePtr CreateStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) override;