{'O', 'O', 'O', 'O', 'O'}
};
for (int i = 4; i <= 8; i++) {
char[][][] map = buildMap(i, bottom, middle, top, border);
AxisAlignedBB entityCheck = AxisAlignedBB.getBoundingBox(0, 1, 0, 1, i - 1, 1);
pats.add(buildPattern(map, xOffset, yOffset, zOffset, entityCheck));
}
// 5x5
if (client || RailcraftConfig.getMaxTankSize() >= 5) {
xOffset = zOffset = 3;
bottom = new char[][]{
{'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'B', 'B', 'B', 'B', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'M', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'B', 'B', 'B', 'B', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O'}
};
middle = new char[][]{
{'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'B', 'W', 'W', 'W', 'B', 'O'},
{'O', 'W', 'A', 'A', 'A', 'W', 'O'},
{'O', 'W', 'A', 'A', 'A', 'W', 'O'},
{'O', 'W', 'A', 'A', 'A', 'W', 'O'},
{'O', 'B', 'W', 'W', 'W', 'B', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O'}
};
top = new char[][]{
{'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'B', 'B', 'B', 'B', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'T', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'B', 'B', 'B', 'B', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O'}
};
border = new char[][]{
{'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O'}
};
for (int i = 4; i <= 8; i++) {
char[][][] map = buildMap(i, bottom, middle, top, border);
AxisAlignedBB entityCheck = AxisAlignedBB.getBoundingBox(-1, 1, -1, 2, i - 1, 2);
pats.add(buildPattern(map, xOffset, yOffset, zOffset, entityCheck));
}
}
// 7x7
if (client || RailcraftConfig.getMaxTankSize() >= 7) {
xOffset = zOffset = 4;
bottom = new char[][]{
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'M', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'}
};
middle = new char[][]{
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'W', 'A', 'A', 'A', 'A', 'A', 'W', 'O'},
{'O', 'W', 'A', 'A', 'A', 'A', 'A', 'W', 'O'},
{'O', 'W', 'A', 'A', 'A', 'A', 'A', 'W', 'O'},
{'O', 'W', 'A', 'A', 'A', 'A', 'A', 'W', 'O'},
{'O', 'W', 'A', 'A', 'A', 'A', 'A', 'W', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'}
};
top = new char[][]{
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'T', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'}
};
border = new char[][]{
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'}
};
for (int i = 4; i <= 8; i++) {
char[][][] map = buildMap(i, bottom, middle, top, border);
AxisAlignedBB entityCheck = AxisAlignedBB.getBoundingBox(-2, 1, -2, 3, i - 1, 3);
pats.add(buildPattern(map, xOffset, yOffset, zOffset, entityCheck));
}
}
// 9x9
if (client || RailcraftConfig.getMaxTankSize() >= 9) {
xOffset = zOffset = 5;
bottom = new char[][]{
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'M', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'}
};
middle = new char[][]{
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'W', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'W', 'O'},
{'O', 'W', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'W', 'O'},
{'O', 'W', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'W', 'O'},
{'O', 'W', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'W', 'O'},
{'O', 'W', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'W', 'O'},
{'O', 'W', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'W', 'O'},
{'O', 'W', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'W', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'}
};
top = new char[][]{
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'T', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'B', 'O'},
{'O', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'}
};
border = new char[][]{
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'},
{'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'}
};
for (int i = 4; i <= 8; i++) {
char[][][] map = buildMap(i, bottom, middle, top, border);
AxisAlignedBB entityCheck = AxisAlignedBB.getBoundingBox(-3, 1, -3, 4, i - 1, 4);
pats.add(buildPattern(map, xOffset, yOffset, zOffset, entityCheck));
}
}
return pats;