diff options
author | madmaxoft <github@xoft.cz> | 2014-05-27 22:08:20 +0200 |
---|---|---|
committer | madmaxoft <github@xoft.cz> | 2014-05-27 22:08:20 +0200 |
commit | 6b41d1a4220aa032f53b67637bbc3276272e5047 (patch) | |
tree | 3d44a11e81992b9c122f0000f78d281b8119afc4 /src/Generating | |
parent | Fixed testing weights in PlainsVillages. (diff) | |
download | cuberite-6b41d1a4220aa032f53b67637bbc3276272e5047.tar cuberite-6b41d1a4220aa032f53b67637bbc3276272e5047.tar.gz cuberite-6b41d1a4220aa032f53b67637bbc3276272e5047.tar.bz2 cuberite-6b41d1a4220aa032f53b67637bbc3276272e5047.tar.lz cuberite-6b41d1a4220aa032f53b67637bbc3276272e5047.tar.xz cuberite-6b41d1a4220aa032f53b67637bbc3276272e5047.tar.zst cuberite-6b41d1a4220aa032f53b67637bbc3276272e5047.zip |
Diffstat (limited to 'src/Generating')
-rw-r--r-- | src/Generating/Prefabs/AlchemistVillagePrefabs.cpp | 2969 | ||||
-rw-r--r-- | src/Generating/Prefabs/AlchemistVillagePrefabs.h | 15 | ||||
-rw-r--r-- | src/Generating/VillageGen.cpp | 32 |
3 files changed, 3007 insertions, 9 deletions
diff --git a/src/Generating/Prefabs/AlchemistVillagePrefabs.cpp b/src/Generating/Prefabs/AlchemistVillagePrefabs.cpp new file mode 100644 index 000000000..32ffe5b88 --- /dev/null +++ b/src/Generating/Prefabs/AlchemistVillagePrefabs.cpp @@ -0,0 +1,2969 @@ + +// AlchemistVillagePrefabs.cpp + +// Defines the prefabs in the group AlchemistVillage + +// NOTE: This file has been generated automatically by GalExport! +// Any manual changes will be overwritten by the next automatic export! + +#include "Globals.h" +#include "AlchemistVillagePrefabs.h" + + + + + +const cPrefab::sDef g_AlchemistVillagePrefabs[] = +{ + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // BarWithBasement: + // The data has been exported from the gallery Desert, area index 82, ID 598, created by STR_Warrior + { + // Size: + 11, 12, 9, // SizeX = 11, SizeY = 12, SizeZ = 9 + + // Hitbox (relative to bounding box): + 0, 0, 0, // MinX, MinY, MinZ + 10, 11, 8, // MaxX, MaxY, MaxZ + + // Block definitions: + ".: 0: 0\n" /* air */ + "A:101: 0\n" /* ironbars */ + "B: 64:12\n" /* wooddoorblock */ + "C:128: 2\n" /* sandstonestairs */ + "D: 24: 1\n" /* sandstone */ + "E: 44: 9\n" /* step */ + "F:126: 8\n" /* woodenslab */ + "G:128: 7\n" /* sandstonestairs */ + "H: 44: 1\n" /* step */ + "I: 64: 7\n" /* wooddoorblock */ + "J:128: 6\n" /* sandstonestairs */ + "a: 1: 0\n" /* stone */ + "b: 24: 0\n" /* sandstone */ + "c: 12: 0\n" /* sand */ + "d:134: 4\n" /* 134 */ + "e: 5: 1\n" /* wood */ + "f:134: 5\n" /* 134 */ + "g: 65: 5\n" /* ladder */ + "h: 17: 3\n" /* tree */ + "i: 69:11\n" /* lever */ + "j:134: 0\n" /* 134 */ + "k:134: 1\n" /* 134 */ + "l: 50: 4\n" /* torch */ + "m: 19: 0\n" /* sponge */ + "n: 5: 0\n" /* wood */ + "o: 96:12\n" /* trapdoor */ + "p: 24: 2\n" /* sandstone */ + "q:128: 5\n" /* sandstonestairs */ + "r:107: 6\n" /* fencegate */ + "s:128: 4\n" /* sandstonestairs */ + "t:134: 3\n" /* 134 */ + "u: 85: 0\n" /* fence */ + "v:134: 7\n" /* 134 */ + "w:107: 5\n" /* fencegate */ + "x: 64: 5\n" /* wooddoorblock */ + "y: 50: 3\n" /* torch */ + "z:171: 8\n" /* carpet */, + + // Block data: + // Level 0 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "aaaaaaaaaaa" + /* 1 */ "aaaaaaaaaaa" + /* 2 */ "aabbbbbbbaa" + /* 3 */ "aabbbbbbbaa" + /* 4 */ "aabbbbbbbaa" + /* 5 */ "aabbbbbbbaa" + /* 6 */ "aabbbbbbbaa" + /* 7 */ "aabbbbbbbaa" + /* 8 */ "aaaaaaaaaaa" + + // Level 1 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "ccccccccccc" + /* 1 */ "cbbbbbbbbbc" + /* 2 */ "cbdef.defbc" + /* 3 */ "cbdef.defbc" + /* 4 */ "cbdef.defbc" + /* 5 */ "cb.......bc" + /* 6 */ "cb.......bc" + /* 7 */ "cbg......bc" + /* 8 */ "cbbbbbbbbbc" + + // Level 2 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "ccccccccccc" + /* 1 */ "cbbbbbbbbbc" + /* 2 */ "cbeee.eeebc" + /* 3 */ "cbeee.eeebc" + /* 4 */ "cbehe.ehebc" + /* 5 */ "cb.i...i.bc" + /* 6 */ "cb.......bc" + /* 7 */ "cbg......bc" + /* 8 */ "cbbbbbbbbbc" + + // Level 3 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "ccccccccccc" + /* 1 */ "cbbbbbbbbbc" + /* 2 */ "cbjek.jekbc" + /* 3 */ "cbjek.jekbc" + /* 4 */ "cbjek.jekbc" + /* 5 */ "cb.......bc" + /* 6 */ "cb.......bc" + /* 7 */ "cbg..l...bc" + /* 8 */ "cbbbbbbbbbc" + + // Level 4 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "ccccccccccc" + /* 1 */ "ccccccccccc" + /* 2 */ "ccnnnnnnncc" + /* 3 */ "cnnnnnnnnnc" + /* 4 */ "cnnnnnnnnnc" + /* 5 */ "cnnnnnnnnnc" + /* 6 */ "cnnnnnnnnnc" + /* 7 */ "cnonnnnnnnc" + /* 8 */ "cnccccccccc" + + // Level 5 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "...p...p..." + /* 1 */ "..........." + /* 2 */ "pbbbqrsbbbp" + /* 3 */ "bkt.....ttb" + /* 4 */ "bku.....ujb" + /* 5 */ "b.........b" + /* 6 */ "bfvvd.....b" + /* 7 */ "b...w..kujb" + /* 8 */ "pxbbbbbbbbp" + + // Level 6 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "...p...p..." + /* 1 */ "..........." + /* 2 */ "pbbb...bbbp" + /* 3 */ "b..y...y..b" + /* 4 */ "b.z.....z.b" + /* 5 */ "A.........A" + /* 6 */ "b.........b" + /* 7 */ "b.......z.b" + /* 8 */ "pBbbAAAbbbp" + + // Level 7 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "...C...C..." + /* 1 */ "...D...b..." + /* 2 */ "pbbbqEsbbbp" + /* 3 */ "bFFFFFFFFFb" + /* 4 */ "bFFFFFFFFFb" + /* 5 */ "sFFFFFFFFFq" + /* 6 */ "bFFFFFFFFFb" + /* 7 */ "bFFFFFFFFFb" + /* 8 */ "pbbbGGGbbbp" + + // Level 8 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "..........." + /* 1 */ "..........." + /* 2 */ "bHHHHbHHHHb" + /* 3 */ "HpbbbbbbbpH" + /* 4 */ "Hb.......bH" + /* 5 */ "bb.......bb" + /* 6 */ "Hb.......bH" + /* 7 */ "HpIbbbbbbpH" + /* 8 */ "bH.HHbHHHHb" + + // Level 9 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "..........." + /* 1 */ "..........." + /* 2 */ "..........." + /* 3 */ ".pbbAAAbbp." + /* 4 */ ".b.......b." + /* 5 */ ".A.......A." + /* 6 */ ".b.......b." + /* 7 */ ".pBbAAAbbp." + /* 8 */ "..........." + + // Level 10 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "..........." + /* 1 */ "..........." + /* 2 */ "..........." + /* 3 */ ".pbbJJJbbp." + /* 4 */ ".bFFFFFFFb." + /* 5 */ ".sFFFFFFFq." + /* 6 */ ".bFFFFFFFb." + /* 7 */ ".pbbGGGbbp." + /* 8 */ "..........." + + // Level 11 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "..........." + /* 1 */ "..........." + /* 2 */ "..........." + /* 3 */ ".bHHHbHHHb." + /* 4 */ ".H.......H." + /* 5 */ ".b.......b." + /* 6 */ ".H.......H." + /* 7 */ ".bHHHbHHHb." + /* 8 */ "...........", + + // Connectors: + "-1: 5, 5, 0: 2\n" /* Type -1, direction Z- */, + + // AllowedRotations: + 7, /* 1, 2, 3 CCW rotation allowed */ + + // Merge strategy: + cBlockArea::msSpongePrint, + + // ShouldExtendFloor: + true, + + // DefaultWeight: + 100, + + // DepthWeight: + "", + + // AddWeightIfSame: + 0, + + // MoveToGround: + true, + }, // BarWithBasement + + + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // BarWithoutBasement: + // The data has been exported from the gallery Desert, area index 81, ID 597, created by STR_Warrior + { + // Size: + 11, 8, 9, // SizeX = 11, SizeY = 8, SizeZ = 9 + + // Hitbox (relative to bounding box): + 0, 0, 0, // MinX, MinY, MinZ + 10, 7, 8, // MaxX, MaxY, MaxZ + + // Block definitions: + ".: 0: 0\n" /* air */ + "A: 44: 1\n" /* step */ + "B: 64: 3\n" /* wooddoorblock */ + "C: 64: 8\n" /* wooddoorblock */ + "D:128: 6\n" /* sandstonestairs */ + "a: 12: 0\n" /* sand */ + "b: 5: 0\n" /* wood */ + "c: 24: 2\n" /* sandstone */ + "d: 24: 0\n" /* sandstone */ + "e:128: 5\n" /* sandstonestairs */ + "f:107: 6\n" /* fencegate */ + "g:128: 4\n" /* sandstonestairs */ + "h:134: 1\n" /* 134 */ + "i:134: 3\n" /* 134 */ + "j: 85: 0\n" /* fence */ + "k:134: 0\n" /* 134 */ + "l:134: 5\n" /* 134 */ + "m: 19: 0\n" /* sponge */ + "n:134: 7\n" /* 134 */ + "o:134: 4\n" /* 134 */ + "p:107: 5\n" /* fencegate */ + "q: 64: 5\n" /* wooddoorblock */ + "r: 50: 3\n" /* torch */ + "s:171: 8\n" /* carpet */ + "t:101: 0\n" /* ironbars */ + "u: 64:12\n" /* wooddoorblock */ + "v:128: 2\n" /* sandstonestairs */ + "w: 24: 1\n" /* sandstone */ + "x: 44: 9\n" /* step */ + "y:126: 8\n" /* woodenslab */ + "z:128: 7\n" /* sandstonestairs */, + + // Block data: + // Level 0 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "aaaaaaaaaaa" + /* 1 */ "aaaaaaaaaaa" + /* 2 */ "aaaabbbaaaa" + /* 3 */ "abbbbbbbbba" + /* 4 */ "abbbbbbbbba" + /* 5 */ "abbbbbbbbba" + /* 6 */ "abbbbbbbbba" + /* 7 */ "abbbbbbbbba" + /* 8 */ "abaaaaaaaaa" + + // Level 1 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "...c...c..." + /* 1 */ "..........." + /* 2 */ "cdddefgdddc" + /* 3 */ "dhi.....iid" + /* 4 */ "dhj.....jkd" + /* 5 */ "d.........d" + /* 6 */ "dlnno.....d" + /* 7 */ "d...p..hjkd" + /* 8 */ "cqddddddddc" + + // Level 2 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "...c...c..." + /* 1 */ "..........." + /* 2 */ "cddd...dddc" + /* 3 */ "d..r...r..d" + /* 4 */ "d.s.....s.d" + /* 5 */ "t.........t" + /* 6 */ "d.........d" + /* 7 */ "d.......s.d" + /* 8 */ "cuddtttdddc" + + // Level 3 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "...v...v..." + /* 1 */ "...w...d..." + /* 2 */ "cdddexgdddc" + /* 3 */ "dyyyyyyyyyd" + /* 4 */ "dyyyyyyyyyd" + /* 5 */ "gyyyyyyyyye" + /* 6 */ "dyyyyyyyyyd" + /* 7 */ "dyyyyyyyyyd" + /* 8 */ "cdddzzzdddc" + + // Level 4 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "..........." + /* 1 */ "..........." + /* 2 */ "dAAAAdAAAAd" + /* 3 */ "AcdddddddcA" + /* 4 */ "Ad.......dA" + /* 5 */ "dd.......dd" + /* 6 */ "Ad.......dA" + /* 7 */ "AcBddddddcA" + /* 8 */ "dA.AAdAAAAd" + + // Level 5 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "..........." + /* 1 */ "..........." + /* 2 */ "..........." + /* 3 */ ".cddtttddc." + /* 4 */ ".d.......d." + /* 5 */ ".t.......t." + /* 6 */ ".d.......d." + /* 7 */ ".cCdtttddc." + /* 8 */ "..........." + + // Level 6 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "..........." + /* 1 */ "..........." + /* 2 */ "..........." + /* 3 */ ".cddDDDddc." + /* 4 */ ".dyyyyyyyd." + /* 5 */ ".gyyyyyyye." + /* 6 */ ".dyyyyyyyd." + /* 7 */ ".cddzzzddc." + /* 8 */ "..........." + + // Level 7 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "..........." + /* 1 */ "..........." + /* 2 */ "..........." + /* 3 */ ".dAAAdAAAd." + /* 4 */ ".A.......A." + /* 5 */ ".d.......d." + /* 6 */ ".A.......A." + /* 7 */ ".dAAAdAAAd." + /* 8 */ "...........", + + // Connectors: + "-1: 5, 1, 0: 2\n" /* Type -1, direction Z- */, + + // AllowedRotations: + 7, /* 1, 2, 3 CCW rotation allowed */ + + // Merge strategy: + cBlockArea::msSpongePrint, + + // ShouldExtendFloor: + true, + + // DefaultWeight: + 100, + + // DepthWeight: + "", + + // AddWeightIfSame: + 0, + + // MoveToGround: + true, + }, // BarWithoutBasement + + + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // BlackSmith: + // The data has been exported from the gallery Desert, area index 92, ID 633, created by STR_Warrior + { + // Size: + 11, 5, 13, // SizeX = 11, SizeY = 5, SizeZ = 13 + + // Hitbox (relative to bounding box): + 0, 0, 0, // MinX, MinY, MinZ + 10, 4, 12, // MaxX, MaxY, MaxZ + + // Block definitions: + ".: 0: 0\n" /* air */ + "a: 12: 0\n" /* sand */ + "b: 5: 0\n" /* wood */ + "c: 24: 0\n" /* sandstone */ + "d: 24: 2\n" /* sandstone */ + "e: 64: 7\n" /* wooddoorblock */ + "f: 43: 0\n" /* doubleslab */ + "g: 53: 5\n" /* woodstairs */ + "h: 53: 4\n" /* woodstairs */ + "i: 10: 0\n" /* lava */ + "j: 54: 5\n" /* chest */ + "k: 64:12\n" /* wooddoorblock */ + "l: 50: 3\n" /* torch */ + "m: 19: 0\n" /* sponge */ + "n:101: 0\n" /* ironbars */ + "o: 50: 1\n" /* torch */ + "p: 50: 2\n" /* torch */ + "q:128: 2\n" /* sandstonestairs */ + "r: 44: 9\n" /* step */ + "s:126: 8\n" /* woodenslab */ + "t:128: 4\n" /* sandstonestairs */ + "u:128: 5\n" /* sandstonestairs */ + "v:128: 7\n" /* sandstonestairs */ + "w: 44: 1\n" /* step */, + + // Block data: + // Level 0 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "aaaaaaaaaaa" + /* 1 */ "aaaaaaaaaaa" + /* 2 */ "aaaaaaaabaa" + /* 3 */ "acaaacabbba" + /* 4 */ "acaccaabbba" + /* 5 */ "acccccabbba" + /* 6 */ "acaadddbbba" + /* 7 */ "aaacdddbbba" + /* 8 */ "aaaadddbbba" + /* 9 */ "abbbbbbbbba" + /* 10 */ "abbbbbbbbba" + /* 11 */ "abbbbbbbbba" + /* 12 */ "aaaaaaaaaaa" + + // Level 1 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "......d...d" + /* 1 */ "..........." + /* 2 */ "......dcecd" + /* 3 */ ".d....c...c" + /* 4 */ "......c...c" + /* 5 */ "...f..c...c" + /* 6 */ ".....dc...c" + /* 7 */ ".gh.dic...c" + /* 8 */ "dcccccd...c" + /* 9 */ "cj........c" + /* 10 */ "c.........c" + /* 11 */ "c.........c" + /* 12 */ "dcccccccccd" + + // Level 2 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "......d...d" + /* 1 */ "..........." + /* 2 */ "......dckcd" + /* 3 */ ".d....c..lc" + /* 4 */ "......n...c" + /* 5 */ "......c...c" + /* 6 */ "......c...n" + /* 7 */ "......c...n" + /* 8 */ "dcccccd...n" + /* 9 */ "co........c" + /* 10 */ "n.........c" + /* 11 */ "c........pc" + /* 12 */ "dcccnnncccd" + + // Level 3 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "......q...q" + /* 1 */ "......c...c" + /* 2 */ "......dcccd" + /* 3 */ ".drrrrcsssc" + /* 4 */ ".rsssstsssc" + /* 5 */ ".rsssscsssc" + /* 6 */ ".rsssscsssu" + /* 7 */ ".rsssscsssu" + /* 8 */ "dcccccdsssu" + /* 9 */ "csssssssssc" + /* 10 */ "tsssssssssc" + /* 11 */ "csssssssssc" + /* 12 */ "dcccvvvcccd" + + // Level 4 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "..........." + /* 1 */ "..........." + /* 2 */ "......cwwwc" + /* 3 */ ".w.w.ww...w" + /* 4 */ "......w...w" + /* 5 */ ".w....w...w" + /* 6 */ "......w...w" + /* 7 */ ".w....w...c" + /* 8 */ "cwwwwwc...w" + /* 9 */ "w.........w" + /* 10 */ "w.........w" + /* 11 */ "w.........w" + /* 12 */ "cwwwwcwwwwc", + + // Connectors: + "-1: 8, 1, 0: 2\n" /* Type -1, direction Z- */, + + // AllowedRotations: + 7, /* 1, 2, 3 CCW rotation allowed */ + + // Merge strategy: + cBlockArea::msSpongePrint, + + // ShouldExtendFloor: + true, + + // DefaultWeight: + 100, + + // DepthWeight: + "", + + // AddWeightIfSame: + 0, + + // MoveToGround: + false, + }, // BlackSmith + + + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // LargeHouse1: + // The data has been exported from the gallery Desert, area index 77, ID 577, created by STR_Warrior + { + // Size: + 15, 13, 11, // SizeX = 15, SizeY = 13, SizeZ = 11 + + // Hitbox (relative to bounding box): + 0, 0, 0, // MinX, MinY, MinZ + 14, 12, 10, // MaxX, MaxY, MaxZ + + // Block definitions: + ".: 0: 0\n" /* air */ + "A:128: 2\n" /* sandstonestairs */ + "B:128: 0\n" /* sandstonestairs */ + "C: 87: 0\n" /* netherstone */ + "D:128: 3\n" /* sandstonestairs */ + "E: 51: 0\n" /* fire */ + "F: 44: 9\n" /* step */ + "a: 12: 0\n" /* sand */ + "b: 5: 0\n" /* wood */ + "c: 24: 2\n" /* sandstone */ + "d: 24: 0\n" /* sandstone */ + "e: 85: 0\n" /* fence */ + "f: 5: 1\n" /* wood */ + "g: 64: 2\n" /* wooddoorblock */ + "h: 64: 0\n" /* wooddoorblock */ + "i: 61: 2\n" /* furnace */ + "j:118: 0\n" /* cauldronblock */ + "k:134: 4\n" /* 134 */ + "l: 65: 2\n" /* ladder */ + "m: 19: 0\n" /* sponge */ + "n:101: 0\n" /* ironbars */ + "o:140: 0\n" /* flowerpotblock */ + "p: 64: 8\n" /* wooddoorblock */ + "q: 69:12\n" /* lever */ + "r: 44:10\n" /* step */ + "s:128: 1\n" /* sandstonestairs */ + "t: 47: 0\n" /* bookshelf */ + "u: 96:12\n" /* trapdoor */ + "v:128: 4\n" /* sandstonestairs */ + "w:128: 5\n" /* sandstonestairs */ + "x:128: 7\n" /* sandstonestairs */ + "y: 44: 1\n" /* step */ + "z:128: 6\n" /* sandstonestairs */, + + // Block data: + // Level 0 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "aaaaaaaaaaaaaaa" + /* 1 */ "aaaaabbbbbbbaaa" + /* 2 */ "aaaabbbbbbbbaaa" + /* 3 */ "aaaaabbbbbbbbaa" + /* 4 */ "aaaaabbbbbbbaaa" + /* 5 */ "aaaaabbbbbbbaaa" + /* 6 */ "aaaaabbbbbbbaaa" + /* 7 */ "aaaaabbbbbbbaaa" + /* 8 */ "aaaaabbbbbbbaaa" + /* 9 */ "aaaaabbbbbbbaaa" + /* 10 */ "aaaaaaaaaaaaaaa" + + // Level 1 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "....cdddddddc.." + /* 1 */ "eeeed......fd.c" + /* 2 */ "e...g.......d.." + /* 3 */ "e...d.......h.." + /* 4 */ "e...dijk..l.d.." + /* 5 */ "e...dddd.dddd.c" + /* 6 */ "eeeed.......d.." + /* 7 */ "mmmmd.......d.." + /* 8 */ "mmmmd.......d.." + /* 9 */ "mmmmd.......d.." + /* 10 */ "mmmmcdddddddc.." + + // Level 2 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "....cddnnnddc.." + /* 1 */ "....d......od.c" + /* 2 */ "....p.......d.." + /* 3 */ "....d.......p.." + /* 4 */ "....d.q...l.d.." + /* 5 */ "....dddd.dddd.c" + /* 6 */ "....n.......n.." + /* 7 */ "mmmmn.......n.." + /* 8 */ "mmmmn.......n.." + /* 9 */ "mmmmd.......d.." + /* 10 */ "mmmmcddnnnddc.." + + // Level 3 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "....cdddddddc.." + /* 1 */ "....drrrrrrrdds" + /* 2 */ "....drrrrrrrd.." + /* 3 */ "....drrrrrrrd.." + /* 4 */ "....dtttrrurd.." + /* 5 */ "....dddddddddds" + /* 6 */ "....vrrrrrrrw.." + /* 7 */ "mmmmvrrrrrrrw.." + /* 8 */ "mmmmvrrrrrrrw.." + /* 9 */ "mmmmdrrrrrrrd.." + /* 10 */ "mmmmcddxxxddc.." + + // Level 4 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "....dyyydyyyd.." + /* 1 */ "....ycdddddcy.." + /* 2 */ "....yd.....dy.." + /* 3 */ "....yd.....dy.." + /* 4 */ "....yd.....dy.." + /* 5 */ "....dcdd.ddcd.." + /* 6 */ "....y.......y.." + /* 7 */ "mmmmy.......y.." + /* 8 */ "mmmmy.......y.." + /* 9 */ "mmmmy.......y.." + /* 10 */ "mmmmdyyydyyyd.." + + // Level 5 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "..............." + /* 1 */ ".....cddnddc..." + /* 2 */ ".....n.....n..." + /* 3 */ ".....n.....n..." + /* 4 */ ".....n.....n..." + /* 5 */ ".....cdd.ddc..." + /* 6 */ "..............." + /* 7 */ "..............." + /* 8 */ "..............." + /* 9 */ "..............." + /* 10 */ "..............." + + // Level 6 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "..............." + /* 1 */ ".....cddzddc..." + /* 2 */ ".....vrrrrrw..." + /* 3 */ ".....vrrrrrw..." + /* 4 */ ".....vrrrrrw..." + /* 5 */ ".....cdddddc..." + /* 6 */ "..............." + /* 7 */ "..............." + /* 8 */ "..............." + /* 9 */ "..............." + /* 10 */ "..............." + + // Level 7 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "..............." + /* 1 */ ".....dyydyyd..." + /* 2 */ ".....y.ddd.y..." + /* 3 */ ".....d.ddd.d..." + /* 4 */ ".....y.ddd.y..." + /* 5 */ ".....dyydyyd..." + /* 6 */ "..............." + /* 7 */ "..............." + /* 8 */ "..............." + /* 9 */ "..............." + /* 10 */ "..............." + + // Level 8 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "..............." + /* 1 */ "..............." + /* 2 */ ".......cAc....." + /* 3 */ ".......BCs....." + /* 4 */ ".......cDc....." + /* 5 */ "..............." + /* 6 */ "..............." + /* 7 */ "..............." + /* 8 */ "..............." + /* 9 */ "..............." + /* 10 */ "..............." + + // Level 9 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "..............." + /* 1 */ "..............." + /* 2 */ ".......c.c....." + /* 3 */ "........E......" + /* 4 */ ".......c.c....." + /* 5 */ "..............." + /* 6 */ "..............." + /* 7 */ "..............." + /* 8 */ "..............." + /* 9 */ "..............." + /* 10 */ "..............." + + // Level 10 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "..............." + /* 1 */ "..............." + /* 2 */ ".......c.c....." + /* 3 */ "..............." + /* 4 */ ".......c.c....." + /* 5 */ "..............." + /* 6 */ "..............." + /* 7 */ "..............." + /* 8 */ "..............." + /* 9 */ "..............." + /* 10 */ "..............." + + // Level 11 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "..............." + /* 1 */ "..............." + /* 2 */ ".......ddd....." + /* 3 */ ".......dFd....." + /* 4 */ ".......ddd....." + /* 5 */ "..............." + /* 6 */ "..............." + /* 7 */ "..............." + /* 8 */ "..............." + /* 9 */ "..............." + /* 10 */ "..............." + + // Level 12 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "..............." + /* 1 */ "..............." + /* 2 */ ".......y.y....." + /* 3 */ "..............." + /* 4 */ ".......y.y....." + /* 5 */ "..............." + /* 6 */ "..............." + /* 7 */ "..............." + /* 8 */ "..............." + /* 9 */ "..............." + /* 10 */ "...............", + + // Connectors: + "-1: 14, 1, 3: 5\n" /* Type -1, direction X+ */, + + // AllowedRotations: + 7, /* 1, 2, 3 CCW rotation allowed */ + + // Merge strategy: + cBlockArea::msSpongePrint, + + // ShouldExtendFloor: + true, + + // DefaultWeight: + 100, + + // DepthWeight: + "", + + // AddWeightIfSame: + 0, + + // MoveToGround: + true, + }, // LargeHouse1 + + + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // LargeTower: + // The data has been exported from the gallery Desert, area index 80, ID 596, created by STR_Warrior + { + // Size: + 7, 11, 7, // SizeX = 7, SizeY = 11, SizeZ = 7 + + // Hitbox (relative to bounding box): + 0, 0, 0, // MinX, MinY, MinZ + 6, 10, 6, // MaxX, MaxY, MaxZ + + // Block definitions: + ".: 0: 0\n" /* air */ + "a: 12: 0\n" /* sand */ + "b: 5: 0\n" /* wood */ + "c:128: 2\n" /* sandstonestairs */ + "d:128: 0\n" /* sandstonestairs */ + "e: 24: 2\n" /* sandstone */ + "f: 24: 0\n" /* sandstone */ + "g: 71: 3\n" /* irondoorblock */ + "h:128: 1\n" /* sandstonestairs */ + "i:128: 3\n" /* sandstonestairs */ + "j: 77: 4\n" /* stonebutton */ + "k: 71: 8\n" /* irondoorblock */ + "l:128: 6\n" /* sandstonestairs */ + "m: 19: 0\n" /* sponge */ + "n:128: 4\n" /* sandstonestairs */ + "o:128: 5\n" /* sandstonestairs */ + "p: 50: 4\n" /* torch */ + "q:128: 7\n" /* sandstonestairs */ + "r: 85: 0\n" /* fence */ + "s: 24: 1\n" /* sandstone */ + "t: 44: 1\n" /* step */ + "u: 89: 0\n" /* lightstone */, + + // Block data: + // Level 0 + /* z\x* 0123456 */ + /* 0 */ "aaaaaaa" + /* 1 */ "aaabaaa" + /* 2 */ "aabbbaa" + /* 3 */ "aabbbaa" + /* 4 */ "aabbbaa" + /* 5 */ "aaaaaaa" + /* 6 */ "aaaaaaa" + + // Level 1 + /* z\x* 0123456 */ + /* 0 */ "mc...cm" + /* 1 */ "defgfeh" + /* 2 */ ".f...f." + /* 3 */ ".f...f." + /* 4 */ ".f...f." + /* 5 */ "defffeh" + /* 6 */ "mi...im" + + // Level 2 + /* z\x* 0123456 */ + /* 0 */ "m.j...m" + /* 1 */ ".efkfe." + /* 2 */ ".f...f." + /* 3 */ ".f...f." + /* 4 */ ".f...f." + /* 5 */ ".efffe." + /* 6 */ "m.....m" + + // Level 3 + /* z\x* 0123456 */ + /* 0 */ "......." + /* 1 */ "..lfl.." + /* 2 */ ".n...o." + /* 3 */ ".f...f." + /* 4 */ ".n.p.o." + /* 5 */ "..qfq.." + /* 6 */ "......." + + // Level 4 + /* z\x* 0123456 */ + /* 0 */ "......." + /* 1 */ "..frf.." + /* 2 */ ".f...f." + /* 3 */ ".r...r." + /* 4 */ ".f...f." + /* 5 */ "..frf.." + /* 6 */ "......." + + // Level 5 + /* z\x* 0123456 */ + /* 0 */ "......." + /* 1 */ "..frf.." + /* 2 */ ".f...f." + /* 3 */ ".r...r." + /* 4 */ ".f...f." + /* 5 */ "..frf.." + /* 6 */ "......." + + // Level 6 + /* z\x* 0123456 */ + /* 0 */ "......." + /* 1 */ "..frf.." + /* 2 */ ".f...f." + /* 3 */ ".r...r." + /* 4 */ ".f...f." + /* 5 */ "..frf.." + /* 6 */ "......." + + // Level 7 + /* z\x* 0123456 */ + /* 0 */ "......." + /* 1 */ "..cfc.." + /* 2 */ ".d...h." + /* 3 */ ".f...f." + /* 4 */ ".d...h." + /* 5 */ "..ifi.." + /* 6 */ "......." + + // Level 8 + /* z\x* 0123456 */ + /* 0 */ "......." + /* 1 */ ".ffsff." + /* 2 */ ".f...f." + /* 3 */ ".s...s." + /* 4 */ ".f...f." + /* 5 */ ".ffsff." + /* 6 */ "......." + + // Level 9 + /* z\x* 0123456 */ + /* 0 */ "...l..." + /* 1 */ ".efffe." + /* 2 */ ".ftttf." + /* 3 */ "nftftfo" + /* 4 */ ".ftttf." + /* 5 */ ".efffe." + /* 6 */ "...q..." + + // Level 10 + /* z\x* 0123456 */ + /* 0 */ "...t..." + /* 1 */ ".t...t." + /* 2 */ "......." + /* 3 */ "t..u..t" + /* 4 */ "......." + /* 5 */ ".t...t." + /* 6 */ "...t...", + + // Connectors: + "-1: 3, 1, 0: 2\n" /* Type -1, direction Z- */, + + // AllowedRotations: + 7, /* 1, 2, 3 CCW rotation allowed */ + + // Merge strategy: + cBlockArea::msSpongePrint, + + // ShouldExtendFloor: + true, + + // DefaultWeight: + 100, + + // DepthWeight: + "", + + // AddWeightIfSame: + 0, + + // MoveToGround: + true, + }, // LargeTower + + + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // LittleHouse: + // The data has been exported from the gallery Desert, area index 65, ID 551, created by STR_Warrior + { + // Size: + 5, 5, 7, // SizeX = 5, SizeY = 5, SizeZ = 7 + + // Hitbox (relative to bounding box): + 0, 0, 0, // MinX, MinY, MinZ + 4, 4, 6, // MaxX, MaxY, MaxZ + + // Block definitions: + ".: 0: 0\n" /* air */ + "a: 12: 0\n" /* sand */ + "b: 5: 0\n" /* wood */ + "c: 24: 2\n" /* sandstone */ + "d: 24: 0\n" /* sandstone */ + "e: 64: 3\n" /* wooddoorblock */ + "f: 61: 2\n" /* furnace */ + "g: 65: 2\n" /* ladder */ + "h: 64: 8\n" /* wooddoorblock */ + "i:101: 0\n" /* ironbars */ + "j: 50: 4\n" /* torch */ + "k:128: 2\n" /* sandstonestairs */ + "l:126: 8\n" /* woodenslab */ + "m: 19: 0\n" /* sponge */ + "n:128: 4\n" /* sandstonestairs */ + "o:128: 5\n" /* sandstonestairs */ + "p:128: 7\n" /* sandstonestairs */ + "q: 44: 1\n" /* step */ + "r: 96: 6\n" /* trapdoor */, + + // Block data: + // Level 0 + /* z\x* 01234 */ + /* 0 */ "aaaaa" + /* 1 */ "aaaaa" + /* 2 */ "aabaa" + /* 3 */ "abbba" + /* 4 */ "abbba" + /* 5 */ "abbba" + /* 6 */ "aaaaa" + + // Level 1 + /* z\x* 01234 */ + /* 0 */ "c...c" + /* 1 */ "....." + /* 2 */ "cdedc" + /* 3 */ "d...d" + /* 4 */ "d...d" + /* 5 */ "df.gd" + /* 6 */ "cdddc" + + // Level 2 + /* z\x* 01234 */ + /* 0 */ "c...c" + /* 1 */ "....." + /* 2 */ "cdhdc" + /* 3 */ "d...d" + /* 4 */ "i...i" + /* 5 */ "dj.gd" + /* 6 */ "cdidc" + + // Level 3 + /* z\x* 01234 */ + /* 0 */ "k...k" + /* 1 */ "d...d" + /* 2 */ "cdddc" + /* 3 */ "dllld" + /* 4 */ "nlllo" + /* 5 */ "dllgd" + /* 6 */ "cdpdc" + + // Level 4 + /* z\x* 01234 */ + /* 0 */ "....." + /* 1 */ "....." + /* 2 */ "dqdqd" + /* 3 */ "q...q" + /* 4 */ "d...d" + /* 5 */ "q..rq" + /* 6 */ "dqdqd", + + // Connectors: + "-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: + "", + + // AddWeightIfSame: + 0, + + // MoveToGround: + true, + }, // LittleHouse + + + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // LittleHouse2: + // The data has been exported from the gallery Desert, area index 72, ID 562, created by STR_Warrior + { + // Size: + 7, 5, 11, // SizeX = 7, SizeY = 5, SizeZ = 11 + + // Hitbox (relative to bounding box): + 0, 0, 0, // MinX, MinY, MinZ + 6, 4, 10, // MaxX, MaxY, MaxZ + + // Block definitions: + ".: 0: 0\n" /* air */ + "a: 12: 0\n" /* sand */ + "b: 5: 0\n" /* wood */ + "c: 24: 2\n" /* sandstone */ + "d: 24: 0\n" /* sandstone */ + "e: 64: 3\n" /* wooddoorblock */ + "f: 65: 5\n" /* ladder */ + "g: 85: 0\n" /* fence */ + "h:101: 0\n" /* ironbars */ + "i: 64: 8\n" /* wooddoorblock */ + "j: 50: 3\n" /* torch */ + "k:128: 2\n" /* sandstonestairs */ + "l:128: 6\n" /* sandstonestairs */ + "m: 19: 0\n" /* sponge */ + "n:126: 8\n" /* woodenslab */ + "o:128: 4\n" /* sandstonestairs */ + "p:128: 5\n" /* sandstonestairs */ + "q:128: 7\n" /* sandstonestairs */ + "r: 44: 1\n" /* step */ + "s: 96: 0\n" /* trapdoor */, + + // Block data: + // Level 0 + /* z\x* 0123456 */ + /* 0 */ "aaaaaaa" + /* 1 */ "aaaaaaa" + /* 2 */ "aaaabaa" + /* 3 */ "abbbbba" + /* 4 */ "abbbbba" + /* 5 */ "abbbbba" + /* 6 */ "aaaaaaa" + /* 7 */ "aaaaaaa" + /* 8 */ "aaaaaaa" + /* 9 */ "aaaaaaa" + /* 10 */ "aaaaaaa" + + // Level 1 + /* z\x* 0123456 */ + /* 0 */ ".c...c." + /* 1 */ "......." + /* 2 */ "cdddedc" + /* 3 */ "d.....d" + /* 4 */ "d.....d" + /* 5 */ "df....d" + /* 6 */ "cd.dddc" + /* 7 */ "g.....g" + /* 8 */ "g.....g" + /* 9 */ "g.....g" + /* 10 */ "ggggggg" + + // Level 2 + /* z\x* 0123456 */ + /* 0 */ ".c...c." + /* 1 */ "......." + /* 2 */ "cdhdidc" + /* 3 */ "d..j..d" + /* 4 */ "h.....h" + /* 5 */ "df....d" + /* 6 */ "cd.dhdc" + /* 7 */ "......." + /* 8 */ "......." + /* 9 */ "......." + /* 10 */ "......." + + // Level 3 + /* z\x* 0123456 */ + /* 0 */ ".k...k." + /* 1 */ ".d...d." + /* 2 */ "cdldddc" + /* 3 */ "dnnnnnd" + /* 4 */ "onnnnnp" + /* 5 */ "dfnnnnd" + /* 6 */ "cdddqdc" + /* 7 */ "......." + /* 8 */ "......." + /* 9 */ "......." + /* 10 */ "......." + + // Level 4 + /* z\x* 0123456 */ + /* 0 */ "......." + /* 1 */ "......." + /* 2 */ "drrdrrd" + /* 3 */ "r.....r" + /* 4 */ "d.....d" + /* 5 */ "rs....r" + /* 6 */ "drrdrrd" + /* 7 */ "......." + /* 8 */ "......." + /* 9 */ "......." + /* 10 */ ".......", + + // Connectors: + "-1: 3, 1, 0: 2\n" /* Type -1, direction Z- */, + + // AllowedRotations: + 7, /* 1, 2, 3 CCW rotation allowed */ + + // Merge strategy: + cBlockArea::msSpongePrint, + + // ShouldExtendFloor: + true, + + // DefaultWeight: + 100, + + // DepthWeight: + "", + + // AddWeightIfSame: + 0, + + // MoveToGround: + true, + }, // LittleHouse2 + + + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // LittleHouse3: + // The data has been exported from the gallery Desert, area index 66, ID 553, created by STR_Warrior + { + // Size: + 9, 5, 7, // SizeX = 9, SizeY = 5, SizeZ = 7 + + // Hitbox (relative to bounding box): + 0, 0, 0, // MinX, MinY, MinZ + 8, 4, 6, // MaxX, MaxY, MaxZ + + // Block definitions: + ".: 0: 0\n" /* air */ + "a: 12: 0\n" /* sand */ + "b: 5: 0\n" /* wood */ + "c: 24: 2\n" /* sandstone */ + "d: 24: 0\n" /* sandstone */ + "e: 64: 7\n" /* wooddoorblock */ + "f: 65: 2\n" /* ladder */ + "g: 64:12\n" /* wooddoorblock */ + "h:101: 0\n" /* ironbars */ + "i: 50: 4\n" /* torch */ + "j:128: 2\n" /* sandstonestairs */ + "k:126: 8\n" /* woodenslab */ + "l:128: 4\n" /* sandstonestairs */ + "m: 19: 0\n" /* sponge */ + "n:128: 5\n" /* sandstonestairs */ + "o:128: 7\n" /* sandstonestairs */ + "p: 44: 1\n" /* step */ + "q: 96: 2\n" /* trapdoor */, + + // Block data: + // Level 0 + /* z\x* 012345678 */ + /* 0 */ "aaaaaaaaa" + /* 1 */ "aaaaaaaaa" + /* 2 */ "aaaabaaaa" + /* 3 */ "abbbbbbba" + /* 4 */ "abbbbbbba" + /* 5 */ "abbbbbbba" + /* 6 */ "aaaaaaaaa" + + // Level 1 + /* z\x* 012345678 */ + /* 0 */ "..c...c.." + /* 1 */ "........." + /* 2 */ "cdddedddc" + /* 3 */ "d.......d" + /* 4 */ "d.......d" + /* 5 */ "d......fd" + /* 6 */ "cdddddddc" + + // Level 2 + /* z\x* 012345678 */ + /* 0 */ "..c...c.." + /* 1 */ "........." + /* 2 */ "cdddgdddc" + /* 3 */ "d.......d" + /* 4 */ "h.......h" + /* 5 */ "d.i....fd" + /* 6 */ "cddhhhddc" + + // Level 3 + /* z\x* 012345678 */ + /* 0 */ "..j...j.." + /* 1 */ "..d...d.." + /* 2 */ "cdddddddc" + /* 3 */ "dkkkkkkkd" + /* 4 */ "lkkkkkkkn" + /* 5 */ "dkkkkkkfd" + /* 6 */ "cddoooddc" + + // Level 4 + /* z\x* 012345678 */ + /* 0 */ "........." + /* 1 */ "........." + /* 2 */ "dpppdpppd" + /* 3 */ "p.......p" + /* 4 */ "d.......d" + /* 5 */ "p......qp" + /* 6 */ "dpppdpppd", + + // Connectors: + "-1: 4, 1, 0: 2\n" /* Type -1, direction Z- */, + + // AllowedRotations: + 7, /* 1, 2, 3 CCW rotation allowed */ + + // Merge strategy: + cBlockArea::msSpongePrint, + + // ShouldExtendFloor: + true, + + // DefaultWeight: + 100, + + // DepthWeight: + "", + + // AddWeightIfSame: + 0, + + // MoveToGround: + true, + }, // LittleHouse3 + + + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // LittleHouse4: + // The data has been exported from the gallery Desert, area index 70, ID 560, created by STR_Warrior + { + // Size: + 5, 5, 11, // SizeX = 5, SizeY = 5, SizeZ = 11 + + // Hitbox (relative to bounding box): + 0, 0, 0, // MinX, MinY, MinZ + 4, 4, 10, // MaxX, MaxY, MaxZ + + // Block definitions: + ".: 0: 0\n" /* air */ + "a: 12: 0\n" /* sand */ + "b: 5: 0\n" /* wood */ + "c: 24: 2\n" /* sandstone */ + "d: 24: 0\n" /* sandstone */ + "e: 64: 3\n" /* wooddoorblock */ + "f: 65: 5\n" /* ladder */ + "g:134: 3\n" /* 134 */ + "h: 85: 0\n" /* fence */ + "i:134: 2\n" /* 134 */ + "j: 61: 2\n" /* furnace */ + "k:134: 6\n" /* 134 */ + "l:134: 4\n" /* 134 */ + "m: 19: 0\n" /* sponge */ + "n: 64: 8\n" /* wooddoorblock */ + "o: 50: 2\n" /* torch */ + "p:101: 0\n" /* ironbars */ + "q:171: 8\n" /* carpet */ + "r:128: 2\n" /* sandstonestairs */ + "s:126: 8\n" /* woodenslab */ + "t:128: 5\n" /* sandstonestairs */ + "u:128: 7\n" /* sandstonestairs */ + "v: 44: 1\n" /* step */ + "w: 96: 7\n" /* trapdoor */, + + // Block data: + // Level 0 + /* z\x* 01234 */ + /* 0 */ "aaaaa" + /* 1 */ "aaaaa" + /* 2 */ "aabaa" + /* 3 */ "abbba" + /* 4 */ "abbba" + /* 5 */ "abbba" + /* 6 */ "abbba" + /* 7 */ "abbba" + /* 8 */ "abbba" + /* 9 */ "abbba" + /* 10 */ "aaaaa" + + // Level 1 + /* z\x* 01234 */ + /* 0 */ "c...c" + /* 1 */ "....." + /* 2 */ "cdedc" + /* 3 */ "df..d" + /* 4 */ "d...d" + /* 5 */ "d..gd" + /* 6 */ "d..hd" + /* 7 */ "d..id" + /* 8 */ "d...d" + /* 9 */ "djkld" + /* 10 */ "cdddc" + + // Level 2 + /* z\x* 01234 */ + /* 0 */ "c...c" + /* 1 */ "....." + /* 2 */ "cdndc" + /* 3 */ "df..d" + /* 4 */ "d..od" + /* 5 */ "p...p" + /* 6 */ "p..qp" + /* 7 */ "p...p" + /* 8 */ "d...d" + /* 9 */ "d...d" + /* 10 */ "cdpdc" + + // Level 3 + /* z\x* 01234 */ + /* 0 */ "r...r" + /* 1 */ "d...d" + /* 2 */ "cdddc" + /* 3 */ "dfssd" + /* 4 */ "dsssd" + /* 5 */ "tssst" + /* 6 */ "tssst" + /* 7 */ "tssst" + /* 8 */ "dsssd" + /* 9 */ "dsssd" + /* 10 */ "cdudc" + + // Level 4 + /* z\x* 01234 */ + /* 0 */ "....." + /* 1 */ "....." + /* 2 */ "dvdvd" + /* 3 */ "vw..v" + /* 4 */ "v...v" + /* 5 */ "v...v" + /* 6 */ "d...d" + /* 7 */ "v...v" + /* 8 */ "v...v" + /* 9 */ "v...v" + /* 10 */ "dvdvd", + + // Connectors: + "-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: + "", + + // AddWeightIfSame: + 0, + + // MoveToGround: + true, + }, // LittleHouse4 + + + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // LittleHouse5: + // The data has been exported from the gallery Desert, area index 68, ID 558, created by STR_Warrior + { + // Size: + 9, 5, 9, // SizeX = 9, SizeY = 5, SizeZ = 9 + + // Hitbox (relative to bounding box): + 0, 0, 0, // MinX, MinY, MinZ + 8, 4, 8, // MaxX, MaxY, MaxZ + + // Block definitions: + ".: 0: 0\n" /* air */ + "a: 12: 0\n" /* sand */ + "b: 5: 0\n" /* wood */ + "c: 24: 2\n" /* sandstone */ + "d: 24: 0\n" /* sandstone */ + "e: 64: 7\n" /* wooddoorblock */ + "f: 65: 2\n" /* ladder */ + "g: 64:12\n" /* wooddoorblock */ + "h:101: 0\n" /* ironbars */ + "i: 50: 1\n" /* torch */ + "j: 50: 4\n" /* torch */ + "k:128: 2\n" /* sandstonestairs */ + "l:126: 8\n" /* woodenslab */ + "m: 19: 0\n" /* sponge */ + "n:128: 6\n" /* sandstonestairs */ + "o:128: 5\n" /* sandstonestairs */ + "p:128: 4\n" /* sandstonestairs */ + "q:128: 7\n" /* sandstonestairs */ + "r: 44: 1\n" /* step */ + "s: 96: 6\n" /* trapdoor */, + + // Block data: + // Level 0 + /* z\x* 012345678 */ + /* 0 */ "aaaaaaaaa" + /* 1 */ "aaaaaaaaa" + /* 2 */ "aaaaaabaa" + /* 3 */ "aaaaabbba" + /* 4 */ "aaaaabbba" + /* 5 */ "abbbbbbba" + /* 6 */ "abbbbbbba" + /* 7 */ "abbbbbbba" + /* 8 */ "aaaaaaaaa" + + // Level 1 + /* z\x* 012345678 */ + /* 0 */ "mmmmc...c" + /* 1 */ "mmmm....." + /* 2 */ "mmmmcdedc" + /* 3 */ "mmmmd...d" + /* 4 */ "cdddd...d" + /* 5 */ "d.......d" + /* 6 */ "d.......d" + /* 7 */ "d......fd" + /* 8 */ "cdddddddc" + + // Level 2 + /* z\x* 012345678 */ + /* 0 */ "mmmmc...c" + /* 1 */ "mmmm....." + /* 2 */ "mmmmcdgdc" + /* 3 */ "mmmmd...d" + /* 4 */ "cdhdd...h" + /* 5 */ "d.......h" + /* 6 */ "h.......d" + /* 7 */ "di....jfd" + /* 8 */ "cddhhhddc" + + // Level 3 + /* z\x* 012345678 */ + /* 0 */ "mmmmk...k" + /* 1 */ "mmmmd...d" + /* 2 */ "mmmmcdddc" + /* 3 */ "mmmmdllld" + /* 4 */ "cdnddlllo" + /* 5 */ "dlllllllo" + /* 6 */ "pllllllld" + /* 7 */ "dllllllfd" + /* 8 */ "cddqqqddc" + + // Level 4 + /* z\x* 012345678 */ + /* 0 */ "mmmm....." + /* 1 */ "mmmm....." + /* 2 */ "mmmmcrdrd" + /* 3 */ "mmmmr...r" + /* 4 */ "drrrd...d" + /* 5 */ "r.......r" + /* 6 */ "r.......r" + /* 7 */ "r......sr" + /* 8 */ "drrrdrrrd", + + // Connectors: + "-1: 6, 1, 0: 2\n" /* Type -1, direction Z- */, + + // AllowedRotations: + 7, /* 1, 2, 3 CCW rotation allowed */ + + // Merge strategy: + cBlockArea::msSpongePrint, + + // ShouldExtendFloor: + true, + + // DefaultWeight: + 100, + + // DepthWeight: + "", + + // AddWeightIfSame: + 0, + + // MoveToGround: + true, + }, // LittleHouse5 + + + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // LittleHouse6: + // The data has been exported from the gallery Desert, area index 69, ID 559, created by STR_Warrior + { + // Size: + 9, 5, 9, // SizeX = 9, SizeY = 5, SizeZ = 9 + + // Hitbox (relative to bounding box): + 0, 0, 0, // MinX, MinY, MinZ + 8, 4, 8, // MaxX, MaxY, MaxZ + + // Block definitions: + ".: 0: 0\n" /* air */ + "a: 12: 0\n" /* sand */ + "b: 2: 0\n" /* grass */ + "c: 5: 0\n" /* wood */ + "d: 85: 0\n" /* fence */ + "e: 24: 2\n" /* sandstone */ + "f: 24: 0\n" /* sandstone */ + "g: 64: 7\n" /* wooddoorblock */ + "h: 38: 1\n" /* rose */ + "i: 38: 2\n" /* rose */ + "j: 38: 5\n" /* rose */ + "k: 65: 2\n" /* ladder */ + "l: 64:12\n" /* wooddoorblock */ + "m: 19: 0\n" /* sponge */ + "n:101: 0\n" /* ironbars */ + "o: 50: 1\n" /* torch */ + "p: 50: 4\n" /* torch */ + "q:128: 2\n" /* sandstonestairs */ + "r:126: 8\n" /* woodenslab */ + "s:128: 6\n" /* sandstonestairs */ + "t:128: 5\n" /* sandstonestairs */ + "u:128: 4\n" /* sandstonestairs */ + "v:128: 7\n" /* sandstonestairs */ + "w: 44: 1\n" /* step */ + "x: 96: 6\n" /* trapdoor */, + + // Block data: + // Level 0 + /* z\x* 012345678 */ + /* 0 */ "aaaaaaaaa" + /* 1 */ "abbbaaaaa" + /* 2 */ "abbbaacaa" + /* 3 */ "abbbaccca" + /* 4 */ "aaaaaccca" + /* 5 */ "accccccca" + /* 6 */ "accccccca" + /* 7 */ "accccccca" + /* 8 */ "aaaaaaaaa" + + // Level 1 + /* z\x* 012345678 */ + /* 0 */ "dddde...e" + /* 1 */ "d........" + /* 2 */ "d...efgfe" + /* 3 */ "dhijf...f" + /* 4 */ "effff...f" + /* 5 */ "f.......f" + /* 6 */ "f.......f" + /* 7 */ "f......kf" + /* 8 */ "efffffffe" + + // Level 2 + /* z\x* 012345678 */ + /* 0 */ "....e...e" + /* 1 */ "........." + /* 2 */ "....eflfe" + /* 3 */ "....f...f" + /* 4 */ "efnff...n" + /* 5 */ "f.......n" + /* 6 */ "n.......f" + /* 7 */ "fo....pkf" + /* 8 */ "effnnnffe" + + // Level 3 + /* z\x* 012345678 */ + /* 0 */ "....q...q" + /* 1 */ "....f...f" + /* 2 */ "....efffe" + /* 3 */ "....frrrf" + /* 4 */ "efsffrrrt" + /* 5 */ "frrrrrrrt" + /* 6 */ "urrrrrrrf" + /* 7 */ "frrrrrrkf" + /* 8 */ "effvvvffe" + + // Level 4 + /* z\x* 012345678 */ + /* 0 */ "........." + /* 1 */ "........." + /* 2 */ "....ewfwf" + /* 3 */ "....w...w" + /* 4 */ "fwwwf...f" + /* 5 */ "w.......w" + /* 6 */ "w.......w" + /* 7 */ "w......xw" + /* 8 */ "fwwwfwwwf", + + // Connectors: + "-1: 6, 1, 0: 2\n" /* Type -1, direction Z- */, + + // AllowedRotations: + 7, /* 1, 2, 3 CCW rotation allowed */ + + // Merge strategy: + cBlockArea::msSpongePrint, + + // ShouldExtendFloor: + true, + + // DefaultWeight: + 100, + + // DepthWeight: + "", + + // AddWeightIfSame: + 0, + + // MoveToGround: + true, + }, // LittleHouse6 + + + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // LittleHouse7: + // The data has been exported from the gallery Desert, area index 73, ID 563, created by xoft + { + // Size: + 9, 5, 11, // SizeX = 9, SizeY = 5, SizeZ = 11 + + // Hitbox (relative to bounding box): + 0, 0, 0, // MinX, MinY, MinZ + 8, 4, 10, // MaxX, MaxY, MaxZ + + // Block definitions: + ".: 0: 0\n" /* air */ + "a: 12: 0\n" /* sand */ + "b: 5: 0\n" /* wood */ + "c: 24: 2\n" /* sandstone */ + "d: 24: 0\n" /* sandstone */ + "e: 64: 7\n" /* wooddoorblock */ + "f: 65: 2\n" /* ladder */ + "g:101: 0\n" /* ironbars */ + "h: 64:12\n" /* wooddoorblock */ + "i: 50: 1\n" /* torch */ + "j: 50: 2\n" /* torch */ + "k:128: 2\n" /* sandstonestairs */ + "l:128: 6\n" /* sandstonestairs */ + "m: 19: 0\n" /* sponge */ + "n:126: 8\n" /* woodenslab */ + "o:128: 4\n" /* sandstonestairs */ + "p:128: 5\n" /* sandstonestairs */ + "q:128: 7\n" /* sandstonestairs */ + "r: 44: 1\n" /* step */ + "s: 96: 6\n" /* trapdoor */, + + // Block data: + // Level 0 + /* z\x* 012345678 */ + /* 0 */ "aaaaaaaaa" + /* 1 */ "aaaaaaaaa" + /* 2 */ "aaaaaabaa" + /* 3 */ "abbbbbbba" + /* 4 */ "abbbbbbba" + /* 5 */ "abbbbbbba" + /* 6 */ "aaaaabbba" + /* 7 */ "aaaaabbba" + /* 8 */ "aaaaabbba" + /* 9 */ "aaaaabbba" + /* 10 */ "aaaaaaaaa" + + // Level 1 + /* z\x* 012345678 */ + /* 0 */ "....c...c" + /* 1 */ "........." + /* 2 */ "cdddddedc" + /* 3 */ "d.......d" + /* 4 */ "d.......d" + /* 5 */ "d.......d" + /* 6 */ "cdddd...d" + /* 7 */ "mmmmd...d" + /* 8 */ "mmmmd...d" + /* 9 */ "mmmmd..fd" + /* 10 */ "mmmmddddc" + + // Level 2 + /* z\x* 012345678 */ + /* 0 */ "....c...c" + /* 1 */ "........." + /* 2 */ "cdgdddhdc" + /* 3 */ "d.......d" + /* 4 */ "g.......d" + /* 5 */ "di......g" + /* 6 */ "cdgdd...g" + /* 7 */ "mmmmd...g" + /* 8 */ "mmmmg..jd" + /* 9 */ "mmmmd..fd" + /* 10 */ "mmmmddgdc" + + // Level 3 + /* z\x* 012345678 */ + /* 0 */ "....k...k" + /* 1 */ "....d...d" + /* 2 */ "cdldddddc" + /* 3 */ "dnnnnnnnd" + /* 4 */ "onnnnnnnd" + /* 5 */ "dnnnnnnnp" + /* 6 */ "cdqddnnnp" + /* 7 */ "mmmmdnnnp" + /* 8 */ "mmmmonnnd" + /* 9 */ "mmmmdnnfd" + /* 10 */ "mmmmddqdc" + + // Level 4 + /* z\x* 012345678 */ + /* 0 */ "........." + /* 1 */ "........." + /* 2 */ "drrrdrdrd" + /* 3 */ "r.......r" + /* 4 */ "r.......r" + /* 5 */ "r.......r" + /* 6 */ "drrrd...d" + /* 7 */ "mmmmr...r" + /* 8 */ "mmmmr...r" + /* 9 */ "mmmmr..sr" + /* 10 */ "mmmmdrrrd", + + // Connectors: + "-1: 6, 1, 0: 2\n" /* Type -1, direction Z- */, + + // AllowedRotations: + 7, /* 1, 2, 3 CCW rotation allowed */ + + // Merge strategy: + cBlockArea::msSpongePrint, + + // ShouldExtendFloor: + true, + + // DefaultWeight: + 100, + + // DepthWeight: + "", + + // AddWeightIfSame: + 0, + + // MoveToGround: + true, + }, // LittleHouse7 + + + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // LittleTower: + // The data has been exported from the gallery Desert, area index 79, ID 595, created by STR_Warrior + { + // Size: + 5, 8, 7, // SizeX = 5, SizeY = 8, SizeZ = 7 + + // Hitbox (relative to bounding box): + 0, 0, 0, // MinX, MinY, MinZ + 4, 7, 6, // MaxX, MaxY, MaxZ + + // Block definitions: + ".: 0: 0\n" /* air */ + "a: 12: 0\n" /* sand */ + "b: 5: 0\n" /* wood */ + "c: 24: 2\n" /* sandstone */ + "d: 24: 0\n" /* sandstone */ + "e: 64: 7\n" /* wooddoorblock */ + "f: 65: 5\n" /* ladder */ + "g: 64:12\n" /* wooddoorblock */ + "h:101: 0\n" /* ironbars */ + "i: 50: 4\n" /* torch */ + "j:128: 2\n" /* sandstonestairs */ + "k:126: 8\n" /* woodenslab */ + "l:128: 4\n" /* sandstonestairs */ + "m: 19: 0\n" /* sponge */ + "n:128: 5\n" /* sandstonestairs */ + "o:128: 7\n" /* sandstonestairs */ + "p:128: 6\n" /* sandstonestairs */ + "q: 44: 1\n" /* step */ + "r: 96: 5\n" /* trapdoor */, + + // Block data: + // Level 0 + /* z\x* 01234 */ + /* 0 */ "aaaaa" + /* 1 */ "aaaaa" + /* 2 */ "aabaa" + /* 3 */ "abbba" + /* 4 */ "abbba" + /* 5 */ "abbba" + /* 6 */ "aaaaa" + + // Level 1 + /* z\x* 01234 */ + /* 0 */ "c...c" + /* 1 */ "....." + /* 2 */ "cdedc" + /* 3 */ "df..d" + /* 4 */ "d...d" + /* 5 */ "d...d" + /* 6 */ "cdddc" + + // Level 2 + /* z\x* 01234 */ + /* 0 */ "c...c" + /* 1 */ "....." + /* 2 */ "cdgdc" + /* 3 */ "df..d" + /* 4 */ "h...h" + /* 5 */ "d..id" + /* 6 */ "cdhdc" + + // Level 3 + /* z\x* 01234 */ + /* 0 */ "j...j" + /* 1 */ "d...d" + /* 2 */ "cdddc" + /* 3 */ "dfkkd" + /* 4 */ "lkkkn" + /* 5 */ "dkkkd" + /* 6 */ "cdodc" + + // Level 4 + /* z\x* 01234 */ + /* 0 */ "....." + /* 1 */ "....." + /* 2 */ "cdddc" + /* 3 */ "df..d" + /* 4 */ "d...d" + /* 5 */ "d...d" + /* 6 */ "cdddc" + + // Level 5 + /* z\x* 01234 */ + /* 0 */ "....." + /* 1 */ "....." + /* 2 */ "cdhdc" + /* 3 */ "df..d" + /* 4 */ "h...h" + /* 5 */ "d..id" + /* 6 */ "cdhdc" + + // Level 6 + /* z\x* 01234 */ + /* 0 */ "....." + /* 1 */ "....." + /* 2 */ "cdpdc" + /* 3 */ "dfkkd" + /* 4 */ "lkkkn" + /* 5 */ "dkkkd" + /* 6 */ "cdodc" + + // Level 7 + /* z\x* 01234 */ + /* 0 */ "....." + /* 1 */ "....." + /* 2 */ "dqdqd" + /* 3 */ "qr..q" + /* 4 */ "d...d" + /* 5 */ "q...q" + /* 6 */ "dqdqd", + + // Connectors: + "-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: + "", + + // AddWeightIfSame: + 0, + + // MoveToGround: + true, + }, // LittleTower + + + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // MediumHouse1: + // The data has been exported from the gallery Desert, area index 71, ID 561, created by STR_Warrior + { + // Size: + 15, 8, 9, // SizeX = 15, SizeY = 8, SizeZ = 9 + + // Hitbox (relative to bounding box): + 0, 0, 0, // MinX, MinY, MinZ + 14, 7, 8, // MaxX, MaxY, MaxZ + + // Block definitions: + ".: 0: 0\n" /* air */ + "a: 12: 0\n" /* sand */ + "b: 5: 0\n" /* wood */ + "c: 24: 2\n" /* sandstone */ + "d: 24: 0\n" /* sandstone */ + "e: 64: 3\n" /* wooddoorblock */ + "f: 85: 0\n" /* fence */ + "g: 64: 0\n" /* wooddoorblock */ + "h: 65: 5\n" /* ladder */ + "i: 64: 8\n" /* wooddoorblock */ + "j:101: 0\n" /* ironbars */ + "k: 50: 4\n" /* torch */ + "l:128: 2\n" /* sandstonestairs */ + "m: 19: 0\n" /* sponge */ + "n:126: 8\n" /* woodenslab */ + "o:128: 4\n" /* sandstonestairs */ + "p:128: 7\n" /* sandstonestairs */ + "q: 44: 1\n" /* step */ + "r: 50: 3\n" /* torch */, + + // Block data: + // Level 0 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "aaaaaaaaaaaaaaa" + /* 1 */ "aaaaaaaaaaaaaaa" + /* 2 */ "aaaaabaaaaaaaaa" + /* 3 */ "abbbbbbbbbaaaaa" + /* 4 */ "abbbbbbbbbaaaaa" + /* 5 */ "abbbbbbbbbbaaaa" + /* 6 */ "abbbbbbbbbaaaaa" + /* 7 */ "abbbbbbbbbaaaaa" + /* 8 */ "aaaaaaaaaaaaaaa" + + // Level 1 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "...c...c......." + /* 1 */ "..............." + /* 2 */ "cddddeddddcffff" + /* 3 */ "d.........d...f" + /* 4 */ "d.........d...f" + /* 5 */ "d.........g...f" + /* 6 */ "d.........d...f" + /* 7 */ "d.........dh..f" + /* 8 */ "cdddddddddcffff" + + // Level 2 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "...c...c......." + /* 1 */ "..............." + /* 2 */ "cddddiddddc...." + /* 3 */ "d.........d...." + /* 4 */ "j.........d...." + /* 5 */ "j.........i...." + /* 6 */ "j.........d...." + /* 7 */ "d..k...k..dh..." + /* 8 */ "cdddjjjdddc...." + + // Level 3 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "...l...l......." + /* 1 */ "...d...d......." + /* 2 */ "cdddddddddc...." + /* 3 */ "dnnnnnnnnnd...." + /* 4 */ "onnnnnnnnnd...." + /* 5 */ "onnnnnnnnnd...." + /* 6 */ "onnnnnnnnnd...." + /* 7 */ "dnnnnnnnnndh..." + /* 8 */ "cdddpppdddc...." + + // Level 4 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "..............." + /* 1 */ "..............." + /* 2 */ "dqqqqdqqqqd...." + /* 3 */ "q..cdddc..q...." + /* 4 */ "q..d...d..q...." + /* 5 */ "d.........d...." + /* 6 */ "q..d...d..q...." + /* 7 */ "q..cdddc..q...." + /* 8 */ "dqqqqdqqqqd...." + + // Level 5 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "..............." + /* 1 */ "..............." + /* 2 */ "..............." + /* 3 */ "...cdjdc......." + /* 4 */ "...dr..d......." + /* 5 */ "..............." + /* 6 */ "...d...d......." + /* 7 */ "...cdjdc......." + /* 8 */ "..............." + + // Level 6 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "..............." + /* 1 */ "..............." + /* 2 */ "..............." + /* 3 */ "...cdddc......." + /* 4 */ "...dnnnd......." + /* 5 */ "...dnnnd......." + /* 6 */ "...dnnnd......." + /* 7 */ "...cdddc......." + /* 8 */ "..............." + + // Level 7 + /* z\x* 11111 */ + /* * 012345678901234 */ + /* 0 */ "..............." + /* 1 */ "..............." + /* 2 */ "..............." + /* 3 */ "...dqdqd......." + /* 4 */ "...q...q......." + /* 5 */ "...d...d......." + /* 6 */ "...q...q......." + /* 7 */ "...dqdqd......." + /* 8 */ "...............", + + // Connectors: + "-1: 5, 1, 0: 2\n" /* Type -1, direction Z- */, + + // AllowedRotations: + 7, /* 1, 2, 3 CCW rotation allowed */ + + // Merge strategy: + cBlockArea::msSpongePrint, + + // ShouldExtendFloor: + true, + + // DefaultWeight: + 100, + + // DepthWeight: + "", + + // AddWeightIfSame: + 0, + + // MoveToGround: + true, + }, // MediumHouse1 + + + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // MediumHouse2: + // The data has been exported from the gallery Desert, area index 74, ID 573, created by STR_Warrior + { + // Size: + 11, 9, 9, // SizeX = 11, SizeY = 9, SizeZ = 9 + + // Hitbox (relative to bounding box): + 0, 0, 0, // MinX, MinY, MinZ + 10, 8, 8, // MaxX, MaxY, MaxZ + + // Block definitions: + ".: 0: 0\n" /* air */ + "A: 96: 3\n" /* trapdoor */ + "B: 96: 6\n" /* trapdoor */ + "C:128: 2\n" /* sandstonestairs */ + "D:128: 0\n" /* sandstonestairs */ + "E: 87: 0\n" /* netherstone */ + "F:128: 1\n" /* sandstonestairs */ + "G:128: 3\n" /* sandstonestairs */ + "H: 51: 0\n" /* fire */ + "I: 44: 9\n" /* step */ + "a: 12: 0\n" /* sand */ + "b: 5: 0\n" /* wood */ + "c: 24: 2\n" /* sandstone */ + "d: 24: 0\n" /* sandstone */ + "e: 65: 3\n" /* ladder */ + "f: 85: 0\n" /* fence */ + "g: 64: 7\n" /* wooddoorblock */ + "h:134: 1\n" /* 134 */ + "i:134: 2\n" /* 134 */ + "j: 61: 2\n" /* furnace */ + "k:134: 6\n" /* 134 */ + "l:134: 4\n" /* 134 */ + "m: 19: 0\n" /* sponge */ + "n: 65: 2\n" /* ladder */ + "o:101: 0\n" /* ironbars */ + "p: 50: 2\n" /* torch */ + "q: 47: 0\n" /* bookshelf */ + "r: 64:12\n" /* wooddoorblock */ + "s: 50: 3\n" /* torch */ + "t:171: 8\n" /* carpet */ + "u:128: 6\n" /* sandstonestairs */ + "v:126: 8\n" /* woodenslab */ + "w:128: 5\n" /* sandstonestairs */ + "x:128: 4\n" /* sandstonestairs */ + "y:128: 7\n" /* sandstonestairs */ + "z: 44: 1\n" /* step */, + + // Block data: + // Level 0 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "aaaaaaaaaaa" + /* 1 */ "abbbaaaaaaa" + /* 2 */ "abbbaaaaaaa" + /* 3 */ "abbbaaaaaaa" + /* 4 */ "abbbaaaabaa" + /* 5 */ "abbbbbbbbba" + /* 6 */ "abbbbbbbbba" + /* 7 */ "abbbbbbbbba" + /* 8 */ "aaaaaaaaaaa" + + // Level 1 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "cdddc......" + /* 1 */ "de..dfff.f." + /* 2 */ "d...d....f." + /* 3 */ "d...d....f." + /* 4 */ "d...ddddgdc" + /* 5 */ "d.........d" + /* 6 */ "dhf.......d" + /* 7 */ "dhi.jkl..nd" + /* 8 */ "cdddddddddc" + + // Level 2 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "cdodc......" + /* 1 */ "de..o......" + /* 2 */ "d...o......" + /* 3 */ "o..pd......" + /* 4 */ "o...qdodrdc" + /* 5 */ "o......s..d" + /* 6 */ "d.t.......o" + /* 7 */ "d........nd" + /* 8 */ "cdddooodddc" + + // Level 3 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "cdudc......" + /* 1 */ "devvw......" + /* 2 */ "dvvvw......" + /* 3 */ "xvvvd......" + /* 4 */ "xvvvddudddc" + /* 5 */ "xvvvvvvvvvd" + /* 6 */ "dvvvvvvvvvw" + /* 7 */ "dvvvqqqvvnd" + /* 8 */ "cdddyyydddc" + + // Level 4 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "dzzzd......" + /* 1 */ "zA..z......" + /* 2 */ "z...z......" + /* 3 */ "z...z......" + /* 4 */ "d...dzzzzzd" + /* 5 */ "zddd......z" + /* 6 */ "zddd......z" + /* 7 */ "zddd.....Bz" + /* 8 */ "dzzzzdzzzzd" + + // Level 5 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "..........." + /* 1 */ "..........." + /* 2 */ "..........." + /* 3 */ "..........." + /* 4 */ "..........." + /* 5 */ ".cCc......." + /* 6 */ ".DEF......." + /* 7 */ ".cGc......." + /* 8 */ "..........." + + // Level 6 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "..........." + /* 1 */ "..........." + /* 2 */ "..........." + /* 3 */ "..........." + /* 4 */ "..........." + /* 5 */ ".c.c......." + /* 6 */ "..H........" + /* 7 */ ".c.c......." + /* 8 */ "..........." + + // Level 7 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "..........." + /* 1 */ "..........." + /* 2 */ "..........." + /* 3 */ "..........." + /* 4 */ "..........." + /* 5 */ ".ddd......." + /* 6 */ ".dId......." + /* 7 */ ".ddd......." + /* 8 */ "..........." + + // Level 8 + /* z\x* 1 */ + /* * 01234567890 */ + /* 0 */ "..........." + /* 1 */ "..........." + /* 2 */ "..........." + /* 3 */ "..........." + /* 4 */ "..........." + /* 5 */ ".z.z......." + /* 6 */ "..........." + /* 7 */ ".z.z......." + /* 8 */ "...........", + + // Connectors: + "-1: 8, 1, 0: 2\n" /* Type -1, direction Z- */, + + // AllowedRotations: + 7, /* 1, 2, 3 CCW rotation allowed */ + + // Merge strategy: + cBlockArea::msSpongePrint, + + // ShouldExtendFloor: + true, + + // DefaultWeight: + 100, + + // DepthWeight: + "", + + // AddWeightIfSame: + 0, + + // MoveToGround: + true, + }, // MediumHouse2 + + + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // MediumHouse3: + // The data has been exported from the gallery Desert, area index 76, ID 575, created by STR_Warrior + { + // Size: + 12, 10, 11, // SizeX = 12, SizeY = 10, SizeZ = 11 + + // Hitbox (relative to bounding box): + 0, 0, 0, // MinX, MinY, MinZ + 11, 9, 10, // MaxX, MaxY, MaxZ + + // Block definitions: + ".: 0: 0\n" /* air */ + "a: 12: 0\n" /* sand */ + "b: 3: 0\n" /* dirt */ + "c: 2: 0\n" /* grass */ + "d: 5: 0\n" /* wood */ + "e: 24: 0\n" /* sandstone */ + "f: 24: 2\n" /* sandstone */ + "g: 85: 0\n" /* fence */ + "h: 64: 3\n" /* wooddoorblock */ + "i: 64: 6\n" /* wooddoorblock */ + "j: 65: 4\n" /* ladder */ + "k: 65: 2\n" /* ladder */ + "l: 50: 1\n" /* torch */ + "m: 19: 0\n" /* sponge */ + "n: 50: 2\n" /* torch */ + "o:101: 0\n" /* ironbars */ + "p: 64: 8\n" /* wooddoorblock */ + "q: 64:12\n" /* wooddoorblock */ + "r:128: 2\n" /* sandstonestairs */ + "s:128: 6\n" /* sandstonestairs */ + "t:126: 8\n" /* woodenslab */ + "u:128: 5\n" /* sandstonestairs */ + "v:128: 7\n" /* sandstonestairs */ + "w: 44: 1\n" /* step */ + "x: 96: 6\n" /* trapdoor */ + "y:126: 0\n" /* woodenslab */ + "z:128: 4\n" /* sandstonestairs */, + + // Block data: + // Level 0 + /* z\x* 11 */ + /* * 012345678901 */ + /* 0 */ "aaaaaaaaaaaa" + /* 1 */ "aaaaaaaaaaaa" + /* 2 */ "bbbbbaaaaaaa" + /* 3 */ "bbbbbaaaaaaa" + /* 4 */ "bbbbbaaaaaaa" + /* 5 */ "bbbbbaaaaaaa" + /* 6 */ "bbbaaaaaaaaa" + /* 7 */ "aaaaaaaaaaaa" + /* 8 */ "aaaaaaaaaaaa" + /* 9 */ "aaaaaaaaaaaa" + /* 10 */ "aaaaaaaaaaaa" + + // Level 1 + /* z\x* 11 */ + /* * 012345678901 */ + /* 0 */ "aaaaaaaaaaaa" + /* 1 */ "aaaaaaaaaaaa" + /* 2 */ "cccccaaaadaa" + /* 3 */ "cccccaddddda" + /* 4 */ "cccccdddddda" + /* 5 */ "cccccaddddda" + /* 6 */ "cccaadddddda" + /* 7 */ "aaaaddddddda" + /* 8 */ "aaaadddaaaaa" + /* 9 */ "aaaadddaaaaa" + /* 10 */ "aaaaaaaaaaaa" + + // Level 2 + /* z\x* 11 */ + /* * 012345678901 */ + /* 0 */ ".....e.....f" + /* 1 */ "............" + /* 2 */ "gggggfeeehef" + /* 3 */ "g....e.....e" + /* 4 */ "g....i.....e" + /* 5 */ "g....e.....e" + /* 6 */ "gggfe......e" + /* 7 */ "mmme......je" + /* 8 */ "mmme...eeeef" + /* 9 */ "mmme..kemmmm" + /* 10 */ "mmmfeeefmmmm" + + // Level 3 + /* z\x* 11 */ + /* * 012345678901 */ + /* 0 */ ".....el...nf" + /* 1 */ "............" + /* 2 */ ".....fooepef" + /* 3 */ ".....e.....e" + /* 4 */ ".....q.....e" + /* 5 */ ".....e.....o" + /* 6 */ "...ge......e" + /* 7 */ "mmme......je" + /* 8 */ "mmme...eeoof" + /* 9 */ "mmme..kemmmm" + /* 10 */ "mmmgeeegmmmm" + + // Level 4 + /* z\x* 11 */ + /* * 012345678901 */ + /* 0 */ ".....r.....r" + /* 1 */ ".....e.....e" + /* 2 */ ".....fsseeef" + /* 3 */ ".....ettttte" + /* 4 */ ".....ettttte" + /* 5 */ ".....etttttu" + /* 6 */ "...getttttte" + /* 7 */ "mmmettttttje" + /* 8 */ "mmmettteevvf" + /* 9 */ "mmmettkemmmm" + /* 10 */ "mmmgeeegmmmm" + + // Level 5 + /* z\x* 11 */ + /* * 012345678901 */ + /* 0 */ "............" + /* 1 */ "............" + /* 2 */ ".....ewwewwe" + /* 3 */ ".....w.....w" + /* 4 */ ".....w.....w" + /* 5 */ ".....w.....e" + /* 6 */ "...geeeg...w" + /* 7 */ "mmme...e..xw" + /* 8 */ "mmme...ewwwe" + /* 9 */ "mmme..kemmmm" + /* 10 */ "mmmgeeegmmmm" + + // Level 6 + /* z\x* 11 */ + /* * 012345678901 */ + /* 0 */ "............" + /* 1 */ "............" + /* 2 */ "............" + /* 3 */ "............" + /* 4 */ "............" + /* 5 */ "............" + /* 6 */ "...ge.eg...." + /* 7 */ "mmme...e...." + /* 8 */ "mmmo........" + /* 9 */ "mmme..kemmmm" + /* 10 */ "mmmgeoegmmmm" + + // Level 7 + /* z\x* 11 */ + /* * 012345678901 */ + /* 0 */ "............" + /* 1 */ "............" + /* 2 */ "............" + /* 3 */ "............" + /* 4 */ "............" + /* 5 */ "............" + /* 6 */ "...ge.eg...." + /* 7 */ "mmme...e...." + /* 8 */ "mmmo........" + /* 9 */ "mmmel.kemmmm" + /* 10 */ "mmmgeoegmmmm" + + // Level 8 + /* z\x* 11 */ + /* * 012345678901 */ + /* 0 */ "............" + /* 1 */ "............" + /* 2 */ "............" + /* 3 */ "............" + /* 4 */ "............" + /* 5 */ "............" + /* 6 */ "...fesef...." + /* 7 */ "mmmeyyye...." + /* 8 */ "mmmzyyyu...." + /* 9 */ "mmmeyykemmmm" + /* 10 */ "mmmfevefmmmm" + + // Level 9 + /* z\x* 11 */ + /* * 012345678901 */ + /* 0 */ "............" + /* 1 */ "............" + /* 2 */ "............" + /* 3 */ "............" + /* 4 */ "............" + /* 5 */ "............" + /* 6 */ "...w.w.w...." + /* 7 */ "mmm........." + /* 8 */ "mmmw...w...." + /* 9 */ "mmm.....mmmm" + /* 10 */ "mmmw.w.wmmmm", + + // Connectors: + "-1: 9, 2, 0: 2\n" /* Type -1, direction Z- */, + + // AllowedRotations: + 7, /* 1, 2, 3 CCW rotation allowed */ + + // Merge strategy: + cBlockArea::msSpongePrint, + + // ShouldExtendFloor: + true, + + // DefaultWeight: + 100, + + // DepthWeight: + "", + + // AddWeightIfSame: + 0, + + // MoveToGround: + true, + }, // MediumHouse3 + + + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // SmallHouse9: + // The data has been exported from the gallery Desert, area index 67, ID 556, created by STR_Warrior + { + // Size: + 9, 5, 11, // SizeX = 9, SizeY = 5, SizeZ = 11 + + // Hitbox (relative to bounding box): + 0, 0, 0, // MinX, MinY, MinZ + 8, 4, 10, // MaxX, MaxY, MaxZ + + // Block definitions: + ".: 0: 0\n" /* air */ + "a: 12: 0\n" /* sand */ + "b: 5: 0\n" /* wood */ + "c: 24: 2\n" /* sandstone */ + "d: 24: 0\n" /* sandstone */ + "e: 64: 7\n" /* wooddoorblock */ + "f: 65: 2\n" /* ladder */ + "g: 64:12\n" /* wooddoorblock */ + "h:101: 0\n" /* ironbars */ + "i: 50: 2\n" /* torch */ + "j: 50: 1\n" /* torch */ + "k:128: 2\n" /* sandstonestairs */ + "l:126: 8\n" /* woodenslab */ + "m: 19: 0\n" /* sponge */ + "n:128: 5\n" /* sandstonestairs */ + "o:128: 6\n" /* sandstonestairs */ + "p:128: 4\n" /* sandstonestairs */ + "q:128: 7\n" /* sandstonestairs */ + "r: 44: 1\n" /* step */ + "s: 96: 6\n" /* trapdoor */, + + // Block data: + // Level 0 + /* z\x* 012345678 */ + /* 0 */ "aaaaaaaaa" + /* 1 */ "aaaaaaaaa" + /* 2 */ "aaaaaabaa" + /* 3 */ "aaaaabbba" + /* 4 */ "aaaaabbba" + /* 5 */ "aaaaabbba" + /* 6 */ "aaaaabbba" + /* 7 */ "abbbbbbba" + /* 8 */ "abbbbbbba" + /* 9 */ "abbbbbbba" + /* 10 */ "aaaaaaaaa" + + // Level 1 + /* z\x* 012345678 */ + /* 0 */ "mmmmc...c" + /* 1 */ "mmmm....." + /* 2 */ "mmmmcdedc" + /* 3 */ "mmmmd...d" + /* 4 */ "mmmmd...d" + /* 5 */ "mmmmd...d" + /* 6 */ "cdddd...d" + /* 7 */ "d.......d" + /* 8 */ "d.......d" + /* 9 */ "d......fd" + /* 10 */ "cdddddddc" + + // Level 2 + /* z\x* 012345678 */ + /* 0 */ "mmmmc...c" + /* 1 */ "mmmm....." + /* 2 */ "mmmmcdgdc" + /* 3 */ "mmmmd...d" + /* 4 */ "mmmmd...d" + /* 5 */ "mmmmd...h" + /* 6 */ "cdhdd...h" + /* 7 */ "d.......h" + /* 8 */ "h......id" + /* 9 */ "dj.....fd" + /* 10 */ "cddhhhddc" + + // Level 3 + /* z\x* 012345678 */ + /* 0 */ "mmmmk...k" + /* 1 */ "mmmmd...d" + /* 2 */ "mmmmcdddc" + /* 3 */ "mmmmdllld" + /* 4 */ "mmmmdllld" + /* 5 */ "mmmmdllln" + /* 6 */ "cdoddllln" + /* 7 */ "dllllllln" + /* 8 */ "pllllllld" + /* 9 */ "dllllllfd" + /* 10 */ "cddqqqddc" + + // Level 4 + /* z\x* 012345678 */ + /* 0 */ "mmmm....." + /* 1 */ "mmmm....." + /* 2 */ "mmmmcrdrd" + /* 3 */ "mmmmr...r" + /* 4 */ "mmmmr...r" + /* 5 */ "mmmmr...r" + /* 6 */ "drrrd...d" + /* 7 */ "r.......r" + /* 8 */ "r.......r" + /* 9 */ "r......sr" + /* 10 */ "drrrdrrrd", + + // Connectors: + "-1: 6, 1, 0: 2\n" /* Type -1, direction Z- */, + + // AllowedRotations: + 7, /* 1, 2, 3 CCW rotation allowed */ + + // Merge strategy: + cBlockArea::msSpongePrint, + + // ShouldExtendFloor: + true, + + // DefaultWeight: + 100, + + // DepthWeight: + "", + + // AddWeightIfSame: + 0, + + // MoveToGround: + true, + }, // SmallHouse9 +}; // g_AlchemistVillagePrefabs + + + + + + +const cPrefab::sDef g_AlchemistVillageStartingPrefabs[] = +{ + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Well: + // The data has been exported from the gallery Desert, area index 90, ID 631, created by STR_Warrior + { + // Size: + 5, 21, 5, // SizeX = 5, SizeY = 21, SizeZ = 5 + + // Hitbox (relative to bounding box): + 0, 0, 0, // MinX, MinY, MinZ + 4, 20, 4, // MaxX, MaxY, MaxZ + + // Block definitions: + ".: 0: 0\n" /* air */ + "a: 1: 0\n" /* stone */ + "b: 24: 0\n" /* sandstone */ + "c: 8: 0\n" /* water */ + "d: 24: 2\n" /* sandstone */ + "e:128: 1\n" /* sandstonestairs */ + "f: 44: 1\n" /* step */ + "g:128: 0\n" /* sandstonestairs */ + "h:128: 3\n" /* sandstonestairs */ + "i:128: 2\n" /* sandstonestairs */ + "j: 44: 9\n" /* step */ + "k:126: 0\n" /* woodenslab */ + "m: 19: 0\n" /* sponge */, + + // Block data: + // Level 0 + /* z\x* 01234 */ + /* 0 */ "aaaaa" + /* 1 */ "aaaaa" + /* 2 */ "aaaaa" + /* 3 */ "aaaaa" + /* 4 */ "aaaaa" + + // Level 1 + /* z\x* 01234 */ + /* 0 */ "bbbbb" + /* 1 */ "bcccb" + /* 2 */ "bcccb" + /* 3 */ "bcccb" + /* 4 */ "bbbbb" + + // Level 2 + /* z\x* 01234 */ + /* 0 */ "bbbbb" + /* 1 */ "bcccb" + /* 2 */ "bcccb" + /* 3 */ "bcccb" + /* 4 */ "bbbbb" + + // Level 3 + /* z\x* 01234 */ + /* 0 */ "bbbbb" + /* 1 */ "bcccb" + /* 2 */ "bcccb" + /* 3 */ "bcccb" + /* 4 */ "bbbbb" + + // Level 4 + /* z\x* 01234 */ + /* 0 */ "bbbbb" + /* 1 */ "bcccb" + /* 2 */ "bcccb" + /* 3 */ "bcccb" + /* 4 */ "bbbbb" + + // Level 5 + /* z\x* 01234 */ + /* 0 */ "bbbbb" + /* 1 */ "bcccb" + /* 2 */ "bcccb" + /* 3 */ "bcccb" + /* 4 */ "bbbbb" + + // Level 6 + /* z\x* 01234 */ + /* 0 */ "bbbbb" + /* 1 */ "bcccb" + /* 2 */ "bcccb" + /* 3 */ "bcccb" + /* 4 */ "bbbbb" + + // Level 7 + /* z\x* 01234 */ + /* 0 */ "bbbbb" + /* 1 */ "bcccb" + /* 2 */ "bcccb" + /* 3 */ "bcccb" + /* 4 */ "bbbbb" + + // Level 8 + /* z\x* 01234 */ + /* 0 */ "bbbbb" + /* 1 */ "bcccb" + /* 2 */ "bcccb" + /* 3 */ "bcccb" + /* 4 */ "bbbbb" + + // Level 9 + /* z\x* 01234 */ + /* 0 */ "bbbbb" + /* 1 */ "bcccb" + /* 2 */ "bcccb" + /* 3 */ "bcccb" + /* 4 */ "bbbbb" + + // Level 10 + /* z\x* 01234 */ + /* 0 */ "bbbbb" + /* 1 */ "bcccb" + /* 2 */ "bcccb" + /* 3 */ "bcccb" + /* 4 */ "bbbbb" + + // Level 11 + /* z\x* 01234 */ + /* 0 */ "bbbbb" + /* 1 */ "bcccb" + /* 2 */ "bcccb" + /* 3 */ "bcccb" + /* 4 */ "bbbbb" + + // Level 12 + /* z\x* 01234 */ + /* 0 */ "bbbbb" + /* 1 */ "bcccb" + /* 2 */ "bcccb" + /* 3 */ "bcccb" + /* 4 */ "bbbbb" + + // Level 13 + /* z\x* 01234 */ + /* 0 */ "bbbbb" + /* 1 */ "bcccb" + /* 2 */ "bcccb" + /* 3 */ "bcccb" + /* 4 */ "bbbbb" + + // Level 14 + /* z\x* 01234 */ + /* 0 */ "bbbbb" + /* 1 */ "bcccb" + /* 2 */ "bcccb" + /* 3 */ "bcccb" + /* 4 */ "bbbbb" + + // Level 15 + /* z\x* 01234 */ + /* 0 */ "bbbbb" + /* 1 */ "bcccb" + /* 2 */ "bcccb" + /* 3 */ "bcccb" + /* 4 */ "bbbbb" + + // Level 16 + /* z\x* 01234 */ + /* 0 */ "defgd" + /* 1 */ "h...h" + /* 2 */ "f...f" + /* 3 */ "i...i" + /* 4 */ "defgd" + + // Level 17 + /* z\x* 01234 */ + /* 0 */ "d...d" + /* 1 */ "....." + /* 2 */ "....." + /* 3 */ "....." + /* 4 */ "d...d" + + // Level 18 + /* z\x* 01234 */ + /* 0 */ "djjjd" + /* 1 */ "j...j" + /* 2 */ "j...j" + /* 3 */ "j...j" + /* 4 */ "djjjd" + + // Level 19 + /* z\x* 01234 */ + /* 0 */ "bbbbb" + /* 1 */ "bkkkb" + /* 2 */ "bkkkb" + /* 3 */ "bkkkb" + /* 4 */ "bbbbb" + + // Level 20 + /* z\x* 01234 */ + /* 0 */ "f.f.f" + /* 1 */ "....." + /* 2 */ "f...f" + /* 3 */ "....." + /* 4 */ "f.f.f", + + // Connectors: + "2: 2, 16, 4: 3\n" /* Type 2, direction Z+ */ + "2: 0, 16, 2: 4\n" /* Type 2, direction X- */ + "2: 2, 16, 0: 2\n" /* Type 2, direction Z- */ + "2: 4, 16, 2: 5\n" /* Type 2, direction X+ */, + + // AllowedRotations: + 7, /* 1, 2, 3 CCW rotation allowed */ + + // Merge strategy: + cBlockArea::msSpongePrint, + + // ShouldExtendFloor: + true, + + // DefaultWeight: + 100, + + // DepthWeight: + "", + + // AddWeightIfSame: + 0, + + // MoveToGround: + true, + }, // Well +}; + + + + + +// The prefab counts: + +const size_t g_AlchemistVillagePrefabsCount = ARRAYCOUNT(g_AlchemistVillagePrefabs); + +const size_t g_AlchemistVillageStartingPrefabsCount = ARRAYCOUNT(g_AlchemistVillageStartingPrefabs); + diff --git a/src/Generating/Prefabs/AlchemistVillagePrefabs.h b/src/Generating/Prefabs/AlchemistVillagePrefabs.h new file mode 100644 index 000000000..dddc5530a --- /dev/null +++ b/src/Generating/Prefabs/AlchemistVillagePrefabs.h @@ -0,0 +1,15 @@ + +// AlchemistVillagePrefabs.h + +// Declares the prefabs in the group AlchemistVillage + +#include "../Prefab.h" + + + + + +extern const cPrefab::sDef g_AlchemistVillagePrefabs[]; +extern const cPrefab::sDef g_AlchemistVillageStartingPrefabs[]; +extern const size_t g_AlchemistVillagePrefabsCount; +extern const size_t g_AlchemistVillageStartingPrefabsCount; diff --git a/src/Generating/VillageGen.cpp b/src/Generating/VillageGen.cpp index cb1f4fe0d..dfcdf6ef7 100644 --- a/src/Generating/VillageGen.cpp +++ b/src/Generating/VillageGen.cpp @@ -5,6 +5,7 @@ #include "Globals.h" #include "VillageGen.h" +#include "Prefabs/AlchemistVillagePrefabs.h" #include "Prefabs/JapaneseVillagePrefabs.h" #include "Prefabs/PlainsVillagePrefabs.h" #include "Prefabs/SandVillagePrefabs.h" @@ -274,6 +275,12 @@ protected: } + virtual int GetStartingPieceWeight(const cPiece & a_NewPiece) override + { + return m_Prefabs.GetStartingPieceWeight(a_NewPiece); + } + + virtual void PiecePlaced(const cPiece & a_Piece) override { m_Prefabs.PiecePlaced(a_Piece); @@ -311,18 +318,25 @@ protected: /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // cVillageGen: -/** The prefabs for the sand village. */ static cVillagePiecePool g_SandVillage(g_SandVillagePrefabs, g_SandVillagePrefabsCount, g_SandVillageStartingPrefabs, g_SandVillageStartingPrefabsCount); - -/** The prefabs for the flat-roofed sand village. */ static cVillagePiecePool g_SandFlatRoofVillage(g_SandFlatRoofVillagePrefabs, g_SandFlatRoofVillagePrefabsCount, g_SandFlatRoofVillageStartingPrefabs, g_SandFlatRoofVillageStartingPrefabsCount); - -/** The prefabs for the plains village. */ +static cVillagePiecePool g_AlchemistVillage(g_AlchemistVillagePrefabs, g_AlchemistVillagePrefabsCount, g_AlchemistVillageStartingPrefabs, g_AlchemistVillageStartingPrefabsCount); static cVillagePiecePool g_PlainsVillage(g_PlainsVillagePrefabs, g_PlainsVillagePrefabsCount, g_PlainsVillageStartingPrefabs, g_PlainsVillageStartingPrefabsCount); - -/** The prefabs for the Japanese village. */ static cVillagePiecePool g_JapaneseVillage(g_JapaneseVillagePrefabs, g_JapaneseVillagePrefabsCount, g_JapaneseVillageStartingPrefabs, g_JapaneseVillageStartingPrefabsCount); +static cVillagePiecePool * g_DesertVillagePools[] = +{ + &g_SandVillage, + &g_SandFlatRoofVillage, + &g_AlchemistVillage, +} ; + +static cVillagePiecePool * g_PlainsVillagePools[] = +{ + &g_PlainsVillage, + &g_JapaneseVillage, +} ; + @@ -356,8 +370,8 @@ cGridStructGen::cStructurePtr cVillageGen::CreateStructure(int a_OriginX, int a_ cVillagePiecePool * VillagePrefabs = NULL; BLOCKTYPE RoadBlock = E_BLOCK_GRAVEL; int rnd = m_Noise.IntNoise2DInt(a_OriginX, a_OriginZ) / 11; - cVillagePiecePool * PlainsVillage = (rnd % 2 == 0) ? &g_PlainsVillage : &g_JapaneseVillage; - cVillagePiecePool * DesertVillage = (rnd % 2 == 0) ? &g_SandVillage : &g_SandFlatRoofVillage; + cVillagePiecePool * PlainsVillage = g_PlainsVillagePools[rnd % ARRAYCOUNT(g_PlainsVillagePools)]; + cVillagePiecePool * DesertVillage = g_DesertVillagePools[rnd % ARRAYCOUNT(g_DesertVillagePools)]; for (size_t i = 0; i < ARRAYCOUNT(Biomes); i++) { switch (Biomes[i]) |