summaryrefslogtreecommitdiffstats
path: root/src/Generating
diff options
context:
space:
mode:
Diffstat (limited to 'src/Generating')
-rw-r--r--src/Generating/CMakeLists.txt1
-rw-r--r--src/Generating/Caves.cpp36
-rw-r--r--src/Generating/NetherFortGen.cpp53
-rw-r--r--src/Generating/NetherFortGen.h2
-rw-r--r--src/Generating/PieceGenerator.cpp61
-rw-r--r--src/Generating/PieceGenerator.h23
-rw-r--r--src/Generating/Prefab.cpp145
-rw-r--r--src/Generating/Prefab.h74
-rw-r--r--src/Generating/Prefabs/CMakeLists.txt1
-rw-r--r--src/Generating/Prefabs/NetherFortPrefabs.cpp6571
-rw-r--r--src/Generating/Prefabs/NetherFortPrefabs.h10
-rw-r--r--src/Generating/Ravines.cpp15
12 files changed, 4954 insertions, 2038 deletions
diff --git a/src/Generating/CMakeLists.txt b/src/Generating/CMakeLists.txt
index 1147744c0..3dacb5066 100644
--- a/src/Generating/CMakeLists.txt
+++ b/src/Generating/CMakeLists.txt
@@ -6,6 +6,7 @@ include_directories ("${PROJECT_SOURCE_DIR}/../")
file(GLOB SOURCE
"*.cpp"
+ "*.h"
)
add_library(Generating ${SOURCE})
diff --git a/src/Generating/Caves.cpp b/src/Generating/Caves.cpp
index 98b7c8681..5cad11d2a 100644
--- a/src/Generating/Caves.cpp
+++ b/src/Generating/Caves.cpp
@@ -200,13 +200,14 @@ void cCaveTunnel::Randomize(cNoise & a_Noise)
for (int i = 0; i < 4; i++)
{
// For each already present point, insert a point in between it and its predecessor, shifted randomly.
- int PrevX = m_Points.front().m_BlockX;
- int PrevY = m_Points.front().m_BlockY;
- int PrevZ = m_Points.front().m_BlockZ;
- int PrevR = m_Points.front().m_Radius;
+ cCaveDefPoint & Point = m_Points.front();
+ int PrevX = Point.m_BlockX;
+ int PrevY = Point.m_BlockY;
+ int PrevZ = Point.m_BlockZ;
+ int PrevR = Point.m_Radius;
cCaveDefPoints Pts;
Pts.reserve(m_Points.size() * 2 + 1);
- Pts.push_back(m_Points.front());
+ Pts.push_back(Point);
for (cCaveDefPoints::const_iterator itr = m_Points.begin() + 1, end = m_Points.end(); itr != end; ++itr)
{
int Random = a_Noise.IntNoise3DInt(PrevX, PrevY, PrevZ + i) / 11;
@@ -244,11 +245,12 @@ bool cCaveTunnel::RefineDefPoints(const cCaveDefPoints & a_Src, cCaveDefPoints &
a_Dst.clear();
a_Dst.reserve(Num * 2 + 2);
cCaveDefPoints::const_iterator itr = a_Src.begin() + 1;
- a_Dst.push_back(a_Src.front());
- int PrevX = a_Src.front().m_BlockX;
- int PrevY = a_Src.front().m_BlockY;
- int PrevZ = a_Src.front().m_BlockZ;
- int PrevR = a_Src.front().m_Radius;
+ const cCaveDefPoint & Source = a_Src.front();
+ a_Dst.push_back(Source);
+ int PrevX = Source.m_BlockX;
+ int PrevY = Source.m_BlockY;
+ int PrevZ = Source.m_BlockZ;
+ int PrevR = Source.m_Radius;
for (int i = 0; i <= Num; ++i, ++itr)
{
int dx = itr->m_BlockX - PrevX;
@@ -310,9 +312,10 @@ void cCaveTunnel::FinishLinear(void)
std::swap(Pts, m_Points);
m_Points.reserve(Pts.size() * 3);
- int PrevX = Pts.front().m_BlockX;
- int PrevY = Pts.front().m_BlockY;
- int PrevZ = Pts.front().m_BlockZ;
+ cCaveDefPoint & PrevPoint = Pts.front();
+ int PrevX = PrevPoint.m_BlockX;
+ int PrevY = PrevPoint.m_BlockY;
+ int PrevZ = PrevPoint.m_BlockZ;
for (cCaveDefPoints::const_iterator itr = Pts.begin() + 1, end = Pts.end(); itr != end; ++itr)
{
int x1 = itr->m_BlockX;
@@ -433,9 +436,10 @@ void cCaveTunnel::FinishLinear(void)
void cCaveTunnel::CalcBoundingBox(void)
{
- m_MinBlockX = m_MaxBlockX = m_Points.front().m_BlockX;
- m_MinBlockY = m_MaxBlockY = m_Points.front().m_BlockY;
- m_MinBlockZ = m_MaxBlockZ = m_Points.front().m_BlockZ;
+ cCaveDefPoint & Point = m_Points.front();
+ m_MinBlockX = m_MaxBlockX = Point.m_BlockX;
+ m_MinBlockY = m_MaxBlockY = Point.m_BlockY;
+ m_MinBlockZ = m_MaxBlockZ = Point.m_BlockZ;
for (cCaveDefPoints::const_iterator itr = m_Points.begin() + 1, end = m_Points.end(); itr != end; ++itr)
{
m_MinBlockX = std::min(m_MinBlockX, itr->m_BlockX - itr->m_Radius);
diff --git a/src/Generating/NetherFortGen.cpp b/src/Generating/NetherFortGen.cpp
index 02779a8a3..d90fdeb0a 100644
--- a/src/Generating/NetherFortGen.cpp
+++ b/src/Generating/NetherFortGen.cpp
@@ -71,6 +71,40 @@ public:
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Performance test of the NetherFort generator:
+
+/*
+#include "OSSupport/Timer.h"
+static class cNetherFortPerfTest
+{
+public:
+ cNetherFortPerfTest(void)
+ {
+ cTimer Timer;
+ long long StartTime = Timer.GetNowTime();
+
+ const int GridSize = 512;
+ const int MaxDepth = 12;
+ const int NumIterations = 100;
+ for (int i = 0; i < NumIterations; i++)
+ {
+ cNetherFortGen FortGen(i, GridSize, MaxDepth);
+ delete new cNetherFortGen::cNetherFort(FortGen, 0, 0, GridSize, MaxDepth, i);
+ }
+
+ long long EndTime = Timer.GetNowTime();
+ printf("%d forts took %lld msec (%f sec) to generate\n", NumIterations, EndTime - StartTime, ((double)(EndTime - StartTime)) / 1000);
+ exit(0);
+ }
+
+} g_PerfTest;
+//*/
+
+
+
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// cNetherFortGen:
cNetherFortGen::cNetherFortGen(int a_Seed, int a_GridSize, int a_MaxDepth) :
@@ -80,9 +114,9 @@ cNetherFortGen::cNetherFortGen(int a_Seed, int a_GridSize, int a_MaxDepth) :
m_MaxDepth(a_MaxDepth)
{
// Initialize the prefabs:
- for (size_t i = 0; i < g_NetherFortPrefabs1Count; i++)
+ for (size_t i = 0; i < g_NetherFortPrefabsCount; i++)
{
- cPrefab * Prefab = new cPrefab(g_NetherFortPrefabs1[i]);
+ cPrefab * Prefab = new cPrefab(g_NetherFortPrefabs[i]);
m_AllPieces.push_back(Prefab);
if (Prefab->HasConnectorType(0))
{
@@ -95,15 +129,17 @@ cNetherFortGen::cNetherFortGen(int a_Seed, int a_GridSize, int a_MaxDepth) :
}
// Initialize the starting piece prefabs:
- for (size_t i = 0; i < g_NetherFortStartingPrefabs1Count; i++)
+ for (size_t i = 0; i < g_NetherFortStartingPrefabsCount; i++)
{
- m_StartingPieces.push_back(new cPrefab(g_NetherFortStartingPrefabs1[i]));
+ m_StartingPieces.push_back(new cPrefab(g_NetherFortStartingPrefabs[i]));
}
+ /*
// DEBUG: Try one round of placement:
cPlacedPieces Pieces;
cBFSPieceGenerator pg(*this, a_Seed);
pg.PlacePieces(0, 64, 0, a_MaxDepth, Pieces);
+ */
}
@@ -256,6 +292,15 @@ cPieces cNetherFortGen::GetStartingPieces(void)
+int cNetherFortGen::GetPieceWeight(const cPlacedPiece & a_PlacedPiece, const cPiece::cConnector & a_ExistingConnector, const cPiece & a_NewPiece)
+{
+ return ((const cPrefab &)a_NewPiece).GetPieceWeight(a_PlacedPiece, a_ExistingConnector);
+}
+
+
+
+
+
void cNetherFortGen::PiecePlaced(const cPiece & a_Piece)
{
UNUSED(a_Piece);
diff --git a/src/Generating/NetherFortGen.h b/src/Generating/NetherFortGen.h
index 10ba01396..d51596b9e 100644
--- a/src/Generating/NetherFortGen.h
+++ b/src/Generating/NetherFortGen.h
@@ -26,6 +26,7 @@ public:
virtual ~cNetherFortGen();
protected:
+ friend class cNetherFortPerfTest; // fwd: NetherFortGen.cpp
class cNetherFort; // fwd: NetherFortGen.cpp
typedef std::list<cNetherFort *> cNetherForts;
@@ -77,6 +78,7 @@ protected:
// 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 void PiecePlaced(const cPiece & a_Piece) override;
virtual void Reset(void) override;
} ;
diff --git a/src/Generating/PieceGenerator.cpp b/src/Generating/PieceGenerator.cpp
index 8999a5ff7..db45cd08b 100644
--- a/src/Generating/PieceGenerator.cpp
+++ b/src/Generating/PieceGenerator.cpp
@@ -388,22 +388,26 @@ bool cPieceGenerator::TryPlacePieceAtConnector(
// Get a list of available connections:
const int * RotTable = DirectionRotationTable[a_Connector.m_Direction];
cConnections Connections;
- cPieces AvailablePieces = m_PiecePool.GetPiecesWithConnector(a_Connector.m_Type);
+ int WantedConnectorType = -a_Connector.m_Type;
+ cPieces AvailablePieces = m_PiecePool.GetPiecesWithConnector(WantedConnectorType);
Connections.reserve(AvailablePieces.size());
Vector3i ConnPos = a_Connector.m_Pos; // The position at which the new connector should be placed - 1 block away from the connector
AddFaceDirection(ConnPos.x, ConnPos.y, ConnPos.z, a_Connector.m_Direction);
-
- /*
- // DEBUG:
- printf("Placing piece at connector pos {%d, %d, %d}, direction %s\n", ConnPos.x, ConnPos.y, ConnPos.z, BlockFaceToString(a_Connector.m_Direction).c_str());
- //*/
-
+ int WeightTotal = 0;
for (cPieces::iterator itrP = AvailablePieces.begin(), endP = AvailablePieces.end(); itrP != endP; ++itrP)
{
+ // Get the relative chance of this piece being generated in this path:
+ int Weight = m_PiecePool.GetPieceWeight(a_ParentPiece, a_Connector, **itrP);
+ if (Weight <= 0)
+ {
+ continue;
+ }
+
+ // Try fitting each of the piece's connector:
cPiece::cConnectors Connectors = (*itrP)->GetConnectors();
for (cPiece::cConnectors::iterator itrC = Connectors.begin(), endC = Connectors.end(); itrC != endC; ++itrC)
{
- if (itrC->m_Type != a_Connector.m_Type)
+ if (itrC->m_Type != WantedConnectorType)
{
continue;
}
@@ -419,7 +423,9 @@ bool cPieceGenerator::TryPlacePieceAtConnector(
// Doesn't fit in this rotation
continue;
}
- Connections.push_back(cConnection(**itrP, *itrC, NumCCWRotations));
+ // Fits, add it to list of possibile connections:
+ Connections.push_back(cConnection(**itrP, *itrC, NumCCWRotations, Weight));
+ WeightTotal += Weight;
} // for itrC - Connectors[]
} // for itrP - AvailablePieces[]
if (Connections.empty())
@@ -427,21 +433,23 @@ bool cPieceGenerator::TryPlacePieceAtConnector(
// No available connections, bail out
return false;
}
+ ASSERT(WeightTotal > 0);
- // Choose a random connection from the list:
- int rnd = m_Noise.IntNoise3DInt(a_Connector.m_Pos.x, a_Connector.m_Pos.y, a_Connector.m_Pos.z) / 7;
- cConnection & Conn = Connections[rnd % Connections.size()];
+ // Choose a random connection from the list, based on the weights:
+ int rnd = (m_Noise.IntNoise3DInt(a_Connector.m_Pos.x, a_Connector.m_Pos.y, a_Connector.m_Pos.z) / 7) % WeightTotal;
+ size_t ChosenIndex = 0;
+ for (cConnections::const_iterator itr = Connections.begin(), end = Connections.end(); itr != end; ++itr, ++ChosenIndex)
+ {
+ rnd -= itr->m_Weight;
+ if (rnd <= 0)
+ {
+ // This is the piece to choose
+ break;
+ }
+ }
+ cConnection & Conn = Connections[ChosenIndex];
// Place the piece:
- /*
- // DEBUG
- printf("Chosen connector at {%d, %d, %d}, direction %s, needs %d rotations\n",
- Conn.m_Connector.m_Pos.x, Conn.m_Connector.m_Pos.y, Conn.m_Connector.m_Pos.z,
- BlockFaceToString(Conn.m_Connector.m_Direction).c_str(),
- Conn.m_NumCCWRotations
- );
- //*/
-
Vector3i NewPos = Conn.m_Piece->RotatePos(Conn.m_Connector.m_Pos, Conn.m_NumCCWRotations);
ConnPos -= NewPos;
cPlacedPiece * PlacedPiece = new cPlacedPiece(&a_ParentPiece, *(Conn.m_Piece), ConnPos, Conn.m_NumCCWRotations);
@@ -449,12 +457,6 @@ bool cPieceGenerator::TryPlacePieceAtConnector(
// Add the new piece's connectors to the list of free connectors:
cPiece::cConnectors Connectors = Conn.m_Piece->GetConnectors();
-
- /*
- // DEBUG:
- printf("Adding %u connectors to the pool\n", Connectors.size() - 1);
- //*/
-
for (cPiece::cConnectors::const_iterator itr = Connectors.begin(), end = Connectors.end(); itr != end; ++itr)
{
if (itr->m_Pos.Equals(Conn.m_Connector.m_Pos))
@@ -524,10 +526,11 @@ void cPieceGenerator::DebugConnectorPool(const cPieceGenerator::cFreeConnectors
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// cPieceGenerator::cConnection:
-cPieceGenerator::cConnection::cConnection(cPiece & a_Piece, cPiece::cConnector & a_Connector, int a_NumCCWRotations) :
+cPieceGenerator::cConnection::cConnection(cPiece & a_Piece, cPiece::cConnector & a_Connector, int a_NumCCWRotations, int a_Weight) :
m_Piece(&a_Piece),
m_Connector(a_Connector),
- m_NumCCWRotations(a_NumCCWRotations)
+ m_NumCCWRotations(a_NumCCWRotations),
+ m_Weight(a_Weight)
{
}
diff --git a/src/Generating/PieceGenerator.h b/src/Generating/PieceGenerator.h
index bef9d3463..16bec3bb4 100644
--- a/src/Generating/PieceGenerator.h
+++ b/src/Generating/PieceGenerator.h
@@ -38,7 +38,8 @@ public:
/** Position relative to the piece */
Vector3i m_Pos;
- /** Type of the connector. Any arbitrary number; the generator connects only connectors of the same type. */
+ /** Type of the connector. Any arbitrary number; the generator connects only connectors of opposite
+ (negative) types. */
int m_Type;
/** Direction in which the connector is facing.
@@ -85,6 +86,13 @@ typedef std::vector<cPiece *> cPieces;
+// fwd:
+class cPlacedPiece;
+
+
+
+
+
/** This class is an interface that provides pieces for the generator. It can keep track of what pieces were
placed and adjust the returned piece vectors. */
class cPiecePool
@@ -101,6 +109,16 @@ public:
Multiple starting points are supported, one of the returned piece will be chosen. */
virtual cPieces GetStartingPieces(void) = 0;
+ /** Returns the relative weight with which the a_NewPiece is to be selected for placing under a_PlacedPiece through a_ExistingConnector.
+ This allows the pool to tweak the piece's chances, based on the previous pieces in the tree and the connector used.
+ The higher the number returned, the higher the chance the piece will be chosen. 0 means the piece will never be chosen.
+ */
+ virtual int GetPieceWeight(
+ const cPlacedPiece & a_PlacedPiece,
+ const cPiece::cConnector & a_ExistingConnector,
+ const cPiece & a_NewPiece
+ ) { return 1; }
+
/** Called after a piece is placed, to notify the pool that it has been used.
The pool may adjust the pieces it will return the next time. */
virtual void PiecePlaced(const cPiece & a_Piece) = 0;
@@ -157,8 +175,9 @@ protected:
cPiece * m_Piece; // The piece being connected
cPiece::cConnector m_Connector; // The piece's connector being used (relative non-rotated coords)
int m_NumCCWRotations; // Number of rotations necessary to match the two connectors
+ int m_Weight; // Relative chance that this connection will be chosen
- cConnection(cPiece & a_Piece, cPiece::cConnector & a_Connector, int a_NumCCWRotations);
+ cConnection(cPiece & a_Piece, cPiece::cConnector & a_Connector, int a_NumCCWRotations, int a_Weight);
};
typedef std::vector<cConnection> cConnections;
diff --git a/src/Generating/Prefab.cpp b/src/Generating/Prefab.cpp
index 131b6acb2..0f20603be 100644
--- a/src/Generating/Prefab.cpp
+++ b/src/Generating/Prefab.cpp
@@ -23,6 +23,10 @@ static const cPrefab::sDef g_TestPrefabDef =
// Size:
7, 6, 7, // SizeX = 7, SizeY = 6, SizeZ = 7
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 6, 5, 6, // MaxX, MaxY, MaxZ
+
// Block definitions:
".: 0: 0\n" /* 0 */
"a:112: 0\n" /* netherbrick */
@@ -91,7 +95,19 @@ static const cPrefab::sDef g_TestPrefabDef =
7, /* 1, 2, 3 CCW rotations */
// Merge strategy:
- cBlockArea::msImprint
+ cBlockArea::msImprint,
+
+ // ShouldExtendFloor:
+ false,
+
+ // DefaultWeight:
+ 10,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ 1000,
};
static cPrefab g_TestPrefab(g_TestPrefabDef);
@@ -103,15 +119,22 @@ static cPrefab g_TestPrefab(g_TestPrefabDef);
cPrefab::cPrefab(const cPrefab::sDef & a_Def) :
m_Size(a_Def.m_SizeX, a_Def.m_SizeY, a_Def.m_SizeZ),
- m_HitBox(0, 0, 0, a_Def.m_SizeX - 1, a_Def.m_SizeY - 1, a_Def.m_SizeZ - 1),
+ m_HitBox(
+ a_Def.m_HitboxMinX, a_Def.m_HitboxMinY, a_Def.m_HitboxMinZ,
+ a_Def.m_HitboxMaxX, a_Def.m_HitboxMaxY, a_Def.m_HitboxMaxZ
+ ),
m_AllowedRotations(a_Def.m_AllowedRotations),
- m_MergeStrategy(a_Def.m_MergeStrategy)
+ m_MergeStrategy(a_Def.m_MergeStrategy),
+ m_ShouldExtendFloor(a_Def.m_ShouldExtendFloor),
+ m_DefaultWeight(a_Def.m_DefaultWeight),
+ m_AddWeightIfSame(a_Def.m_AddWeightIfSame)
{
m_BlockArea[0].Create(m_Size);
CharMap cm;
ParseCharMap(cm, a_Def.m_CharMap);
ParseBlockImage(cm, a_Def.m_Image);
ParseConnectors(a_Def.m_Connectors);
+ ParseDepthWeight(a_Def.m_DepthWeight);
// 1 CCW rotation:
if ((m_AllowedRotations & 0x01) != 0)
@@ -142,12 +165,56 @@ cPrefab::cPrefab(const cPrefab::sDef & a_Def) :
void cPrefab::Draw(cChunkDesc & a_Dest, const cPlacedPiece * a_Placement) const
{
+ // Draw the basic image:
Vector3i Placement = a_Placement->GetCoords();
int ChunkStartX = a_Dest.GetChunkX() * cChunkDef::Width;
int ChunkStartZ = a_Dest.GetChunkZ() * cChunkDef::Width;
Placement.Move(-ChunkStartX, 0, -ChunkStartZ);
- a_Dest.WriteBlockArea(m_BlockArea[a_Placement->GetNumCCWRotations()], Placement.x, Placement.y, Placement.z, m_MergeStrategy);
+ const cBlockArea & Image = m_BlockArea[a_Placement->GetNumCCWRotations()];
+ a_Dest.WriteBlockArea(Image, Placement.x, Placement.y, Placement.z, m_MergeStrategy);
+ // If requested, draw the floor (from the bottom of the prefab down to the nearest non-air)
+ if (m_ShouldExtendFloor)
+ {
+ int MaxX = Image.GetSizeX();
+ int MaxZ = Image.GetSizeZ();
+ for (int z = 0; z < MaxZ; z++)
+ {
+ int RelZ = Placement.z + z;
+ if ((RelZ < 0) || (RelZ >= cChunkDef::Width))
+ {
+ // Z coord outside the chunk
+ continue;
+ }
+ for (int x = 0; x < MaxX; x++)
+ {
+ int RelX = Placement.x + x;
+ if ((RelX < 0) || (RelX >= cChunkDef::Width))
+ {
+ // X coord outside the chunk
+ continue;
+ }
+ BLOCKTYPE BlockType;
+ NIBBLETYPE BlockMeta;
+ Image.GetRelBlockTypeMeta(x, 0, z, BlockType, BlockMeta);
+ if ((BlockType == E_BLOCK_AIR) || (BlockType == E_BLOCK_SPONGE))
+ {
+ // Do not expand air nor sponge blocks
+ continue;
+ }
+ for (int y = Placement.y - 1; y >= 0; y--)
+ {
+ BLOCKTYPE ExistingBlock = a_Dest.GetBlockType(RelX, y, RelZ);
+ if (ExistingBlock != E_BLOCK_AIR)
+ {
+ // End the expansion for this column, reached the end
+ break;
+ }
+ a_Dest.SetBlockTypeMeta(RelX, y, RelZ, BlockType, BlockMeta);
+ } // for y
+ } // for x
+ } // for z
+ }
}
@@ -170,6 +237,26 @@ bool cPrefab::HasConnectorType(int a_ConnectorType) const
+int cPrefab::GetPieceWeight(const cPlacedPiece & a_PlacedPiece, const cPiece::cConnector & a_ExistingConnector) const
+{
+ // Use the default or per-depth weight:
+ cDepthWeight::const_iterator itr = m_DepthWeight.find(a_PlacedPiece.GetDepth() + 1);
+ int res = (itr == m_DepthWeight.end()) ? m_DefaultWeight : itr->second;
+
+ // If the piece is the same as the parent, apply the m_AddWeightIfSame modifier:
+ const cPiece * ParentPiece = &a_PlacedPiece.GetPiece();
+ const cPiece * ThisPiece = this;
+ if (ThisPiece == ParentPiece)
+ {
+ res += m_AddWeightIfSame;
+ }
+ return res;
+}
+
+
+
+
+
void cPrefab::ParseCharMap(CharMap & a_CharMapOut, const char * a_CharMapDef)
{
ASSERT(a_CharMapDef != NULL);
@@ -199,7 +286,7 @@ void cPrefab::ParseCharMap(CharMap & a_CharMapOut, const char * a_CharMapDef)
if ((NumElements >= 3) && !CharDef[2].empty())
{
BlockMeta = (NIBBLETYPE)atoi(CharDef[2].c_str());
- ASSERT((BlockMeta >= 0) && (BlockMeta <= 15));
+ ASSERT((BlockMeta <= 15));
}
a_CharMapOut[Src].m_BlockMeta = BlockMeta;
} // for itr - Lines[]
@@ -277,6 +364,54 @@ void cPrefab::ParseConnectors(const char * a_ConnectorsDef)
+void cPrefab::ParseDepthWeight(const char * a_DepthWeightDef)
+{
+ // The member needn't be defined at all, if so, skip:
+ if (a_DepthWeightDef == NULL)
+ {
+ return;
+ }
+
+ // Split into individual records: "Record | Record | Record"
+ AStringVector Defs = StringSplitAndTrim(a_DepthWeightDef, "|");
+
+ // Add each record's contents:
+ for (AStringVector::const_iterator itr = Defs.begin(), end = Defs.end(); itr != end; ++itr)
+ {
+ // Split into components: "Depth : Weight"
+ AStringVector Components = StringSplitAndTrim(*itr, ":");
+ if (Components.size() != 2)
+ {
+ LOGWARNING("Bad prefab DepthWeight record: \"%s\", skipping.", itr->c_str());
+ continue;
+ }
+
+ // Parse depth:
+ int Depth = atoi(Components[0].c_str());
+ if ((Depth == 0) && (Components[0] != "0"))
+ {
+ LOGWARNING("Bad prefab DepthWeight record, cannot parse depth \"%s\", skipping.", Components[0].c_str());
+ continue;
+ }
+
+ // Parse weight:
+ int Weight = atoi(Components[1].c_str());
+ if ((Weight == 0) && (Components[1] != "0"))
+ {
+ LOGWARNING("Bad prefab DepthWeight record, cannot parse weight \"%s\", skipping.", Components[1].c_str());
+ continue;
+ }
+
+ // Save to map:
+ ASSERT(m_DepthWeight.find(Depth) == m_DepthWeight.end()); // Not a duplicate
+ m_DepthWeight[Depth] = Weight;
+ } // for itr - Defs[]
+}
+
+
+
+
+
cPiece::cConnectors cPrefab::GetConnectors(void) const
{
return m_Connectors;
diff --git a/src/Generating/Prefab.h b/src/Generating/Prefab.h
index 04c4f09da..37db2ff16 100644
--- a/src/Generating/Prefab.h
+++ b/src/Generating/Prefab.h
@@ -37,11 +37,51 @@ public:
int m_SizeX;
int m_SizeY;
int m_SizeZ;
+
+ /** The hitbox used for collision-checking between prefabs. Relative to the bounds. */
+ int m_HitboxMinX, m_HitboxMinY, m_HitboxMinZ;
+ int m_HitboxMaxX, m_HitboxMaxY, m_HitboxMaxZ;
+
+ /** The mapping between characters in m_Image and the blocktype / blockmeta.
+ Format: "Char: BlockType: BlockMeta \n Char: BlockType : BlockMeta \n ..." */
const char * m_CharMap;
+
+ /** The actual image to be used for the prefab. Organized YZX (Y changes the least often).
+ Each character represents a single block, the type is mapped through m_CharMap. */
const char * m_Image;
+
+ /** List of connectors.
+ Format: "Type: X, Y, Z : Direction \n Type : X, Y, Z : Direction \n ...".
+ Type is an arbitrary number, Direction is the BlockFace constant value (0 .. 5). */
const char * m_Connectors;
+
+ /** Bitmask specifying the allowed rotations.
+ N rotations CCW are allowed if bit N is set. */
int m_AllowedRotations;
+
+ /** The merge strategy to use while drawing the prefab. */
cBlockArea::eMergeStrategy m_MergeStrategy;
+
+ /** If set to true, the prefab will extend its lowermost blocks until a solid block is found,
+ thus creating a foundation for the prefab. This is used for houses to be "on the ground", as well as
+ nether fortresses not to float. */
+ bool m_ShouldExtendFloor;
+
+ /** Chance of this piece being used, if no other modifier is active. */
+ int m_DefaultWeight;
+
+ /** Chances of this piece being used, per depth of the generated piece tree.
+ The starting piece has a depth of 0, the pieces connected to it are depth 1, etc.
+ The specified depth stands for the depth of the new piece (not the existing already-placed piece),
+ so valid depths start at 1.
+ Format: "Depth : Weight | Depth : Weight | Depth : Weight ..."
+ Depths that are not specified will use the m_DefaultWeight value. */
+ const char * m_DepthWeight;
+
+ /** The weight to add to this piece's base per-depth chance if the previous piece is the same.
+ Can be positive or negative.
+ This is used e. g. to make nether bridges prefer spanning multiple segments or to penalize turrets next to each other. */
+ int m_AddWeightIfSame;
};
cPrefab(const sDef & a_Def);
@@ -51,6 +91,10 @@ public:
/** Returns true if the prefab has any connector of the specified type. */
bool HasConnectorType(int a_ConnectorType) const;
+
+ /** Returns the weight (chance) of this prefab generating as the next piece after the specified placed piece.
+ PiecePool implementations can use this for their GetPieceWeight() implementations. */
+ int GetPieceWeight(const cPlacedPiece & a_PlacedPiece, const cPiece::cConnector & a_ExistingConnector) const;
protected:
/** Packs complete definition of a single block, for per-letter assignment. */
@@ -60,9 +104,12 @@ protected:
NIBBLETYPE m_BlockMeta;
};
- /** Maps letters in the sDef::m_Image onto a number, BlockType * 16 | BlockMeta */
+ /** Maps letters in the sDef::m_Image onto a sBlockTypeDef block type definition. */
typedef sBlockTypeDef CharMap[256];
+ /** Maps generator tree depth to weight. */
+ typedef std::map<int, int> cDepthWeight;
+
/** The cBlockArea that contains the block definitions for the prefab.
The index identifies the number of CCW rotations applied (0 = no rotation, 1 = 1 CCW rotation, ...). */
@@ -71,7 +118,7 @@ protected:
/** The size of the prefab */
Vector3i m_Size;
- /** The hitbox of the prefab. In first version is the same as the m_BlockArea dimensions */
+ /** The hitbox used for collision-checking between prefabs. */
cCuboid m_HitBox;
/** The connectors through which the piece connects to other pieces */
@@ -82,6 +129,26 @@ protected:
/** The merge strategy to use when drawing the prefab into a block area */
cBlockArea::eMergeStrategy m_MergeStrategy;
+
+ /** If set to true, the prefab will extend its lowermost blocks until a solid block is found,
+ thus creating a foundation for the prefab. This is used for houses to be "on the ground", as well as
+ nether fortresses not to float. */
+ bool m_ShouldExtendFloor;
+
+ /** Chance of this piece being used, if no other modifier is active. */
+ int m_DefaultWeight;
+
+ /** Chances of this piece being used, per depth of the generated piece tree.
+ The starting piece has a depth of 0, the pieces connected to it are depth 1, etc.
+ The specified depth stands for the depth of the new piece (not the existing already-placed piece),
+ so valid depths start at 1.
+ Depths that are not specified will use the m_DefaultWeight value. */
+ cDepthWeight m_DepthWeight;
+
+ /** The weight to add to this piece's base per-depth chance if the previous piece is the same.
+ Can be positive or negative.
+ This is used e. g. to make nether bridges prefer spanning multiple segments or to penalize turrets next to each other. */
+ int m_AddWeightIfSame;
// cPiece overrides:
@@ -98,6 +165,9 @@ 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/Prefabs/CMakeLists.txt b/src/Generating/Prefabs/CMakeLists.txt
index 1e60447e7..a1f09112d 100644
--- a/src/Generating/Prefabs/CMakeLists.txt
+++ b/src/Generating/Prefabs/CMakeLists.txt
@@ -6,6 +6,7 @@ include_directories ("${PROJECT_SOURCE_DIR}/../../")
file(GLOB SOURCE
"*.cpp"
+ "*.h"
)
add_library(Generating_Prefabs ${SOURCE})
diff --git a/src/Generating/Prefabs/NetherFortPrefabs.cpp b/src/Generating/Prefabs/NetherFortPrefabs.cpp
index 5e8685e32..088340391 100644
--- a/src/Generating/Prefabs/NetherFortPrefabs.cpp
+++ b/src/Generating/Prefabs/NetherFortPrefabs.cpp
@@ -1,7 +1,10 @@
// NetherFortPrefabs.cpp
-// Defines all the prefabs for nether forts
+// Defines the prefabs in the group NetherFort
+
+// NOTE: This file has been generated automatically by GalExport!
+// Any manual changes will be overwritten by the next automatic export!
#include "Globals.h"
#include "NetherFortPrefabs.h"
@@ -10,347 +13,442 @@
-/*
-The nether fortress has two types of connectors, Outer and Inner. Outer is Type 0, Inner is Type 1.
-*/
-
-
-
-
-
-const cPrefab::sDef g_NetherFortPrefabs1[] =
+const cPrefab::sDef g_NetherFortPrefabs[] =
{
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// BalconyCorridor:
- // The data has been exported from gallery Nether, area index 37, ID 288
+ // The data has been exported from the gallery Nether, area index 37, ID 288, created by Aloe_vera
{
// Size:
13, 7, 9, // SizeX = 13, SizeY = 7, SizeZ = 9
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 12, 6, 8, // MaxX, MaxY, MaxZ
+
// Block definitions:
+ ".: 0: 0\n" /* air */
"a:112: 0\n" /* netherbrick */
- "b: 19: 0\n" /* sponge */
- "c:114: 4\n" /* netherbrickstairs */
- "d:114: 7\n" /* netherbrickstairs */
- "e:114: 5\n" /* netherbrickstairs */
- "f: 44: 6\n" /* step */
- "g:113: 0\n" /* netherbrickfence */
- "h:114: 2\n" /* netherbrickstairs */
- "i:114: 3\n" /* netherbrickstairs */
- "j:114: 0\n" /* netherbrickstairs */
- "k:114: 1\n" /* netherbrickstairs */
- ".: 0: 0\n" /* air */,
+ "b:114: 4\n" /* netherbrickstairs */
+ "c:114: 7\n" /* netherbrickstairs */
+ "d:114: 5\n" /* netherbrickstairs */
+ "e: 44: 6\n" /* step */
+ "f:113: 0\n" /* netherbrickfence */
+ "g:114: 2\n" /* netherbrickstairs */
+ "h:114: 3\n" /* netherbrickstairs */
+ "i:114: 0\n" /* netherbrickstairs */
+ "j:114: 1\n" /* netherbrickstairs */
+ "m: 19: 0\n" /* sponge */,
// Block data:
+ // Level 0
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "aaaaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaaaa"
+ /* 5 */ "mmmmaaaaammmm"
+ /* 6 */ "mmmmmmmmmmmmm"
+ /* 7 */ "mmmmmmmmmmmmm"
+ /* 8 */ "mmmmmmmmmmmmm"
+
// Level 1
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "bbbbaaaaabbbb"
- "bbbbbbbbbbbbb"
- "bbbbbbbbbbbbb"
- "bbbbbbbbbbbbb"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "aaaaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaa"
+ /* 4 */ "aaaa.aaa.aaaa"
+ /* 5 */ "mmbcaaaaacdmm"
+ /* 6 */ "mmmbcccccdmmm"
+ /* 7 */ "mmmmmmmmmmmmm"
+ /* 8 */ "mmmmmmmmmmmmm"
// Level 2
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaa.aaa.aaaa"
- "bbcdaaaaadebb"
- "bbbcdddddebbb"
- "bbbbbbbbbbbbb"
- "bbbbbbbbbbbbb"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "aaaaaaaaaaaaa"
+ /* 1 */ "............."
+ /* 2 */ "............."
+ /* 3 */ "............."
+ /* 4 */ "aaaa.eee.aaaa"
+ /* 5 */ "mmaaaaaaaaamm"
+ /* 6 */ "mmaaaaaaaaamm"
+ /* 7 */ "mmaaaaaaaaamm"
+ /* 8 */ "mmaaaaaaaaamm"
// Level 3
- "aaaaaaaaaaaaa"
- "............."
- "............."
- "............."
- "aaaa.fff.aaaa"
- "bbaaaaaaaaabb"
- "bbaaaaaaaaabb"
- "bbaaaaaaaaabb"
- "bbaaaaaaaaabb"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "afafafafafafa"
+ /* 1 */ "............."
+ /* 2 */ "............."
+ /* 3 */ "............."
+ /* 4 */ "afaa.....aafa"
+ /* 5 */ "mmaaa...aaamm"
+ /* 6 */ "mmf.......fmm"
+ /* 7 */ "mmf.......fmm"
+ /* 8 */ "mmfffffffffmm"
// Level 4
- "agagagagagaga"
- "............."
- "............."
- "............."
- "agaa.....aaga"
- "bbaaa...aaabb"
- "bbg.......gbb"
- "bbg.......gbb"
- "bbgggggggggbb"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "afafafafafafa"
+ /* 1 */ "............."
+ /* 2 */ "............."
+ /* 3 */ "............."
+ /* 4 */ "afaa.....aafa"
+ /* 5 */ "mmaaa...aaamm"
+ /* 6 */ "mm.........mm"
+ /* 7 */ "mm.........mm"
+ /* 8 */ "mm.........mm"
// Level 5
- "agagagagagaga"
- "............."
- "............."
- "............."
- "agaa.....aaga"
- "bbaaa...aaabb"
- "bb.........bb"
- "bb.........bb"
- "bb.........bb"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "afafafafafafa"
+ /* 1 */ "............."
+ /* 2 */ "............."
+ /* 3 */ "............."
+ /* 4 */ "afaa.....aafa"
+ /* 5 */ "mmaaa...aaamm"
+ /* 6 */ "mm.........mm"
+ /* 7 */ "mm.........mm"
+ /* 8 */ "mm.........mm"
// Level 6
- "agagagagagaga"
- "............."
- "............."
- "............."
- "agaa.....aaga"
- "bbaaa...aaabb"
- "bb.........bb"
- "bb.........bb"
- "bb.........bb"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "ggggggggggggg"
+ /* 1 */ "aaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaa"
+ /* 4 */ "hhiaaaaaaahhh"
+ /* 5 */ "mmihhhhhhhjmm"
+ /* 6 */ "mmmmmmmmmmmmm"
+ /* 7 */ "mmmmmmmmmmmmm"
+ /* 8 */ "mmmmmmmmmmmmm",
+
+ // Connectors:
+ "1: 12, 2, 2: 5\n" /* Type 1, direction X+ */
+ "1: 0, 2, 2: 4\n" /* Type 1, direction X- */
+ "-1: 12, 2, 2: 5\n" /* Type -1, direction X+ */
+ "-1: 0, 2, 2: 4\n" /* Type -1, direction X- */,
- // Level 7
- "hhhhhhhhhhhhh"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "iijaaaaaaaiii"
- "bbjiiiiiiikbb"
- "bbbbbbbbbbbbb"
- "bbbbbbbbbbbbb"
- "bbbbbbbbbbbbb",
-
- // Connections:
- "1: 0, 2, 2: 4\n" /* Type 1, BLOCK_FACE_XM */
- "1: 12, 2, 2: 5\n" /* Type 1, BLOCK_FACE_XP */,
-
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 20,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ 0,
}, // BalconyCorridor
+
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// BalconyTee2:
- // The data has been exported from gallery Nether, area index 38, ID 289
+ // The data has been exported from the gallery Nether, area index 38, ID 289, created by Aloe_vera
{
// Size:
13, 7, 11, // SizeX = 13, SizeY = 7, SizeZ = 11
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 12, 6, 10, // MaxX, MaxY, MaxZ
+
// Block definitions:
- "a: 19: 0\n" /* sponge */
- "b:112: 0\n" /* netherbrick */
- "c:114: 4\n" /* netherbrickstairs */
- "d:114: 7\n" /* netherbrickstairs */
- "e:114: 5\n" /* netherbrickstairs */
- "f: 44: 6\n" /* step */
- "g:113: 0\n" /* netherbrickfence */
- "h:114: 0\n" /* netherbrickstairs */
- "i:114: 1\n" /* netherbrickstairs */
- "j:114: 2\n" /* netherbrickstairs */
- "k:114: 3\n" /* netherbrickstairs */
- ".: 0: 0\n" /* air */,
+ ".: 0: 0\n" /* air */
+ "a:112: 0\n" /* netherbrick */
+ "b:114: 4\n" /* netherbrickstairs */
+ "c:114: 7\n" /* netherbrickstairs */
+ "d:114: 5\n" /* netherbrickstairs */
+ "e: 44: 6\n" /* step */
+ "f:113: 0\n" /* netherbrickfence */
+ "g:114: 0\n" /* netherbrickstairs */
+ "h:114: 1\n" /* netherbrickstairs */
+ "i:114: 2\n" /* netherbrickstairs */
+ "j:114: 3\n" /* netherbrickstairs */
+ "m: 19: 0\n" /* sponge */,
// Block data:
+ // Level 0
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmmaaaaammmm"
+ /* 1 */ "mmmmaaaaammmm"
+ /* 2 */ "aaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaaaa"
+ /* 5 */ "aaaaaaaaaaaaa"
+ /* 6 */ "aaaaaaaaaaaaa"
+ /* 7 */ "mmmmaaaaammmm"
+ /* 8 */ "mmmmmmmmmmmmm"
+ /* 9 */ "mmmmmmmmmmmmm"
+ /* 10 */ "mmmmmmmmmmmmm"
+
// Level 1
- "aaaabbbbbaaaa"
- "aaaabbbbbaaaa"
- "bbbbbbbbbbbbb"
- "bbbbbbbbbbbbb"
- "bbbbbbbbbbbbb"
- "bbbbbbbbbbbbb"
- "bbbbbbbbbbbbb"
- "aaaabbbbbaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmmaaaaammmm"
+ /* 1 */ "mmmmaaaaammmm"
+ /* 2 */ "aaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaaaa"
+ /* 5 */ "aaaaaaaaaaaaa"
+ /* 6 */ "aaaa.aaa.aaaa"
+ /* 7 */ "mmbcaaaaacdmm"
+ /* 8 */ "mmmbcccccdmmm"
+ /* 9 */ "mmmmmmmmmmmmm"
+ /* 10 */ "mmmmmmmmmmmmm"
// Level 2
- "aaaabbbbbaaaa"
- "aaaabbbbbaaaa"
- "bbbbbbbbbbbbb"
- "bbbbbbbbbbbbb"
- "bbbbbbbbbbbbb"
- "bbbbbbbbbbbbb"
- "bbbb.bbb.bbbb"
- "aacdbbbbbdeaa"
- "aaacdddddeaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmma...ammmm"
+ /* 1 */ "mmmma...ammmm"
+ /* 2 */ "aaaaa...aaaaa"
+ /* 3 */ "............."
+ /* 4 */ "............."
+ /* 5 */ "............."
+ /* 6 */ "aaaa.eee.aaaa"
+ /* 7 */ "mmaaaaaaaaamm"
+ /* 8 */ "mmaaaaaaaaamm"
+ /* 9 */ "mmaaaaaaaaamm"
+ /* 10 */ "mmaaaaaaaaamm"
// Level 3
- "aaaab...baaaa"
- "aaaab...baaaa"
- "bbbbb...bbbbb"
- "............."
- "............."
- "............."
- "bbbb.fff.bbbb"
- "aabbbbbbbbbaa"
- "aabbbbbbbbbaa"
- "aabbbbbbbbbaa"
- "aabbbbbbbbbaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmma...ammmm"
+ /* 1 */ "mmmmf...fmmmm"
+ /* 2 */ "afafa...afafa"
+ /* 3 */ "............."
+ /* 4 */ "............."
+ /* 5 */ "............."
+ /* 6 */ "afaa.....aafa"
+ /* 7 */ "mmaaa...aaamm"
+ /* 8 */ "mmf.......fmm"
+ /* 9 */ "mmf.......fmm"
+ /* 10 */ "mmfffffffffmm"
// Level 4
- "aaaab...baaaa"
- "aaaag...gaaaa"
- "bgbgb...bgbgb"
- "............."
- "............."
- "............."
- "bgbb.....bbgb"
- "aabbb...bbbaa"
- "aag.......gaa"
- "aag.......gaa"
- "aagggggggggaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmma...ammmm"
+ /* 1 */ "mmmmf...fmmmm"
+ /* 2 */ "afafa...afafa"
+ /* 3 */ "............."
+ /* 4 */ "............."
+ /* 5 */ "............."
+ /* 6 */ "afaa.....aafa"
+ /* 7 */ "mmaaa...aaamm"
+ /* 8 */ "mm.........mm"
+ /* 9 */ "mm.........mm"
+ /* 10 */ "mm.........mm"
// Level 5
- "aaaab...baaaa"
- "aaaag...gaaaa"
- "bgbgb...bgbgb"
- "............."
- "............."
- "............."
- "bgbb.....bbgb"
- "aabbb...bbbaa"
- "aa.........aa"
- "aa.........aa"
- "aa.........aa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmma...ammmm"
+ /* 1 */ "mmmmf...fmmmm"
+ /* 2 */ "afafa...afafa"
+ /* 3 */ "............."
+ /* 4 */ "............."
+ /* 5 */ "............."
+ /* 6 */ "afaa.....aafa"
+ /* 7 */ "mmaaa...aaamm"
+ /* 8 */ "mm.........mm"
+ /* 9 */ "mm.........mm"
+ /* 10 */ "mm.........mm"
// Level 6
- "aaaab...baaaa"
- "aaaag...gaaaa"
- "bgbgb...bgbgb"
- "............."
- "............."
- "............."
- "bgbb.....bbgb"
- "aabbb...bbbaa"
- "aa.........aa"
- "aa.........aa"
- "aa.........aa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmmgaaahmmmm"
+ /* 1 */ "mmmmgaaahmmmm"
+ /* 2 */ "iiiiiaaaiiiii"
+ /* 3 */ "aaaaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaaaa"
+ /* 5 */ "aaaaaaaaaaaaa"
+ /* 6 */ "jjgaaaaaaajjj"
+ /* 7 */ "mmgjjjjjjjhmm"
+ /* 8 */ "mmmmmmmmmmmmm"
+ /* 9 */ "mmmmmmmmmmmmm"
+ /* 10 */ "mmmmmmmmmmmmm",
+
+ // Connectors:
+ "1: 12, 2, 4: 5\n" /* Type 1, direction X+ */
+ "1: 6, 2, 0: 2\n" /* Type 1, direction Z- */
+ "1: 0, 2, 4: 4\n" /* Type 1, direction X- */
+ "-1: 12, 2, 4: 5\n" /* Type -1, direction X+ */
+ "-1: 6, 2, 0: 2\n" /* Type -1, direction Z- */
+ "-1: 0, 2, 4: 4\n" /* Type -1, direction X- */,
- // Level 7
- "aaaahbbbiaaaa"
- "aaaahbbbiaaaa"
- "jjjjjbbbjjjjj"
- "bbbbbbbbbbbbb"
- "bbbbbbbbbbbbb"
- "bbbbbbbbbbbbb"
- "kkhbbbbbbbkkk"
- "aahkkkkkkkiaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa",
-
- // Connections:
- "1: 0, 2, 4: 4\n" /* Type 1, BLOCK_FACE_XM */
- "1: 12, 2, 4: 5\n" /* Type 1, BLOCK_FACE_XP */
- "1: 6, 2, 0: 2\n" /* Type 1, BLOCK_FACE_ZM */,
-
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 20,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ 0,
}, // BalconyTee2
+
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // BlazePlatform
- // The data has been exported from gallery Nether, area index 26, ID 276
+ // BlazePlatform:
+ // The data has been exported from the gallery Nether, area index 26, ID 276, created by tonibm1999
{
// 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:112: 0\n" /* netherbrick */
"b: 52: 0\n" /* mobspawner */
- "c:113: 0\n" /* netherbrickfence */,
+ "c:113: 0\n" /* netherbrickfence */
+ "m: 19: 0\n" /* sponge */,
// Block data:
+ // Level 0
+ /* z\x* */
+ /* * 0123456789 */
+ /* 0 */ "mmmmmmmmmm"
+ /* 1 */ "aaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaa"
+ /* 5 */ "aaaaaaaaaa"
+ /* 6 */ "mmmmmmmmmm"
+
// Level 1
- ".........."
- "aaaaaaaaaa"
- "aaaaaaaaaa"
- "aaaaaaaaaa"
- "aaaaaaaaaa"
- "aaaaaaaaaa"
- ".........."
+ /* z\x* */
+ /* * 0123456789 */
+ /* 0 */ "mmmmmmmmmm"
+ /* 1 */ "aaaaaaaaaa"
+ /* 2 */ "..aaaaaaaa"
+ /* 3 */ "..aaaaaaaa"
+ /* 4 */ "..aaaaaaaa"
+ /* 5 */ "aaaaaaaaaa"
+ /* 6 */ "mmmmmmmmmm"
// Level 2
- ".........."
- "aaaaaaaaaa"
- "..aaaaaaaa"
- "..aaaaaaaa"
- "..aaaaaaaa"
- "aaaaaaaaaa"
- ".........."
+ /* z\x* */
+ /* * 0123456789 */
+ /* 0 */ "mmmmaaaaaa"
+ /* 1 */ "aaaaaaaaaa"
+ /* 2 */ "...aaaaaaa"
+ /* 3 */ "...aaaaaaa"
+ /* 4 */ "...aaaaaaa"
+ /* 5 */ "aaaaaaaaaa"
+ /* 6 */ "mmmmaaaaaa"
// Level 3
- "....aaaaaa"
- "aaaaaaaaaa"
- "...aaaaaaa"
- "...aaaaaaa"
- "...aaaaaaa"
- "aaaaaaaaaa"
- "....aaaaaa"
+ /* z\x* */
+ /* * 0123456789 */
+ /* 0 */ "mmmmaaaaaa"
+ /* 1 */ "mmaaa....a"
+ /* 2 */ ".........a"
+ /* 3 */ "......b..a"
+ /* 4 */ ".........a"
+ /* 5 */ "mmaaa....a"
+ /* 6 */ "mmmmaaaaaa"
// Level 4
- "....aaaaaa"
- "..aaa....a"
- ".........a"
- "......b..a"
- ".........a"
- "..aaa....a"
- "....aaaaaa"
+ /* z\x* */
+ /* * 0123456789 */
+ /* 0 */ "mmmmcccccc"
+ /* 1 */ "mmmcc....c"
+ /* 2 */ ".........c"
+ /* 3 */ ".........c"
+ /* 4 */ ".........c"
+ /* 5 */ "mmmcc....c"
+ /* 6 */ "mmmmcccccc"
// Level 5
- "....cccccc"
- "...cc....c"
- ".........c"
- ".........c"
- ".........c"
- "...cc....c"
- "....cccccc"
+ /* z\x* */
+ /* * 0123456789 */
+ /* 0 */ "mmmmmmmmmm"
+ /* 1 */ "mmmmm....c"
+ /* 2 */ "m........c"
+ /* 3 */ "m........c"
+ /* 4 */ "m........c"
+ /* 5 */ "mmmmm....c"
+ /* 6 */ "mmmmmmmmmm"
// Level 6
- ".........."
- ".........c"
- ".........c"
- ".........c"
- ".........c"
- ".........c"
- ".........."
+ /* z\x* */
+ /* * 0123456789 */
+ /* 0 */ "mmmmmmmmmm"
+ /* 1 */ "mmmmm....m"
+ /* 2 */ "mm.......c"
+ /* 3 */ "mm.......c"
+ /* 4 */ "mm.......c"
+ /* 5 */ "mmmmm....m"
+ /* 6 */ "mmmmmmmmmm",
+
+ // Connectors:
+ "0: 0, 1, 3: 4\n" /* Type 0, direction X- */,
- // Level 7
- ".........."
- ".........."
- ".........c"
- ".........c"
- ".........c"
- ".........."
- "..........",
-
- // Connections:
- "0: 0, 1, 3: 4\n" /* Type 0, BLOCK_FACE_XM */,
-
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 100,
+
+ // DepthWeight:
+ "1:0|2:0|3:0|4:0|5:0",
+
+ // AddWeightIfSame:
+ 0,
}, // BlazePlatform
+
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// BlazePlatformOverhang:
- // The data has been exported from gallery Nether, area index 20, ID 162
+ // The data has been exported from the gallery Nether, area index 20, ID 162, created by STR_Warrior
{
// Size:
- 14, 9, 7, // SizeX = 14, SizeY = 9, SizeZ = 7
+ 14, 11, 7, // SizeX = 14, SizeY = 11, SizeZ = 7
+
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 13, 20, 6, // MaxX, MaxY, MaxZ
// Block definitions:
".: 0: 0\n" /* air */
@@ -366,105 +464,362 @@ const cPrefab::sDef g_NetherFortPrefabs1[] =
"m: 19: 0\n" /* sponge */,
// Block data:
+ // Level 0
+ /* z\x* 1111 */
+ /* * 01234567890123 */
+ /* 0 */ "mmmmmmmmmmmmmm"
+ /* 1 */ "mmmmmmmmmmmmmm"
+ /* 2 */ "aammmmmmmmmmmm"
+ /* 3 */ "aammmmmmmmmmmm"
+ /* 4 */ "aammmmmmmmmmmm"
+ /* 5 */ "mmmmmmmmmmmmmm"
+ /* 6 */ "mmmmmmmmmmmmmm"
+
// Level 1
- "mmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmm"
- "aammmmmmmmmmmm"
- "aammmmmmmmmmmm"
- "aammmmmmmmmmmm"
- "mmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmm"
+ /* z\x* 1111 */
+ /* * 01234567890123 */
+ /* 0 */ "mmmmmmmmmmmmmm"
+ /* 1 */ "mmmmmmmmmmmmmm"
+ /* 2 */ "aabcmmmmmmmmmm"
+ /* 3 */ "aabcmmmmmmmmmm"
+ /* 4 */ "aabcmmmmmmmmmm"
+ /* 5 */ "mmmmmmmmmmmmmm"
+ /* 6 */ "mmmmmmmmmmmmmm"
// Level 2
- "mmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmm"
- "aabcmmmmmmmmmm"
- "aabcmmmmmmmmmm"
- "aabcmmmmmmmmmm"
- "mmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmm"
+ /* z\x* 1111 */
+ /* * 01234567890123 */
+ /* 0 */ "mmmmmmmmmmmmmm"
+ /* 1 */ "mmmmmmmmmmmmmm"
+ /* 2 */ "aaaaabmmmmmmmm"
+ /* 3 */ "aaaaabmmmmmmmm"
+ /* 4 */ "aaaaabmmmmmmmm"
+ /* 5 */ "mmmmmmmmmmmmmm"
+ /* 6 */ "mmmmmmmmmmmmmm"
// Level 3
- "mmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmm"
- "aaaaabmmmmmmmm"
- "aaaaabmmmmmmmm"
- "aaaaabmmmmmmmm"
- "mmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmm"
+ /* z\x* 1111 */
+ /* * 01234567890123 */
+ /* 0 */ "mmmmmmmmmmmmmm"
+ /* 1 */ "dddddddmmmmmmm"
+ /* 2 */ "aaaaaabmmmmmmm"
+ /* 3 */ "aaaaaabmmmmmmm"
+ /* 4 */ "aaaaaabmmmmmmm"
+ /* 5 */ "eeeeeeemmmmmmm"
+ /* 6 */ "mmmmmmmmmmmmmm"
// Level 4
- "mmmmmmmmmmmmmm"
- "dddddddmmmmmmm"
- "aaaaaabmmmmmmm"
- "aaaaaabmmmmmmm"
- "aaaaaabmmmmmmm"
- "eeeeeeemmmmmmm"
- "mmmmmmmmmmmmmm"
+ /* z\x* 1111 */
+ /* * 01234567890123 */
+ /* 0 */ "mmmmmmmmmmmmmm"
+ /* 1 */ "aaaaaaadmmmmmm"
+ /* 2 */ "aaaaaaabmmmmmm"
+ /* 3 */ "aaaaaaabmmmmmm"
+ /* 4 */ "aaaaaaabmmmmmm"
+ /* 5 */ "aaaaaaaemmmmmm"
+ /* 6 */ "mmmmmmmmmmmmmm"
// Level 5
- "mmmmmmmmmmmmmm"
- "aaaaaaadmmmmmm"
- "aaaaaaabmmmmmm"
- "aaaaaaabmmmmmm"
- "aaaaaaabmmmmmm"
- "aaaaaaaemmmmmm"
- "mmmmmmmmmmmmmm"
+ /* z\x* 1111 */
+ /* * 01234567890123 */
+ /* 0 */ "mmmmmmmmmmmmmm"
+ /* 1 */ "aaaaaaaabddddm"
+ /* 2 */ "......faaaaabm"
+ /* 3 */ "......faaaaabm"
+ /* 4 */ "......faaaaabm"
+ /* 5 */ "aaaaaaaaabeebm"
+ /* 6 */ "mmmmmmmmmmmmmm"
// Level 6
- "mmmmmmmmmmmmmm"
- "aaaaaaaabddddm"
- "......faaaaabm"
- "......faaaaabm"
- "......faaaaabm"
- "aaaaaaaaabeebm"
- "mmmmmmmmmmmmmm"
+ /* z\x* 1111 */
+ /* * 01234567890123 */
+ /* 0 */ "mmmmmmmmgdddbm"
+ /* 1 */ "mmmmmmaaaaaaad"
+ /* 2 */ ".......faaaaab"
+ /* 3 */ ".......faaaaab"
+ /* 4 */ ".......faaaaab"
+ /* 5 */ "mmmmmmaaaaaaae"
+ /* 6 */ "mmmmmmmmgeeebm"
// Level 7
- "mmmmmmmmgdddbm"
- "......aaaaaaad"
- ".......faaaaab"
- ".......faaaaab"
- ".......faaaaab"
- "......aaaaaaae"
- "mmmmmmmmgeeebm"
+ /* z\x* 1111 */
+ /* * 01234567890123 */
+ /* 0 */ "mmmmmmmmaaaaam"
+ /* 1 */ "mmmmmmhaa...aa"
+ /* 2 */ ".............a"
+ /* 3 */ "..........i..a"
+ /* 4 */ ".............a"
+ /* 5 */ "mmmmmmhaa...aa"
+ /* 6 */ "mmmmmmmmaaaaam"
// Level 8
- "mmmmmmmmaaaaam"
- "......haa...aa"
- ".............a"
- "..........i..a"
- ".............a"
- "......haa...aa"
- "mmmmmmmmaaaaam"
+ /* z\x* 1111 */
+ /* * 01234567890123 */
+ /* 0 */ "mmmmmmmmhhhhhm"
+ /* 1 */ "mmmmmmhhh...hh"
+ /* 2 */ "mm...........h"
+ /* 3 */ "mm...........h"
+ /* 4 */ "mm...........h"
+ /* 5 */ "mmmmmmhhh...hh"
+ /* 6 */ "mmmmmmmmhhhhhm"
// Level 9
- "mmmmmmmmhhhhhm"
- "......hhh...hh"
- ".............h"
- ".............h"
- ".............h"
- "......hhh...hh"
- "mmmmmmmmhhhhhm",
+ /* z\x* 1111 */
+ /* * 01234567890123 */
+ /* 0 */ "mmmmmmmm.....m"
+ /* 1 */ "mmmmmm........"
+ /* 2 */ "mmmm.........."
+ /* 3 */ "mmmm.........."
+ /* 4 */ "mmmm.........."
+ /* 5 */ "mmmmmm........"
+ /* 6 */ "mmmmmmmm.....m"
- // Connections:
- "0: 0, 5, 3: 4\n" /* Type 0, BLOCK_FACE_XM */,
+ // Level 10
+ /* z\x* 1111 */
+ /* * 01234567890123 */
+ /* 0 */ "mmmmmmmm.....m"
+ /* 1 */ "mmmmmm........"
+ /* 2 */ "mmmmmm........"
+ /* 3 */ "mmmmmm........"
+ /* 4 */ "mmmmmm........"
+ /* 5 */ "mmmmmm........"
+ /* 6 */ "mmmmmmmm.....m",
+
+ // Connectors:
+ "0: 0, 5, 3: 4\n" /* Type 0, direction X- */,
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 100,
+
+ // DepthWeight:
+ "1:0|2:0|3:0|4:0|5:0",
+
+ // AddWeightIfSame:
+ 0,
}, // BlazePlatformOverhang
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // BridgeCircleCrossing:
+ // The data has been exported from the gallery Nether, area index 49, ID 308, created by Aloe_vera
+ {
+ // Size:
+ 15, 8, 15, // SizeX = 15, SizeY = 8, SizeZ = 15
+
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 14, 17, 14, // MaxX, MaxY, MaxZ
+
+ // Block definitions:
+ ".: 0: 0\n" /* air */
+ "a:112: 0\n" /* netherbrick */
+ "b:114: 7\n" /* netherbrickstairs */
+ "c:114: 5\n" /* netherbrickstairs */
+ "d:114: 4\n" /* netherbrickstairs */
+ "e:114: 6\n" /* netherbrickstairs */
+ "m: 19: 0\n" /* sponge */,
+
+ // Block data:
+ // Level 0
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmaaammmmmm"
+ /* 1 */ "mmmmmmaaammmmmm"
+ /* 2 */ "mmmmmmmmmmmmmmm"
+ /* 3 */ "mmmmmmmmmmmmmmm"
+ /* 4 */ "mmmmmmmmmmmmmmm"
+ /* 5 */ "mmmmmmmmmmmmmmm"
+ /* 6 */ "aammmmmmmmmmmaa"
+ /* 7 */ "aammmmmmmmmmmaa"
+ /* 8 */ "aammmmmmmmmmmaa"
+ /* 9 */ "mmmmmmmmmmmmmmm"
+ /* 10 */ "mmmmmmmmmmmmmmm"
+ /* 11 */ "mmmmmmmmmmmmmmm"
+ /* 12 */ "mmmmmmmmmmmmmmm"
+ /* 13 */ "mmmmmmaaammmmmm"
+ /* 14 */ "mmmmmmaaammmmmm"
+
+ // Level 1
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmaaammmmmm"
+ /* 1 */ "mmmmmmaaammmmmm"
+ /* 2 */ "mmmmmmbbbmmmmmm"
+ /* 3 */ "mmmmmmmmmmmmmmm"
+ /* 4 */ "mmmmmmmmmmmmmmm"
+ /* 5 */ "mmmmmmmmmmmmmmm"
+ /* 6 */ "aacmmmmmmmmmdaa"
+ /* 7 */ "aacmmmmmmmmmdaa"
+ /* 8 */ "aacmmmmmmmmmdaa"
+ /* 9 */ "mmmmmmmmmmmmmmm"
+ /* 10 */ "mmmmmmmmmmmmmmm"
+ /* 11 */ "mmmmmmmmmmmmmmm"
+ /* 12 */ "mmmmmmeeemmmmmm"
+ /* 13 */ "mmmmmmaaammmmmm"
+ /* 14 */ "mmmmmmaaammmmmm"
+
+ // Level 2
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmaaammmmmm"
+ /* 1 */ "mmmmmeaaammmmmm"
+ /* 2 */ "mmmmmdaaammmmmm"
+ /* 3 */ "mmmmmdbbbmmmmmm"
+ /* 4 */ "mmmmmmmmmmmmmmm"
+ /* 5 */ "mdeemmmmmmmeecm"
+ /* 6 */ "aaacmmmmmmmdaaa"
+ /* 7 */ "aaacmmmmmmmdaaa"
+ /* 8 */ "aaacmmmmmmmdaaa"
+ /* 9 */ "mdbcmmmmmmmbbcm"
+ /* 10 */ "mmmmmmmmmmmmmmm"
+ /* 11 */ "mmmmmdeeecmmmmm"
+ /* 12 */ "mmmmmdaaacmmmmm"
+ /* 13 */ "mmmmmbaaabmmmmm"
+ /* 14 */ "mmmmmmaaammmmmm"
+
+ // Level 3
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "deeeedaaaceeeec"
+ /* 1 */ "daaaaaaaaaaaaac"
+ /* 2 */ "daaaaaaaaaaaaac"
+ /* 3 */ "daaaaaaaaaaaaac"
+ /* 4 */ "daaacbbaabdaaac"
+ /* 5 */ "eaaacmmmmmdaaae"
+ /* 6 */ "aaaacmmmmmdaaaa"
+ /* 7 */ "aaaacmmmmmdaaaa"
+ /* 8 */ "aaaacmmmmmdaaaa"
+ /* 9 */ "baaacmmmmmdaaab"
+ /* 10 */ "daaaceeeeedaaac"
+ /* 11 */ "daaaaaaaaaaaaac"
+ /* 12 */ "daaaaaaaaaaaaac"
+ /* 13 */ "daaaaaaaaaaaaac"
+ /* 14 */ "dbbbbdaaacbbbbb"
+
+ // Level 4
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aaaaaaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaaaaaa"
+ /* 5 */ "aaaaammmmmaaaaa"
+ /* 6 */ "aaaaammmmmaaaaa"
+ /* 7 */ "aaaaammmmmaaaaa"
+ /* 8 */ "aaaaammmmmaaaaa"
+ /* 9 */ "aaaaammmmmaaaaa"
+ /* 10 */ "aaaaaaaaaaaaaaa"
+ /* 11 */ "aaaaaaaaaaaaaaa"
+ /* 12 */ "aaaaaaaaaaaaaaa"
+ /* 13 */ "aaaaaaaaaaaaaaa"
+ /* 14 */ "aaaaaaaaaaaaaaa"
+
+ // Level 5
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aaaaaa...aaaaaa"
+ /* 1 */ "a.............a"
+ /* 2 */ "a.............a"
+ /* 3 */ "a.............a"
+ /* 4 */ "a...aaaaaaa...a"
+ /* 5 */ "a...ammmmma...a"
+ /* 6 */ "....ammmmma...."
+ /* 7 */ "....ammmmma...."
+ /* 8 */ "....ammmmma...."
+ /* 9 */ "a...ammmmma...a"
+ /* 10 */ "a...aaaaaaa...a"
+ /* 11 */ "a.............a"
+ /* 12 */ "a.............a"
+ /* 13 */ "a.............a"
+ /* 14 */ "aaaaaa...aaaaaa"
+
+ // Level 6
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmm...mmmmmm"
+ /* 1 */ "m.............m"
+ /* 2 */ "m.............m"
+ /* 3 */ "m.............m"
+ /* 4 */ "m.............m"
+ /* 5 */ "m....mmmmm....m"
+ /* 6 */ ".....mmmmm....."
+ /* 7 */ ".....mmmmm....."
+ /* 8 */ ".....mmmmm....."
+ /* 9 */ "m....mmmmm....m"
+ /* 10 */ "m.............m"
+ /* 11 */ "m.............m"
+ /* 12 */ "m.............m"
+ /* 13 */ "m.............m"
+ /* 14 */ "mmmmmm...mmmmmm"
+
+ // Level 7
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmm...mmmmmm"
+ /* 1 */ "m.............m"
+ /* 2 */ "m.............m"
+ /* 3 */ "m.............m"
+ /* 4 */ "m.............m"
+ /* 5 */ "m....mmmmm....m"
+ /* 6 */ ".....mmmmm....."
+ /* 7 */ ".....mmmmm....."
+ /* 8 */ ".....mmmmm....."
+ /* 9 */ "m....mmmmm....m"
+ /* 10 */ "m.............m"
+ /* 11 */ "m.............m"
+ /* 12 */ "m.............m"
+ /* 13 */ "m.............m"
+ /* 14 */ "mmmmmm...mmmmmm",
+
+ // Connectors:
+ "0: 0, 5, 7: 4\n" /* Type 0, direction X- */
+ "0: 7, 5, 0: 2\n" /* Type 0, direction Z- */
+ "0: 14, 5, 7: 5\n" /* Type 0, direction X+ */
+ "0: 7, 5, 14: 3\n" /* Type 0, direction Z+ */,
+
+ // AllowedRotations:
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
+ // Merge strategy:
+ cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 5,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ -1000,
+ }, // BridgeCircleCrossing
+
+
+
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// BridgeCrossing:
- // The data has been exported from gallery Nether, area index 17, ID 159
+ // The data has been exported from the gallery Nether, area index 17, ID 159, created by Aloe_vera
{
// Size:
15, 8, 15, // SizeX = 15, SizeY = 8, SizeZ = 15
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 14, 17, 14, // MaxX, MaxY, MaxZ
+
// Block definitions:
".: 0: 0\n" /* air */
"a:112: 0\n" /* netherbrick */
@@ -476,300 +831,808 @@ const cPrefab::sDef g_NetherFortPrefabs1[] =
"m: 19: 0\n" /* sponge */,
// Block data:
+ // Level 0
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmaaammmmmm"
+ /* 1 */ "mmmmmmaaammmmmm"
+ /* 2 */ "mmmmmmmmmmmmmmm"
+ /* 3 */ "mmmmmmmmmmmmmmm"
+ /* 4 */ "mmmmmmmmmmmmmmm"
+ /* 5 */ "mmmmmmmmmmmmmmm"
+ /* 6 */ "aammmmmmmmmmmaa"
+ /* 7 */ "aammmmmmmmmmmaa"
+ /* 8 */ "aammmmmmmmmmmaa"
+ /* 9 */ "mmmmmmmmmmmmmmm"
+ /* 10 */ "mmmmmmmmmmmmmmm"
+ /* 11 */ "mmmmmmmmmmmmmmm"
+ /* 12 */ "mmmmmmmmmmmmmmm"
+ /* 13 */ "mmmmmmaaammmmmm"
+ /* 14 */ "mmmmmmaaammmmmm"
+
// Level 1
- "mmmmmmaaammmmmm"
- "mmmmmmaaammmmmm"
- "mmmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmmm"
- "aammmmmmmmmmmaa"
- "aammmmmmmmmmmaa"
- "aammmmmmmmmmmaa"
- "mmmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmmm"
- "mmmmmmaaammmmmm"
- "mmmmmmaaammmmmm"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmaaammmmmm"
+ /* 1 */ "mmmmmmaaammmmmm"
+ /* 2 */ "mmmmmmbbbmmmmmm"
+ /* 3 */ "mmmmmmmmmmmmmmm"
+ /* 4 */ "mmmmmmmmmmmmmmm"
+ /* 5 */ "mmmmmmmmmmmmmmm"
+ /* 6 */ "aacmmmmmmmmmdaa"
+ /* 7 */ "aacmmmmmmmmmdaa"
+ /* 8 */ "aacmmmmmmmmmdaa"
+ /* 9 */ "mmmmmmmmmmmmmmm"
+ /* 10 */ "mmmmmmmmmmmmmmm"
+ /* 11 */ "mmmmmmmmmmmmmmm"
+ /* 12 */ "mmmmmmeeemmmmmm"
+ /* 13 */ "mmmmmmaaammmmmm"
+ /* 14 */ "mmmmmmaaammmmmm"
// Level 2
- "mmmmmmaaammmmmm"
- "mmmmmmaaammmmmm"
- "mmmmmmbbbmmmmmm"
- "mmmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmmm"
- "aacmmmmmmmmmdaa"
- "aacmmmmmmmmmdaa"
- "aacmmmmmmmmmdaa"
- "mmmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmmm"
- "mmmmmmeeemmmmmm"
- "mmmmmmaaammmmmm"
- "mmmmmmaaammmmmm"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmaaammmmmm"
+ /* 1 */ "mmmmmmaaammmmmm"
+ /* 2 */ "mmmmmmaaammmmmm"
+ /* 3 */ "mmmmmmbbbmmmmmm"
+ /* 4 */ "mmmmmmfffmmmmmm"
+ /* 5 */ "mmmmmmmmmmmmmmm"
+ /* 6 */ "aaacfmmmmmfdaaa"
+ /* 7 */ "aaacfmmmmmfdaaa"
+ /* 8 */ "aaacfmmmmmfdaaa"
+ /* 9 */ "mmmmmmmmmmmmmmm"
+ /* 10 */ "mmmmmmfffmmmmmm"
+ /* 11 */ "mmmmmmeeemmmmmm"
+ /* 12 */ "mmmmmmaaammmmmm"
+ /* 13 */ "mmmmmmaaammmmmm"
+ /* 14 */ "mmmmmmaaammmmmm"
// Level 3
- "mmmmmmaaammmmmm"
- "mmmmmmaaammmmmm"
- "mmmmmmaaammmmmm"
- "mmmmmmbbbmmmmmm"
- "mmmmmmfffmmmmmm"
- "mmmmmmmmmmmmmmm"
- "aaacfmmmmmfdaaa"
- "aaacfmmmmmfdaaa"
- "aaacfmmmmmfdaaa"
- "mmmmmmmmmmmmmmm"
- "mmmmmmfffmmmmmm"
- "mmmmmmeeemmmmmm"
- "mmmmmmaaammmmmm"
- "mmmmmmaaammmmmm"
- "mmmmmmaaammmmmm"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmdaaacmmmmm"
+ /* 1 */ "mmmmmdaaacmmmmm"
+ /* 2 */ "mmmmmdaaacmmmmm"
+ /* 3 */ "mmmmmdaaacmmmmm"
+ /* 4 */ "mmmmmdaaacmmmmm"
+ /* 5 */ "eeeeeeaaaeeeeee"
+ /* 6 */ "aaaaaaaaaaaaaaa"
+ /* 7 */ "aaaaaaaaaaaaaaa"
+ /* 8 */ "aaaaaaaaaaaaaaa"
+ /* 9 */ "bbbbbdaaacbbbbb"
+ /* 10 */ "mmmmmdaaacmmmmm"
+ /* 11 */ "mmmmmdaaacmmmmm"
+ /* 12 */ "mmmmmdaaacmmmmm"
+ /* 13 */ "mmmmmdaaacmmmmm"
+ /* 14 */ "mmmmmdaaacmmmmm"
// Level 4
- "mmmmmdaaacmmmmm"
- "mmmmmdaaacmmmmm"
- "mmmmmdaaacmmmmm"
- "mmmmmdaaacmmmmm"
- "mmmmmdaaacmmmmm"
- "eeeeeeaaaeeeeee"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "bbbbbdaaacbbbbb"
- "mmmmmdaaacmmmmm"
- "mmmmmdaaacmmmmm"
- "mmmmmdaaacmmmmm"
- "mmmmmdaaacmmmmm"
- "mmmmmdaaacmmmmm"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmaaaaammmmm"
+ /* 1 */ "mmmmmaaaaammmmm"
+ /* 2 */ "mmmmmaaaaammmmm"
+ /* 3 */ "mmmmmaaaaammmmm"
+ /* 4 */ "mmmmmaaaaammmmm"
+ /* 5 */ "aaaaaaaaaaaaaaa"
+ /* 6 */ "aaaaaaaaaaaaaaa"
+ /* 7 */ "aaaaaaaaaaaaaaa"
+ /* 8 */ "aaaaaaaaaaaaaaa"
+ /* 9 */ "aaaaaaaaaaaaaaa"
+ /* 10 */ "mmmmmaaaaammmmm"
+ /* 11 */ "mmmmmaaaaammmmm"
+ /* 12 */ "mmmmmaaaaammmmm"
+ /* 13 */ "mmmmmaaaaammmmm"
+ /* 14 */ "mmmmmaaaaammmmm"
// Level 5
- "mmmmmaaaaammmmm"
- "mmmmmaaaaammmmm"
- "mmmmmaaaaammmmm"
- "mmmmmaaaaammmmm"
- "mmmmmaaaaammmmm"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "mmmmmaaaaammmmm"
- "mmmmmaaaaammmmm"
- "mmmmmaaaaammmmm"
- "mmmmmaaaaammmmm"
- "mmmmmaaaaammmmm"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmma...ammmmm"
+ /* 1 */ "mmmmma...ammmmm"
+ /* 2 */ "mmmmma...ammmmm"
+ /* 3 */ "mmmmma...ammmmm"
+ /* 4 */ "mmmmma...ammmmm"
+ /* 5 */ "aaaaaa...aaaaaa"
+ /* 6 */ "..............."
+ /* 7 */ "..............."
+ /* 8 */ "..............."
+ /* 9 */ "aaaaaa...aaaaaa"
+ /* 10 */ "mmmmma...ammmmm"
+ /* 11 */ "mmmmma...ammmmm"
+ /* 12 */ "mmmmma...ammmmm"
+ /* 13 */ "mmmmma...ammmmm"
+ /* 14 */ "mmmmma...ammmmm"
// Level 6
- "mmmmma...ammmmm"
- "mmmmma...ammmmm"
- "mmmmma...ammmmm"
- "mmmmma...ammmmm"
- "mmmmma...ammmmm"
- "aaaaaa...aaaaaa"
- "..............."
- "..............."
- "..............."
- "aaaaaa...aaaaaa"
- "mmmmma...ammmmm"
- "mmmmma...ammmmm"
- "mmmmma...ammmmm"
- "mmmmma...ammmmm"
- "mmmmma...ammmmm"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmm...mmmmmm"
+ /* 1 */ "mmmmmm...mmmmmm"
+ /* 2 */ "mmmmmm...mmmmmm"
+ /* 3 */ "mmmmmm...mmmmmm"
+ /* 4 */ "mmmmmm...mmmmmm"
+ /* 5 */ "mmmmmm...mmmmmm"
+ /* 6 */ "..............."
+ /* 7 */ "..............."
+ /* 8 */ "..............."
+ /* 9 */ "mmmmmm...mmmmmm"
+ /* 10 */ "mmmmmm...mmmmmm"
+ /* 11 */ "mmmmmm...mmmmmm"
+ /* 12 */ "mmmmmm...mmmmmm"
+ /* 13 */ "mmmmmm...mmmmmm"
+ /* 14 */ "mmmmmm...mmmmmm"
// Level 7
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "..............."
- "..............."
- "..............."
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
-
- // Level 8
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "..............."
- "..............."
- "..............."
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm",
-
- // Connections:
- "0: 0, 5, 7: 4\n" /* Type 0, BLOCK_FACE_XM */
- "0: 7, 5, 0: 2\n" /* Type 0, BLOCK_FACE_ZM */
- "0: 14, 5, 7: 5\n" /* Type 0, BLOCK_FACE_XP */
- "0: 7, 5, 14: 3\n" /* Type 0, BLOCK_FACE_ZP */,
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmm...mmmmmm"
+ /* 1 */ "mmmmmm...mmmmmm"
+ /* 2 */ "mmmmmm...mmmmmm"
+ /* 3 */ "mmmmmm...mmmmmm"
+ /* 4 */ "mmmmmm...mmmmmm"
+ /* 5 */ "mmmmmm...mmmmmm"
+ /* 6 */ "..............."
+ /* 7 */ "..............."
+ /* 8 */ "..............."
+ /* 9 */ "mmmmmm...mmmmmm"
+ /* 10 */ "mmmmmm...mmmmmm"
+ /* 11 */ "mmmmmm...mmmmmm"
+ /* 12 */ "mmmmmm...mmmmmm"
+ /* 13 */ "mmmmmm...mmmmmm"
+ /* 14 */ "mmmmmm...mmmmmm",
+
+ // Connectors:
+ "0: 0, 5, 7: 4\n" /* Type 0, direction X- */
+ "0: 7, 5, 0: 2\n" /* Type 0, direction Z- */
+ "0: 7, 5, 14: 3\n" /* Type 0, direction Z+ */
+ "0: 14, 5, 7: 5\n" /* Type 0, direction X+ */,
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 10,
+
+ // DepthWeight:
+ "1:1000",
+
+ // AddWeightIfSame:
+ 0,
}, // BridgeCrossing
+
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// BridgeCrumble1:
- // The data has been exported from gallery Nether, area index 19, ID 161
+ // The data has been exported from the gallery Nether, area index 19, ID 161, created by Aloe_vera
{
// Size:
9, 6, 5, // SizeX = 9, SizeY = 6, SizeZ = 5
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 8, 15, 4, // MaxX, MaxY, MaxZ
+
// Block definitions:
- ".: 19: 0\n" /* sponge */
+ ".: 0: 0\n" /* air */
"a:112: 0\n" /* netherbrick */
"b:114: 5\n" /* netherbrickstairs */
"c: 44:14\n" /* step */
"d:114: 6\n" /* netherbrickstairs */
- "e:114: 7\n" /* netherbrickstairs */,
+ "e:114: 7\n" /* netherbrickstairs */
+ "m: 19: 0\n" /* sponge */,
// Block data:
+ // Level 0
+ /* z\x* 012345678 */
+ /* 0 */ "mmmmmmmmm"
+ /* 1 */ "aammmmmmm"
+ /* 2 */ "aammmmmmm"
+ /* 3 */ "aammmmmmm"
+ /* 4 */ "mmmmmmmmm"
+
// Level 1
- "........."
- "aa......."
- "aa......."
- "aa......."
- "........."
+ /* z\x* 012345678 */
+ /* 0 */ "mmmmmmmmm"
+ /* 1 */ "aabmmmmmm"
+ /* 2 */ "aabmmmmmm"
+ /* 3 */ "aabmmmmmm"
+ /* 4 */ "mmmmmmmmm"
// Level 2
- "........."
- "aab......"
- "aab......"
- "aab......"
- "........."
+ /* z\x* 012345678 */
+ /* 0 */ "mmmmmmmmm"
+ /* 1 */ "aaabcmmmm"
+ /* 2 */ "aaabcmmmm"
+ /* 3 */ "aaabcmmmm"
+ /* 4 */ "mmmmmmmmm"
// Level 3
- "........."
- "aaabc...."
- "aaabc...."
- "aaabc...."
- "........."
+ /* z\x* 012345678 */
+ /* 0 */ "dddddddmm"
+ /* 1 */ "aaaaaaaam"
+ /* 2 */ "aaaaaaaaa"
+ /* 3 */ "aaaaaaamm"
+ /* 4 */ "eeeeemmmm"
// Level 4
- "ddddddd.."
- "aaaaaaaa."
- "aaaaaaaaa"
- "aaaaaaa.."
- "eeeee...."
+ /* z\x* 012345678 */
+ /* 0 */ "aaaaaaaaa"
+ /* 1 */ "aaaaammmm"
+ /* 2 */ "aaaaaammm"
+ /* 3 */ "aaaaaammm"
+ /* 4 */ "aaaaaaaam"
// Level 5
- "aaaaaaaaa"
- "aaaaa...."
- "aaaaaa..."
- "aaaaaa..."
- "aaaaaaaa."
+ /* z\x* 012345678 */
+ /* 0 */ "aaaaaammm"
+ /* 1 */ "mmmmmmmmm"
+ /* 2 */ "mmmmmmmmm"
+ /* 3 */ "mmmmmmmmm"
+ /* 4 */ "aaaaaaamm",
- // Level 6
- "aaaaaa..."
- "........."
- "........."
- "........."
- "aaaaaaa..",
-
- // Connections:
- "0: 0, 5, 2: 4\n" /* Type 0, BLOCK_FACE_XM */,
+ // Connectors:
+ "1: 0, 5, 2: 4\n" /* Type 1, direction X- */
+ "0: 0, 5, 2: 4\n" /* Type 0, direction X- */,
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 100,
+
+ // DepthWeight:
+ "1:0|2:0|3:0|4:0|5:0",
+
+ // AddWeightIfSame:
+ 0,
}, // BridgeCrumble1
+
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // BridgeCrumble2
- // The data has been exported from gallery Nether, area index 18, ID 160
+ // BridgeCrumble2:
+ // The data has been exported from the gallery Nether, area index 18, ID 160, created by Aloe_vera
{
// Size:
13, 6, 5, // SizeX = 13, SizeY = 6, SizeZ = 5
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 12, 15, 4, // MaxX, MaxY, MaxZ
+
// Block definitions:
- ".: 19: 0\n" /* sponge */
+ ".: 0: 0\n" /* air */
"a:112: 0\n" /* netherbrick */
"b:114: 5\n" /* netherbrickstairs */
"c: 44:14\n" /* step */
"d:114: 6\n" /* netherbrickstairs */
- "e:114: 7\n" /* netherbrickstairs */,
+ "e:114: 7\n" /* netherbrickstairs */
+ "m: 19: 0\n" /* sponge */,
+
+ // Block data:
+ // Level 0
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmmmmmmmmmmm"
+ /* 1 */ "aammmmmmmmmmm"
+ /* 2 */ "aammmmmmmmmmm"
+ /* 3 */ "aammmmmmmmmmm"
+ /* 4 */ "mmmmmmmmmmmmm"
+
+ // Level 1
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmmmmmmmmmmm"
+ /* 1 */ "aabmmmmmmmmmm"
+ /* 2 */ "aabmmmmmmmmmm"
+ /* 3 */ "aabmmmmmmmmmm"
+ /* 4 */ "mmmmmmmmmmmmm"
+
+ // Level 2
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmmmmmmmmmmm"
+ /* 1 */ "aaabcmmmmmmmm"
+ /* 2 */ "aaabcmmmmmmmm"
+ /* 3 */ "aaabcmmmmmmmm"
+ /* 4 */ "mmmmmmmmmmmmm"
+
+ // Level 3
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "dddddddddmmmm"
+ /* 1 */ "aaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaammmm"
+ /* 3 */ "aaaaaaaaaaaam"
+ /* 4 */ "eeeeeeeeemmmm"
+
+ // Level 4
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "aaaaaaaaaaaam"
+ /* 1 */ "aaaaaaaaaammm"
+ /* 2 */ "aaaaaaaaaaamm"
+ /* 3 */ "aaaaaaaaammmm"
+ /* 4 */ "aaaaaaaaaaaaa"
+
+ // Level 5
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "aaaaaaaaammmm"
+ /* 1 */ "mmmmmmmmmmmmm"
+ /* 2 */ "mmmmmmmmmmmmm"
+ /* 3 */ "mmmmmmmmmmmmm"
+ /* 4 */ "aaaaaaaaaammm",
+
+ // Connectors:
+ "0: 0, 5, 2: 4\n" /* Type 0, direction X- */
+ "1: 0, 5, 2: 4\n" /* Type 1, direction X- */,
+
+ // AllowedRotations:
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
+ // Merge strategy:
+ cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 100,
+
+ // DepthWeight:
+ "1:0|2:0|3:0|4:0|5:0",
+
+ // AddWeightIfSame:
+ 0,
+ }, // BridgeCrumble2
+
+
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // BridgeDoubleCrumble:
+ // The data has been exported from the gallery Nether, area index 46, ID 305, created by STR_Warrior
+ {
+ // Size:
+ 5, 7, 16, // SizeX = 5, SizeY = 7, SizeZ = 16
+
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 4, 16, 15, // MaxX, MaxY, MaxZ
+
+ // Block definitions:
+ ".: 0: 0\n" /* air */
+ "a:112: 0\n" /* netherbrick */
+ "b:114: 7\n" /* netherbrickstairs */
+ "c:114: 6\n" /* netherbrickstairs */
+ "d:114: 4\n" /* netherbrickstairs */
+ "e:114: 5\n" /* netherbrickstairs */
+ "m: 19: 0\n" /* sponge */,
// Block data:
+ // Level 0
+ /* z\x* 01234 */
+ /* 0 */ "maaam"
+ /* 1 */ "maaam"
+ /* 2 */ "mmmmm"
+ /* 3 */ "mmmmm"
+ /* 4 */ "mmmmm"
+ /* 5 */ "mmmmm"
+ /* 6 */ "mmmmm"
+ /* 7 */ "mmmmm"
+ /* 8 */ "mmmmm"
+ /* 9 */ "mmmmm"
+ /* 10 */ "mmmmm"
+ /* 11 */ "mmmmm"
+ /* 12 */ "mmmmm"
+ /* 13 */ "mmmmm"
+ /* 14 */ "maaam"
+ /* 15 */ "maaam"
+
// Level 1
- "............."
- "aa..........."
- "aa..........."
- "aa..........."
- "............."
+ /* z\x* 01234 */
+ /* 0 */ "maaam"
+ /* 1 */ "maaam"
+ /* 2 */ "mbbbm"
+ /* 3 */ "mmmmm"
+ /* 4 */ "mmmmm"
+ /* 5 */ "mmmmm"
+ /* 6 */ "mmmmm"
+ /* 7 */ "mmmmm"
+ /* 8 */ "mmmmm"
+ /* 9 */ "mmmmm"
+ /* 10 */ "mmmmm"
+ /* 11 */ "mmmmm"
+ /* 12 */ "mmmmm"
+ /* 13 */ "mcccm"
+ /* 14 */ "maaam"
+ /* 15 */ "maaam"
// Level 2
- "............."
- "aab.........."
- "aab.........."
- "aab.........."
- "............."
+ /* z\x* 01234 */
+ /* 0 */ "daaae"
+ /* 1 */ "daaae"
+ /* 2 */ "daaae"
+ /* 3 */ "daaae"
+ /* 4 */ "daaae"
+ /* 5 */ "mamae"
+ /* 6 */ "mmmam"
+ /* 7 */ "mmmmm"
+ /* 8 */ "mmmmm"
+ /* 9 */ "mmmmm"
+ /* 10 */ "mmmae"
+ /* 11 */ "dmaae"
+ /* 12 */ "daaae"
+ /* 13 */ "daaae"
+ /* 14 */ "daaae"
+ /* 15 */ "daaae"
// Level 3
- "............."
- "aaabc........"
- "aaabc........"
- "aaabc........"
- "............."
+ /* z\x* 01234 */
+ /* 0 */ "aaaaa"
+ /* 1 */ "aaaaa"
+ /* 2 */ "aaaaa"
+ /* 3 */ "aaama"
+ /* 4 */ "mamaa"
+ /* 5 */ "mmmmm"
+ /* 6 */ "mmmmm"
+ /* 7 */ "mmmmm"
+ /* 8 */ "mmmmm"
+ /* 9 */ "mmmmm"
+ /* 10 */ "mmmma"
+ /* 11 */ "mmmaa"
+ /* 12 */ "amaaa"
+ /* 13 */ "aaaaa"
+ /* 14 */ "aaaaa"
+ /* 15 */ "aaaaa"
// Level 4
- "ddddddddd...."
- "aaaaaaaaaaaaa"
- "aaaaaaaaa...."
- "aaaaaaaaaaaa."
- "eeeeeeeee...."
+ /* z\x* 01234 */
+ /* 0 */ "ammma"
+ /* 1 */ "ammma"
+ /* 2 */ "ammma"
+ /* 3 */ "mmmma"
+ /* 4 */ "mmmmm"
+ /* 5 */ "mmmmm"
+ /* 6 */ "mmmmm"
+ /* 7 */ "mmmmm"
+ /* 8 */ "mmmmm"
+ /* 9 */ "mmmmm"
+ /* 10 */ "mmmmm"
+ /* 11 */ "mmmma"
+ /* 12 */ "mmmmm"
+ /* 13 */ "ammma"
+ /* 14 */ "ammma"
+ /* 15 */ "ammma"
// Level 5
- "aaaaaaaaaaaa."
- "aaaaaaaaaa..."
- "aaaaaaaaaaa.."
- "aaaaaaaaa...."
- "aaaaaaaaaaaaa"
+ /* z\x* 01234 */
+ /* 0 */ "mmmmm"
+ /* 1 */ "mmmmm"
+ /* 2 */ "mmmmm"
+ /* 3 */ "mmmmm"
+ /* 4 */ "mmmmm"
+ /* 5 */ "mmmmm"
+ /* 6 */ "mmmmm"
+ /* 7 */ "mmmmm"
+ /* 8 */ "mmmmm"
+ /* 9 */ "mmmmm"
+ /* 10 */ "mmmmm"
+ /* 11 */ "mmmmm"
+ /* 12 */ "mmmmm"
+ /* 13 */ "mmmmm"
+ /* 14 */ "mmmmm"
+ /* 15 */ "mmmmm"
// Level 6
- "aaaaaaaaa...."
- "............."
- "............."
- "............."
- "aaaaaaaaaa...",
+ /* z\x* 01234 */
+ /* 0 */ "mmmmm"
+ /* 1 */ "mmmmm"
+ /* 2 */ "mmmmm"
+ /* 3 */ "mmmmm"
+ /* 4 */ "mmmmm"
+ /* 5 */ "mmmmm"
+ /* 6 */ "mmmmm"
+ /* 7 */ "mmmmm"
+ /* 8 */ "mmmmm"
+ /* 9 */ "mmmmm"
+ /* 10 */ "mmmmm"
+ /* 11 */ "mmmmm"
+ /* 12 */ "mmmmm"
+ /* 13 */ "mmmmm"
+ /* 14 */ "mmmmm"
+ /* 15 */ "mmmmm",
+
+ // Connectors:
+ "0: 2, 4, 0: 2\n" /* Type 0, direction Z- */
+ "0: 2, 4, 15: 3\n" /* Type 0, direction Z+ */,
+
+ // AllowedRotations:
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
+ // Merge strategy:
+ cBlockArea::msSpongePrint,
- // Connections:
- "0: 0, 5, 2: 4\n" /* Type 0, BLOCK_FACE_XM */,
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 10,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ 1000,
+ }, // BridgeDoubleCrumble
+
+
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // BridgeFunnelDown:
+ // The data has been exported from the gallery Nether, area index 0, ID 2, created by Aloe_vera
+ {
+ // Size:
+ 15, 12, 12, // SizeX = 15, SizeY = 12, SizeZ = 12
+
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 14, 21, 11, // MaxX, MaxY, MaxZ
+
+ // Block definitions:
+ ".: 0: 0\n" /* air */
+ "a:112: 0\n" /* netherbrick */
+ "b:114: 6\n" /* netherbrickstairs */
+ "c:114: 4\n" /* netherbrickstairs */
+ "d:114: 5\n" /* netherbrickstairs */
+ "e: 44:14\n" /* step */
+ "f:114: 7\n" /* netherbrickstairs */
+ "m: 19: 0\n" /* sponge */,
+
+ // Block data:
+ // Level 0
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "aammmmmmmmmmmaa"
+ /* 2 */ "aammmmmmmmmmmaa"
+ /* 3 */ "aammmmmmmmmmmaa"
+ /* 4 */ "mmmmmmmmmmmmmmm"
+ /* 5 */ "mmmmmmmmmmmmmmm"
+ /* 6 */ "mmmmmmmmmmmmmmm"
+ /* 7 */ "mmmmmmmmmmmmmmm"
+ /* 8 */ "mmmmmmmmmmmmmmm"
+ /* 9 */ "mmmmmmaaammmmmm"
+ /* 10 */ "mmmmmmaaammmmmm"
+ /* 11 */ "mmmmmmaaammmmmm"
+
+ // Level 1
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "aammmmmmmmmmmaa"
+ /* 2 */ "aammmmmmmmmmmaa"
+ /* 3 */ "aammmmmmmmmmmaa"
+ /* 4 */ "mmmmmmmmmmmmmmm"
+ /* 5 */ "mmmmmmmmmmmmmmm"
+ /* 6 */ "mmmmmmmmmmmmmmm"
+ /* 7 */ "mmmmmmmmmmmmmmm"
+ /* 8 */ "mmmmmmbbbmmmmmm"
+ /* 9 */ "mmmmmmaaammmmmm"
+ /* 10 */ "mmmmmmaaammmmmm"
+ /* 11 */ "mmmmmmaaammmmmm"
+
+ // Level 2
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "aammmmmmmmmmmaa"
+ /* 2 */ "aammmmmmmmmmmaa"
+ /* 3 */ "aammmmmmmmmmmaa"
+ /* 4 */ "mmmmmmmmmmmmmmm"
+ /* 5 */ "mmmmmmmmmmmmmmm"
+ /* 6 */ "mmmmmmmmmmmmmmm"
+ /* 7 */ "mmmmmcbbbdmmmmm"
+ /* 8 */ "mmmmmcaaadmmmmm"
+ /* 9 */ "mmmmmcaaadmmmmm"
+ /* 10 */ "mmmmmcaaadmmmmm"
+ /* 11 */ "mmmmmcaaadmmmmm"
+
+ // Level 3
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "aammmmmmmmmmmaa"
+ /* 2 */ "aammmmmmmmmmmaa"
+ /* 3 */ "aammmmmmmmmmmaa"
+ /* 4 */ "mmmmmmmmmmmmmmm"
+ /* 5 */ "mmmmmmmmmmmmmmm"
+ /* 6 */ "mmmmmmmmmmmmmmm"
+ /* 7 */ "mmmmmaaaaammmmm"
+ /* 8 */ "mmmmmaaaaammmmm"
+ /* 9 */ "mmmmmaaaaammmmm"
+ /* 10 */ "mmmmmaaaaammmmm"
+ /* 11 */ "mmmmmaaaaammmmm"
+
+ // Level 4
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "aammmmmmmmmmmaa"
+ /* 2 */ "aammmmmmmmmmmaa"
+ /* 3 */ "aammmmmmmmmmmaa"
+ /* 4 */ "mmmmmmmmmmmmmmm"
+ /* 5 */ "mmmmmmmmmmmmmmm"
+ /* 6 */ "mmmmcbbbbbdmmmm"
+ /* 7 */ "mmmmaaaaaaammmm"
+ /* 8 */ "mmmma.....ammmm"
+ /* 9 */ "mmmmaa...aammmm"
+ /* 10 */ "mmmmma...ammmmm"
+ /* 11 */ "mmmmma...ammmmm"
+
+ // Level 5
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "aadmmmmmmmmmcaa"
+ /* 2 */ "aadmmmmmmmmmcaa"
+ /* 3 */ "aadmmmmmmmmmcaa"
+ /* 4 */ "mmmmmmmmmmmmmmm"
+ /* 5 */ "mmmcbbbbbbbdmmm"
+ /* 6 */ "mmmaaaaaaaaaamm"
+ /* 7 */ "mmma.......ammm"
+ /* 8 */ "mmmaa.....aammm"
+ /* 9 */ "mmmmam...mammmm"
+ /* 10 */ "mmmmmm...mmmmmm"
+ /* 11 */ "mmmmmm...mmmmmm"
+
+ // Level 6
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "aaademmmmmecaaa"
+ /* 2 */ "aaademmmmmecaaa"
+ /* 3 */ "aaademmmmmecaaa"
+ /* 4 */ "mmaaabbbbbaaaam"
+ /* 5 */ "mmaaaaaaaaaaaam"
+ /* 6 */ "mma.........amm"
+ /* 7 */ "mmaa.......aamm"
+ /* 8 */ "mmmam.....mammm"
+ /* 9 */ "mmmmmm...mmmmmm"
+ /* 10 */ "mmmmmm...mmmmmm"
+ /* 11 */ "mmmmmm...mmmmmm"
+
+ // Level 7
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "bbbbbbbbbbbbbbb"
+ /* 1 */ "aaaaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaaaa"
+ /* 4 */ "faaaaaaaaaaaaaa"
+ /* 5 */ "ma...........am"
+ /* 6 */ "maa.........aam"
+ /* 7 */ "mmam.......mamm"
+ /* 8 */ "mmmmm.....mmmmm"
+ /* 9 */ "mmmmmmmmmmmmmmm"
+ /* 10 */ "mmmmmmmmmmmmmmm"
+ /* 11 */ "mmmmmmmmmmmmmmm"
+
+ // Level 8
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aaaaaaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaaaa"
+ /* 4 */ "a.............a"
+ /* 5 */ "aa...........aa"
+ /* 6 */ "mam.........mam"
+ /* 7 */ "mmmm.......mmmm"
+ /* 8 */ "mmmmmmmmmmmmmmm"
+ /* 9 */ "mmmmmmmmmmmmmmm"
+ /* 10 */ "mmmmmmmmmmmmmmm"
+ /* 11 */ "mmmmmmmmmmmmmmm"
+
+ // Level 9
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aaaaaaaaaaaaaaa"
+ /* 1 */ "..............."
+ /* 2 */ "..............."
+ /* 3 */ "..............."
+ /* 4 */ "a.............a"
+ /* 5 */ "am............a"
+ /* 6 */ "mmm.........mmm"
+ /* 7 */ "mmmmmmmmmmmmmmm"
+ /* 8 */ "mmmmmmmmmmmmmmm"
+ /* 9 */ "mmmmmmmmmmmmmmm"
+ /* 10 */ "mmmmmmmmmmmmmmm"
+ /* 11 */ "mmmmmmmmmmmmmmm"
+
+ // Level 10
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "..............."
+ /* 2 */ "..............."
+ /* 3 */ "..............."
+ /* 4 */ "m.............m"
+ /* 5 */ "mm............m"
+ /* 6 */ "mmmmmmmmmmmmmmm"
+ /* 7 */ "mmmmmmmmmmmmmmm"
+ /* 8 */ "mmmmmmmmmmmmmmm"
+ /* 9 */ "mmmmmmmmmmmmmmm"
+ /* 10 */ "mmmmmmmmmmmmmmm"
+ /* 11 */ "mmmmmmmmmmmmmmm"
+
+ // Level 11
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "..............."
+ /* 2 */ "..............."
+ /* 3 */ "..............."
+ /* 4 */ "m.............m"
+ /* 5 */ "mmmmmmmmmmmmmmm"
+ /* 6 */ "mmmmmmmmmmmmmmm"
+ /* 7 */ "mmmmmmmmmmmmmmm"
+ /* 8 */ "mmmmmmmmmmmmmmm"
+ /* 9 */ "mmmmmmmmmmmmmmm"
+ /* 10 */ "mmmmmmmmmmmmmmm"
+ /* 11 */ "mmmmmmmmmmmmmmm",
+
+ // Connectors:
+ "0: 7, 4, 11: 3\n" /* Type 0, direction Z+ */
+ "0: 0, 9, 2: 4\n" /* Type 0, direction X- */
+ "0: 14, 9, 2: 5\n" /* Type 0, direction X+ */,
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
- }, // BridgeCrumble2
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 5,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ 0,
+ }, // BridgeFunnelDown
+
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // BridgeSegment:
- // The data has been exported from gallery Nether, area index 16, ID 158
+ // BridgeLevelCrossing:
+ // The data has been exported from the gallery Nether, area index 61, ID 321, created by Aloe_vera
{
// Size:
- 15, 8, 5, // SizeX = 15, SizeY = 8, SizeZ = 5
+ 16, 14, 16, // SizeX = 16, SizeY = 14, SizeZ = 16
+
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 15, 23, 15, // MaxX, MaxY, MaxZ
// Block definitions:
".: 0: 0\n" /* air */
@@ -782,80 +1645,443 @@ const cPrefab::sDef g_NetherFortPrefabs1[] =
"m: 19: 0\n" /* sponge */,
// Block data:
+ // Level 0
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "mmmmmmmmmmmmmmmm"
+ /* 1 */ "aammmmmmmmmmmmaa"
+ /* 2 */ "aammmmmmmmmmmmaa"
+ /* 3 */ "aammmmmmmmmmmmaa"
+ /* 4 */ "mmmmmmmmmmmmmmmm"
+ /* 5 */ "mmmmmmmmmmmmmmmm"
+ /* 6 */ "mmmmmmmmmmmmmmmm"
+ /* 7 */ "mmmmmmmmmmmmmmmm"
+ /* 8 */ "mmmmmmmmmmmmmmmm"
+ /* 9 */ "mmmmmmmmmmmmmmmm"
+ /* 10 */ "mmmmmmmmmmmmmmmm"
+ /* 11 */ "mmmmmmmmmmmmmmmm"
+ /* 12 */ "maaammmmmmmmmmmm"
+ /* 13 */ "maaammmmmmmmmmmm"
+ /* 14 */ "maaammmmmmmmaaam"
+ /* 15 */ "mmmmmmmmmmmmaaam"
+
// Level 1
- "mmmmmmmmmmmmmmm"
- "aammmmmmmmmmmaa"
- "aammmmmmmmmmmaa"
- "aammmmmmmmmmmaa"
- "mmmmmmmmmmmmmmm"
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "mmmmmmmmmmmmmmmm"
+ /* 1 */ "aabmmmmmmmmmmcaa"
+ /* 2 */ "aabmmmmmmmmmmcaa"
+ /* 3 */ "aabmmmmmmmmmmcaa"
+ /* 4 */ "mmmmmmmmmmmmmmmm"
+ /* 5 */ "mmmmmmmmmmmmmmmm"
+ /* 6 */ "mmmmmmmmmmmmmmmm"
+ /* 7 */ "mmmmmmmmmmmmmmmm"
+ /* 8 */ "mmmmmmmmmmmmmmmm"
+ /* 9 */ "mmmmmmmmmmmmmmmm"
+ /* 10 */ "mmmmmmmmmmmmmmmm"
+ /* 11 */ "mmmmmmmmmmmmmmmm"
+ /* 12 */ "maaammmmmmmmmmmm"
+ /* 13 */ "maaammmmmmmmmmmm"
+ /* 14 */ "maaammmmmmmmaaam"
+ /* 15 */ "mmmmmmmmmmmmaaam"
// Level 2
- "mmmmmmmmmmmmmmm"
- "aabmmmmmmmmmcaa"
- "aabmmmmmmmmmcaa"
- "aabmmmmmmmmmcaa"
- "mmmmmmmmmmmmmmm"
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "mmmmmmmmmmmmmmmm"
+ /* 1 */ "aaabdmmmmmmdcaaa"
+ /* 2 */ "aaabdmmmmmmdcaaa"
+ /* 3 */ "aaabdmmmmmmdcaaa"
+ /* 4 */ "mmmmmmmmmmmmmmmm"
+ /* 5 */ "mmmmmmmmmmmmmmmm"
+ /* 6 */ "mmmmmmmmmmmmmmmm"
+ /* 7 */ "mmmmmmmmmmmmmmmm"
+ /* 8 */ "mmmmmmmmmmmmmmmm"
+ /* 9 */ "mmmmmmmmmmmmmmmm"
+ /* 10 */ "mmmmmmmmmmmmmmmm"
+ /* 11 */ "mmmmmmmmmmmmmmmm"
+ /* 12 */ "maaammmmmmmmmmmm"
+ /* 13 */ "maaammmmmmmmmmmm"
+ /* 14 */ "maaammmmmmmmaaam"
+ /* 15 */ "mmmmmmmmmmmmaaam"
// Level 3
- "mmmmmmmmmmmmmmm"
- "aaabdmmmmmdcaaa"
- "aaabdmmmmmdcaaa"
- "aaabdmmmmmdcaaa"
- "mmmmmmmmmmmmmmm"
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "eeeeeeeeeeeeeeee"
+ /* 1 */ "aaaaaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaaaaa"
+ /* 4 */ "ffffffffffffffff"
+ /* 5 */ "mmmmmmmmmmmmmmmm"
+ /* 6 */ "mmmmmmmmmmmmmmmm"
+ /* 7 */ "mmmmmmmmmmmmmmmm"
+ /* 8 */ "mmmmmmmmmmmmmmmm"
+ /* 9 */ "mmmmmmmmmmmmmmmm"
+ /* 10 */ "mmmmmmmmmmmmmmmm"
+ /* 11 */ "mmmmmmmmmmmmmmmm"
+ /* 12 */ "maaammmmmmmmmmmm"
+ /* 13 */ "maaammmmmmmmmmmm"
+ /* 14 */ "maaammmmmmmmaaam"
+ /* 15 */ "mmmmmmmmmmmmaaam"
// Level 4
- "eeeeeeeeeeeeeee"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "fffffffffffffff"
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "aaaaaaaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaaaaaaa"
+ /* 5 */ "faaabmmmmmmmmmmm"
+ /* 6 */ "caaabmmmmmmmmmmm"
+ /* 7 */ "caaabmmmmmmmmmmm"
+ /* 8 */ "mmmmmmmmmmmmmmmm"
+ /* 9 */ "mmmmmmmmmmmmmmmm"
+ /* 10 */ "mmmmmmmmmmmmmmmm"
+ /* 11 */ "mmmmmmmmmmmmmmmm"
+ /* 12 */ "maaammmmmmmmmmmm"
+ /* 13 */ "maaammmmmmmmmmmm"
+ /* 14 */ "maaammmmmmmmaaam"
+ /* 15 */ "mmmmmmmmmmmmaaam"
// Level 5
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "aaaaaaaaaaaaaaaa"
+ /* 1 */ "................"
+ /* 2 */ "................"
+ /* 3 */ "................"
+ /* 4 */ "a...aaaaaaaaaaaa"
+ /* 5 */ "a...ammmmmmmmmmm"
+ /* 6 */ "aaaaammmmmmmmmmm"
+ /* 7 */ "aaaaammmmmmmmmmm"
+ /* 8 */ "caaabmmmmmmmmmmm"
+ /* 9 */ "caaabmmmmmmmmmmm"
+ /* 10 */ "mmmmmmmmmmmmmmmm"
+ /* 11 */ "mmmmmmmmmmmmmmmm"
+ /* 12 */ "maaammmmmmmmmmmm"
+ /* 13 */ "maaammmmmmmmmmmm"
+ /* 14 */ "maaammmmmmmmaaam"
+ /* 15 */ "mmmmmmmmmmmmaaam"
// Level 6
- "aaaaaaaaaaaaaaa"
- "..............."
- "..............."
- "..............."
- "aaaaaaaaaaaaaaa"
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "mmmmmmmmmmmmaaam"
+ /* 1 */ "................"
+ /* 2 */ "................"
+ /* 3 */ "................"
+ /* 4 */ "m...mmmmmmmmaaam"
+ /* 5 */ "a...ammmmmmmmmmm"
+ /* 6 */ "a...ammmmmmmmmmm"
+ /* 7 */ "a...ammmmmmmmmmm"
+ /* 8 */ "aaaaammmmmmmmmmm"
+ /* 9 */ "aaaaammmmmmmmmmm"
+ /* 10 */ "caaabmmmmmmmmmmm"
+ /* 11 */ "caaabmmmmmmmmmmm"
+ /* 12 */ "maaabmmmmmmmmmmm"
+ /* 13 */ "maaabmmmmmmmmmmm"
+ /* 14 */ "maaafmmmmmmmaaam"
+ /* 15 */ "mmmmmmmmmmmmaaam"
// Level 7
- "mmmmmmmmmmmmmmm"
- "..............."
- "..............."
- "..............."
- "mmmmmmmmmmmmmmm"
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "mmmmmmmmmmmmaaam"
+ /* 1 */ "................"
+ /* 2 */ "................"
+ /* 3 */ "................"
+ /* 4 */ "m...mmmmmmmmaaam"
+ /* 5 */ "m...mmmmmmmmmmmm"
+ /* 6 */ "m...mmmmmmmmmmmm"
+ /* 7 */ "a...ammmmmmmmmmm"
+ /* 8 */ "a...ammmmmmmmmmm"
+ /* 9 */ "a...ammmmmmmmmmm"
+ /* 10 */ "aaaaammmmmmmmmmm"
+ /* 11 */ "aaaaaeemmmmmmmmm"
+ /* 12 */ "caaaaaammmmmmmmm"
+ /* 13 */ "caaaaaammmmmmmmm"
+ /* 14 */ "caaaaaammmmmaaam"
+ /* 15 */ "fffffffmmmmmaaam"
// Level 8
- "mmmmmmmmmmmmmmm"
- "..............."
- "..............."
- "..............."
- "mmmmmmmmmmmmmmm",
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "mmmmmmmmmmmmaaam"
+ /* 1 */ "mmmmmmmmmmmmmmmm"
+ /* 2 */ "mmmmmmmmmmmmmmmm"
+ /* 3 */ "mmmmmmmmmmmmmmmm"
+ /* 4 */ "m...mmmmmmmmaaam"
+ /* 5 */ "m...mmmmmmmmmmmm"
+ /* 6 */ "m...mmmmmmmmmmmm"
+ /* 7 */ "m...mmmmmmmmmmmm"
+ /* 8 */ "m...mmmmmmmmmmmm"
+ /* 9 */ "a...ammmmmmmmmmm"
+ /* 10 */ "a...ammmmmmmmmmm"
+ /* 11 */ "a...aaaeemmmmmmm"
+ /* 12 */ "a.....aaammmmmmm"
+ /* 13 */ "a.....aaammmmmmm"
+ /* 14 */ "a.....aaammmaaam"
+ /* 15 */ "aaaaaaaffmmmaaam"
+
+ // Level 9
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "mmmmmmmmmmmcaaab"
+ /* 1 */ "mmmmmmmmmmmcaaab"
+ /* 2 */ "mmmmmmmmmmmcaaab"
+ /* 3 */ "mmmmmmmmmmmcaaab"
+ /* 4 */ "mmmmmmmmmmmcaaab"
+ /* 5 */ "mmmmmmmmmmmcaaab"
+ /* 6 */ "m...mmmmmmmcaaab"
+ /* 7 */ "m...mmmmmmmcaaab"
+ /* 8 */ "m...mmmmmmmcaaab"
+ /* 9 */ "m...mmmmmmmcaaab"
+ /* 10 */ "m...mmmmmmmcaaab"
+ /* 11 */ "m...maaaaeecaaab"
+ /* 12 */ "m.......aaaaaaab"
+ /* 13 */ "m.......aaaaaaab"
+ /* 14 */ "m.......aaaaaaab"
+ /* 15 */ "mmmmmaaaafffaaab"
+
+ // Level 10
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "mmmmmmmmmmmaaaaa"
+ /* 1 */ "mmmmmmmmmmmaaaaa"
+ /* 2 */ "mmmmmmmmmmmaaaaa"
+ /* 3 */ "mmmmmmmmmmmaaaaa"
+ /* 4 */ "mmmmmmmmmmmaaaaa"
+ /* 5 */ "mmmmmmmmmmmaaaaa"
+ /* 6 */ "mmmmmmmmmmmaaaaa"
+ /* 7 */ "mmmmmmmmmmmaaaaa"
+ /* 8 */ "m...mmmmmmmaaaaa"
+ /* 9 */ "m...mmmmmmmaaaaa"
+ /* 10 */ "m...mmmmmmmaaaaa"
+ /* 11 */ "m...mmmaaaaaaaaa"
+ /* 12 */ "m.........aaaaaa"
+ /* 13 */ "m.........aaaaaa"
+ /* 14 */ "m.........aaaaaa"
+ /* 15 */ "mmmmmmmaaaaaaaaa"
+
+ // Level 11
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "mmmmmmmmmmma...a"
+ /* 1 */ "mmmmmmmmmmma...a"
+ /* 2 */ "mmmmmmmmmmma...a"
+ /* 3 */ "mmmmmmmmmmma...a"
+ /* 4 */ "mmmmmmmmmmma...a"
+ /* 5 */ "mmmmmmmmmmma...a"
+ /* 6 */ "mmmmmmmmmmma...a"
+ /* 7 */ "mmmmmmmmmmma...a"
+ /* 8 */ "mmmmmmmmmmma...a"
+ /* 9 */ "mmmmmmmmmmma...a"
+ /* 10 */ "mmmmmmmmmmma...a"
+ /* 11 */ "mmmmmmmmmaaa...a"
+ /* 12 */ "mmmm...........a"
+ /* 13 */ "mmmm...........a"
+ /* 14 */ "mmmm...........a"
+ /* 15 */ "mmmmmmmmmaaa...a"
+
+ // Level 12
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "mmmmmmmmmmmm...m"
+ /* 1 */ "mmmmmmmmmmmm...m"
+ /* 2 */ "mmmmmmmmmmmm...m"
+ /* 3 */ "mmmmmmmmmmmm...m"
+ /* 4 */ "mmmmmmmmmmmm...m"
+ /* 5 */ "mmmmmmmmmmmm...m"
+ /* 6 */ "mmmmmmmmmmmm...m"
+ /* 7 */ "mmmmmmmmmmmm...m"
+ /* 8 */ "mmmmmmmmmmmm...m"
+ /* 9 */ "mmmmmmmmmmmm...m"
+ /* 10 */ "mmmmmmmmmmmm...m"
+ /* 11 */ "mmmmmmmmmmmm...m"
+ /* 12 */ "mmmmmm.........m"
+ /* 13 */ "mmmmmm.........m"
+ /* 14 */ "mmmmmm.........m"
+ /* 15 */ "mmmmmmmmmmmm...m"
+
+ // Level 13
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "mmmmmmmmmmmm...m"
+ /* 1 */ "mmmmmmmmmmmm...m"
+ /* 2 */ "mmmmmmmmmmmm...m"
+ /* 3 */ "mmmmmmmmmmmm...m"
+ /* 4 */ "mmmmmmmmmmmm...m"
+ /* 5 */ "mmmmmmmmmmmm...m"
+ /* 6 */ "mmmmmmmmmmmm...m"
+ /* 7 */ "mmmmmmmmmmmm...m"
+ /* 8 */ "mmmmmmmmmmmm...m"
+ /* 9 */ "mmmmmmmmmmmm...m"
+ /* 10 */ "mmmmmmmmmmmm...m"
+ /* 11 */ "mmmmmmmmmmmm...m"
+ /* 12 */ "mmmmmmmm.......m"
+ /* 13 */ "mmmmmmmm.......m"
+ /* 14 */ "mmmmmmmm.......m"
+ /* 15 */ "mmmmmmmmmmmm...m",
+
+ // Connectors:
+ "0: 0, 5, 2: 4\n" /* Type 0, direction X- */
+ "0: 15, 5, 2: 5\n" /* Type 0, direction X+ */
+ "0: 13, 11, 0: 2\n" /* Type 0, direction Z- */
+ "0: 13, 11, 15: 3\n" /* Type 0, direction Z+ */,
- // Connections:
- "0: 0, 5, 2: 4\n" /* Type 0, BLOCK_FACE_XM */
- "0: 14, 5, 2: 5\n" /* Type 0, BLOCK_FACE_XP */,
+ // AllowedRotations:
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
+ // Merge strategy:
+ cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 20,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ 0,
+ }, // BridgeLevelCrossing
+
+
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // BridgeSegment:
+ // The data has been exported from the gallery Nether, area index 16, ID 158, created by Aloe_vera
+ {
+ // Size:
+ 15, 8, 5, // SizeX = 15, SizeY = 8, SizeZ = 5
+
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 14, 17, 4, // MaxX, MaxY, MaxZ
+
+ // Block definitions:
+ ".: 0: 0\n" /* air */
+ "a:112: 0\n" /* netherbrick */
+ "b:114: 5\n" /* netherbrickstairs */
+ "c:114: 4\n" /* netherbrickstairs */
+ "d: 44:14\n" /* step */
+ "e:114: 6\n" /* netherbrickstairs */
+ "f:114: 7\n" /* netherbrickstairs */
+ "m: 19: 0\n" /* sponge */,
+
+ // Block data:
+ // Level 0
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "aammmmmmmmmmmaa"
+ /* 2 */ "aammmmmmmmmmmaa"
+ /* 3 */ "aammmmmmmmmmmaa"
+ /* 4 */ "mmmmmmmmmmmmmmm"
+
+ // Level 1
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "aabmmmmmmmmmcaa"
+ /* 2 */ "aabmmmmmmmmmcaa"
+ /* 3 */ "aabmmmmmmmmmcaa"
+ /* 4 */ "mmmmmmmmmmmmmmm"
+
+ // Level 2
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "aaabdmmmmmdcaaa"
+ /* 2 */ "aaabdmmmmmdcaaa"
+ /* 3 */ "aaabdmmmmmdcaaa"
+ /* 4 */ "mmmmmmmmmmmmmmm"
+
+ // Level 3
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "eeeeeeeeeeeeeee"
+ /* 1 */ "aaaaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaaaa"
+ /* 4 */ "fffffffffffffff"
+
+ // Level 4
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aaaaaaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaaaaaa"
+
+ // Level 5
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aaaaaaaaaaaaaaa"
+ /* 1 */ "..............."
+ /* 2 */ "..............."
+ /* 3 */ "..............."
+ /* 4 */ "aaaaaaaaaaaaaaa"
+
+ // Level 6
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "..............."
+ /* 2 */ "..............."
+ /* 3 */ "..............."
+ /* 4 */ "mmmmmmmmmmmmmmm"
+
+ // Level 7
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "..............."
+ /* 2 */ "..............."
+ /* 3 */ "..............."
+ /* 4 */ "mmmmmmmmmmmmmmm",
+
+ // Connectors:
+ "0: 0, 5, 2: 4\n" /* Type 0, direction X- */
+ "0: 14, 5, 2: 5\n" /* Type 0, direction X+ */,
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 500,
+
+ // DepthWeight:
+ "4:-3000|8:-3000|12:-3000|16:-3000|20:-3000",
+
+ // AddWeightIfSame:
+ 1000,
}, // BridgeSegment
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// BridgeTee:
- // The data has been exported from gallery Nether, area index 39, ID 290
+ // The data has been exported from the gallery Nether, area index 39, ID 290, created by STR_Warrior
{
// Size:
15, 8, 10, // SizeX = 15, SizeY = 8, SizeZ = 10
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 14, 17, 9, // MaxX, MaxY, MaxZ
+
// Block definitions:
".: 0: 0\n" /* air */
"a:112: 0\n" /* netherbrick */
@@ -867,258 +2093,452 @@ const cPrefab::sDef g_NetherFortPrefabs1[] =
"m: 19: 0\n" /* sponge */,
// Block data:
+ // Level 0
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "aammmmmmmmmmmaa"
+ /* 2 */ "aammmmmmmmmmmaa"
+ /* 3 */ "aammmmmmmmmmmaa"
+ /* 4 */ "mmmmmmmmmmmmmmm"
+ /* 5 */ "mmmmmmmmmmmmmmm"
+ /* 6 */ "mmmmmmmmmmmmmmm"
+ /* 7 */ "mmmmmmmmmmmmmmm"
+ /* 8 */ "mmmmmmaaammmmmm"
+ /* 9 */ "mmmmmmaaammmmmm"
+
// Level 1
- "mmmmmmmmmmmmmmm"
- "aammmmmmmmmmmaa"
- "aammmmmmmmmmmaa"
- "aammmmmmmmmmmaa"
- "mmmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmmm"
- "mmmmmmaaammmmmm"
- "mmmmmmaaammmmmm"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "aabmmmmmmmmmcaa"
+ /* 2 */ "aabmmmmmmmmmcaa"
+ /* 3 */ "aabmmmmmmmmmcaa"
+ /* 4 */ "mmmmmmmmmmmmmmm"
+ /* 5 */ "mmmmmmmmmmmmmmm"
+ /* 6 */ "mmmmmmmmmmmmmmm"
+ /* 7 */ "mmmmmmdddmmmmmm"
+ /* 8 */ "mmmmmmaaammmmmm"
+ /* 9 */ "mmmmmmaaammmmmm"
// Level 2
- "mmmmmmmmmmmmmmm"
- "aabmmmmmmmmmcaa"
- "aabmmmmmmmmmcaa"
- "aabmmmmmmmmmcaa"
- "mmmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmmm"
- "mmmmmmmmmmmmmmm"
- "mmmmmmdddmmmmmm"
- "mmmmmmaaammmmmm"
- "mmmmmmaaammmmmm"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "aaabemmmmmecaaa"
+ /* 2 */ "aaabemmmmmecaaa"
+ /* 3 */ "aaabemmmmmecaaa"
+ /* 4 */ "mmmmmmmmmmmmmmm"
+ /* 5 */ "mmmmmmeeemmmmmm"
+ /* 6 */ "mmmmmmdddmmmmmm"
+ /* 7 */ "mmmmmmaaammmmmm"
+ /* 8 */ "mmmmmmaaammmmmm"
+ /* 9 */ "mmmmmmaaammmmmm"
// Level 3
- "mmmmmmmmmmmmmmm"
- "aaabemmmmmecaaa"
- "aaabemmmmmecaaa"
- "aaabemmmmmecaaa"
- "mmmmmmmmmmmmmmm"
- "mmmmmmeeemmmmmm"
- "mmmmmmdddmmmmmm"
- "mmmmmmaaammmmmm"
- "mmmmmmaaammmmmm"
- "mmmmmmaaammmmmm"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "ddddddddddddddd"
+ /* 1 */ "aaaaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaaaa"
+ /* 4 */ "fffffcaaabfffff"
+ /* 5 */ "mmmmmcaaabmmmmm"
+ /* 6 */ "mmmmmcaaabmmmmm"
+ /* 7 */ "mmmmmcaaabmmmmm"
+ /* 8 */ "mmmmmcaaabmmmmm"
+ /* 9 */ "mmmmmcaaabmmmmm"
// Level 4
- "ddddddddddddddd"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "fffffcaaabfffff"
- "mmmmmcaaabmmmmm"
- "mmmmmcaaabmmmmm"
- "mmmmmcaaabmmmmm"
- "mmmmmcaaabmmmmm"
- "mmmmmcaaabmmmmm"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aaaaaaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaaaaaa"
+ /* 5 */ "mmmmmaaaaammmmm"
+ /* 6 */ "mmmmmaaaaammmmm"
+ /* 7 */ "mmmmmaaaaammmmm"
+ /* 8 */ "mmmmmaaaaammmmm"
+ /* 9 */ "mmmmmaaaaammmmm"
// Level 5
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "mmmmmaaaaammmmm"
- "mmmmmaaaaammmmm"
- "mmmmmaaaaammmmm"
- "mmmmmaaaaammmmm"
- "mmmmmaaaaammmmm"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aaaaaaaaaaaaaaa"
+ /* 1 */ "..............."
+ /* 2 */ "..............."
+ /* 3 */ "..............."
+ /* 4 */ "aaaaaa...aaaaaa"
+ /* 5 */ "mmmmma...ammmmm"
+ /* 6 */ "mmmmma...ammmmm"
+ /* 7 */ "mmmmma...ammmmm"
+ /* 8 */ "mmmmma...ammmmm"
+ /* 9 */ "mmmmma...ammmmm"
// Level 6
- "aaaaaaaaaaaaaaa"
- "..............."
- "..............."
- "..............."
- "aaaaaa...aaaaaa"
- "mmmmma...ammmmm"
- "mmmmma...ammmmm"
- "mmmmma...ammmmm"
- "mmmmma...ammmmm"
- "mmmmma...ammmmm"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "..............."
+ /* 2 */ "..............."
+ /* 3 */ "..............."
+ /* 4 */ "mmmmmm...mmmmmm"
+ /* 5 */ "mmmmmm...mmmmmm"
+ /* 6 */ "mmmmmm...mmmmmm"
+ /* 7 */ "mmmmmm...mmmmmm"
+ /* 8 */ "mmmmmm...mmmmmm"
+ /* 9 */ "mmmmmm...mmmmmm"
// Level 7
- "mmmmmmmmmmmmmmm"
- "..............."
- "..............."
- "..............."
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
-
- // Level 8
- "mmmmmmmmmmmmmmm"
- "..............."
- "..............."
- "..............."
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm"
- "mmmmmm...mmmmmm",
-
- // Connections:
- "0: 0, 5, 2: 4\n" /* Type 0, BLOCK_FACE_XM */
- "0: 14, 5, 2: 5\n" /* Type 0, BLOCK_FACE_XP */
- "0: 7, 5, 9: 3\n" /* Type 0, BLOCK_FACE_ZP */,
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "mmmmmmmmmmmmmmm"
+ /* 1 */ "..............."
+ /* 2 */ "..............."
+ /* 3 */ "..............."
+ /* 4 */ "mmmmmm...mmmmmm"
+ /* 5 */ "mmmmmm...mmmmmm"
+ /* 6 */ "mmmmmm...mmmmmm"
+ /* 7 */ "mmmmmm...mmmmmm"
+ /* 8 */ "mmmmmm...mmmmmm"
+ /* 9 */ "mmmmmm...mmmmmm",
+
+ // Connectors:
+ "0: 0, 5, 2: 4\n" /* Type 0, direction X- */
+ "0: 7, 5, 9: 3\n" /* Type 0, direction Z+ */
+ "0: 14, 5, 2: 5\n" /* Type 0, direction X+ */,
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 10,
+
+ // DepthWeight:
+ "1:500",
+
+ // AddWeightIfSame:
+ 0,
}, // BridgeTee
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Corridor11:
- // The data has been exported from gallery Nether, area index 36, ID 287
+ // The data has been exported from the gallery Nether, area index 36, ID 287, created by Aloe_vera
{
// Size:
11, 6, 5, // SizeX = 11, SizeY = 6, SizeZ = 5
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 10, 5, 4, // MaxX, MaxY, MaxZ
+
// Block definitions:
".: 0: 0\n" /* air */
"a:112: 0\n" /* netherbrick */
"b:113: 0\n" /* netherbrickfence */
"c:114: 2\n" /* netherbrickstairs */
- "d:114: 3\n" /* netherbrickstairs */,
+ "d:114: 3\n" /* netherbrickstairs */
+ "m: 19: 0\n" /* sponge */,
// Block data:
+ // Level 0
+ /* z\x* 1 */
+ /* * 01234567890 */
+ /* 0 */ "aaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaa"
+
// Level 1
- "aaaaaaaaaaa"
- "aaaaaaaaaaa"
- "aaaaaaaaaaa"
- "aaaaaaaaaaa"
- "aaaaaaaaaaa"
+ /* z\x* 1 */
+ /* * 01234567890 */
+ /* 0 */ "aaaaaaaaaaa"
+ /* 1 */ "..........."
+ /* 2 */ "..........."
+ /* 3 */ "..........."
+ /* 4 */ "aaaaaaaaaaa"
// Level 2
- "aaaaaaaaaaa"
- "..........."
- "..........."
- "..........."
- "aaaaaaaaaaa"
+ /* z\x* 1 */
+ /* * 01234567890 */
+ /* 0 */ "abababababa"
+ /* 1 */ "..........."
+ /* 2 */ "..........."
+ /* 3 */ "..........."
+ /* 4 */ "abababababa"
// Level 3
- "abababababa"
- "..........."
- "..........."
- "..........."
- "abababababa"
+ /* z\x* 1 */
+ /* * 01234567890 */
+ /* 0 */ "abababababa"
+ /* 1 */ "..........."
+ /* 2 */ "..........."
+ /* 3 */ "..........."
+ /* 4 */ "abababababa"
// Level 4
- "abababababa"
- "..........."
- "..........."
- "..........."
- "abababababa"
+ /* z\x* 1 */
+ /* * 01234567890 */
+ /* 0 */ "abababababa"
+ /* 1 */ "..........."
+ /* 2 */ "..........."
+ /* 3 */ "..........."
+ /* 4 */ "abababababa"
// Level 5
- "abababababa"
- "..........."
- "..........."
- "..........."
- "abababababa"
-
- // Level 6
- "ccccccccccc"
- "aaaaaaaaaaa"
- "aaaaaaaaaaa"
- "aaaaaaaaaaa"
- "ddddddddddd",
-
- // Connections:
- "1: 0, 1, 2: 4\n" /* Type 1, BLOCK_FACE_XM */
- "1: 10, 1, 2: 5\n" /* Type 1, BLOCK_FACE_XP */,
+ /* z\x* 1 */
+ /* * 01234567890 */
+ /* 0 */ "ccccccccccc"
+ /* 1 */ "aaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaa"
+ /* 4 */ "ddddddddddd",
+
+ // Connectors:
+ "1: 10, 1, 2: 5\n" /* Type 1, direction X+ */
+ "1: 0, 1, 2: 4\n" /* Type 1, direction X- */
+ "-1: 10, 1, 2: 5\n" /* Type -1, direction X+ */
+ "-1: 0, 1, 2: 4\n" /* Type -1, direction X- */,
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 300,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ 0,
}, // Corridor11
+
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Corridor13:
- // The data has been exported from gallery Nether, area index 35, ID 286
+ // The data has been exported from the gallery Nether, area index 35, ID 286, created by Aloe_vera
{
// Size:
13, 6, 5, // SizeX = 13, SizeY = 6, SizeZ = 5
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 12, 5, 4, // MaxX, MaxY, MaxZ
+
// Block definitions:
- "a:112: 0\n" /* netherbrick */
".: 0: 0\n" /* air */
- "c:113: 0\n" /* netherbrickfence */
- "d:114: 2\n" /* netherbrickstairs */
- "e:114: 3\n" /* netherbrickstairs */,
+ "a:112: 0\n" /* netherbrick */
+ "b:113: 0\n" /* netherbrickfence */
+ "c:114: 2\n" /* netherbrickstairs */
+ "d:114: 3\n" /* netherbrickstairs */
+ "m: 19: 0\n" /* sponge */,
// Block data:
+ // Level 0
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "aaaaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaaaa"
+
// Level 1
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "aaaaaaaaaaaaa"
+ /* 1 */ "............."
+ /* 2 */ "............."
+ /* 3 */ "............."
+ /* 4 */ "aaaaaaaaaaaaa"
// Level 2
- "aaaaaaaaaaaaa"
- "............."
- "............."
- "............."
- "aaaaaaaaaaaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "ababababababa"
+ /* 1 */ "............."
+ /* 2 */ "............."
+ /* 3 */ "............."
+ /* 4 */ "ababababababa"
// Level 3
- "acacacacacaca"
- "............."
- "............."
- "............."
- "acacacacacaca"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "ababababababa"
+ /* 1 */ "............."
+ /* 2 */ "............."
+ /* 3 */ "............."
+ /* 4 */ "ababababababa"
// Level 4
- "acacacacacaca"
- "............."
- "............."
- "............."
- "acacacacacaca"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "ababababababa"
+ /* 1 */ "............."
+ /* 2 */ "............."
+ /* 3 */ "............."
+ /* 4 */ "ababababababa"
// Level 5
- "acacacacacaca"
- "............."
- "............."
- "............."
- "acacacacacaca"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "ccccccccccccc"
+ /* 1 */ "aaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaa"
+ /* 4 */ "ddddddddddddd",
+
+ // Connectors:
+ "1: 12, 1, 2: 5\n" /* Type 1, direction X+ */
+ "1: 0, 1, 2: 4\n" /* Type 1, direction X- */
+ "-1: 12, 1, 2: 5\n" /* Type -1, direction X+ */
+ "-1: 0, 1, 2: 4\n" /* Type -1, direction X- */,
- // Level 6
- "ddddddddddddd"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "eeeeeeeeeeeee",
-
- // Connections:
- "1: 0, 1, 2: 4\n" /* Type 1, BLOCK_FACE_XM */
- "1: 12, 1, 2: 5\n" /* Type 1, BLOCK_FACE_XP */,
-
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 300,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ 0,
}, // Corridor13
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Corridor5:
+ // The data has been exported from the gallery Nether, area index 65, ID 330, created by xoft
+ {
+ // Size:
+ 5, 6, 5, // SizeX = 5, SizeY = 6, SizeZ = 5
+
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 4, 5, 4, // MaxX, MaxY, MaxZ
+
+ // Block definitions:
+ ".: 0: 0\n" /* air */
+ "a:112: 0\n" /* netherbrick */
+ "b:113: 0\n" /* netherbrickfence */
+ "c:114: 2\n" /* netherbrickstairs */
+ "d:114: 3\n" /* netherbrickstairs */
+ "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 */ "aaaaa"
+ /* 1 */ "....."
+ /* 2 */ "....."
+ /* 3 */ "....."
+ /* 4 */ "aaaaa"
+
+ // Level 2
+ /* z\x* 01234 */
+ /* 0 */ "ababa"
+ /* 1 */ "....."
+ /* 2 */ "....."
+ /* 3 */ "....."
+ /* 4 */ "ababa"
+
+ // Level 3
+ /* z\x* 01234 */
+ /* 0 */ "ababa"
+ /* 1 */ "....."
+ /* 2 */ "....."
+ /* 3 */ "....."
+ /* 4 */ "ababa"
+
+ // Level 4
+ /* z\x* 01234 */
+ /* 0 */ "ababa"
+ /* 1 */ "....."
+ /* 2 */ "....."
+ /* 3 */ "....."
+ /* 4 */ "ababa"
+
+ // Level 5
+ /* z\x* 01234 */
+ /* 0 */ "ccccc"
+ /* 1 */ "aaaaa"
+ /* 2 */ "aaaaa"
+ /* 3 */ "aaaaa"
+ /* 4 */ "ddddd",
+
+ // Connectors:
+ "1: 4, 1, 2: 5\n" /* Type 1, direction X+ */
+ "1: 0, 1, 2: 4\n" /* Type 1, direction X- */
+ "-1: 4, 1, 2: 5\n" /* Type -1, direction X+ */
+ "-1: 0, 1, 2: 4\n" /* Type -1, direction X- */,
+
+ // AllowedRotations:
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
+ // Merge strategy:
+ cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 500,
+
+ // DepthWeight:
+ "6:0|12:0|18:0",
+
+ // AddWeightIfSame:
+ 500,
+ }, // Corridor5
+
+
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// CorridorCorner5:
- // The data has been exported from gallery Nether, area index 10, ID 40
+ // The data has been exported from the gallery Nether, area index 10, ID 40, created by xoft
{
// Size:
11, 6, 11, // SizeX = 11, SizeY = 6, SizeZ = 11
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 10, 5, 10, // MaxX, MaxY, MaxZ
+
// Block definitions:
".: 0: 0\n" /* air */
"a:112: 0\n" /* netherbrick */
@@ -1130,211 +2550,399 @@ const cPrefab::sDef g_NetherFortPrefabs1[] =
"m: 19: 0\n" /* sponge */,
// Block data:
+ // Level 0
+ /* z\x* 1 */
+ /* * 01234567890 */
+ /* 0 */ "aaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaa"
+ /* 5 */ "aaaaa......"
+ /* 6 */ "aaaaa......"
+ /* 7 */ "aaaaa......"
+ /* 8 */ "aaaaa......"
+ /* 9 */ "aaaaa......"
+ /* 10 */ "aaaaa......"
+
// Level 1
- "aaaaaaaaaaa"
- "aaaaaaaaaaa"
- "aaaaaaaaaaa"
- "aaaaaaaaaaa"
- "aaaaaaaaaaa"
- "aaaaammmmmm"
- "aaaaammmmmm"
- "aaaaammmmmm"
- "aaaaammmmmm"
- "aaaaammmmmm"
- "aaaaammmmmm"
+ /* z\x* 1 */
+ /* * 01234567890 */
+ /* 0 */ "aaaaaaaaaaa"
+ /* 1 */ "a.........."
+ /* 2 */ "a.........."
+ /* 3 */ "a.........."
+ /* 4 */ "a...aaaaaaa"
+ /* 5 */ "a...a......"
+ /* 6 */ "a...a......"
+ /* 7 */ "a...a......"
+ /* 8 */ "a...a......"
+ /* 9 */ "a...a......"
+ /* 10 */ "a...a......"
// Level 2
- "aaaaaaaaaaa"
- "a.........."
- "a.........."
- "a.........."
- "a...aaaaaaa"
- "a...ammmmmm"
- "a...ammmmmm"
- "a...ammmmmm"
- "a...ammmmmm"
- "a...ammmmmm"
- "a...ammmmmm"
+ /* z\x* 1 */
+ /* * 01234567890 */
+ /* 0 */ "abababababa"
+ /* 1 */ "b.........."
+ /* 2 */ "a.........."
+ /* 3 */ "b.........."
+ /* 4 */ "a...abababa"
+ /* 5 */ "b...b......"
+ /* 6 */ "a...a......"
+ /* 7 */ "b...b......"
+ /* 8 */ "a...a......"
+ /* 9 */ "b...b......"
+ /* 10 */ "a...a......"
// Level 3
- "abababababa"
- "b.........."
- "a.........."
- "b.........."
- "a...abababa"
- "b...bmmmmmm"
- "a...ammmmmm"
- "b...bmmmmmm"
- "a...ammmmmm"
- "b...bmmmmmm"
- "a...ammmmmm"
+ /* z\x* 1 */
+ /* * 01234567890 */
+ /* 0 */ "abababababa"
+ /* 1 */ "b.........."
+ /* 2 */ "a.........."
+ /* 3 */ "b.........."
+ /* 4 */ "a...abababa"
+ /* 5 */ "b...b......"
+ /* 6 */ "a...a......"
+ /* 7 */ "b...b......"
+ /* 8 */ "a...a......"
+ /* 9 */ "b...b......"
+ /* 10 */ "a...a......"
// Level 4
- "abababababa"
- "b.........."
- "a.........."
- "b.........."
- "a...abababa"
- "b...bmmmmmm"
- "a...ammmmmm"
- "b...bmmmmmm"
- "a...ammmmmm"
- "b...bmmmmmm"
- "a...ammmmmm"
+ /* z\x* 1 */
+ /* * 01234567890 */
+ /* 0 */ "abababababa"
+ /* 1 */ "b.........."
+ /* 2 */ "a.........."
+ /* 3 */ "b.........."
+ /* 4 */ "a...abababa"
+ /* 5 */ "b...b......"
+ /* 6 */ "a...a......"
+ /* 7 */ "b...b......"
+ /* 8 */ "a...a......"
+ /* 9 */ "b...b......"
+ /* 10 */ "a...a......"
// Level 5
- "abababababa"
- "b.........."
- "a.........."
- "b.........."
- "a...abababa"
- "b...bmmmmmm"
- "a...ammmmmm"
- "b...bmmmmmm"
- "a...ammmmmm"
- "b...bmmmmmm"
- "a...ammmmmm"
-
- // Level 6
- "ccccccccccc"
- "daaaaaaaaaa"
- "daaaaaaaaaa"
- "daaaaaaaaaa"
- "daaaeeeeeee"
- "daaafmmmmmm"
- "daaafmmmmmm"
- "daaafmmmmmm"
- "daaafmmmmmm"
- "daaafmmmmmm"
- "daaafmmmmmm",
-
- // Connections:
- "1: 10, 1, 2: 5\n" /* Type 1, BLOCK_FACE_XP */
- "1: 2, 1, 10: 3\n" /* Type 1, BLOCK_FACE_ZP */,
+ /* z\x* 1 */
+ /* * 01234567890 */
+ /* 0 */ "ccccccccccc"
+ /* 1 */ "daaaaaaaaaa"
+ /* 2 */ "daaaaaaaaaa"
+ /* 3 */ "daaaaaaaaaa"
+ /* 4 */ "daaaeeeeeee"
+ /* 5 */ "daaaf......"
+ /* 6 */ "daaaf......"
+ /* 7 */ "daaaf......"
+ /* 8 */ "daaaf......"
+ /* 9 */ "daaaf......"
+ /* 10 */ "daaaf......",
+
+ // Connectors:
+ "1: 2, 1, 10: 3\n" /* Type 1, direction Z+ */
+ "1: 10, 1, 2: 5\n" /* Type 1, direction X+ */
+ "-1: 2, 1, 10: 3\n" /* Type -1, direction Z+ */
+ "-1: 10, 1, 2: 5\n" /* Type -1, direction X+ */,
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 100,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ 0,
}, // CorridorCorner5
- // CorridorCorner5:
- // The data has been exported from gallery Nether, area index 10, ID 40
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // CorridorCornerChest5:
+ // The data has been exported from the gallery Nether, area index 42, ID 293, created by STR_Warrior
{
// Size:
11, 6, 11, // SizeX = 11, SizeY = 6, SizeZ = 11
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 10, 5, 10, // MaxX, MaxY, MaxZ
+
// Block definitions:
".: 0: 0\n" /* air */
"a:112: 0\n" /* netherbrick */
- "b:113: 0\n" /* netherbrickfence */
- "c:114: 2\n" /* netherbrickstairs */
+ "b: 54: 5\n" /* chest */
+ "c:113: 0\n" /* netherbrickfence */
"d:114: 0\n" /* netherbrickstairs */
- "e:114: 3\n" /* netherbrickstairs */
+ "e:114: 2\n" /* netherbrickstairs */
"f:114: 1\n" /* netherbrickstairs */
- "g: 54: 5\n" /* chest */
+ "g:114: 3\n" /* netherbrickstairs */
"m: 19: 0\n" /* sponge */,
// Block data:
+ // Level 0
+ /* z\x* 1 */
+ /* * 01234567890 */
+ /* 0 */ "aaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaa"
+ /* 5 */ "aaaaammmmmm"
+ /* 6 */ "aaaaammmmmm"
+ /* 7 */ "aaaaammmmmm"
+ /* 8 */ "aaaaammmmmm"
+ /* 9 */ "aaaaammmmmm"
+ /* 10 */ "aaaaammmmmm"
+
// Level 1
- "aaaaaaaaaaa"
- "aaaaaaaaaaa"
- "aaaaaaaaaaa"
- "aaaaaaaaaaa"
- "aaaaaaaaaaa"
- "aaaaammmmmm"
- "aaaaammmmmm"
- "aaaaammmmmm"
- "aaaaammmmmm"
- "aaaaammmmmm"
- "aaaaammmmmm"
+ /* z\x* 1 */
+ /* * 01234567890 */
+ /* 0 */ "aaaaaaaaaaa"
+ /* 1 */ "ab........."
+ /* 2 */ "a.........."
+ /* 3 */ "a.........."
+ /* 4 */ "a...aaaaaaa"
+ /* 5 */ "a...ammmmmm"
+ /* 6 */ "a...ammmmmm"
+ /* 7 */ "a...ammmmmm"
+ /* 8 */ "a...ammmmmm"
+ /* 9 */ "a...ammmmmm"
+ /* 10 */ "a...ammmmmm"
// Level 2
- "aaaaaaaaaaa"
- "ag........."
- "a.........."
- "a.........."
- "a...aaaaaaa"
- "a...ammmmmm"
- "a...ammmmmm"
- "a...ammmmmm"
- "a...ammmmmm"
- "a...ammmmmm"
- "a...ammmmmm"
+ /* z\x* 1 */
+ /* * 01234567890 */
+ /* 0 */ "acacacacaca"
+ /* 1 */ "c.........."
+ /* 2 */ "a.........."
+ /* 3 */ "c.........."
+ /* 4 */ "a...acacaca"
+ /* 5 */ "c...cmmmmmm"
+ /* 6 */ "a...ammmmmm"
+ /* 7 */ "c...cmmmmmm"
+ /* 8 */ "a...ammmmmm"
+ /* 9 */ "c...cmmmmmm"
+ /* 10 */ "a...ammmmmm"
// Level 3
- "abababababa"
- "b.........."
- "a.........."
- "b.........."
- "a...abababa"
- "b...bmmmmmm"
- "a...ammmmmm"
- "b...bmmmmmm"
- "a...ammmmmm"
- "b...bmmmmmm"
- "a...ammmmmm"
+ /* z\x* 1 */
+ /* * 01234567890 */
+ /* 0 */ "acacacacaca"
+ /* 1 */ "c.........."
+ /* 2 */ "a.........."
+ /* 3 */ "c.........."
+ /* 4 */ "a...acacaca"
+ /* 5 */ "c...cmmmmmm"
+ /* 6 */ "a...ammmmmm"
+ /* 7 */ "c...cmmmmmm"
+ /* 8 */ "a...ammmmmm"
+ /* 9 */ "c...cmmmmmm"
+ /* 10 */ "a...ammmmmm"
// Level 4
- "abababababa"
- "b.........."
- "a.........."
- "b.........."
- "a...abababa"
- "b...bmmmmmm"
- "a...ammmmmm"
- "b...bmmmmmm"
- "a...ammmmmm"
- "b...bmmmmmm"
- "a...ammmmmm"
+ /* z\x* 1 */
+ /* * 01234567890 */
+ /* 0 */ "acacacacaca"
+ /* 1 */ "c.........."
+ /* 2 */ "a.........."
+ /* 3 */ "c.........."
+ /* 4 */ "a...acacaca"
+ /* 5 */ "c...cmmmmmm"
+ /* 6 */ "a...ammmmmm"
+ /* 7 */ "c...cmmmmmm"
+ /* 8 */ "a...ammmmmm"
+ /* 9 */ "c...cmmmmmm"
+ /* 10 */ "a...ammmmmm"
// Level 5
- "abababababa"
- "b.........."
- "a.........."
- "b.........."
- "a...abababa"
- "b...bmmmmmm"
- "a...ammmmmm"
- "b...bmmmmmm"
- "a...ammmmmm"
- "b...bmmmmmm"
- "a...ammmmmm"
+ /* z\x* 1 */
+ /* * 01234567890 */
+ /* 0 */ "deeeeeeeeee"
+ /* 1 */ "daaaaaaaaaa"
+ /* 2 */ "daaaaaaaaaa"
+ /* 3 */ "daaaaaaaaaa"
+ /* 4 */ "daaafgggggg"
+ /* 5 */ "daaafmmmmmm"
+ /* 6 */ "daaafmmmmmm"
+ /* 7 */ "daaafmmmmmm"
+ /* 8 */ "daaafmmmmmm"
+ /* 9 */ "daaafmmmmmm"
+ /* 10 */ "daaafmmmmmm",
+
+ // Connectors:
+ "1: 10, 1, 2: 5\n" /* Type 1, direction X+ */
+ "1: 2, 1, 10: 3\n" /* Type 1, direction Z+ */
+ "-1: 2, 1, 10: 3\n" /* Type -1, direction Z+ */
+ "-1: 10, 1, 2: 5\n" /* Type -1, direction X+ */,
- // Level 6
- "ccccccccccc"
- "daaaaaaaaaa"
- "daaaaaaaaaa"
- "daaaaaaaaaa"
- "daaaeeeeeee"
- "daaafmmmmmm"
- "daaafmmmmmm"
- "daaafmmmmmm"
- "daaafmmmmmm"
- "daaafmmmmmm"
- "daaafmmmmmm",
-
- // Connections:
- "1: 10, 1, 2: 5\n" /* Type 1, BLOCK_FACE_XP */
- "1: 2, 1, 10: 3\n" /* Type 1, BLOCK_FACE_ZP */,
+ // AllowedRotations:
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
+ // Merge strategy:
+ cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 100,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ 0,
+ }, // CorridorCornerChest5
+
+
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // CorridorCrossing:
+ // The data has been exported from the gallery Nether, area index 63, ID 328, created by xoft
+ {
+ // Size:
+ 9, 6, 9, // SizeX = 9, SizeY = 6, SizeZ = 9
+
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 8, 5, 8, // MaxX, MaxY, MaxZ
+
+ // Block definitions:
+ ".: 0: 0\n" /* air */
+ "a:112: 0\n" /* netherbrick */
+ "b:113: 0\n" /* netherbrickfence */
+ "c:114: 0\n" /* netherbrickstairs */
+ "d:114: 1\n" /* netherbrickstairs */
+ "e:114: 2\n" /* netherbrickstairs */
+ "f:114: 3\n" /* netherbrickstairs */
+ "m: 19: 0\n" /* sponge */,
+
+ // Block data:
+ // Level 0
+ /* z\x* 012345678 */
+ /* 0 */ "mmaaaaamm"
+ /* 1 */ "mmaaaaamm"
+ /* 2 */ "aaaaaaaaa"
+ /* 3 */ "aaaaaaaaa"
+ /* 4 */ "aaaaaaaaa"
+ /* 5 */ "aaaaaaaaa"
+ /* 6 */ "aaaaaaaaa"
+ /* 7 */ "mmaaaaamm"
+ /* 8 */ "mmaaaaamm"
+
+ // Level 1
+ /* z\x* 012345678 */
+ /* 0 */ "mma...amm"
+ /* 1 */ "mma...amm"
+ /* 2 */ "aaa...aaa"
+ /* 3 */ "........."
+ /* 4 */ "........."
+ /* 5 */ "........."
+ /* 6 */ "aaa...aaa"
+ /* 7 */ "mma...amm"
+ /* 8 */ "mma...amm"
+
+ // Level 2
+ /* z\x* 012345678 */
+ /* 0 */ "mma...amm"
+ /* 1 */ "mmb...bmm"
+ /* 2 */ "aba...aba"
+ /* 3 */ "........."
+ /* 4 */ "........."
+ /* 5 */ "........."
+ /* 6 */ "aba...aba"
+ /* 7 */ "mmb...bmm"
+ /* 8 */ "mma...amm"
+
+ // Level 3
+ /* z\x* 012345678 */
+ /* 0 */ "mma...amm"
+ /* 1 */ "mmb...bmm"
+ /* 2 */ "aba...aba"
+ /* 3 */ "........."
+ /* 4 */ "........."
+ /* 5 */ "........."
+ /* 6 */ "aba...aba"
+ /* 7 */ "mmb...bmm"
+ /* 8 */ "mma...amm"
+
+ // Level 4
+ /* z\x* 012345678 */
+ /* 0 */ "mma...amm"
+ /* 1 */ "mmb...bmm"
+ /* 2 */ "aba...aba"
+ /* 3 */ "........."
+ /* 4 */ "........."
+ /* 5 */ "........."
+ /* 6 */ "aba...aba"
+ /* 7 */ "mmb...bmm"
+ /* 8 */ "mma...amm"
+
+ // Level 5
+ /* z\x* 012345678 */
+ /* 0 */ "mmcaaadmm"
+ /* 1 */ "mmcaaadmm"
+ /* 2 */ "eeeaaaeee"
+ /* 3 */ "aaaaaaaaa"
+ /* 4 */ "aaaaaaaaa"
+ /* 5 */ "aaaaaaaaa"
+ /* 6 */ "ffcaaadff"
+ /* 7 */ "mmcaaadmm"
+ /* 8 */ "mmcaaadmm",
+
+ // Connectors:
+ "1: 8, 1, 4: 5\n" /* Type 1, direction X+ */
+ "1: 4, 1, 0: 2\n" /* Type 1, direction Z- */
+ "1: 4, 1, 8: 3\n" /* Type 1, direction Z+ */
+ "1: 0, 1, 4: 4\n" /* Type 1, direction X- */
+ "-1: 8, 1, 4: 5\n" /* Type -1, direction X+ */
+ "-1: 4, 1, 8: 3\n" /* Type -1, direction Z+ */
+ "-1: 0, 1, 4: 4\n" /* Type -1, direction X- */
+ "-1: 4, 1, 0: 2\n" /* Type -1, direction Z- */,
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
- }, // CorridorCorner5Chest
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 100,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ -50,
+ }, // CorridorCrossing
+
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// CorridorStairs:
- // The data has been exported from gallery Nether, area index 12, ID 42
+ // The data has been exported from the gallery Nether, area index 12, ID 42, created by xoft
{
// Size:
9, 13, 5, // SizeX = 9, SizeY = 13, SizeZ = 5
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 8, 12, 4, // MaxX, MaxY, MaxZ
+
// Block definitions:
".: 0: 0\n" /* air */
"a:112: 0\n" /* netherbrick */
@@ -1342,611 +2950,1118 @@ const cPrefab::sDef g_NetherFortPrefabs1[] =
"c:113: 0\n" /* netherbrickfence */
"d:114: 2\n" /* netherbrickstairs */
"e:114: 3\n" /* netherbrickstairs */
- "f: 19: 0\n" /* sponge */,
+ "m: 19: 0\n" /* sponge */,
// Block data:
+ // Level 0
+ /* z\x* 012345678 */
+ /* 0 */ "aaaaaaaaa"
+ /* 1 */ "aaaaaaaaa"
+ /* 2 */ "aaaaaaaaa"
+ /* 3 */ "aaaaaaaaa"
+ /* 4 */ "aaaaaaaaa"
+
// Level 1
- "aaaaaaaaa"
- "aaaaaaaaa"
- "aaaaaaaaa"
- "aaaaaaaaa"
- "aaaaaaaaa"
+ /* z\x* 012345678 */
+ /* 0 */ "aaaaaaaaa"
+ /* 1 */ ".baaaaaaa"
+ /* 2 */ ".baaaaaaa"
+ /* 3 */ ".baaaaaaa"
+ /* 4 */ "aaaaaaaaa"
// Level 2
- "aaaaaaaaa"
- ".baaaaaaa"
- ".baaaaaaa"
- ".baaaaaaa"
- "aaaaaaaaa"
+ /* z\x* 012345678 */
+ /* 0 */ "acaaaaaaa"
+ /* 1 */ "..baaaaaa"
+ /* 2 */ "..baaaaaa"
+ /* 3 */ "..baaaaaa"
+ /* 4 */ "acaaaaaaa"
// Level 3
- "acaaaaaaa"
- "..baaaaaa"
- "..baaaaaa"
- "..baaaaaa"
- "acaaaaaaa"
+ /* z\x* 012345678 */
+ /* 0 */ "acaaaaaaa"
+ /* 1 */ "...baaaaa"
+ /* 2 */ "...baaaaa"
+ /* 3 */ "...baaaaa"
+ /* 4 */ "acaaaaaaa"
// Level 4
- "acaaaaaaa"
- "...baaaaa"
- "...baaaaa"
- "...baaaaa"
- "acaaaaaaa"
+ /* z\x* 012345678 */
+ /* 0 */ "acacaaaaa"
+ /* 1 */ "....baaaa"
+ /* 2 */ "....baaaa"
+ /* 3 */ "....baaaa"
+ /* 4 */ "acacaaaaa"
// Level 5
- "acacaaaaa"
- "....baaaa"
- "....baaaa"
- "....baaaa"
- "acacaaaaa"
+ /* z\x* 012345678 */
+ /* 0 */ "aaacaaaaa"
+ /* 1 */ ".....baaa"
+ /* 2 */ ".....baaa"
+ /* 3 */ ".....baaa"
+ /* 4 */ "aaacaaaaa"
// Level 6
- "aaacaaaaa"
- ".....baaa"
- ".....baaa"
- ".....baaa"
- "aaacaaaaa"
+ /* z\x* 012345678 */
+ /* 0 */ "daacacaaa"
+ /* 1 */ "a.....baa"
+ /* 2 */ "a.....baa"
+ /* 3 */ "a.....baa"
+ /* 4 */ "eaacacaaa"
// Level 7
- "daacacaaa"
- "a.....baa"
- "a.....baa"
- "a.....baa"
- "eaacacaaa"
+ /* z\x* 012345678 */
+ /* 0 */ "mdaaacaaa"
+ /* 1 */ "ma.....ba"
+ /* 2 */ "ma.....ba"
+ /* 3 */ "ma.....ba"
+ /* 4 */ "meaaacaaa"
// Level 8
- "fdaaacaaa"
- "fa.....ba"
- "fa.....ba"
- "fa.....ba"
- "feaaacaaa"
+ /* z\x* 012345678 */
+ /* 0 */ "mmdaacaca"
+ /* 1 */ "mma......"
+ /* 2 */ "mma......"
+ /* 3 */ "mma......"
+ /* 4 */ "mmeaacaca"
// Level 9
- "ffdaacaca"
- "ffa......"
- "ffa......"
- "ffa......"
- "ffeaacaca"
+ /* z\x* 012345678 */
+ /* 0 */ "mmmdaaaca"
+ /* 1 */ "mmma....."
+ /* 2 */ "mmma....."
+ /* 3 */ "mmma....."
+ /* 4 */ "mmmeaaaca"
// Level 10
- "fffdaaaca"
- "fffa....."
- "fffa....."
- "fffa....."
- "fffeaaaca"
+ /* z\x* 012345678 */
+ /* 0 */ "mmmmdaaca"
+ /* 1 */ "mmmma...."
+ /* 2 */ "mmmma...."
+ /* 3 */ "mmmma...."
+ /* 4 */ "mmmmeaaca"
// Level 11
- "ffffdaaca"
- "ffffa...."
- "ffffa...."
- "ffffa...."
- "ffffeaaca"
+ /* z\x* 012345678 */
+ /* 0 */ "mmmmmdaaa"
+ /* 1 */ "mmmmma..."
+ /* 2 */ "mmmmma..."
+ /* 3 */ "mmmmma..."
+ /* 4 */ "mmmmmeaaa"
// Level 12
- "fffffdaaa"
- "fffffa..."
- "fffffa..."
- "fffffa..."
- "fffffeaaa"
+ /* z\x* 012345678 */
+ /* 0 */ "mmmmmmddd"
+ /* 1 */ "mmmmmmaaa"
+ /* 2 */ "mmmmmmaaa"
+ /* 3 */ "mmmmmmaaa"
+ /* 4 */ "mmmmmmeee",
+
+ // Connectors:
+ "1: 0, 1, 2: 4\n" /* Type 1, direction X- */
+ "1: 8, 8, 2: 5\n" /* Type 1, direction X+ */
+ "-1: 0, 1, 2: 4\n" /* Type -1, direction X- */
+ "-1: 8, 8, 2: 5\n" /* Type -1, direction X+ */,
- // Level 13
- "ffffffddd"
- "ffffffaaa"
- "ffffffaaa"
- "ffffffaaa"
- "ffffffeee",
-
- // Connections:
- "1: 0, 1, 2: 4\n" /* Type 1, BLOCK_FACE_XM */
- "1: 8, 8, 2: 5\n" /* Type 1, BLOCK_FACE_XP */,
-
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 1000,
+
+ // DepthWeight:
+ "0:0|2:0|4:0|6:0|8:0|10:0|12:0|14:0|16:0|18:0",
+
+ // AddWeightIfSame:
+ 0,
}, // CorridorStairs
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // DarkCorridor:
+ // The data has been exported from the gallery Nether, area index 3, ID 30, created by STR_Warrior
+ {
+ // Size:
+ 14, 6, 5, // SizeX = 14, SizeY = 6, SizeZ = 5
+
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 13, 5, 4, // MaxX, MaxY, MaxZ
+
+ // Block definitions:
+ ".: 0: 0\n" /* air */
+ "a:112: 0\n" /* netherbrick */
+ "b:113: 0\n" /* netherbrickfence */
+ "c:114: 2\n" /* netherbrickstairs */
+ "d:114: 3\n" /* netherbrickstairs */
+ "m: 19: 0\n" /* sponge */,
+
+ // Block data:
+ // Level 0
+ /* z\x* 1111 */
+ /* * 01234567890123 */
+ /* 0 */ "aaaaaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaaaaa"
+
+ // Level 1
+ /* z\x* 1111 */
+ /* * 01234567890123 */
+ /* 0 */ "aaaaaaaaaaaaaa"
+ /* 1 */ ".............."
+ /* 2 */ ".............."
+ /* 3 */ ".............."
+ /* 4 */ "aaaaaaaaaaaaaa"
+
+ // Level 2
+ /* z\x* 1111 */
+ /* * 01234567890123 */
+ /* 0 */ "aabaaaaaaaabaa"
+ /* 1 */ ".............."
+ /* 2 */ ".............."
+ /* 3 */ ".............."
+ /* 4 */ "aabaaaaaaaabaa"
+
+ // Level 3
+ /* z\x* 1111 */
+ /* * 01234567890123 */
+ /* 0 */ "aabaaaaaaaabaa"
+ /* 1 */ ".............."
+ /* 2 */ ".............."
+ /* 3 */ ".............."
+ /* 4 */ "aabaaaaaaaabaa"
+
+ // Level 4
+ /* z\x* 1111 */
+ /* * 01234567890123 */
+ /* 0 */ "aabaaaaaaaabaa"
+ /* 1 */ ".............."
+ /* 2 */ ".............."
+ /* 3 */ ".............."
+ /* 4 */ "aabaaaaaaaabaa"
+
+ // Level 5
+ /* z\x* 1111 */
+ /* * 01234567890123 */
+ /* 0 */ "cccccccccccccc"
+ /* 1 */ "aaaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaaa"
+ /* 4 */ "dddddddddddddd",
+
+ // Connectors:
+ "1: 0, 1, 2: 4\n" /* Type 1, direction X- */
+ "1: 13, 1, 2: 5\n" /* Type 1, direction X+ */
+ "-1: 0, 1, 2: 4\n" /* Type -1, direction X- */
+ "-1: 13, 1, 2: 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,
+ }, // DarkCorridor
+
+
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LavaStaircase:
- // The data has been exported from gallery Nether, area index 28, ID 278
+ // The data has been exported from the gallery Nether, area index 28, ID 278, created by Aloe_vera
{
// Size:
15, 11, 15, // SizeX = 15, SizeY = 11, SizeZ = 15
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 14, 10, 14, // MaxX, MaxY, MaxZ
+
// Block definitions:
".: 0: 0\n" /* air */
"a:112: 0\n" /* netherbrick */
"b:113: 0\n" /* netherbrickfence */
- "c: 11: 0\n" /* lava */,
+ "c: 10: 0\n" /* lava */
+ "m: 19: 0\n" /* sponge */,
// Block data:
+ // Level 0
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aaaaaaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaaaaaa"
+ /* 5 */ "aaaaaaaaaaaaaaa"
+ /* 6 */ "aaaaaaaaaaaaaaa"
+ /* 7 */ "aaaaaaaaaaaaaaa"
+ /* 8 */ "aaaaaaaaaaaaaaa"
+ /* 9 */ "aaaaaaaaaaaaaaa"
+ /* 10 */ "aaaaaaaaaaaaaaa"
+ /* 11 */ "aaaaaaaaaaaaaaa"
+ /* 12 */ "aaaaaaaaaaaaaaa"
+ /* 13 */ "aaaaaaaaaaaaaaa"
+ /* 14 */ "aaaaaaaaaaaaaaa"
+
// Level 1
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aaaaaaaa...aaaa"
+ /* 1 */ "aaaaa.........a"
+ /* 2 */ "aaaaa.........a"
+ /* 3 */ "aaaaab........a"
+ /* 4 */ "accca...aaaa..a"
+ /* 5 */ "accca...acca..a"
+ /* 6 */ "acccaaaaacca..a"
+ /* 7 */ "acccccccccca..a"
+ /* 8 */ "acccaaaaacca..a"
+ /* 9 */ "accca...acca..a"
+ /* 10 */ "accca...aaaa..a"
+ /* 11 */ "aaaaab........a"
+ /* 12 */ "aaaaa.........a"
+ /* 13 */ "aaaaa.........a"
+ /* 14 */ "aaaaaaaa...aaaa"
// Level 2
- "aaaaaaaa...aaaa"
- "aaaaa.........a"
- "aaaaa.........a"
- "aaaaab........a"
- "accca...aaaa..a"
- "accca...acca..a"
- "acccaaaaacca..a"
- "acccccccccca..a"
- "acccaaaaacca..a"
- "accca...acca..a"
- "accca...aaaa..a"
- "aaaaab........a"
- "aaaaa.........a"
- "aaaaa.........a"
- "aaaaaaaa...aaaa"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aaaaaaaa...aaaa"
+ /* 1 */ "aaaa..........a"
+ /* 2 */ "aaaa..........a"
+ /* 3 */ "aaaabb........a"
+ /* 4 */ "aaaa..........a"
+ /* 5 */ "a.............a"
+ /* 6 */ "a.............a"
+ /* 7 */ "a.............a"
+ /* 8 */ "a.............a"
+ /* 9 */ "a.............a"
+ /* 10 */ "aaaa..........a"
+ /* 11 */ "aaaabb........a"
+ /* 12 */ "aaaa..........a"
+ /* 13 */ "aaaa..........a"
+ /* 14 */ "aaaaaaaa...aaaa"
// Level 3
- "aaaaaaaa...aaaa"
- "aaaa..........a"
- "aaaa..........a"
- "aaaabb........a"
- "aaaa..........a"
- "a.............a"
- "a.............a"
- "a.............a"
- "a.............a"
- "a.............a"
- "aaaa..........a"
- "aaaabb........a"
- "aaaa..........a"
- "aaaa..........a"
- "aaaaaaaa...aaaa"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aaaaaaaa...aaaa"
+ /* 1 */ "a.............a"
+ /* 2 */ "a.............a"
+ /* 3 */ "a..bb.........a"
+ /* 4 */ "aaaa..........a"
+ /* 5 */ "aaaa..........a"
+ /* 6 */ "a.............a"
+ /* 7 */ "a.............a"
+ /* 8 */ "a.............a"
+ /* 9 */ "aaaa..........a"
+ /* 10 */ "aaaa..........a"
+ /* 11 */ "a..bb.........a"
+ /* 12 */ "a.............a"
+ /* 13 */ "a.............a"
+ /* 14 */ "aaaaaaaa...aaaa"
// Level 4
- "aaaaaaaa...aaaa"
- "a.............a"
- "a.............a"
- "a..bb.........a"
- "aaaa..........a"
- "aaaa..........a"
- "a.............a"
- "a.............a"
- "a.............a"
- "aaaa..........a"
- "aaaa..........a"
- "a..bb.........a"
- "a.............a"
- "a.............a"
- "aaaaaaaa...aaaa"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aaaaaaaa...aaaa"
+ /* 1 */ "a.............a"
+ /* 2 */ "a.............a"
+ /* 3 */ "a..b..........a"
+ /* 4 */ "a..b..........a"
+ /* 5 */ "aaaa..........a"
+ /* 6 */ "aaaa..........a"
+ /* 7 */ "a.............a"
+ /* 8 */ "aaaa..........a"
+ /* 9 */ "aaaa..........a"
+ /* 10 */ "a..b..........a"
+ /* 11 */ "a..b..........a"
+ /* 12 */ "a.............a"
+ /* 13 */ "a.............a"
+ /* 14 */ "aaaaaaaa...aaaa"
// Level 5
- "aaaaaaaabbbaaaa"
- "a.............a"
- "a.............a"
- "a..b..........a"
- "a..b..........a"
- "aaaa..........a"
- "aaaa..........a"
- "a.............a"
- "aaaa..........a"
- "aaaa..........a"
- "a..b..........a"
- "a..b..........a"
- "a.............a"
- "a.............a"
- "aaaaaaaabbbaaaa"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aaaaaaaaaaaaaaa"
+ /* 1 */ "a.............a"
+ /* 2 */ "a.............a"
+ /* 3 */ "a.............a"
+ /* 4 */ "a..b..........a"
+ /* 5 */ "a..b..........a"
+ /* 6 */ "aaaa..........a"
+ /* 7 */ "aaaa..........a"
+ /* 8 */ "aaaa..........a"
+ /* 9 */ "a..b..........a"
+ /* 10 */ "a..b..........a"
+ /* 11 */ "a.............a"
+ /* 12 */ "a.............a"
+ /* 13 */ "a.............a"
+ /* 14 */ "aaaaaaaaaaaaaaa"
// Level 6
- "aaaaaaaaaaaaaaa"
- "a.............a"
- "a.............a"
- "a.............a"
- "a..b..........a"
- "a..b..........a"
- "aaaa..........a"
- "aaaa..........a"
- "aaaa..........a"
- "a..b..........a"
- "a..b..........a"
- "a.............a"
- "a.............a"
- "a.............a"
- "aaaaaaaaaaaaaaa"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aaaaaaaaaaaaaaa"
+ /* 1 */ "a.............a"
+ /* 2 */ "a.............a"
+ /* 3 */ "a.............a"
+ /* 4 */ "a.............a"
+ /* 5 */ "a..b..........a"
+ /* 6 */ "...b..........a"
+ /* 7 */ "...b..........a"
+ /* 8 */ "...b..........a"
+ /* 9 */ "a..b..........a"
+ /* 10 */ "a.............a"
+ /* 11 */ "a.............a"
+ /* 12 */ "a.............a"
+ /* 13 */ "a.............a"
+ /* 14 */ "aaaaaaaaaaaaaaa"
// Level 7
- "aaaaaaaaaaaaaaa"
- "a.............a"
- "a.............a"
- "a.............a"
- "a.............a"
- "a..b..........a"
- "...b..........a"
- "...b..........a"
- "...b..........a"
- "a..b..........a"
- "a.............a"
- "a.............a"
- "a.............a"
- "a.............a"
- "aaaaaaaaaaaaaaa"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aababababababaa"
+ /* 1 */ "a.............a"
+ /* 2 */ "b.............b"
+ /* 3 */ "a.............a"
+ /* 4 */ "b.............b"
+ /* 5 */ "a.............a"
+ /* 6 */ "..............b"
+ /* 7 */ "..............a"
+ /* 8 */ "..............b"
+ /* 9 */ "a.............a"
+ /* 10 */ "b.............b"
+ /* 11 */ "a.............a"
+ /* 12 */ "b.............b"
+ /* 13 */ "a.............a"
+ /* 14 */ "aababababababaa"
// Level 8
- "aababababababaa"
- "a.............a"
- "b.............b"
- "a.............a"
- "b.............b"
- "a.............a"
- "..............b"
- "..............a"
- "..............b"
- "a.............a"
- "b.............b"
- "a.............a"
- "b.............b"
- "a.............a"
- "aababababababaa"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aababababababaa"
+ /* 1 */ "a.............a"
+ /* 2 */ "b.............b"
+ /* 3 */ "a.............a"
+ /* 4 */ "b.............b"
+ /* 5 */ "a.............a"
+ /* 6 */ "..............b"
+ /* 7 */ "..............a"
+ /* 8 */ "..............b"
+ /* 9 */ "a.............a"
+ /* 10 */ "b.............b"
+ /* 11 */ "a.............a"
+ /* 12 */ "b.............b"
+ /* 13 */ "a.............a"
+ /* 14 */ "aababababababaa"
// Level 9
- "aababababababaa"
- "a.............a"
- "b.............b"
- "a.............a"
- "b.............b"
- "a.............a"
- "..............b"
- "..............a"
- "..............b"
- "a.............a"
- "b.............b"
- "a.............a"
- "b.............b"
- "a.............a"
- "aababababababaa"
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aababababababaa"
+ /* 1 */ "a.............a"
+ /* 2 */ "b.............b"
+ /* 3 */ "a.............a"
+ /* 4 */ "b.............b"
+ /* 5 */ "a.............a"
+ /* 6 */ "..............b"
+ /* 7 */ "..............a"
+ /* 8 */ "..............b"
+ /* 9 */ "a.............a"
+ /* 10 */ "b.............b"
+ /* 11 */ "a.............a"
+ /* 12 */ "b.............b"
+ /* 13 */ "a.............a"
+ /* 14 */ "aababababababaa"
// Level 10
- "aababababababaa"
- "a.............a"
- "b.............b"
- "a.............a"
- "b.............b"
- "a.............a"
- "..............b"
- "..............a"
- "..............b"
- "a.............a"
- "b.............b"
- "a.............a"
- "b.............b"
- "a.............a"
- "aababababababaa"
-
- // Level 11
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa"
- "aaaaaaaaaaaaaaa",
-
- // Connections:
- "1: 0, 6, 7: 4\n" /* Type 1, BLOCK_FACE_XM */
- "0: 9, 1, 0: 2\n" /* Type 0, BLOCK_FACE_ZM */
- "0: 9, 1, 14: 3\n" /* Type 0, BLOCK_FACE_ZP */,
+ /* z\x* 11111 */
+ /* * 012345678901234 */
+ /* 0 */ "aaaaaaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaaaaaa"
+ /* 5 */ "aaaaaaaaaaaaaaa"
+ /* 6 */ "aaaaaaaaaaaaaaa"
+ /* 7 */ "aaaaaaaaaaaaaaa"
+ /* 8 */ "aaaaaaaaaaaaaaa"
+ /* 9 */ "aaaaaaaaaaaaaaa"
+ /* 10 */ "aaaaaaaaaaaaaaa"
+ /* 11 */ "aaaaaaaaaaaaaaa"
+ /* 12 */ "aaaaaaaaaaaaaaa"
+ /* 13 */ "aaaaaaaaaaaaaaa"
+ /* 14 */ "aaaaaaaaaaaaaaa",
+
+ // Connectors:
+ "1: 0, 6, 7: 4\n" /* Type 1, direction X- */
+ "1: 9, 1, 14: 3\n" /* Type 1, direction Z+ */
+ "1: 9, 1, 0: 2\n" /* Type 1, direction Z- */
+ "-1: 0, 6, 7: 4\n" /* Type -1, direction X- */
+ "-1: 9, 1, 14: 3\n" /* Type -1, direction Z+ */
+ "-1: 9, 1, 0: 2\n" /* Type -1, direction Z- */,
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 10,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ 0,
}, // LavaStaircase
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// LavaStaircaseBig:
- // The data has been exported from gallery Nether, area index 31, ID 282
+ // The data has been exported from the gallery Nether, area index 31, ID 282, created by STR_Warrior
{
// Size:
12, 15, 15, // SizeX = 12, SizeY = 15, SizeZ = 15
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 11, 14, 14, // MaxX, MaxY, MaxZ
+
// Block definitions:
".: 0: 0\n" /* air */
"a:112: 0\n" /* netherbrick */
"b: 10: 0\n" /* lava */
- "c:113: 0\n" /* netherbrickfence */,
+ "c:113: 0\n" /* netherbrickfence */
+ "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"
+ /* 6 */ "aaaaaaaaaaaa"
+ /* 7 */ "aaaaaaaaaaaa"
+ /* 8 */ "aaaaaaaaaaaa"
+ /* 9 */ "aaaaaaaaaaaa"
+ /* 10 */ "aaaaaaaaaaaa"
+ /* 11 */ "aaaaaaaaaaaa"
+ /* 12 */ "aaaaaaaaaaaa"
+ /* 13 */ "aaaaaaaaaaaa"
+ /* 14 */ "aaaaaaaaaaaa"
+
// Level 1
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
+ /* z\x* 11 */
+ /* * 012345678901 */
+ /* 0 */ "aaaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaa"
+ /* 4 */ "abbbbbaaaaaa"
+ /* 5 */ "abbbbbbaaaaa"
+ /* 6 */ "abbbbbba...."
+ /* 7 */ "abbbbbba...."
+ /* 8 */ "abbbbbba...."
+ /* 9 */ "abbbbbbaaaaa"
+ /* 10 */ "abbbbb.aaaaa"
+ /* 11 */ "aaaaaaaaaaaa"
+ /* 12 */ "aaaaaaaaaaaa"
+ /* 13 */ "aaaaaaaaaaaa"
+ /* 14 */ "aaaaaaaaaaaa"
// Level 2
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "abbbbbaaaaaa"
- "abbbbbbaaaaa"
- "abbbbbba...."
- "abbbbbba...."
- "abbbbbba...."
- "abbbbbbaaaaa"
- "abbbbb.aaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
+ /* z\x* 11 */
+ /* * 012345678901 */
+ /* 0 */ "aaaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaa"
+ /* 4 */ "abbbbbaaaaaa"
+ /* 5 */ "abbbbbba...a"
+ /* 6 */ "abbbbbba...."
+ /* 7 */ "abbbbbba...."
+ /* 8 */ "abbbbbba...."
+ /* 9 */ "abbbbbba...a"
+ /* 10 */ "abbbbb.aaaaa"
+ /* 11 */ "aaaaaaaaaaaa"
+ /* 12 */ "aaaaaaaaaaaa"
+ /* 13 */ "aaaaaaaaaaaa"
+ /* 14 */ "aaaaaaaaaaaa"
// Level 3
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "abbbbbaaaaaa"
- "abbbbbba...a"
- "abbbbbba...."
- "abbbbbba...."
- "abbbbbba...."
- "abbbbbba...a"
- "abbbbb.aaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
+ /* z\x* 11 */
+ /* * 012345678901 */
+ /* 0 */ "aaaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaa"
+ /* 4 */ "abbbbbaa...a"
+ /* 5 */ "abbbbbba...a"
+ /* 6 */ "abbbbbba...."
+ /* 7 */ "abbbbbba...."
+ /* 8 */ "abbbbbba...."
+ /* 9 */ "abbbbbba...a"
+ /* 10 */ "abbbbbaa...a"
+ /* 11 */ "aaaaaaaaaaaa"
+ /* 12 */ "aaaaaaaaaaaa"
+ /* 13 */ "aaaaaaaaaaaa"
+ /* 14 */ "aaaaaaaaaaaa"
// Level 4
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "abbbbbaa...a"
- "abbbbbba...a"
- "abbbbbba...."
- "abbbbbba...."
- "abbbbbba...."
- "abbbbbba...a"
- "abbbbbaa...a"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
+ /* z\x* 11 */
+ /* * 012345678901 */
+ /* 0 */ "aaaaaaaaaaaa"
+ /* 1 */ "aaaaa......a"
+ /* 2 */ "aaaaa......a"
+ /* 3 */ "aaaaacc....a"
+ /* 4 */ "a.....cc...a"
+ /* 5 */ "a......c...a"
+ /* 6 */ "a......c...a"
+ /* 7 */ "a......c...a"
+ /* 8 */ "a......c...a"
+ /* 9 */ "a......c...a"
+ /* 10 */ "a.....cc...a"
+ /* 11 */ "aaaaacc....a"
+ /* 12 */ "aaaaa......a"
+ /* 13 */ "aaaaa......a"
+ /* 14 */ "aaaaaaaaaaaa"
// Level 5
- "aaaaaaaaaaaa"
- "aaaaa......a"
- "aaaaa......a"
- "aaaaacc....a"
- "a.....cc...a"
- "a......c...a"
- "a......c...."
- "a......c...."
- "a......c...."
- "a......c...a"
- "a.....cc...a"
- "aaaaacc....a"
- "aaaaa......a"
- "aaaaa......a"
- "aaaaaaaaaaaa"
+ /* z\x* 11 */
+ /* * 012345678901 */
+ /* 0 */ "aaaaaaaaaaaa"
+ /* 1 */ "aaaa.......a"
+ /* 2 */ "aaaa.......a"
+ /* 3 */ "aaaacc.....a"
+ /* 4 */ "aaaa.......a"
+ /* 5 */ "a..........a"
+ /* 6 */ "a..........a"
+ /* 7 */ "a..........a"
+ /* 8 */ "a..........a"
+ /* 9 */ "a..........a"
+ /* 10 */ "aaaa.......a"
+ /* 11 */ "aaaacc.....a"
+ /* 12 */ "aaaa.......a"
+ /* 13 */ "aaaa.......a"
+ /* 14 */ "aaaaaaaaaaaa"
// Level 6
- "aaaaaaaaaaaa"
- "aaaa.......a"
- "aaaa.......a"
- "aaaacc.....a"
- "aaaa.......a"
- "a..........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "aaaa.......a"
- "aaaacc.....a"
- "aaaa.......a"
- "aaaa.......a"
- "aaaaaaaaaaaa"
+ /* z\x* 11 */
+ /* * 012345678901 */
+ /* 0 */ "aaaaaaaaaaaa"
+ /* 1 */ "a..........a"
+ /* 2 */ "a..........a"
+ /* 3 */ "a..cc......a"
+ /* 4 */ "aaaa.......a"
+ /* 5 */ "aaaa.......a"
+ /* 6 */ "a..........a"
+ /* 7 */ "a..........a"
+ /* 8 */ "a..........a"
+ /* 9 */ "aaaa.......a"
+ /* 10 */ "aaaa.......a"
+ /* 11 */ "a..cc......a"
+ /* 12 */ "a..........a"
+ /* 13 */ "a..........a"
+ /* 14 */ "aaaaaaaaaaaa"
// Level 7
- "aaaaaaaaaaaa"
- "a..........a"
- "a..........a"
- "a..cc......a"
- "aaaa.......a"
- "aaaa.......a"
- "a..........a"
- "a..........a"
- "a..........a"
- "aaaa.......a"
- "aaaa.......a"
- "a..cc......a"
- "a..........a"
- "a..........a"
- "aaaaaaaaaaaa"
+ /* z\x* 11 */
+ /* * 012345678901 */
+ /* 0 */ "aaaaaaaaaaaa"
+ /* 1 */ "a..........a"
+ /* 2 */ "a..........a"
+ /* 3 */ "a..c.......a"
+ /* 4 */ "a..c.......a"
+ /* 5 */ "aaaa.......a"
+ /* 6 */ "aaaa.......a"
+ /* 7 */ "a..........a"
+ /* 8 */ "aaaa.......a"
+ /* 9 */ "aaaa.......a"
+ /* 10 */ "a..c.......a"
+ /* 11 */ "a..c.......a"
+ /* 12 */ "a..........a"
+ /* 13 */ "a..........a"
+ /* 14 */ "aaaaaaaaaaaa"
// Level 8
- "aaaaaaaaaaaa"
- "a..........a"
- "a..........a"
- "a..c.......a"
- "a..c.......a"
- "aaaa.......a"
- "aaaa.......a"
- "a..........a"
- "aaaa.......a"
- "aaaa.......a"
- "a..c.......a"
- "a..c.......a"
- "a..........a"
- "a..........a"
- "aaaaaaaaaaaa"
+ /* z\x* 11 */
+ /* * 012345678901 */
+ /* 0 */ "aaaaaaaaaaaa"
+ /* 1 */ "a..........a"
+ /* 2 */ "a..........a"
+ /* 3 */ "a..........a"
+ /* 4 */ "a..c.......a"
+ /* 5 */ "a..c.......a"
+ /* 6 */ "aaaa.......a"
+ /* 7 */ "aaaa.......a"
+ /* 8 */ "aaaa.......a"
+ /* 9 */ "a..c.......a"
+ /* 10 */ "a..c.......a"
+ /* 11 */ "a..........a"
+ /* 12 */ "a..........a"
+ /* 13 */ "a..........a"
+ /* 14 */ "aaaaaaaaaaaa"
// Level 9
- "aaaaaaaaaaaa"
- "a..........a"
- "a..........a"
- "a..........a"
- "a..c.......a"
- "a..c.......a"
- "aaaa.......a"
- "aaaa.......a"
- "aaaa.......a"
- "a..c.......a"
- "a..c.......a"
- "a..........a"
- "a..........a"
- "a..........a"
- "aaaaaaaaaaaa"
+ /* z\x* 11 */
+ /* * 012345678901 */
+ /* 0 */ "aaaaaaaaaaaa"
+ /* 1 */ "a..........a"
+ /* 2 */ "a..........a"
+ /* 3 */ "a..........a"
+ /* 4 */ "a..........a"
+ /* 5 */ "a..c.......a"
+ /* 6 */ "...c.......a"
+ /* 7 */ "...c.......a"
+ /* 8 */ "...c.......a"
+ /* 9 */ "a..c.......a"
+ /* 10 */ "a..........a"
+ /* 11 */ "a..........a"
+ /* 12 */ "a..........a"
+ /* 13 */ "a..........a"
+ /* 14 */ "aaaaaaaaaaaa"
// Level 10
- "aaaaaaaaaaaa"
- "a..........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "a..c.......a"
- "...c.......a"
- "...c.......a"
- "...c.......a"
- "a..c.......a"
- "a..........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "aaaaaaaaaaaa"
+ /* z\x* 11 */
+ /* * 012345678901 */
+ /* 0 */ "aaaaaaaaaaaa"
+ /* 1 */ "a..........a"
+ /* 2 */ "a..........a"
+ /* 3 */ "a..........a"
+ /* 4 */ "a..........a"
+ /* 5 */ "a..........a"
+ /* 6 */ "...........a"
+ /* 7 */ "...........a"
+ /* 8 */ "...........a"
+ /* 9 */ "a..........a"
+ /* 10 */ "a..........a"
+ /* 11 */ "a..........a"
+ /* 12 */ "a..........a"
+ /* 13 */ "a..........a"
+ /* 14 */ "aaaaaaaaaaaa"
// Level 11
- "aaaaaaaaaaaa"
- "a..........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "...........a"
- "...........a"
- "...........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "aaaaaaaaaaaa"
+ /* z\x* 11 */
+ /* * 012345678901 */
+ /* 0 */ "aaaaaaaaaaaa"
+ /* 1 */ "a..........a"
+ /* 2 */ "a..........a"
+ /* 3 */ "a..........a"
+ /* 4 */ "a..........a"
+ /* 5 */ "a..........a"
+ /* 6 */ "...........a"
+ /* 7 */ "...........a"
+ /* 8 */ "...........a"
+ /* 9 */ "a..........a"
+ /* 10 */ "a..........a"
+ /* 11 */ "a..........a"
+ /* 12 */ "a..........a"
+ /* 13 */ "a..........a"
+ /* 14 */ "aaaaaaaaaaaa"
// Level 12
- "aaaaaaaaaaaa"
- "a..........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "...........a"
- "...........a"
- "...........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "aaaaaaaaaaaa"
+ /* z\x* 11 */
+ /* * 012345678901 */
+ /* 0 */ "aaaaaaaaaaaa"
+ /* 1 */ "a..........a"
+ /* 2 */ "a..........a"
+ /* 3 */ "a..........a"
+ /* 4 */ "a..........a"
+ /* 5 */ "a..........a"
+ /* 6 */ "a..........a"
+ /* 7 */ "a..........a"
+ /* 8 */ "a..........a"
+ /* 9 */ "a..........a"
+ /* 10 */ "a..........a"
+ /* 11 */ "a..........a"
+ /* 12 */ "a..........a"
+ /* 13 */ "a..........a"
+ /* 14 */ "aaaaaaaaaaaa"
// Level 13
- "aaaaaaaaaaaa"
- "a..........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "...........a"
- "...........a"
- "...........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "a..........a"
- "aaaaaaaaaaaa"
+ /* z\x* 11 */
+ /* * 012345678901 */
+ /* 0 */ "aaaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaaa"
+ /* 5 */ "aaaaaaaaaaaa"
+ /* 6 */ "aaaaaaaaaaaa"
+ /* 7 */ "aaaaaaaaaaaa"
+ /* 8 */ "aaaaaaaaaaaa"
+ /* 9 */ "aaaaaaaaaaaa"
+ /* 10 */ "aaaaaaaaaaaa"
+ /* 11 */ "aaaaaaaaaaaa"
+ /* 12 */ "aaaaaaaaaaaa"
+ /* 13 */ "aaaaaaaaaaaa"
+ /* 14 */ "aaaaaaaaaaaa"
// Level 14
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
- "aaaaaaaaaaaa"
-
- // Level 15
- "aaaaaaaaaaaa"
- "abbbbbbbbbba"
- "abbbbbbbbbba"
- "abbbbbbbbbba"
- "abbbbbbbbbba"
- "abbbbbbbbbba"
- "abbbbbbbbbba"
- "abbbbbbbbbba"
- "abbbbbbbbbba"
- "abbbbbbbbbba"
- "abbbbbbbbbba"
- "abbbbbbbbbba"
- "abbbbbbbbbba"
- "abbbbbbbbbba"
- "aaaaaaaaaaaa",
-
- // Connections:
- "1: 0, 9, 7: 4\n" /* Type 1, BLOCK_FACE_XM */
- "1: 11, 1, 7: 5\n" /* Type 1, BLOCK_FACE_XP */,
+ /* z\x* 11 */
+ /* * 012345678901 */
+ /* 0 */ "aaaaaaaaaaaa"
+ /* 1 */ "abbbbbbbbbba"
+ /* 2 */ "abbbbbbbbbba"
+ /* 3 */ "abbbbbbbbbba"
+ /* 4 */ "abbbbbbbbbba"
+ /* 5 */ "abbbbbbbbbba"
+ /* 6 */ "abbbbbbbbbba"
+ /* 7 */ "abbbbbbbbbba"
+ /* 8 */ "abbbbbbbbbba"
+ /* 9 */ "abbbbbbbbbba"
+ /* 10 */ "abbbbbbbbbba"
+ /* 11 */ "abbbbbbbbbba"
+ /* 12 */ "abbbbbbbbbba"
+ /* 13 */ "abbbbbbbbbba"
+ /* 14 */ "aaaaaaaaaaaa",
+
+ // Connectors:
+ "1: 11, 1, 7: 5\n" /* Type 1, direction X+ */
+ "1: 0, 9, 7: 4\n" /* Type 1, direction X- */
+ "-1: 11, 1, 7: 5\n" /* Type -1, direction X+ */
+ "-1: 0, 9, 7: 4\n" /* Type -1, direction X- */,
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 10,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ -1000,
}, // LavaStaircaseBig
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // LavaStairsBridge:
+ // The data has been exported from the gallery Nether, area index 30, ID 281, created by STR_Warrior
+ {
+ // Size:
+ 16, 12, 15, // SizeX = 16, SizeY = 12, SizeZ = 15
+
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 15, 11, 14, // MaxX, MaxY, MaxZ
+
+ // Block definitions:
+ ".: 0: 0\n" /* air */
+ "a:112: 0\n" /* netherbrick */
+ "b:113: 0\n" /* netherbrickfence */
+ "c: 10: 0\n" /* lava */
+ "d:114: 2\n" /* netherbrickstairs */
+ "e:114: 3\n" /* netherbrickstairs */
+ "f:114: 7\n" /* netherbrickstairs */
+ "g: 44:14\n" /* step */
+ "h:114: 6\n" /* netherbrickstairs */
+ "i: 44: 6\n" /* step */
+ "j:114: 0\n" /* netherbrickstairs */
+ "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"
+
+ // Level 1
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "aaaaaaaa...aaaaa"
+ /* 1 */ "aaaaa..........a"
+ /* 2 */ "aaaaa..........a"
+ /* 3 */ "aaaaab.........a"
+ /* 4 */ "accca...ddd.aaaa"
+ /* 5 */ "accca...aaa.acca"
+ /* 6 */ "acccaaaaaaaaacca"
+ /* 7 */ "acccccccccccccca"
+ /* 8 */ "acccaaaaaaaaacca"
+ /* 9 */ "accca...aaa.acca"
+ /* 10 */ "accca...eee.aaaa"
+ /* 11 */ "aaaaab.........a"
+ /* 12 */ "aaaaa..........a"
+ /* 13 */ "aaaaa..........a"
+ /* 14 */ "aaaaaaaa...aaaaa"
+
+ // Level 2
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "aaaaaaaa...aaaaa"
+ /* 1 */ "aaaa...........a"
+ /* 2 */ "aaaa...........a"
+ /* 3 */ "aaaabb.........a"
+ /* 4 */ "aaaa........b..a"
+ /* 5 */ "a.......ddd....a"
+ /* 6 */ "a.......fff....a"
+ /* 7 */ "a.......ggg....a"
+ /* 8 */ "a.......hhh....a"
+ /* 9 */ "a.......eee....a"
+ /* 10 */ "aaaa........b..a"
+ /* 11 */ "aaaabb.........a"
+ /* 12 */ "aaaa...........a"
+ /* 13 */ "aaaa...........a"
+ /* 14 */ "aaaaaaaa...aaaaa"
+
+ // Level 3
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "aaaaaaaa...aaaaa"
+ /* 1 */ "a..............a"
+ /* 2 */ "a..............a"
+ /* 3 */ "a..bb..........a"
+ /* 4 */ "aaaa........b..a"
+ /* 5 */ "aaaa...........a"
+ /* 6 */ "a..............a"
+ /* 7 */ "a..............a"
+ /* 8 */ "a..............a"
+ /* 9 */ "aaaa...........a"
+ /* 10 */ "aaaa........b..a"
+ /* 11 */ "a..bb..........a"
+ /* 12 */ "a..............a"
+ /* 13 */ "a..............a"
+ /* 14 */ "aaaaaaaa...aaaaa"
+
+ // Level 4
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "aaaaaaaabbbaaaaa"
+ /* 1 */ "a..............a"
+ /* 2 */ "a..............a"
+ /* 3 */ "a..b...........a"
+ /* 4 */ "a..b........b..a"
+ /* 5 */ "aaaa...........a"
+ /* 6 */ "aaaa...........a"
+ /* 7 */ "a..............a"
+ /* 8 */ "aaaa...........a"
+ /* 9 */ "aaaa...........a"
+ /* 10 */ "a..b........b..a"
+ /* 11 */ "a..b...........a"
+ /* 12 */ "a..............a"
+ /* 13 */ "a..............a"
+ /* 14 */ "aaaaaaaabbbaaaaa"
+
+ // Level 5
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "aaaaaaaaaaaaaaaa"
+ /* 1 */ "a..............a"
+ /* 2 */ "a..............a"
+ /* 3 */ "a...........ggga"
+ /* 4 */ "a..b........iija"
+ /* 5 */ "a..b........iija"
+ /* 6 */ "aaaa........iija"
+ /* 7 */ "aaaa........iija"
+ /* 8 */ "aaaa........iija"
+ /* 9 */ "a..b........iija"
+ /* 10 */ "a..b........iija"
+ /* 11 */ "a...........ggga"
+ /* 12 */ "a..............a"
+ /* 13 */ "a..............a"
+ /* 14 */ "aaaaaaaaaaaaaaaa"
+
+ // Level 6
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "aaaaaaaaaaaaaaaa"
+ /* 1 */ "a.............ga"
+ /* 2 */ "a............iia"
+ /* 3 */ "a..............a"
+ /* 4 */ "a..............a"
+ /* 5 */ "a..b...........a"
+ /* 6 */ "...b...........a"
+ /* 7 */ "...b...........a"
+ /* 8 */ "...b...........a"
+ /* 9 */ "a..b...........a"
+ /* 10 */ "a..............a"
+ /* 11 */ "a..............a"
+ /* 12 */ "a............iia"
+ /* 13 */ "a.............ga"
+ /* 14 */ "aaaaaaaaaaaaaaaa"
+
+ // Level 7
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "aaaaaaaaaaaaaaaa"
+ /* 1 */ "a..............a"
+ /* 2 */ "a..............a"
+ /* 3 */ "a..............a"
+ /* 4 */ "a..............a"
+ /* 5 */ "a..............a"
+ /* 6 */ "...............a"
+ /* 7 */ "...............a"
+ /* 8 */ "...............a"
+ /* 9 */ "a..............a"
+ /* 10 */ "a..............a"
+ /* 11 */ "a..............a"
+ /* 12 */ "a..............a"
+ /* 13 */ "a..............a"
+ /* 14 */ "aaaaaaaaaaaaaaaa"
+
+ // Level 8
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "aaaaaaaaaaaaaaaa"
+ /* 1 */ "a..............a"
+ /* 2 */ "a..............a"
+ /* 3 */ "a..............a"
+ /* 4 */ "a..............a"
+ /* 5 */ "a..............a"
+ /* 6 */ "...............a"
+ /* 7 */ "...............a"
+ /* 8 */ "...............a"
+ /* 9 */ "a..............a"
+ /* 10 */ "a..............a"
+ /* 11 */ "a..............a"
+ /* 12 */ "a..............a"
+ /* 13 */ "a..............a"
+ /* 14 */ "aaaaaaaaaaaaaaaa"
+
+ // Level 9
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "aaaaaaaaaaaaaaaa"
+ /* 1 */ "a..............a"
+ /* 2 */ "a..............a"
+ /* 3 */ "a..............a"
+ /* 4 */ "a..............a"
+ /* 5 */ "a..............a"
+ /* 6 */ "a..............a"
+ /* 7 */ "a..............a"
+ /* 8 */ "a..............a"
+ /* 9 */ "a..............a"
+ /* 10 */ "a..............a"
+ /* 11 */ "a..............a"
+ /* 12 */ "a..............a"
+ /* 13 */ "a..............a"
+ /* 14 */ "aaaaaaaaaaaaaaaa"
+
+ // Level 10
+ /* 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"
+
+ // Level 11
+ /* z\x* 111111 */
+ /* * 0123456789012345 */
+ /* 0 */ "abbaabbaabbaabba"
+ /* 1 */ "b..............b"
+ /* 2 */ "a..............a"
+ /* 3 */ "b..............b"
+ /* 4 */ "a..............a"
+ /* 5 */ "b..............b"
+ /* 6 */ "a..............a"
+ /* 7 */ "b..............b"
+ /* 8 */ "a..............a"
+ /* 9 */ "b..............b"
+ /* 10 */ "a..............a"
+ /* 11 */ "b..............b"
+ /* 12 */ "a..............a"
+ /* 13 */ "b..............b"
+ /* 14 */ "abbaabbaabbaabba",
+
+ // Connectors:
+ "",
+
+ // AllowedRotations:
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
+ // Merge strategy:
+ cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 10,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ 0,
+ }, // LavaStairsBridge
+
+
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// MidStaircase:
- // The data has been exported from gallery Nether, area index 23, ID 165
+ // The data has been exported from the gallery Nether, area index 23, ID 165, created by Aloe_vera
{
// Size:
13, 8, 13, // SizeX = 13, SizeY = 8, SizeZ = 13
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 12, 7, 12, // MaxX, MaxY, MaxZ
+
// Block definitions:
".: 0: 0\n" /* air */
"a:112: 0\n" /* netherbrick */
@@ -1957,148 +4072,184 @@ const cPrefab::sDef g_NetherFortPrefabs1[] =
"f:114: 1\n" /* netherbrickstairs */
"g:114: 2\n" /* netherbrickstairs */
"h: 10: 0\n" /* lava */
- "i:113: 0\n" /* netherbrickfence */,
+ "i:113: 0\n" /* netherbrickfence */
+ "m: 19: 0\n" /* sponge */,
// Block data:
+ // Level 0
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "aaaaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaa"
+ /* 3 */ "aaaabbbbbaaaa"
+ /* 4 */ "aaaabbbbbaaaa"
+ /* 5 */ "aaaaaaaaaaaaa"
+ /* 6 */ "aaaaaaaaaaaaa"
+ /* 7 */ "aaaaaaaaaaaaa"
+ /* 8 */ "aaaabbbbbaaaa"
+ /* 9 */ "aaaabbbbbaaaa"
+ /* 10 */ "aaaaaaaaaaaaa"
+ /* 11 */ "aaaaaaaaaaaaa"
+ /* 12 */ "aaaaaaaaaaaaa"
+
// Level 1
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaabbbbbaaaa"
- "aaaabbbbbaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaabbbbbaaaa"
- "aaaabbbbbaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "aaaaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaa"
+ /* 3 */ "aaaacccccaaaa"
+ /* 4 */ "addecccccfdda"
+ /* 5 */ "...eaaaaad..."
+ /* 6 */ "...eaaaaa...."
+ /* 7 */ "...eaaaaag..."
+ /* 8 */ "agggcccccfgga"
+ /* 9 */ "aaaacccccaaaa"
+ /* 10 */ "aaaaaaaaaaaaa"
+ /* 11 */ "aaaaaaaaaaaaa"
+ /* 12 */ "aaaaaaaaaaaaa"
// Level 2
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaacccccaaaa"
- "addecccccfdda"
- "...eaaaaad..."
- "...eaaaaa...."
- "...eaaaaag..."
- "agggcccccfgga"
- "aaaacccccaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "aaaaaaaaaaaaa"
+ /* 1 */ "aha.......aha"
+ /* 2 */ "aaa.......aaa"
+ /* 3 */ "a...........a"
+ /* 4 */ "a...........a"
+ /* 5 */ "....eaaaa...."
+ /* 6 */ "....eaaaa...."
+ /* 7 */ "....eaaaa...."
+ /* 8 */ "a...........a"
+ /* 9 */ "a...........a"
+ /* 10 */ "aaa.......aaa"
+ /* 11 */ "aha.......aha"
+ /* 12 */ "aaaaaaaaaaaaa"
// Level 3
- "aaaaaaaaaaaaa"
- "aha.......aha"
- "aaa.......aaa"
- "a...........a"
- "a...........a"
- "....eaaaa...."
- "....eaaaa...."
- "....eaaaa...."
- "a...........a"
- "a...........a"
- "aaa.......aaa"
- "aha.......aha"
- "aaaaaaaaaaaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "aaaiiaaaiiaaa"
+ /* 1 */ "a...........a"
+ /* 2 */ "a...........a"
+ /* 3 */ "a...........a"
+ /* 4 */ "a...........a"
+ /* 5 */ ".....eaaa...."
+ /* 6 */ ".....eaaa...."
+ /* 7 */ ".....eaaa...."
+ /* 8 */ "a...........a"
+ /* 9 */ "a...........a"
+ /* 10 */ "a...........a"
+ /* 11 */ "a...........a"
+ /* 12 */ "aaaiiaaaiiaaa"
// Level 4
- "aaaiiaaaiiaaa"
- "a...........a"
- "a...........a"
- "a...........a"
- "a...........a"
- ".....eaaa...."
- ".....eaaa...."
- ".....eaaa...."
- "a...........a"
- "a...........a"
- "a...........a"
- "a...........a"
- "aaaiiaaaiiaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "aaaiiaaaiiaaa"
+ /* 1 */ "a...........a"
+ /* 2 */ "a...........a"
+ /* 3 */ "a...........a"
+ /* 4 */ "a...........a"
+ /* 5 */ "......eaa...."
+ /* 6 */ "......eaa...."
+ /* 7 */ "......eaa...."
+ /* 8 */ "a...........a"
+ /* 9 */ "a...........a"
+ /* 10 */ "a...........a"
+ /* 11 */ "a...........a"
+ /* 12 */ "aaaiiaaaiiaaa"
// Level 5
- "aaaiiaaaiiaaa"
- "a...........a"
- "a...........a"
- "a...........a"
- "a...........a"
- "......eaa...."
- "......eaa...."
- "......eaa...."
- "a...........a"
- "a...........a"
- "a...........a"
- "a...........a"
- "aaaiiaaaiiaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "aaaaaaaaaaaaa"
+ /* 1 */ "a...........a"
+ /* 2 */ "a...........a"
+ /* 3 */ "a...........a"
+ /* 4 */ "a...........a"
+ /* 5 */ "a......ea...a"
+ /* 6 */ "a......ea...a"
+ /* 7 */ "a......ea...a"
+ /* 8 */ "a...........a"
+ /* 9 */ "a...........a"
+ /* 10 */ "a...........a"
+ /* 11 */ "a...........a"
+ /* 12 */ "aaaaaaaaaaaaa"
// Level 6
- "aaaaaaaaaaaaa"
- "a...........a"
- "a...........a"
- "a...........a"
- "a...........a"
- "a......ea...a"
- "a......ea...a"
- "a......ea...a"
- "a...........a"
- "a...........a"
- "a...........a"
- "a...........a"
- "aaaaaaaaaaaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "aaaaaaaaaaaaa"
+ /* 1 */ "aaaaaaaaaaaaa"
+ /* 2 */ "aaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaaaa"
+ /* 5 */ "aaaa....eaaaa"
+ /* 6 */ "aaaa....eaaaa"
+ /* 7 */ "aaaa....eaaaa"
+ /* 8 */ "aaaaaaaaaaaaa"
+ /* 9 */ "aaaaaaaaaaaaa"
+ /* 10 */ "aaaaaaaaaaaaa"
+ /* 11 */ "aaaaaaaaaaaaa"
+ /* 12 */ "aaaaaaaaaaaaa"
// Level 7
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaa....eaaaa"
- "aaaa....eaaaa"
- "aaaa....eaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
-
- // Level 8
- "iaiaiaiaiaiai"
- "a...........a"
- "i...........i"
- "a...........a"
- "i...........i"
- "a............"
- "i............"
- "a............"
- "i...........i"
- "a...........a"
- "i...........i"
- "a...........a"
- "iaiaiaiaiaiai",
-
- // Connections:
- "1: 0, 1, 6: 4\n" /* Type 1, BLOCK_FACE_XM */
- "1: 12, 1, 6: 5\n" /* Type 1, BLOCK_FACE_XP */
- "1: 12, 7, 6: 5\n" /* Type 1, BLOCK_FACE_XP */,
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "iaiaiaiaiaiai"
+ /* 1 */ "a...........a"
+ /* 2 */ "i...........i"
+ /* 3 */ "a...........a"
+ /* 4 */ "i...........i"
+ /* 5 */ "a...........a"
+ /* 6 */ "i...........i"
+ /* 7 */ "a...........a"
+ /* 8 */ "i...........i"
+ /* 9 */ "a...........a"
+ /* 10 */ "i...........i"
+ /* 11 */ "a...........a"
+ /* 12 */ "iaiaiaiaiaiai",
+
+ // Connectors:
+ "1: 12, 1, 6: 5\n" /* Type 1, direction X+ */
+ "1: 0, 1, 6: 4\n" /* Type 1, direction X- */
+ "-1: 12, 1, 6: 5\n" /* Type -1, direction X+ */
+ "-1: 0, 1, 6: 4\n" /* Type -1, direction X- */,
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 100,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ -1000,
}, // MidStaircase
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// StairsToOpen1:
- // The data has been exported from gallery Nether, area index 27, ID 277
+ // The data has been exported from the gallery Nether, area index 27, ID 277, created by Aloe_vera
{
// Size:
7, 10, 7, // SizeX = 7, SizeY = 10, SizeZ = 7
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 6, 19, 6, // MaxX, MaxY, MaxZ
+
// Block definitions:
".: 0: 0\n" /* air */
"a:112: 0\n" /* netherbrick */
@@ -2106,114 +4257,142 @@ const cPrefab::sDef g_NetherFortPrefabs1[] =
"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
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
+ /* z\x* 0123456 */
+ /* 0 */ "aa...aa"
+ /* 1 */ "a.....a"
+ /* 2 */ "a.....a"
+ /* 3 */ "a.....a"
+ /* 4 */ "a.....a"
+ /* 5 */ "aaaaaaa"
+ /* 6 */ "aaaaaaa"
// Level 2
- "aa...aa"
- "a.....a"
- "a.....a"
- "a.....a"
- "a.....a"
- "aaaaaaa"
- "aaaaaaa"
+ /* z\x* 0123456 */
+ /* 0 */ "aa...aa"
+ /* 1 */ "a.....a"
+ /* 2 */ "b.....b"
+ /* 3 */ "a.....a"
+ /* 4 */ "b.....b"
+ /* 5 */ "a.aaaaa"
+ /* 6 */ "aabaaba"
// Level 3
- "aa...aa"
- "a.....a"
- "b.....b"
- "a.....a"
- "b.....b"
- "a.aaaaa"
- "aabaaba"
+ /* z\x* 0123456 */
+ /* 0 */ "aa...aa"
+ /* 1 */ "a.....a"
+ /* 2 */ "b.....b"
+ /* 3 */ "a.....a"
+ /* 4 */ "b.....b"
+ /* 5 */ "a..aaaa"
+ /* 6 */ "aabaaba"
// Level 4
- "aa...aa"
- "a.....a"
- "b.....b"
- "a.....a"
- "b.....b"
- "a..aaaa"
- "aabaaba"
+ /* z\x* 0123456 */
+ /* 0 */ "aabbbaa"
+ /* 1 */ "a.....a"
+ /* 2 */ "b.....b"
+ /* 3 */ "a.....a"
+ /* 4 */ "b.....b"
+ /* 5 */ "a...aaa"
+ /* 6 */ "aabaaba"
// Level 5
- "aabbbaa"
- "a.....a"
- "b.....b"
- "a.....a"
- "b.....b"
- "a...aaa"
- "aabaaba"
+ /* z\x* 0123456 */
+ /* 0 */ "aaaaaaa"
+ /* 1 */ "a.....a"
+ /* 2 */ "a.....a"
+ /* 3 */ "a.....a"
+ /* 4 */ "a.....a"
+ /* 5 */ "a....aa"
+ /* 6 */ "aaaaaaa"
// Level 6
- "aaaaaaa"
- "a.....a"
- "a.....a"
- "a.....a"
- "a.....a"
- "a....aa"
- "aaaaaaa"
+ /* z\x* 0123456 */
+ /* 0 */ "aaaaaaa"
+ /* 1 */ "aaaaaaa"
+ /* 2 */ "aaaaaaa"
+ /* 3 */ "aaaaaaa"
+ /* 4 */ "aaaaaaa"
+ /* 5 */ "a.....a"
+ /* 6 */ "aaaaaaa"
// Level 7
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "a.....a"
- "aaaaaaa"
+ /* z\x* 0123456 */
+ /* 0 */ "aaaaaaa"
+ /* 1 */ "a.....a"
+ /* 2 */ "a......"
+ /* 3 */ "a......"
+ /* 4 */ "a......"
+ /* 5 */ "a.....a"
+ /* 6 */ "aaaaaaa"
// Level 8
- "aaaaaaa"
- "a.....a"
- "a......"
- "a......"
- "a......"
- "a.....a"
- "aaaaaaa"
+ /* z\x* 0123456 */
+ /* 0 */ "mmmmmmm"
+ /* 1 */ "m.....m"
+ /* 2 */ "m......"
+ /* 3 */ "m......"
+ /* 4 */ "m......"
+ /* 5 */ "m.....m"
+ /* 6 */ "mmmmmmm"
// Level 9
- "mmmmmmm"
- "m.....m"
- "m......"
- "m......"
- "m......"
- "m.....m"
- "mmmmmmm"
-
- // Level 10
- "mmmmmmm"
- "m.....m"
- "m......"
- "m......"
- "m......"
- "m.....m"
- "mmmmmmm",
-
- // Connections:
- "0: 3, 1, 0: 2\n" /* Type 0, BLOCK_FACE_ZM */
- "0: 6, 7, 3: 5\n" /* Type 0, BLOCK_FACE_XP */,
+ /* z\x* 0123456 */
+ /* 0 */ "mmmmmmm"
+ /* 1 */ "m.....m"
+ /* 2 */ "m......"
+ /* 3 */ "m......"
+ /* 4 */ "m......"
+ /* 5 */ "m.....m"
+ /* 6 */ "mmmmmmm",
+
+ // Connectors:
+ "0: 6, 7, 3: 5\n" /* Type 0, direction X+ */
+ "0: 3, 1, 0: 2\n" /* Type 0, direction Z- */,
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 100,
+
+ // DepthWeight:
+ "1:0|3:0|5:0|7:0|9:0|11:0|13:0|15:0",
+
+ // AddWeightIfSame:
+ 0,
}, // StairsToOpen1
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// StairsToOpen2:
- // The data has been exported from gallery Nether, area index 8, ID 35
+ // The data has been exported from the gallery Nether, area index 8, ID 35, created by xoft
{
// Size:
7, 10, 7, // SizeX = 7, SizeY = 10, SizeZ = 7
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 6, 19, 6, // MaxX, MaxY, MaxZ
+
// Block definitions:
".: 0: 0\n" /* air */
"a:112: 0\n" /* netherbrick */
@@ -2221,114 +4400,142 @@ const cPrefab::sDef g_NetherFortPrefabs1[] =
"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
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
+ /* z\x* 0123456 */
+ /* 0 */ "aa...aa"
+ /* 1 */ "a.....a"
+ /* 2 */ "a.....a"
+ /* 3 */ "a.....a"
+ /* 4 */ "a.....a"
+ /* 5 */ "aaaaaaa"
+ /* 6 */ "aaaaaaa"
// Level 2
- "aa...aa"
- "a.....a"
- "a.....a"
- "a.....a"
- "a.....a"
- "aaaaaaa"
- "aaaaaaa"
+ /* z\x* 0123456 */
+ /* 0 */ "aa...aa"
+ /* 1 */ "a.....a"
+ /* 2 */ "b.....b"
+ /* 3 */ "a.....a"
+ /* 4 */ "b.....b"
+ /* 5 */ "a.aaaaa"
+ /* 6 */ "aabaaba"
// Level 3
- "aa...aa"
- "a.....a"
- "b.....b"
- "a.....a"
- "b.....b"
- "a.aaaaa"
- "aabaaba"
+ /* z\x* 0123456 */
+ /* 0 */ "aa...aa"
+ /* 1 */ "a.....a"
+ /* 2 */ "b.....b"
+ /* 3 */ "a.....a"
+ /* 4 */ "b.....b"
+ /* 5 */ "a..aaaa"
+ /* 6 */ "aabaaba"
// Level 4
- "aa...aa"
- "a.....a"
- "b.....b"
- "a.....a"
- "b.....b"
- "a..aaaa"
- "aabaaba"
+ /* z\x* 0123456 */
+ /* 0 */ "aabbbaa"
+ /* 1 */ "a.....a"
+ /* 2 */ "b.....b"
+ /* 3 */ "a.....a"
+ /* 4 */ "b.....b"
+ /* 5 */ "a...aaa"
+ /* 6 */ "aabaaba"
// Level 5
- "aabbbaa"
- "a.....a"
- "b.....b"
- "a.....a"
- "b.....b"
- "a...aaa"
- "aabaaba"
+ /* z\x* 0123456 */
+ /* 0 */ "aaaaaaa"
+ /* 1 */ "a.....a"
+ /* 2 */ "a.....a"
+ /* 3 */ "a.....a"
+ /* 4 */ "a.....a"
+ /* 5 */ "a....aa"
+ /* 6 */ "aaaaaaa"
// Level 6
- "aaaaaaa"
- "a.....a"
- "a.....a"
- "a.....a"
- "a.....a"
- "a....aa"
- "aaaaaaa"
+ /* z\x* 0123456 */
+ /* 0 */ "aaaaaaa"
+ /* 1 */ "aaaaaaa"
+ /* 2 */ "aaaaaaa"
+ /* 3 */ "aaaaaaa"
+ /* 4 */ "aaaaaaa"
+ /* 5 */ "a.....a"
+ /* 6 */ "aaaaaaa"
// Level 7
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "a.....a"
- "aaaaaaa"
+ /* z\x* 0123456 */
+ /* 0 */ "aaaaaaa"
+ /* 1 */ "a.....a"
+ /* 2 */ "......a"
+ /* 3 */ "......a"
+ /* 4 */ "......a"
+ /* 5 */ "a.....a"
+ /* 6 */ "aaaaaaa"
// Level 8
- "aaaaaaa"
- "a.....a"
- "......a"
- "......a"
- "......a"
- "a.....a"
- "aaaaaaa"
+ /* z\x* 0123456 */
+ /* 0 */ "mmmmmmm"
+ /* 1 */ "m.....m"
+ /* 2 */ "......m"
+ /* 3 */ "......m"
+ /* 4 */ "......m"
+ /* 5 */ "m.....m"
+ /* 6 */ "mmmmmmm"
// Level 9
- "mmmmmmm"
- "m.....m"
- "......m"
- "......m"
- "......m"
- "m.....m"
- "mmmmmmm"
-
- // Level 10
- "mmmmmmm"
- "m.....m"
- "......m"
- "......m"
- "......m"
- "m.....m"
- "mmmmmmm",
-
- // Connections:
- "0: 3, 1, 0: 2\n" /* Type 0, BLOCK_FACE_ZM */
- "0: 0, 7, 3: 4\n" /* Type 0, BLOCK_FACE_XM */,
+ /* z\x* 0123456 */
+ /* 0 */ "mmmmmmm"
+ /* 1 */ "m.....m"
+ /* 2 */ "......m"
+ /* 3 */ "......m"
+ /* 4 */ "......m"
+ /* 5 */ "m.....m"
+ /* 6 */ "mmmmmmm",
+
+ // Connectors:
+ "0: 0, 7, 3: 4\n" /* Type 0, direction X- */
+ "0: 3, 1, 0: 2\n" /* Type 0, direction Z- */,
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 100,
+
+ // DepthWeight:
+ "1:0|3:0|5:0|7:0|9:0|11:0|13:0|15:0",
+
+ // AddWeightIfSame:
+ 0,
}, // StairsToOpen2
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Tee2x4:
- // The data has been exported from gallery Nether, area index 40, ID 291
+ // The data has been exported from the gallery Nether, area index 40, ID 291, created by Aloe_vera
{
// Size:
13, 6, 7, // SizeX = 13, SizeY = 6, SizeZ = 7
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 12, 5, 6, // MaxX, MaxY, MaxZ
+
// Block definitions:
".: 0: 0\n" /* air */
"a:112: 0\n" /* netherbrick */
@@ -2340,79 +4547,112 @@ const cPrefab::sDef g_NetherFortPrefabs1[] =
"m: 19: 0\n" /* sponge */,
// Block data:
+ // Level 0
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmmaaaaammmm"
+ /* 1 */ "mmmmaaaaammmm"
+ /* 2 */ "aaaaaaaaaaaaa"
+ /* 3 */ "aaaaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaaaa"
+ /* 5 */ "aaaaaaaaaaaaa"
+ /* 6 */ "aaaaaaaaaaaaa"
+
// Level 1
- "mmmmaaaaammmm"
- "mmmmaaaaammmm"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmma...ammmm"
+ /* 1 */ "mmmma...ammmm"
+ /* 2 */ "aaaaa...aaaaa"
+ /* 3 */ "............."
+ /* 4 */ "............."
+ /* 5 */ "............."
+ /* 6 */ "aaaaaaaaaaaaa"
// Level 2
- "mmmma...ammmm"
- "mmmma...ammmm"
- "aaaaa...aaaaa"
- "............."
- "............."
- "............."
- "aaaaaaaaaaaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmma...ammmm"
+ /* 1 */ "mmmmb...bmmmm"
+ /* 2 */ "ababa...ababa"
+ /* 3 */ "............."
+ /* 4 */ "............."
+ /* 5 */ "............."
+ /* 6 */ "ababababababa"
// Level 3
- "mmmma...ammmm"
- "mmmmb...bmmmm"
- "ababa...ababa"
- "............."
- "............."
- "............."
- "ababababababa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmma...ammmm"
+ /* 1 */ "mmmmb...bmmmm"
+ /* 2 */ "ababa...ababa"
+ /* 3 */ "............."
+ /* 4 */ "............."
+ /* 5 */ "............."
+ /* 6 */ "ababababababa"
// Level 4
- "mmmma...ammmm"
- "mmmmb...bmmmm"
- "ababa...ababa"
- "............."
- "............."
- "............."
- "ababababababa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmma...ammmm"
+ /* 1 */ "mmmmb...bmmmm"
+ /* 2 */ "ababa...ababa"
+ /* 3 */ "............."
+ /* 4 */ "............."
+ /* 5 */ "............."
+ /* 6 */ "ababababababa"
// Level 5
- "mmmma...ammmm"
- "mmmmb...bmmmm"
- "ababa...ababa"
- "............."
- "............."
- "............."
- "ababababababa"
-
- // Level 6
- "mmmmcaaadmmmm"
- "mmmmcaaadmmmm"
- "eeeecaaadeeee"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "fffffffffffff",
-
- // Connections:
- "1: 0, 1, 4: 4\n" /* Type 1, BLOCK_FACE_XM */
- "1: 6, 1, 0: 2\n" /* Type 1, BLOCK_FACE_ZM */
- "1: 12, 1, 4: 5\n" /* Type 1, BLOCK_FACE_XP */,
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmmcaaadmmmm"
+ /* 1 */ "mmmmcaaadmmmm"
+ /* 2 */ "eeeecaaadeeee"
+ /* 3 */ "aaaaaaaaaaaaa"
+ /* 4 */ "aaaaaaaaaaaaa"
+ /* 5 */ "aaaaaaaaaaaaa"
+ /* 6 */ "fffffffffffff",
+
+ // Connectors:
+ "1: 0, 1, 4: 4\n" /* Type 1, direction X- */
+ "1: 6, 1, 0: 2\n" /* Type 1, direction Z- */
+ "1: 12, 1, 4: 5\n" /* Type 1, direction X+ */
+ "-1: 0, 1, 4: 4\n" /* Type -1, direction X- */
+ "-1: 12, 1, 4: 5\n" /* Type -1, direction X+ */
+ "-1: 6, 1, 0: 2\n" /* Type -1, direction Z- */,
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 100,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ 0,
}, // Tee2x4
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Tee4x4:
- // The data has been exported from gallery Nether, area index 41, ID 292
+ // The data has been exported from the gallery Nether, area index 41, ID 292, created by Aloe_vera
{
// Size:
13, 6, 9, // SizeX = 13, SizeY = 6, SizeZ = 9
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 12, 5, 8, // MaxX, MaxY, MaxZ
+
// Block definitions:
".: 0: 0\n" /* air */
"a:112: 0\n" /* netherbrick */
@@ -2424,335 +4664,730 @@ const cPrefab::sDef g_NetherFortPrefabs1[] =
"m: 19: 0\n" /* sponge */,
// Block data:
+ // Level 0
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmmaaaaammmm"
+ /* 1 */ "mmmmaaaaammmm"
+ /* 2 */ "mmmmaaaaammmm"
+ /* 3 */ "mmmmaaaaammmm"
+ /* 4 */ "aaaaaaaaaaaaa"
+ /* 5 */ "aaaaaaaaaaaaa"
+ /* 6 */ "aaaaaaaaaaaaa"
+ /* 7 */ "aaaaaaaaaaaaa"
+ /* 8 */ "aaaaaaaaaaaaa"
+
// Level 1
- "mmmmaaaaammmm"
- "mmmmaaaaammmm"
- "mmmmaaaaammmm"
- "mmmmaaaaammmm"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmma...ammmm"
+ /* 1 */ "mmmma...ammmm"
+ /* 2 */ "mmmma...ammmm"
+ /* 3 */ "mmmma...ammmm"
+ /* 4 */ "aaaaa...aaaaa"
+ /* 5 */ "............."
+ /* 6 */ "............."
+ /* 7 */ "............."
+ /* 8 */ "aaaaaaaaaaaaa"
// Level 2
- "mmmma...ammmm"
- "mmmma...ammmm"
- "mmmma...ammmm"
- "mmmma...ammmm"
- "aaaaa...aaaaa"
- "............."
- "............."
- "............."
- "aaaaaaaaaaaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmma...ammmm"
+ /* 1 */ "mmmmb...bmmmm"
+ /* 2 */ "mmmma...ammmm"
+ /* 3 */ "mmmmb...bmmmm"
+ /* 4 */ "ababa...ababa"
+ /* 5 */ "............."
+ /* 6 */ "............."
+ /* 7 */ "............."
+ /* 8 */ "ababababababa"
// Level 3
- "mmmma...ammmm"
- "mmmmb...bmmmm"
- "mmmma...ammmm"
- "mmmmb...bmmmm"
- "ababa...ababa"
- "............."
- "............."
- "............."
- "ababababababa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmma...ammmm"
+ /* 1 */ "mmmmb...bmmmm"
+ /* 2 */ "mmmma...ammmm"
+ /* 3 */ "mmmmb...bmmmm"
+ /* 4 */ "ababa...ababa"
+ /* 5 */ "............."
+ /* 6 */ "............."
+ /* 7 */ "............."
+ /* 8 */ "ababababababa"
// Level 4
- "mmmma...ammmm"
- "mmmmb...bmmmm"
- "mmmma...ammmm"
- "mmmmb...bmmmm"
- "ababa...ababa"
- "............."
- "............."
- "............."
- "ababababababa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmma...ammmm"
+ /* 1 */ "mmmmb...bmmmm"
+ /* 2 */ "mmmma...ammmm"
+ /* 3 */ "mmmmb...bmmmm"
+ /* 4 */ "ababa...ababa"
+ /* 5 */ "............."
+ /* 6 */ "............."
+ /* 7 */ "............."
+ /* 8 */ "ababababababa"
// Level 5
- "mmmma...ammmm"
- "mmmmb...bmmmm"
- "mmmma...ammmm"
- "mmmmb...bmmmm"
- "ababa...ababa"
- "............."
- "............."
- "............."
- "ababababababa"
-
- // Level 6
- "mmmmcaaadmmmm"
- "mmmmcaaadmmmm"
- "mmmmcaaadmmmm"
- "mmmmcaaadmmmm"
- "eeeecaaadeeee"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "fffffffffffff",
-
- // Connections:
- "1: 0, 1, 6: 4\n" /* Type 1, BLOCK_FACE_XM */
- "1: 12, 1, 6: 5\n" /* Type 1, BLOCK_FACE_XP */
- "1: 6, 1, 0: 2\n" /* Type 1, BLOCK_FACE_ZM */,
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "mmmmcaaadmmmm"
+ /* 1 */ "mmmmcaaadmmmm"
+ /* 2 */ "mmmmcaaadmmmm"
+ /* 3 */ "mmmmcaaadmmmm"
+ /* 4 */ "eeeecaaadeeee"
+ /* 5 */ "aaaaaaaaaaaaa"
+ /* 6 */ "aaaaaaaaaaaaa"
+ /* 7 */ "aaaaaaaaaaaaa"
+ /* 8 */ "fffffffffffff",
+
+ // Connectors:
+ "1: 0, 1, 6: 4\n" /* Type 1, direction X- */
+ "1: 6, 1, 0: 2\n" /* Type 1, direction Z- */
+ "1: 12, 1, 6: 5\n" /* Type 1, direction X+ */
+ "-1: 0, 1, 6: 4\n" /* Type -1, direction X- */
+ "-1: 6, 1, 0: 2\n" /* Type -1, direction Z- */
+ "-1: 12, 1, 6: 5\n" /* Type -1, direction X+ */,
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 100,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ 0,
}, // Tee4x4
+
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // TinyCorridorCorner:
+ // The data has been exported from the gallery Nether, area index 66, ID 331, created by xoft
+ {
+ // Size:
+ 5, 6, 5, // SizeX = 5, SizeY = 6, SizeZ = 5
+
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 4, 5, 4, // MaxX, MaxY, MaxZ
+
+ // Block definitions:
+ ".: 0: 0\n" /* air */
+ "a:112: 0\n" /* netherbrick */
+ "b:113: 0\n" /* netherbrickfence */
+ "c:114: 2\n" /* netherbrickstairs */
+ "d:114: 1\n" /* netherbrickstairs */
+ "e:114: 0\n" /* netherbrickstairs */
+ "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 */ "aaaaa"
+ /* 1 */ "....a"
+ /* 2 */ "....a"
+ /* 3 */ "....a"
+ /* 4 */ "a...a"
+
+ // Level 2
+ /* z\x* 01234 */
+ /* 0 */ "ababa"
+ /* 1 */ "....b"
+ /* 2 */ "....a"
+ /* 3 */ "....b"
+ /* 4 */ "a...a"
+
+ // Level 3
+ /* z\x* 01234 */
+ /* 0 */ "ababa"
+ /* 1 */ "....b"
+ /* 2 */ "....a"
+ /* 3 */ "....b"
+ /* 4 */ "a...a"
+
+ // Level 4
+ /* z\x* 01234 */
+ /* 0 */ "ababa"
+ /* 1 */ "....b"
+ /* 2 */ "....a"
+ /* 3 */ "....b"
+ /* 4 */ "a...a"
+
+ // Level 5
+ /* z\x* 01234 */
+ /* 0 */ "ccccc"
+ /* 1 */ "aaaad"
+ /* 2 */ "aaaad"
+ /* 3 */ "aaaad"
+ /* 4 */ "eaaad",
+
+ // Connectors:
+ "1: 2, 1, 4: 3\n" /* Type 1, direction Z+ */
+ "1: 0, 1, 2: 4\n" /* Type 1, direction X- */
+ "-1: 2, 1, 4: 3\n" /* Type -1, direction Z+ */
+ "-1: 0, 1, 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:
+ -50,
+ }, // TinyCorridorCorner
+
+
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // TinyCorridorCornerChest:
+ // The data has been exported from the gallery Nether, area index 67, ID 332, created by Aloe_vera
+ {
+ // Size:
+ 5, 6, 5, // SizeX = 5, SizeY = 6, SizeZ = 5
+
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 4, 5, 4, // MaxX, MaxY, MaxZ
+
+ // Block definitions:
+ ".: 0: 0\n" /* air */
+ "a:112: 0\n" /* netherbrick */
+ "b: 54: 4\n" /* chest */
+ "c:113: 0\n" /* netherbrickfence */
+ "d:114: 2\n" /* netherbrickstairs */
+ "e:114: 1\n" /* netherbrickstairs */
+ "f:114: 0\n" /* netherbrickstairs */
+ "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 */ "aaaaa"
+ /* 1 */ "....a"
+ /* 2 */ "...ba"
+ /* 3 */ "....a"
+ /* 4 */ "a...a"
+
+ // Level 2
+ /* z\x* 01234 */
+ /* 0 */ "acaca"
+ /* 1 */ "....c"
+ /* 2 */ "....a"
+ /* 3 */ "....c"
+ /* 4 */ "a...a"
+
+ // Level 3
+ /* z\x* 01234 */
+ /* 0 */ "acaca"
+ /* 1 */ "....c"
+ /* 2 */ "....a"
+ /* 3 */ "....c"
+ /* 4 */ "a...a"
+
+ // Level 4
+ /* z\x* 01234 */
+ /* 0 */ "acaca"
+ /* 1 */ "....c"
+ /* 2 */ "....a"
+ /* 3 */ "....c"
+ /* 4 */ "a...a"
+
+ // Level 5
+ /* z\x* 01234 */
+ /* 0 */ "ddddd"
+ /* 1 */ "aaaae"
+ /* 2 */ "aaaae"
+ /* 3 */ "aaaae"
+ /* 4 */ "faaae",
+
+ // Connectors:
+ "1: 2, 1, 4: 3\n" /* Type 1, direction Z+ */
+ "1: 0, 1, 2: 4\n" /* Type 1, direction X- */
+ "-1: 2, 1, 4: 3\n" /* Type -1, direction Z+ */
+ "-1: 0, 1, 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,
+ }, // TinyCorridorCornerChest
+
+
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // TinyCorridorCrossing:
+ // The data has been exported from the gallery Nether, area index 64, ID 329, created by xoft
+ {
+ // Size:
+ 5, 6, 5, // SizeX = 5, SizeY = 6, SizeZ = 5
+
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 4, 5, 4, // MaxX, MaxY, MaxZ
+
+ // Block definitions:
+ ".: 0: 0\n" /* air */
+ "a:112: 0\n" /* netherbrick */
+ "b:114: 2\n" /* netherbrickstairs */
+ "c:114: 0\n" /* netherbrickstairs */
+ "d:114: 1\n" /* netherbrickstairs */
+ "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 */ "a...a"
+ /* 1 */ "....."
+ /* 2 */ "....."
+ /* 3 */ "....."
+ /* 4 */ "a...a"
+
+ // Level 2
+ /* z\x* 01234 */
+ /* 0 */ "a...a"
+ /* 1 */ "....."
+ /* 2 */ "....."
+ /* 3 */ "....."
+ /* 4 */ "a...a"
+
+ // Level 3
+ /* z\x* 01234 */
+ /* 0 */ "a...a"
+ /* 1 */ "....."
+ /* 2 */ "....."
+ /* 3 */ "....."
+ /* 4 */ "a...a"
+
+ // Level 4
+ /* z\x* 01234 */
+ /* 0 */ "a...a"
+ /* 1 */ "....."
+ /* 2 */ "....."
+ /* 3 */ "....."
+ /* 4 */ "a...a"
+
+ // Level 5
+ /* z\x* 01234 */
+ /* 0 */ "baaab"
+ /* 1 */ "aaaaa"
+ /* 2 */ "aaaaa"
+ /* 3 */ "aaaaa"
+ /* 4 */ "caaad",
+
+ // Connectors:
+ "1: 4, 1, 2: 5\n" /* Type 1, direction X+ */
+ "1: 2, 1, 4: 3\n" /* Type 1, direction Z+ */
+ "1: 0, 1, 2: 4\n" /* Type 1, direction X- */
+ "1: 2, 1, 0: 2\n" /* Type 1, direction Z- */
+ "-1: 4, 1, 2: 5\n" /* Type -1, direction X+ */
+ "-1: 2, 1, 4: 3\n" /* Type -1, direction Z+ */
+ "-1: 0, 1, 2: 4\n" /* Type -1, direction X- */
+ "-1: 2, 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:
+ "1:200|2:400|3:0|4:500",
+
+ // AddWeightIfSame:
+ -50,
+ }, // TinyCorridorCrossing
+
+
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Turret:
- // The data has been exported from gallery Nether, area index 7, ID 34
+ // The data has been exported from the gallery Nether, area index 7, ID 34, created by xoft
{
// Size:
- 7, 6, 7, // SizeX = 7, SizeY = 6, SizeZ = 7
+ 7, 7, 7, // SizeX = 7, SizeY = 7, SizeZ = 7
+
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 6, 16, 6, // MaxX, MaxY, MaxZ
// Block definitions:
".: 0: 0\n" /* air */
"a:112: 0\n" /* netherbrick */
- "b:113: 0\n" /* netherbrickfence */,
+ "b:113: 0\n" /* netherbrickfence */
+ "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
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
+ /* z\x* 0123456 */
+ /* 0 */ "aa...aa"
+ /* 1 */ "a.....a"
+ /* 2 */ "......."
+ /* 3 */ "......."
+ /* 4 */ "......."
+ /* 5 */ "a.....a"
+ /* 6 */ "aa...aa"
// Level 2
- "aa...aa"
- "a.....a"
- "......."
- "......."
- "......."
- "a.....a"
- "aa...aa"
+ /* z\x* 0123456 */
+ /* 0 */ "aa...aa"
+ /* 1 */ "a.....a"
+ /* 2 */ "......."
+ /* 3 */ "......."
+ /* 4 */ "......."
+ /* 5 */ "a.....a"
+ /* 6 */ "aa...aa"
// Level 3
- "aa...aa"
- "a.....a"
- "......."
- "......."
- "......."
- "a.....a"
- "aa...aa"
+ /* z\x* 0123456 */
+ /* 0 */ "aa...aa"
+ /* 1 */ "a.....a"
+ /* 2 */ "......."
+ /* 3 */ "......."
+ /* 4 */ "......."
+ /* 5 */ "a.....a"
+ /* 6 */ "aa...aa"
// Level 4
- "aa...aa"
- "a.....a"
- "......."
- "......."
- "......."
- "a.....a"
- "aa...aa"
+ /* z\x* 0123456 */
+ /* 0 */ "aabbbaa"
+ /* 1 */ "a.....a"
+ /* 2 */ "b.....b"
+ /* 3 */ "b.....b"
+ /* 4 */ "b.....b"
+ /* 5 */ "a.....a"
+ /* 6 */ "aabbbaa"
// Level 5
- "aabbbaa"
- "a.....a"
- "b.....b"
- "b.....b"
- "b.....b"
- "a.....a"
- "aabbbaa"
+ /* z\x* 0123456 */
+ /* 0 */ "aaaaaaa"
+ /* 1 */ "a.....a"
+ /* 2 */ "a.....a"
+ /* 3 */ "a.....a"
+ /* 4 */ "a.....a"
+ /* 5 */ "a.....a"
+ /* 6 */ "aaaaaaa"
// Level 6
- "aaaaaaa"
- "a.....a"
- "a.....a"
- "a.....a"
- "a.....a"
- "a.....a"
- "aaaaaaa",
-
- // Connections:
- "0: 0, 1, 3: 4\n" /* Type 0, BLOCK_FACE_XM */
- "0: 3, 1, 0: 2\n" /* Type 0, BLOCK_FACE_ZM */
- "0: 6, 1, 3: 5\n" /* Type 0, BLOCK_FACE_XP */
- "0: 3, 1, 6: 3\n" /* Type 0, BLOCK_FACE_ZP */,
+ /* z\x* 0123456 */
+ /* 0 */ "......."
+ /* 1 */ "......."
+ /* 2 */ "......."
+ /* 3 */ "......."
+ /* 4 */ "......."
+ /* 5 */ "......."
+ /* 6 */ ".......",
+
+ // Connectors:
+ "0: 0, 1, 3: 4\n" /* Type 0, direction X- */
+ "0: 3, 1, 0: 2\n" /* Type 0, direction Z- */
+ "0: 6, 1, 3: 5\n" /* Type 0, direction X+ */
+ "0: 3, 1, 6: 3\n" /* Type 0, direction Z+ */,
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
+
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 100,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ -99,
}, // Turret
+}; // g_NetherFortPrefabs
-} ; // g_NetherFortPrefabs1
-const cPrefab::sDef g_NetherFortStartingPrefabs1[] =
+const cPrefab::sDef g_NetherFortStartingPrefabs[] =
{
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// CentralRoom:
- // The data has been exported from gallery Nether, area index 22, ID 164
+ // The data has been exported from the gallery Nether, area index 22, ID 164, created by Aloe_vera
{
// Size:
13, 9, 13, // SizeX = 13, SizeY = 9, SizeZ = 13
+ // Hitbox (relative to bounding box):
+ 0, 0, 0, // MinX, MinY, MinZ
+ 12, 8, 12, // MaxX, MaxY, MaxZ
+
// Block definitions:
+ ".: 0: 0\n" /* air */
"a:112: 0\n" /* netherbrick */
- "b: 0: 0\n" /* air */
- "c: 10: 0\n" /* lava */
- "d:113: 0\n" /* netherbrickfence */,
+ "b: 10: 0\n" /* lava */
+ "c:113: 0\n" /* netherbrickfence */
+ "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"
+ /* 12 */ "aaaaaaaaaaaaa"
+
// Level 1
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "aaaaa...aaaaa"
+ /* 1 */ "aaaaa...aaaaa"
+ /* 2 */ "aa.........aa"
+ /* 3 */ "aa.........aa"
+ /* 4 */ "aa.........aa"
+ /* 5 */ "aa...aaa...aa"
+ /* 6 */ "aa...aba...aa"
+ /* 7 */ "aa...aaa...aa"
+ /* 8 */ "aa.........aa"
+ /* 9 */ "aa.........aa"
+ /* 10 */ "aa.........aa"
+ /* 11 */ "aaaaa...aaaaa"
+ /* 12 */ "aaaaa...aaaaa"
// Level 2
- "aaaaabbbaaaaa"
- "aaaaabbbaaaaa"
- "aabbbbbbbbbaa"
- "aabbbbbbbbbaa"
- "aabbbbbbbbbaa"
- "aabbbaaabbbaa"
- "aabbbacabbbaa"
- "aabbbaaabbbaa"
- "aabbbbbbbbbaa"
- "aabbbbbbbbbaa"
- "aabbbbbbbbbaa"
- "aaaaabbbaaaaa"
- "aaaaabbbaaaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "aaaaa...aaaaa"
+ /* 1 */ "aaaca...acaaa"
+ /* 2 */ "aa.........aa"
+ /* 3 */ "ac.........ca"
+ /* 4 */ "aa.........aa"
+ /* 5 */ "ac.........ca"
+ /* 6 */ "aa.........aa"
+ /* 7 */ "ac.........ca"
+ /* 8 */ "aa.........aa"
+ /* 9 */ "ac.........ca"
+ /* 10 */ "aa.........aa"
+ /* 11 */ "aaaca...acaaa"
+ /* 12 */ "aaaaa...aaaaa"
// Level 3
- "aaaaabbbaaaaa"
- "aaadabbbadaaa"
- "aabbbbbbbbbaa"
- "adbbbbbbbbbda"
- "aabbbbbbbbbaa"
- "adbbbbbbbbbda"
- "aabbbbbbbbbaa"
- "adbbbbbbbbbda"
- "aabbbbbbbbbaa"
- "adbbbbbbbbbda"
- "aabbbbbbbbbaa"
- "aaadabbbadaaa"
- "aaaaabbbaaaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "aaaaa...aaaaa"
+ /* 1 */ "aaaca...acaaa"
+ /* 2 */ "aa.........aa"
+ /* 3 */ "ac.........ca"
+ /* 4 */ "aa.........aa"
+ /* 5 */ "ac.........ca"
+ /* 6 */ "aa.........aa"
+ /* 7 */ "ac.........ca"
+ /* 8 */ "aa.........aa"
+ /* 9 */ "ac.........ca"
+ /* 10 */ "aa.........aa"
+ /* 11 */ "aaaca...acaaa"
+ /* 12 */ "aaaaa...aaaaa"
// Level 4
- "aaaaabbbaaaaa"
- "aaadabbbadaaa"
- "aabbbbbbbbbaa"
- "adbbbbbbbbbda"
- "aabbbbbbbbbaa"
- "adbbbbbbbbbda"
- "aabbbbbbbbbaa"
- "adbbbbbbbbbda"
- "aabbbbbbbbbaa"
- "adbbbbbbbbbda"
- "aabbbbbbbbbaa"
- "aaadabbbadaaa"
- "aaaaabbbaaaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "acacacccacaca"
+ /* 1 */ "caaaa...aaaac"
+ /* 2 */ "aa.........aa"
+ /* 3 */ "ca.........ac"
+ /* 4 */ "aa.........aa"
+ /* 5 */ "ca.........ac"
+ /* 6 */ "aa.........aa"
+ /* 7 */ "ca.........ac"
+ /* 8 */ "aa.........aa"
+ /* 9 */ "ca.........ac"
+ /* 10 */ "aa.........aa"
+ /* 11 */ "caaaa...aaaac"
+ /* 12 */ "acaca...acaca"
// Level 5
- "adadadddadada"
- "daaaabbbaaaad"
- "aabbbbbbbbbaa"
- "dabbbbbbbbbad"
- "aabbbbbbbbbaa"
- "dabbbbbbbbbad"
- "aabbbbbbbbbaa"
- "dabbbbbbbbbad"
- "aabbbbbbbbbaa"
- "dabbbbbbbbbad"
- "aabbbbbbbbbaa"
- "daaaabbbaaaad"
- "adadabbbadada"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "acacaaaaacaca"
+ /* 1 */ "caaaaaaaaaaac"
+ /* 2 */ "aa.........aa"
+ /* 3 */ "ca.........ac"
+ /* 4 */ "aa.........aa"
+ /* 5 */ "ca.........ac"
+ /* 6 */ "aa.........aa"
+ /* 7 */ "ca.........ac"
+ /* 8 */ "aa.........aa"
+ /* 9 */ "ca.........ac"
+ /* 10 */ "aa.........aa"
+ /* 11 */ "caaaaaaaaaaac"
+ /* 12 */ "acacaaaaacaca"
// Level 6
- "adadaaaaadada"
- "daaaaaaaaaaad"
- "aabbbbbbbbbaa"
- "dabbbbbbbbbad"
- "aabbbbbbbbbaa"
- "dabbbbbbbbbad"
- "aabbbbbbbbbaa"
- "dabbbbbbbbbad"
- "aabbbbbbbbbaa"
- "dabbbbbbbbbad"
- "aabbbbbbbbbaa"
- "daaaaaaaaaaad"
- "adadaaaaadada"
+ /* 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"
// Level 7
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
+ /* 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"
// Level 8
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
- "aaaaaaaaaaaaa"
+ /* z\x* 111 */
+ /* * 0123456789012 */
+ /* 0 */ "cacacacacacac"
+ /* 1 */ "a...........a"
+ /* 2 */ "c...........c"
+ /* 3 */ "a...........a"
+ /* 4 */ "c...........c"
+ /* 5 */ "a...........a"
+ /* 6 */ "c...........c"
+ /* 7 */ "a...........a"
+ /* 8 */ "c...........c"
+ /* 9 */ "a...........a"
+ /* 10 */ "c...........c"
+ /* 11 */ "a...........a"
+ /* 12 */ "cacacacacacac",
+
+ // Connectors:
+ "0: 6, 1, 0: 2\n" /* Type 0, direction Z- */
+ "1: 6, 1, 12: 3\n" /* Type 1, direction Z+ */
+ "-1: 6, 1, 12: 3\n" /* Type -1, direction Z+ */,
- // Level 9
- "dadadadadadad"
- "abbbbbbbbbbba"
- "dbbbbbbbbbbbd"
- "abbbbbbbbbbba"
- "dbbbbbbbbbbbd"
- "abbbbbbbbbbba"
- "dbbbbbbbbbbbd"
- "abbbbbbbbbbba"
- "dbbbbbbbbbbbd"
- "abbbbbbbbbbba"
- "dbbbbbbbbbbbd"
- "abbbbbbbbbbba"
- "dadadadadadad",
-
- // Connections:
- "0: 6, 1, 0: 2\n" /* Type 0, BLOCK_FACE_ZM */
- "1: 6, 1, 12: 3\n" /* Type 1, BLOCK_FACE_ZP */,
-
// AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
+ 7, /* 1, 2, 3 CCW rotation allowed */
+
// Merge strategy:
cBlockArea::msSpongePrint,
- },
-} ; // g_NetherFortStartingPrefabs1
-const size_t g_NetherFortPrefabs1Count = ARRAYCOUNT(g_NetherFortPrefabs1);
-const size_t g_NetherFortStartingPrefabs1Count = ARRAYCOUNT(g_NetherFortStartingPrefabs1);
+ // ShouldExtendFloor:
+ true,
+
+ // DefaultWeight:
+ 100,
+
+ // DepthWeight:
+ "",
+
+ // AddWeightIfSame:
+ 0,
+ }, // CentralRoom
+};
+
+
+
+
+// The prefab counts:
+const size_t g_NetherFortPrefabsCount = ARRAYCOUNT(g_NetherFortPrefabs);
+const size_t g_NetherFortStartingPrefabsCount = ARRAYCOUNT(g_NetherFortStartingPrefabs);
diff --git a/src/Generating/Prefabs/NetherFortPrefabs.h b/src/Generating/Prefabs/NetherFortPrefabs.h
index 37a91689d..04edc2953 100644
--- a/src/Generating/Prefabs/NetherFortPrefabs.h
+++ b/src/Generating/Prefabs/NetherFortPrefabs.h
@@ -1,7 +1,7 @@
// NetherFortPrefabs.h
-// Declares the data used for nether fortress prefabs
+// Declares the prefabs in the group NetherFort
#include "../Prefab.h"
@@ -9,7 +9,7 @@
-extern const cPrefab::sDef g_NetherFortPrefabs1[];
-extern const cPrefab::sDef g_NetherFortStartingPrefabs1[];
-extern const size_t g_NetherFortPrefabs1Count;
-extern const size_t g_NetherFortStartingPrefabs1Count;
+extern const cPrefab::sDef g_NetherFortPrefabs[];
+extern const cPrefab::sDef g_NetherFortStartingPrefabs[];
+extern const size_t g_NetherFortPrefabsCount;
+extern const size_t g_NetherFortStartingPrefabsCount;
diff --git a/src/Generating/Ravines.cpp b/src/Generating/Ravines.cpp
index e64f55214..267dcbbf9 100644
--- a/src/Generating/Ravines.cpp
+++ b/src/Generating/Ravines.cpp
@@ -269,7 +269,7 @@ void cStructGenRavines::cRavine::GenerateBaseDefPoints(int a_BlockX, int a_Block
int CenterZ = a_BlockZ + OffsetZ;
// 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 * 3.141592653);
+ 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);
@@ -311,12 +311,13 @@ void cStructGenRavines::cRavine::RefineDefPoints(const cRavDefPoints & a_Src, cR
a_Dst.clear();
a_Dst.reserve(Num * 2 + 2);
cRavDefPoints::const_iterator itr = a_Src.begin() + 1;
- a_Dst.push_back(a_Src.front());
- int PrevX = a_Src.front().m_BlockX;
- int PrevZ = a_Src.front().m_BlockZ;
- int PrevR = a_Src.front().m_Radius;
- int PrevT = a_Src.front().m_Top;
- int PrevB = a_Src.front().m_Bottom;
+ const cRavDefPoint & Source = a_Src.front();
+ a_Dst.push_back(Source);
+ int PrevX = Source.m_BlockX;
+ int PrevZ = Source.m_BlockZ;
+ int PrevR = Source.m_Radius;
+ int PrevT = Source.m_Top;
+ int PrevB = Source.m_Bottom;
for (int i = 0; i <= Num; ++i, ++itr)
{
int dx = itr->m_BlockX - PrevX;