terrainViewPatterns.json 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  1. // Defines terrain view/types patterns.
  2. // The following table shows the rules for the 3x3 pattern of all terrain types:
  3. // I) normal(e.g. grass, lava, ...):
  4. // N: Native type
  5. // D: Dirt border
  6. // S: Sand border
  7. // T: Sand OR dirt border(all Ts in the pattern are replaced by dirt OR sand)
  8. // ?: D,S or N
  9. // II) dirt:
  10. // N: Native type or normal type(grass, lava, ...)
  11. // S: Sand border
  12. // ?: Any border
  13. // III) sand:
  14. // No rules
  15. // IV) water, rock:
  16. // N: Native type
  17. // S: Sand border
  18. // ?: Any border
  19. // Additional rule for validiting terrain type:
  20. // N!: Native type always(unlike N for dirt)
  21. // The order of the patterns is important, do not change!
  22. {
  23. "terrainView" :
  24. [
  25. // Extended mixed transitions
  26. {
  27. "id" : "x1",
  28. "data" :
  29. [
  30. "T", "N", "N",
  31. "N", "N", "T",
  32. "N", "T", "T"
  33. ],
  34. "mapping" : { "normal" : "73,74", "dirt" : "45" }
  35. },
  36. {
  37. "id" : "x2",
  38. "data" :
  39. [
  40. "D", "D", "N",
  41. "D", "N", "N",
  42. "N", "N", "S"
  43. ],
  44. "mapping" : { "normal" : "75" }
  45. },
  46. {
  47. "id" : "x3",
  48. "data" :
  49. [
  50. "S", "S", "N",
  51. "S", "N", "N",
  52. "N", "N", "D"
  53. ],
  54. "mapping" : { "normal" : "76" }
  55. },
  56. {
  57. "id" : "x4",
  58. "data" :
  59. [
  60. "N", "N", "S",
  61. "N", "N", "D",
  62. "S", "D", "D"
  63. ],
  64. "mapping" : { "normal" : "77" }
  65. },
  66. {
  67. "id" : "x5",
  68. "data" :
  69. [
  70. "N", "N", "D",
  71. "N", "N", "D",
  72. "D", "D", "S"
  73. ],
  74. "mapping" : { "normal" : "78" }
  75. },
  76. // No transition
  77. {
  78. "id" : "n1",
  79. "data" :
  80. [
  81. "N", "N", "N",
  82. "N", "N", "N",
  83. "N", "N", "N"
  84. ],
  85. "mapping" : { "normal" : "49-72", "dirt" : "21-44", "sand" : "0-23", "water" : "20-32", "rock": "0-7" }
  86. },
  87. // Mixed transitions
  88. {
  89. "id" : "m1",
  90. "data" :
  91. [
  92. "T", "N", "N",
  93. "N", "N", "N",
  94. "N", "N", "T"
  95. ],
  96. "mapping" : { "normal" : "40, 42", "dirt" : "20" }
  97. },
  98. {
  99. "id" : "m2",
  100. "data" :
  101. [
  102. "D", "N", "N",
  103. "N", "N", "N",
  104. "N", "N", "S"
  105. ],
  106. "mapping" : { "normal" : "41" }
  107. },
  108. {
  109. "id" : "m3",
  110. "data" :
  111. [
  112. "N", "N", "D,N",
  113. "N", "N", "D",
  114. "S", "D,N", "D,N"
  115. ],
  116. "mapping" : { "normal" : "43" }
  117. },
  118. {
  119. "id" : "m4",
  120. "data" :
  121. [
  122. "N", "N", "S",
  123. "N", "N", "D",
  124. "D,N", "D", "D,N"
  125. ],
  126. "mapping" : { "normal" : "44" }
  127. },
  128. {
  129. "id" : "m5",
  130. "data" :
  131. [
  132. "N", "N", "D",
  133. "N", "N", "D",
  134. "N", "N", "S"
  135. ],
  136. "mapping" : { "normal" : "45" }
  137. },
  138. {
  139. "id" : "m6",
  140. "data" :
  141. [
  142. "N", "N", "N",
  143. "N", "N", "N",
  144. "D,N", "D", "S"
  145. ],
  146. "mapping" : { "normal" : "46" }
  147. },
  148. {
  149. "id" : "m7",
  150. "data" :
  151. [
  152. "N", "N", "?",
  153. "N", "N", "S",
  154. "D-1,N", "D-1,N", "?"
  155. ],
  156. "minPoints" : 1,
  157. "mapping" : { "normal" : "47" }
  158. },
  159. {
  160. "id" : "m8",
  161. "data" :
  162. [
  163. "N", "N", "D-1,N",
  164. "N", "N", "D-1,N",
  165. "?", "S", "?"
  166. ],
  167. "minPoints" : 1,
  168. "mapping" : { "normal" : "48" }
  169. },
  170. // Standard transitions
  171. {
  172. "id" : "s2",
  173. "data" :
  174. [
  175. "?", "N", "N",
  176. "T", "N", "N",
  177. "?", "N", "N"
  178. ],
  179. "mapping" : { "normal" : "4-7, 24-27", "dirt" : "4-7", "water" : "4-7", "rock": "2D:16-19" }
  180. },
  181. {
  182. "id" : "s3",
  183. "data" :
  184. [
  185. "?", "T", "?",
  186. "N", "N", "N",
  187. "N", "N", "N"
  188. ],
  189. "mapping" : { "normal" : "8-11, 28-31", "dirt" : "8-11", "water" : "8-11", "rock": "2D:20-23" }
  190. },
  191. {
  192. "id" : "s4",
  193. "data" :
  194. [
  195. "N", "N", "N",
  196. "N", "N", "s3-1,m7-1,m8-1",
  197. "N", "s2-1,m7-1,m8-1", "T"
  198. ],
  199. "minPoints" : 2,
  200. "mapping" : { "normal" : "12-15, 32-35", "dirt" : "12-15", "water" : "12-15", "rock": "4D:24-31" }
  201. },
  202. {
  203. "id" : "s5",
  204. "data" :
  205. [
  206. "T", "T", "?",
  207. "T", "N", "s6-1,m1-1,m2-1,N",
  208. "?,x1-1,s1-1", "s6-1,m1-1,m2-1,N", "N"
  209. ],
  210. "minPoints" : 1,
  211. "mapping" : { "normal" : "16-17, 36-37", "dirt" : "16-17", "water" : "16-17", "rock": "4D:32-39" }
  212. },
  213. {
  214. "id" : "s6",
  215. "data" :
  216. [
  217. "N", "N", "N",
  218. "N", "N", "s5-1,N",
  219. "N", "s5-1,N", "T"
  220. ],
  221. "minPoints" : 1,
  222. "mapping" : { "normal" : "18-19, 38-39", "dirt" : "18-19", "water" : "18-19", "rock": "4D:40-47" }
  223. },
  224. {
  225. "id" : "s1",
  226. "data" :
  227. [
  228. "?", "?", "?",
  229. "?", "N", "N",
  230. "T", "N", "N"
  231. ],
  232. "mapping" : { "normal" : "0-3, 20-23", "dirt" : "0-3", "water" : "0-3", "rock": "4D:8-15" }
  233. }
  234. ],
  235. "terrainType" :
  236. [
  237. {
  238. "id" : "n1",
  239. "data" :
  240. [
  241. "N!", "N!", "?",
  242. "N!", "N!", "?",
  243. "?", "?", "?"
  244. ]
  245. },
  246. {
  247. "id" : "n2",
  248. "data" :
  249. [
  250. "N!", "N!", "D,S",
  251. "D,S", "N!", "N!",
  252. "D,S", "D,S", "N!"
  253. ]
  254. },
  255. {
  256. "id" : "n3",
  257. "data" :
  258. [
  259. "D,S", "D,S", "N!",
  260. "D,S", "N!", "N!",
  261. "N!", "N!", "D,S"
  262. ]
  263. },
  264. {
  265. "id" : "s1",
  266. "data" :
  267. [
  268. "T", "N", "N",
  269. "N", "N", "N,T",
  270. "N", "N", "T"
  271. ]
  272. },
  273. {
  274. "id" : "s2",
  275. "data" :
  276. [
  277. "N", "N,T", "T",
  278. "N", "N", "N",
  279. "T", "N", "N"
  280. ]
  281. }
  282. ]
  283. }