VoxeLands.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

content_nodebox.cpp 47KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303
  1. /************************************************************************
  2. * Minetest-c55
  3. * Copyright (C) 2010 celeron55, Perttu Ahola <celeron55@gmail.com>
  4. *
  5. * content_nodebox.cpp
  6. * Copyright (C) Lisa 'darkrose' Milne 2013-2014 <lisa@ltmnet.com>
  7. *
  8. * This program is free software: you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License as published by
  10. * the Free Software Foundation, either version 3 of the License, or
  11. * (at your option) any later version.
  12. *
  13. * This program is distributed in the hope that it will be useful, but
  14. * WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  16. * See the GNU General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU General Public License
  19. * along with this program. If not, see <http://www.gnu.org/licenses/>
  20. ************************************************************************/
  21. #include "content_mapnode.h"
  22. #include "content_nodebox.h"
  23. void content_nodebox_stair(ContentFeatures *f)
  24. {
  25. f->setNodeBox(NodeBox(
  26. -0.5*BS,
  27. -0.5*BS,
  28. -0.25*BS,
  29. 0.5*BS,
  30. 0.,
  31. 0.5*BS
  32. ));
  33. f->addNodeBox(NodeBox(
  34. -0.5*BS,
  35. 0.,
  36. 0.,
  37. 0.5*BS,
  38. 0.25*BS,
  39. 0.5*BS
  40. ));
  41. f->addNodeBox(NodeBox(
  42. -0.5*BS,
  43. 0.25*BS,
  44. 0.25*BS,
  45. 0.5*BS,
  46. 0.5*BS,
  47. 0.5*BS
  48. ));
  49. f->addNodeBox(NodeBox(
  50. -0.5*BS,
  51. -0.5*BS,
  52. -0.5*BS,
  53. 0.5*BS,
  54. -0.25*BS,
  55. -0.25*BS
  56. ));
  57. }
  58. void content_nodebox_stairud(ContentFeatures *f)
  59. {
  60. f->setNodeBox(NodeBox(
  61. -0.5*BS,0.,-0.25*BS,0.5*BS,0.5*BS,0.5*BS
  62. ));
  63. f->addNodeBox(NodeBox(
  64. -0.5*BS,0.25*BS,-0.5*BS,0.5*BS,0.5*BS,-0.25*BS
  65. ));
  66. f->addNodeBox(NodeBox(
  67. -0.5*BS,-0.25*BS,0.000000,0.5*BS,0.000000,0.5*BS
  68. ));
  69. f->addNodeBox(NodeBox(
  70. -0.5*BS,-0.5*BS,0.25*BS,0.5*BS,-0.25*BS,0.5*BS
  71. ));
  72. }
  73. void content_nodebox_stair_corner(ContentFeatures *f)
  74. {
  75. f->setNodeBox(NodeBox(
  76. -0.5*BS,-0.5*BS,-0.5*BS,0.5*BS,-0.25*BS,0.5*BS
  77. ));
  78. f->addNodeBox(NodeBox(
  79. -0.5*BS,-0.25*BS,-0.25*BS,0.25*BS,0*BS,0.5*BS
  80. ));
  81. f->addNodeBox(NodeBox(
  82. -0.5*BS,0*BS,0*BS,0*BS,0.25*BS,0.5*BS
  83. ));
  84. f->addNodeBox(NodeBox(
  85. -0.5*BS,0.25*BS,0.25*BS,-0.25*BS,0.5*BS,0.5*BS
  86. ));
  87. }
  88. void content_nodebox_stair_cornerud(ContentFeatures *f)
  89. {
  90. f->setNodeBox(NodeBox(
  91. -0.5*BS,0.25*BS,-0.5*BS,0.5*BS,0.5*BS,0.5*BS
  92. ));
  93. f->addNodeBox(NodeBox(
  94. -0.5*BS,0*BS,-0.25*BS,0.25*BS,0.25*BS,0.5*BS
  95. ));
  96. f->addNodeBox(NodeBox(
  97. -0.5*BS,-0.25*BS,0*BS,0*BS,0*BS,0.5*BS
  98. ));
  99. f->addNodeBox(NodeBox(
  100. -0.5*BS,-0.5*BS,0.25*BS,-0.25*BS,-0.25*BS,0.5*BS
  101. ));
  102. }
  103. void content_nodebox_inner_stair_corner(ContentFeatures *f)
  104. {
  105. f->setNodeBox(NodeBox(
  106. -0.5*BS,-0.5*BS,-0.5*BS,0.5*BS,-0.25*BS,0.5*BS
  107. ));
  108. f->addNodeBox(NodeBox(
  109. -0.5*BS,-0.25*BS,-0.5*BS,0.25*BS,0*BS,0.5*BS
  110. ));
  111. f->addNodeBox(NodeBox(
  112. 0.25*BS,-0.25*BS,-0.25*BS,0.5*BS,0*BS,0.5*BS
  113. ));
  114. f->addNodeBox(NodeBox(
  115. -0.5*BS,0*BS,-0.5*BS,0*BS,0.25*BS,0.5*BS
  116. ));
  117. f->addNodeBox(NodeBox(
  118. 0*BS,0*BS,0*BS,0.5*BS,0.25*BS,0.5*BS
  119. ));
  120. f->addNodeBox(NodeBox(
  121. -0.5*BS,0.25*BS,-0.5*BS,-0.25*BS,0.5*BS,0.5*BS
  122. ));
  123. f->addNodeBox(NodeBox(
  124. -0.25*BS,0.25*BS,0.25*BS,0.5*BS,0.5*BS,0.5*BS
  125. ));
  126. }
  127. void content_nodebox_inner_stair_cornerud(ContentFeatures *f)
  128. {
  129. f->setNodeBox(NodeBox(
  130. -0.5*BS,0.25*BS,-0.5*BS,0.5*BS,0.5*BS,0.5*BS
  131. ));
  132. f->addNodeBox(NodeBox(
  133. -0.5*BS,0*BS,-0.5*BS,0.25*BS,0.25*BS,0.5*BS
  134. ));
  135. f->addNodeBox(NodeBox(
  136. 0.25*BS,0*BS,-0.25*BS,0.5*BS,0.25*BS,0.5*BS
  137. ));
  138. f->addNodeBox(NodeBox(
  139. -0.5*BS,-0.25*BS,-0.5*BS,0*BS,0*BS,0.5*BS
  140. ));
  141. f->addNodeBox(NodeBox(
  142. 0*BS,-0.25*BS,0*BS,0.5*BS,0*BS,0.5*BS
  143. ));
  144. f->addNodeBox(NodeBox(
  145. -0.5*BS,-0.5*BS,-0.5*BS,-0.25*BS,-0.25*BS,0.5*BS
  146. ));
  147. f->addNodeBox(NodeBox(
  148. -0.25*BS,-0.5*BS,0.25*BS,0.5*BS,-0.25*BS,0.5*BS
  149. ));
  150. }
  151. void content_nodebox_slab(ContentFeatures *f)
  152. {
  153. f->setNodeBox(NodeBox(
  154. -0.5*BS,
  155. -0.5*BS,
  156. -0.5*BS,
  157. 0.5*BS,
  158. 0,
  159. 0.5*BS
  160. ));
  161. }
  162. void content_nodebox_slabud(ContentFeatures *f)
  163. {
  164. f->setNodeBox(NodeBox(
  165. -0.5*BS,
  166. 0.,
  167. -0.5*BS,
  168. 0.5*BS,
  169. 0.5*BS,
  170. 0.5*BS
  171. ));
  172. }
  173. void content_nodebox_door(ContentFeatures *f)
  174. {
  175. f->setNodeBox(NodeBox(
  176. -0.5*BS,
  177. -0.5*BS,
  178. -0.5*BS,
  179. 0.5*BS,
  180. 0.5*BS,
  181. -0.3125*BS
  182. ));
  183. }
  184. void content_nodebox_doorw(ContentFeatures *f)
  185. {
  186. f->setNodeBox(NodeBox(
  187. -0.5*BS,
  188. -0.5*BS,
  189. -0.5*BS,
  190. 0.5*BS,
  191. -0.3125*BS,
  192. -0.3125*BS
  193. ));
  194. f->addNodeBox(NodeBox(
  195. -0.5*BS,
  196. 0.3125*BS,
  197. -0.5*BS,
  198. 0.5*BS,
  199. 0.5*BS,
  200. -0.3125*BS
  201. ));
  202. f->addNodeBox(NodeBox(
  203. -0.5*BS,
  204. -0.3125*BS,
  205. -0.5*BS,
  206. -0.3125*BS,
  207. 0.3125*BS,
  208. -0.3125*BS
  209. ));
  210. f->addNodeBox(NodeBox(
  211. 0.3125*BS,
  212. -0.3125*BS,
  213. -0.5*BS,
  214. 0.5*BS,
  215. 0.3125*BS,
  216. -0.3125*BS
  217. ));
  218. f->addNodeBox(NodeBox(
  219. -0.0625*BS,
  220. -0.3125*BS,
  221. -0.4375*BS,
  222. 0.0625*BS,
  223. 0.3125*BS,
  224. -0.375*BS
  225. ));
  226. f->addNodeBox(NodeBox(
  227. -0.3125*BS,
  228. -0.0625*BS,
  229. -0.4375*BS,
  230. -0.0625*BS,
  231. 0.0625*BS,
  232. -0.375*BS
  233. ));
  234. f->addNodeBox(NodeBox(
  235. 0.0625*BS,
  236. -0.0625*BS,
  237. -0.4375*BS,
  238. 0.3125*BS,
  239. 0.0625*BS,
  240. -0.375*BS
  241. ));
  242. }
  243. void content_nodebox_doorol(ContentFeatures *f)
  244. {
  245. f->setNodeBox(NodeBox(
  246. -0.5*BS,
  247. -0.5*BS,
  248. -0.5*BS,
  249. -0.3125*BS,
  250. 0.5*BS,
  251. 0.5*BS
  252. ));
  253. }
  254. void content_nodebox_doorwol(ContentFeatures *f)
  255. {
  256. f->setNodeBox(NodeBox(
  257. -0.5*BS,
  258. -0.5*BS,
  259. -0.5*BS,
  260. -0.3125*BS,
  261. -0.3125*BS,
  262. 0.5*BS
  263. ));
  264. f->addNodeBox(NodeBox(
  265. -0.5*BS,
  266. 0.3125*BS,
  267. -0.5*BS,
  268. -0.3125*BS,
  269. 0.5*BS,
  270. 0.5*BS
  271. ));
  272. f->addNodeBox(NodeBox(
  273. -0.5*BS,
  274. -0.3125*BS,
  275. -0.5*BS,
  276. -0.3125*BS,
  277. 0.3125*BS,
  278. -0.3125*BS
  279. ));
  280. f->addNodeBox(NodeBox(
  281. -0.5*BS,
  282. -0.3125*BS,
  283. 0.3125*BS,
  284. -0.3125*BS,
  285. 0.3125*BS,
  286. 0.5*BS
  287. ));
  288. f->addNodeBox(NodeBox(
  289. -0.4375*BS,
  290. -0.3125*BS,
  291. -0.0625*BS,
  292. -0.375*BS,
  293. 0.3125*BS,
  294. 0.0625*BS
  295. ));
  296. f->addNodeBox(NodeBox(
  297. -0.4375*BS,
  298. -0.0625*BS,
  299. -0.3125*BS,
  300. -0.375*BS,
  301. 0.0625*BS,
  302. -0.0625*BS
  303. ));
  304. f->addNodeBox(NodeBox(
  305. -0.4375*BS,
  306. -0.0625*BS,
  307. 0.0625*BS,
  308. -0.375*BS,
  309. 0.0625*BS,
  310. 0.3125*BS
  311. ));
  312. }
  313. void content_nodebox_dooror(ContentFeatures *f)
  314. {
  315. f->setNodeBox(NodeBox(
  316. 0.3125*BS,
  317. -0.5*BS,
  318. -0.5*BS,
  319. 0.5*BS,
  320. 0.5*BS,
  321. 0.5*BS
  322. ));
  323. }
  324. void content_nodebox_doorwor(ContentFeatures *f)
  325. {
  326. f->setNodeBox(NodeBox(
  327. 0.3125*BS,
  328. -0.5*BS,
  329. -0.5*BS,
  330. 0.5*BS,
  331. -0.3125*BS,
  332. 0.5*BS
  333. ));
  334. f->addNodeBox(NodeBox(
  335. 0.3125*BS,
  336. 0.3125*BS,
  337. -0.5*BS,
  338. 0.5*BS,
  339. 0.5*BS,
  340. 0.5*BS
  341. ));
  342. f->addNodeBox(NodeBox(
  343. 0.3125*BS,
  344. -0.3125*BS,
  345. -0.5*BS,
  346. 0.5*BS,
  347. 0.3125*BS,
  348. -0.3125*BS
  349. ));
  350. f->addNodeBox(NodeBox(
  351. 0.3125*BS,
  352. -0.3125*BS,
  353. 0.3125*BS,
  354. 0.5*BS,
  355. 0.3125*BS,
  356. 0.5*BS
  357. ));
  358. f->addNodeBox(NodeBox(
  359. 0.375*BS,
  360. -0.3125*BS,
  361. -0.0625*BS,
  362. 0.4375*BS,
  363. 0.3125*BS,
  364. 0.0625*BS
  365. ));
  366. f->addNodeBox(NodeBox(
  367. 0.375*BS,
  368. -0.0625*BS,
  369. -0.3125*BS,
  370. 0.4375*BS,
  371. 0.0625*BS,
  372. -0.0625*BS
  373. ));
  374. f->addNodeBox(NodeBox(
  375. 0.375*BS,
  376. -0.0625*BS,
  377. 0.0625*BS,
  378. 0.4375*BS,
  379. 0.0625*BS,
  380. 0.3125*BS
  381. ));
  382. }
  383. void content_nodebox_hatch(ContentFeatures *f)
  384. {
  385. f->setNodeBox(NodeBox(
  386. -0.5*BS,
  387. 0.3125*BS,
  388. -0.5*BS,
  389. 0.5*BS,
  390. 0.5*BS,
  391. 0.5*BS
  392. ));
  393. }
  394. void content_nodebox_hatchw(ContentFeatures *f)
  395. {
  396. f->setNodeBox(NodeBox(
  397. -0.5*BS,
  398. 0.3125*BS,
  399. -0.5*BS,
  400. 0.5*BS,
  401. 0.5*BS,
  402. -0.3125*BS
  403. ));
  404. f->addNodeBox(NodeBox(
  405. -0.5*BS,
  406. 0.3125*BS,
  407. 0.3125*BS,
  408. 0.5*BS,
  409. 0.5*BS,
  410. 0.5*BS
  411. ));
  412. f->addNodeBox(NodeBox(
  413. 0.3125*BS,
  414. 0.3125*BS,
  415. -0.3125*BS,
  416. 0.5*BS,
  417. 0.5*BS,
  418. 0.3125*BS
  419. ));
  420. f->addNodeBox(NodeBox(
  421. -0.5*BS,
  422. 0.3125*BS,
  423. -0.3125*BS,
  424. -0.3125*BS,
  425. 0.5*BS,
  426. 0.3125*BS
  427. ));
  428. f->addNodeBox(NodeBox(
  429. -0.0625*BS,
  430. 0.375*BS,
  431. -0.3125*BS,
  432. 0.0625*BS,
  433. 0.4375*BS,
  434. 0.5*BS
  435. ));
  436. f->addNodeBox(NodeBox(
  437. -0.3125*BS,
  438. 0.375*BS,
  439. -0.0625*BS,
  440. -0.0625*BS,
  441. 0.4375*BS,
  442. 0.0625*BS
  443. ));
  444. f->addNodeBox(NodeBox(
  445. 0.0625*BS,
  446. 0.375*BS,
  447. -0.0625*BS,
  448. 0.3125*BS,
  449. 0.4375*BS,
  450. 0.0625*BS
  451. ));
  452. }
  453. void content_nodebox_hatcho(ContentFeatures *f)
  454. {
  455. f->setNodeBox(NodeBox(
  456. 0.3125*BS,
  457. -0.5*BS,
  458. -0.5*BS,
  459. 0.5*BS,
  460. 0.5*BS,
  461. 0.5*BS
  462. ));
  463. }
  464. void content_nodebox_hatchwo(ContentFeatures *f)
  465. {
  466. f->setNodeBox(NodeBox(
  467. 0.3125*BS,
  468. 0.3125*BS,
  469. -0.5*BS,
  470. 0.5*BS,
  471. 0.5*BS,
  472. 0.5*BS
  473. ));
  474. f->addNodeBox(NodeBox(
  475. 0.3125*BS,
  476. -0.5*BS,
  477. -0.5*BS,
  478. 0.5*BS,
  479. -0.3125*BS,
  480. 0.5*BS
  481. ));
  482. f->addNodeBox(NodeBox(
  483. 0.3125*BS,
  484. -0.3125*BS,
  485. -0.5*BS,
  486. 0.5*BS,
  487. 0.3125*BS,
  488. -0.3125*BS
  489. ));
  490. f->addNodeBox(NodeBox(
  491. 0.3125*BS,
  492. -0.3125*BS,
  493. 0.3125*BS,
  494. 0.5*BS,
  495. 0.3125*BS,
  496. 0.5*BS
  497. ));
  498. f->addNodeBox(NodeBox(
  499. 0.375*BS,
  500. -0.3125*BS,
  501. -0.0625*BS,
  502. 0.4375*BS,
  503. 0.3125*BS,
  504. 0.0625*BS
  505. ));
  506. f->addNodeBox(NodeBox(
  507. 0.375*BS,
  508. -0.0625*BS,
  509. -0.3125*BS,
  510. 0.4375*BS,
  511. 0.0625*BS,
  512. -0.0625*BS
  513. ));
  514. f->addNodeBox(NodeBox(
  515. 0.375*BS,
  516. -0.0625*BS,
  517. 0.0625*BS,
  518. 0.4375*BS,
  519. 0.0625*BS,
  520. 0.3125*BS
  521. ));
  522. }
  523. void content_nodebox_gate(ContentFeatures *f)
  524. {
  525. f->setNodeBox(NodeBox(
  526. 0.4375*BS,-0.5*BS,-0.13*BS,0.5625*BS,0.625*BS,0.13*BS
  527. ));
  528. f->addNodeBox(NodeBox(
  529. -0.5625*BS,-0.5*BS,-0.13*BS,-0.4375*BS,0.625*BS,0.13*BS
  530. ));
  531. f->addNodeBox(NodeBox(
  532. -0.0625*BS,-0.25*BS,-0.0625*BS,0.0625*BS,0.625*BS,0.0625*BS
  533. ));
  534. f->addNodeBox(NodeBox(
  535. -0.4375*BS,0.375*BS,-0.0625*BS,-0.0625*BS,0.5*BS,0.0625*BS
  536. ));
  537. f->addNodeBox(NodeBox(
  538. -0.4375*BS,-0.125*BS,-0.0625*BS,-0.0625*BS,0.*BS,0.0625*BS
  539. ));
  540. f->addNodeBox(NodeBox(
  541. 0.0625*BS,0.375*BS,-0.0625*BS,0.4375*BS,0.5*BS,0.0625*BS
  542. ));
  543. f->addNodeBox(NodeBox(
  544. 0.0625*BS,-0.125*BS,-0.0625*BS,0.4375*BS,0.*BS,0.0625*BS
  545. ));
  546. }
  547. void content_nodebox_gateo(ContentFeatures *f)
  548. {
  549. f->setNodeBox(NodeBox(
  550. 0.4375*BS,-0.5*BS,-0.13*BS,0.5625*BS,0.625*BS,0.13*BS
  551. ));
  552. f->addNodeBox(NodeBox(
  553. -0.5625*BS,-0.5*BS,-0.13*BS,-0.4375*BS,0.625*BS,0.13*BS
  554. ));
  555. f->addNodeBox(NodeBox(
  556. -0.5*BS,-0.25*BS,0.4375*BS,-0.375*BS,0.625*BS,0.5*BS
  557. ));
  558. f->addNodeBox(NodeBox(
  559. -0.5*BS,0.375*BS,-0.0625*BS,-0.375*BS,0.5*BS,0.4375*BS
  560. ));
  561. f->addNodeBox(NodeBox(
  562. -0.5*BS,-0.125*BS,-0.0625*BS,-0.375*BS,0.*BS,0.4375*BS
  563. ));
  564. f->addNodeBox(NodeBox(
  565. 0.375*BS,0.375*BS,-0.0625*BS,0.5*BS,0.5*BS,0.4375*BS
  566. ));
  567. f->addNodeBox(NodeBox(
  568. 0.375*BS,-0.125*BS,-0.0625*BS,0.5*BS,0.*BS,0.4375*BS
  569. ));
  570. f->addNodeBox(NodeBox(
  571. 0.375*BS,-0.25*BS,0.4375*BS,0.5*BS,0.625*BS,0.5*BS
  572. ));
  573. }
  574. void content_nodebox_carpet(ContentFeatures *f)
  575. {
  576. f->setNodeBox(NodeBox(
  577. -0.5*BS,
  578. -0.5*BS,
  579. -0.5*BS,
  580. 0.5*BS,
  581. -0.4375*BS,
  582. 0.5*BS
  583. ));
  584. }
  585. void content_nodebox_bed_head(ContentFeatures *f)
  586. {
  587. f->setNodeBox(NodeBox(
  588. -0.4375*BS,
  589. -0.125*BS,
  590. -0.5*BS,
  591. 0.4375*BS,
  592. 0.125*BS,
  593. 0.4375*BS
  594. ));
  595. f->addNodeBox(NodeBox(
  596. -0.375*BS,
  597. 0.125*BS,
  598. 0.*BS,
  599. 0.375*BS,
  600. 0.1875*BS,
  601. 0.375*BS
  602. ));
  603. f->addNodeBox(NodeBox(
  604. -0.5*BS,
  605. -0.5*BS,
  606. 0.375*BS,
  607. -0.375*BS,
  608. 0.5*BS,
  609. 0.5*BS
  610. ));
  611. f->addNodeBox(NodeBox(
  612. 0.375*BS,
  613. -0.5*BS,
  614. 0.375*BS,
  615. 0.5*BS,
  616. 0.5*BS,
  617. 0.5*BS
  618. ));
  619. f->addNodeBox(NodeBox(
  620. -0.375*BS,
  621. -0.125*BS,
  622. 0.4375*BS,
  623. 0.375*BS,
  624. 0.*BS,
  625. 0.5*BS
  626. ));
  627. f->addNodeBox(NodeBox(
  628. -0.375*BS,
  629. 0.1925*BS,
  630. 0.4375*BS,
  631. 0.375*BS,
  632. 0.375*BS,
  633. 0.5*BS
  634. ));
  635. f->addNodeBox(NodeBox(
  636. 0.4375*BS,
  637. -0.125*BS,
  638. -0.5*BS,
  639. 0.5*BS,
  640. 0.*BS,
  641. 0.375*BS
  642. ));
  643. f->addNodeBox(NodeBox(
  644. -0.5*BS,
  645. -0.125*BS,
  646. -0.5*BS,
  647. -0.4375*BS,
  648. 0.*BS,
  649. 0.375*BS
  650. ));
  651. }
  652. void content_nodebox_bed_foot(ContentFeatures *f)
  653. {
  654. f->setNodeBox(NodeBox(
  655. -0.4375*BS,
  656. -0.125*BS,
  657. -0.4375*BS,
  658. 0.4375*BS,
  659. 0.125*BS,
  660. 0.5*BS
  661. ));
  662. f->addNodeBox(NodeBox(
  663. -0.5*BS,
  664. -0.5*BS,
  665. -0.5*BS,
  666. -0.375*BS,
  667. 0.5*BS,
  668. -0.375*BS
  669. ));
  670. f->addNodeBox(NodeBox(
  671. 0.375*BS,
  672. -0.5*BS,
  673. -0.5*BS,
  674. 0.5*BS,
  675. 0.5*BS,
  676. -0.375*BS
  677. ));
  678. f->addNodeBox(NodeBox(
  679. -0.375*BS,
  680. -0.125*BS,
  681. -0.5*BS,
  682. 0.375*BS,
  683. 0.*BS,
  684. -0.4375*BS
  685. ));
  686. f->addNodeBox(NodeBox(
  687. -0.375*BS,
  688. 0.1925*BS,
  689. -0.5*BS,
  690. 0.375*BS,
  691. 0.25*BS,
  692. -0.4375*BS
  693. ));
  694. f->addNodeBox(NodeBox(
  695. 0.4375*BS,
  696. -0.125*BS,
  697. -0.375*BS,
  698. 0.5*BS,
  699. 0.*BS,
  700. 0.5*BS
  701. ));
  702. f->addNodeBox(NodeBox(
  703. -0.5*BS,
  704. -0.125*BS,
  705. -0.375*BS,
  706. -0.4375*BS,
  707. 0.*BS,
  708. 0.5*BS
  709. ));
  710. }
  711. void content_nodebox_plant_1(ContentFeatures *f)
  712. {
  713. f->setNodeBox(NodeBox(
  714. -0.25*BS,
  715. -0.5*BS,
  716. -0.25*BS,
  717. 0.25*BS,
  718. 0.*BS,
  719. 0.25*BS
  720. ));
  721. }
  722. void content_nodebox_plant_2(ContentFeatures *f)
  723. {
  724. f->setNodeBox(NodeBox(
  725. -0.375*BS,
  726. -0.5*BS,
  727. -0.375*BS,
  728. 0.375*BS,
  729. 0.25*BS,
  730. 0.375*BS
  731. ));
  732. }
  733. void content_nodebox_plant_3(ContentFeatures *f)
  734. {
  735. f->setNodeBox(NodeBox(
  736. -0.4375*BS,
  737. -0.5*BS,
  738. -0.4375*BS,
  739. 0.4375*BS,
  740. 0.375*BS,
  741. 0.4375*BS
  742. ));
  743. }
  744. void content_nodebox_guide(ContentFeatures *f)
  745. {
  746. f->setNodeBox(NodeBox(
  747. -0.4375*BS,
  748. -0.5*BS,
  749. -0.375*BS,
  750. 0.4375*BS,
  751. -0.4375*BS,
  752. 0.1875*BS
  753. ));
  754. f->addNodeBox(NodeBox(
  755. -0.375*BS,
  756. -0.4375*BS,
  757. -0.375*BS,
  758. 0.375*BS,
  759. -0.375*BS,
  760. 0.1875*BS
  761. ));
  762. }
  763. // Painting nodebox - easy access!
  764. void content_nodebox_painting(ContentFeatures *f)
  765. {
  766. f->setNodeBox(NodeBox(
  767. v3s16(0,0,1),v3f(0,0,0),
  768. -0.4375*BS,
  769. -0.375*BS,
  770. 0.4375*BS,
  771. 0.4375*BS,
  772. 0.375*BS,
  773. 0.5*BS
  774. ));
  775. }
  776. void content_nodebox_book(ContentFeatures *f)
  777. {
  778. // lower cover
  779. f->setNodeBox(NodeBox(
  780. 0,
  781. -0.5*BS,
  782. // -6 / 16
  783. -0.375*BS,
  784. // 7 / 16
  785. 0.4375*BS,
  786. // -7 / 16
  787. -0.4375*BS,
  788. // 3 / 16
  789. 0.1875*BS
  790. ));
  791. // pages
  792. f->addNodeBox(NodeBox(
  793. 0,
  794. // -7 / 16
  795. -0.4375*BS,
  796. // -6 / 16
  797. -0.375*BS,
  798. // 6 / 16
  799. 0.375*BS,
  800. // -5 / 16
  801. -0.3125*BS,
  802. // 3 / 16
  803. 0.1875*BS
  804. ));
  805. // top cover
  806. f->addNodeBox(NodeBox(
  807. 0,
  808. // -5 / 16
  809. -0.3125*BS,
  810. // -6 / 16
  811. -0.375*BS,
  812. // 7 / 16
  813. 0.4375*BS,
  814. // -4 / 16
  815. -0.25*BS,
  816. // 3 / 16
  817. 0.1875*BS
  818. ));
  819. }
  820. void content_nodebox_pie(ContentFeatures *f)
  821. {
  822. f->setNodeBox(NodeBox(
  823. (-4.0 / 16.0)*BS,
  824. -0.5*BS,
  825. (-4.0 / 16.0)*BS,
  826. (4.0 / 16.0)*BS,
  827. (-6.0 / 16.0)*BS,
  828. (4.0 / 16.0)*BS
  829. ));
  830. f->addNodeBox(NodeBox(
  831. (-5.0 / 16.0)*BS,
  832. (-6.0 / 16.0)*BS,
  833. (-5.0 / 16.0)*BS,
  834. (5.0 / 16.0)*BS,
  835. (-5.0 / 16.0)*BS,
  836. (5.0 / 16.0)*BS
  837. ));
  838. }
  839. void content_nodebox_pie_3(ContentFeatures *f)
  840. {
  841. f->setNodeBox(NodeBox(
  842. (-4.0 / 16.0)*BS,
  843. -0.5*BS,
  844. (-4.0 / 16.0)*BS,
  845. 0,
  846. (-6.0 / 16.0)*BS,
  847. (4.0 / 16.0)*BS
  848. ));
  849. f->addNodeBox(NodeBox(
  850. (-5.0 / 16.0)*BS,
  851. (-6.0 / 16.0)*BS,
  852. (-5.0 / 16.0)*BS,
  853. 0,
  854. (-5.0 / 16.0)*BS,
  855. (5.0 / 16.0)*BS
  856. ));
  857. f->addNodeBox(NodeBox(
  858. 0,
  859. -0.5*BS,
  860. 0,
  861. (4.0 / 16.0)*BS,
  862. (-6.0 / 16.0)*BS,
  863. (4.0 / 16.0)*BS
  864. ));
  865. f->addNodeBox(NodeBox(
  866. 0,
  867. (-6.0 / 16.0)*BS,
  868. 0,
  869. (5.0 / 16.0)*BS,
  870. (-5.0 / 16.0)*BS,
  871. (5.0 / 16.0)*BS
  872. ));
  873. }
  874. void content_nodebox_pie_2(ContentFeatures *f)
  875. {
  876. f->setNodeBox(NodeBox(
  877. (-4.0 / 16.0)*BS,
  878. -0.5*BS,
  879. (-4.0 / 16.0)*BS,
  880. 0,
  881. (-6.0 / 16.0)*BS,
  882. (4.0 / 16.0)*BS
  883. ));
  884. f->addNodeBox(NodeBox(
  885. (-5.0 / 16.0)*BS,
  886. (-6.0 / 16.0)*BS,
  887. (-5.0 / 16.0)*BS,
  888. 0,
  889. (-5.0 / 16.0)*BS,
  890. (5.0 / 16.0)*BS
  891. ));
  892. }
  893. void content_nodebox_pie_1(ContentFeatures *f)
  894. {
  895. f->setNodeBox(NodeBox(
  896. (-4.0 / 16.0)*BS,
  897. -0.5*BS,
  898. (-4.0 / 16.0)*BS,
  899. 0,
  900. (-6.0 / 16.0)*BS,
  901. 0
  902. ));
  903. f->addNodeBox(NodeBox(
  904. (-5.0 / 16.0)*BS,
  905. (-6.0 / 16.0)*BS,
  906. (-5.0 / 16.0)*BS,
  907. 0,
  908. (-5.0 / 16.0)*BS,
  909. 0
  910. ));
  911. }
  912. void content_nodebox_sign(ContentFeatures *f)
  913. {
  914. f->setNodeBox(NodeBox(
  915. -0.0625*BS,
  916. -0.5*BS,
  917. -0.0625*BS,
  918. 0.0625*BS,
  919. 0.5*BS,
  920. 0.0625*BS
  921. ));
  922. f->addNodeBox(NodeBox(
  923. -0.4375*BS,
  924. -0.0625*BS,
  925. -0.125*BS,
  926. 0.4375*BS,
  927. 0.4375*BS,
  928. -0.0625*BS
  929. ));
  930. }
  931. void content_nodebox_sign_ud(ContentFeatures *f)
  932. {
  933. f->setNodeBox(NodeBox(
  934. -0.0625*BS,
  935. -0.5*BS,
  936. -0.0625*BS,
  937. 0.0625*BS,
  938. 0.5*BS,
  939. 0.0625*BS
  940. ));
  941. f->addNodeBox(NodeBox(
  942. -0.4375*BS,
  943. -0.4375*BS,
  944. -0.125*BS,
  945. 0.4375*BS,
  946. 0.0625*BS,
  947. -0.0625*BS
  948. ));
  949. }
  950. void content_nodebox_sign_wall(ContentFeatures *f)
  951. {
  952. f->setNodeBox(NodeBox(
  953. -0.4375*BS,
  954. -0.25*BS,
  955. 0.4375*BS,
  956. 0.4375*BS,
  957. 0.25*BS,
  958. 0.5*BS
  959. ));
  960. }
  961. void content_nodebox_jackolantern(ContentFeatures *f)
  962. {
  963. f->setNodeBox(NodeBox(
  964. -0.5*BS,-0.5*BS,-0.4375*BS,0.5*BS,0.5*BS,0.5*BS
  965. ));
  966. f->addNodeBox(NodeBox(
  967. -0.5*BS,-0.5*BS,-0.5*BS,0.5*BS,-0.375*BS,-0.4375*BS
  968. ));
  969. f->addNodeBox(NodeBox(
  970. -0.5*BS,0.25*BS,-0.5*BS,0.5*BS,0.5*BS,-0.4375*BS
  971. ));
  972. f->addNodeBox(NodeBox(
  973. 0.375*BS,-0.375*BS,-0.5*BS,0.5*BS,0.25*BS,-0.4375*BS
  974. ));
  975. f->addNodeBox(NodeBox(
  976. -0.5*BS,-0.375*BS,-0.5*BS,-0.375*BS,0.25*BS,-0.4375*BS
  977. ));
  978. f->addNodeBox(NodeBox(
  979. -0.1875*BS,0.1875*BS,-0.5*BS,0.125*BS,0.25*BS,-0.4375*BS
  980. ));
  981. f->addNodeBox(NodeBox(
  982. 0.25*BS,-0.0625*BS,-0.5*BS,0.375*BS,0.25*BS,-0.4375*BS
  983. ));
  984. f->addNodeBox(NodeBox(
  985. -0.375*BS,-0.0625*BS,-0.5*BS,-0.3125*BS,0.25*BS,-0.4375*BS
  986. ));
  987. f->addNodeBox(NodeBox(
  988. -0.125*BS,0.0625*BS,-0.5*BS,0.0625*BS,0.1875*BS,-0.4375*BS
  989. ));
  990. f->addNodeBox(NodeBox(
  991. -0.25*BS,-0.1875*BS,-0.5*BS,0.25*BS,-0.125*BS,-0.4375*BS
  992. ));
  993. f->addNodeBox(NodeBox(
  994. -0.375*BS,-0.125*BS,-0.5*BS,0.3125*BS,-0.0625*BS,-0.4375*BS
  995. ));
  996. f->addNodeBox(NodeBox(
  997. -0.375*BS,-0.375*BS,-0.5*BS,-0.3125*BS,-0.1875*BS,-0.4375*BS
  998. ));
  999. f->addNodeBox(NodeBox(
  1000. 0.0625*BS,-0.375*BS,-0.5*BS,0.375*BS,-0.3125*BS,-0.4375*BS
  1001. ));
  1002. f->addNodeBox(NodeBox(
  1003. -0.3125*BS,-0.375*BS,-0.5*BS,-0.0625*BS,-0.3125*BS,-0.4375*BS
  1004. ));
  1005. f->addNodeBox(NodeBox(
  1006. -0.3125*BS,-0.3125*BS,-0.5*BS,-0.1875*BS,-0.25*BS,-0.4375*BS
  1007. ));
  1008. f->addNodeBox(NodeBox(
  1009. 0.1875*BS,-0.3125*BS,-0.5*BS,0.375*BS,-0.25*BS,-0.4375*BS
  1010. ));
  1011. f->addNodeBox(NodeBox(
  1012. 0.3125*BS,-0.25*BS,-0.5*BS,0.375*BS,-0.1875*BS,-0.4375*BS
  1013. ));
  1014. f->addNodeBox(NodeBox(
  1015. -0.3125*BS,-0.0625*BS,-0.5*BS,-0.125*BS,0.125*BS,-0.4375*BS
  1016. ));
  1017. f->addNodeBox(NodeBox(
  1018. 0.0625*BS,-0.0625*BS,-0.5*BS,0.25*BS,0.125*BS,-0.4375*BS
  1019. ));
  1020. f->addNodeBox(NodeBox(
  1021. 0.1875*BS,0.125*BS,-0.5*BS,0.25*BS,0.1875*BS,-0.4375*BS
  1022. ));
  1023. f->addNodeBox(NodeBox(
  1024. -0.3125*BS,0.125*BS,-0.5*BS,-0.25*BS,0.1875*BS,-0.4375*BS
  1025. ));
  1026. f->addNodeBox(NodeBox(
  1027. -0.125*BS,0.*BS,-0.5*BS,-0.0625*BS,0.0625*BS,-0.4375*BS
  1028. ));
  1029. f->addNodeBox(NodeBox(
  1030. 0.*BS,0.*BS,-0.5*BS,0.0625*BS,0.0625*BS,-0.4375*BS
  1031. ));
  1032. }
  1033. void content_nodebox_roofcollide(ContentFeatures *f)
  1034. {
  1035. f->setNodeBox(NodeBox(
  1036. -0.4375*BS,-0.5*BS,-0.4375*BS,0.4375*BS,-0.4375*BS,0.4375*BS
  1037. ));
  1038. f->addNodeBox(NodeBox(
  1039. -0.1875*BS,-0.3125*BS,-0.1875*BS,0.1875*BS,0.0625*BS,0.1875*BS
  1040. ));
  1041. f->addNodeBox(NodeBox(
  1042. -0.3125*BS,-0.4375*BS,-0.3125*BS,0.3125*BS,-0.3125*BS,0.3125*BS
  1043. ));
  1044. }
  1045. void content_nodebox_bookshelf(ContentFeatures *f)
  1046. {
  1047. f->setNodeBox(NodeBox(
  1048. 0.4375*BS,-0.5*BS,-0.5*BS,0.5*BS,0.5*BS,0.5*BS
  1049. ));
  1050. f->addNodeBox(NodeBox(
  1051. -0.5*BS,-0.5*BS,-0.5*BS,-0.4375*BS,0.5*BS,0.5*BS
  1052. ));
  1053. f->addNodeBox(NodeBox(
  1054. -0.4375*BS,-0.4375*BS,-0.0625*BS,0.4375*BS,0.4375*BS,0.0625*BS
  1055. ));
  1056. f->addNodeBox(NodeBox(
  1057. -0.4375*BS,0.4375*BS,-0.5*BS,0.4375*BS,0.5*BS,0.5*BS
  1058. ));
  1059. f->addNodeBox(NodeBox(
  1060. -0.4375*BS,-0.5*BS,-0.5*BS,0.4375*BS,-0.4375*BS,0.5*BS
  1061. ));
  1062. f->addNodeBox(NodeBox(
  1063. -0.4375*BS,-0.0625*BS,-0.5*BS,0.4375*BS,0.0625*BS,0.5*BS
  1064. ));
  1065. }
  1066. // middle section
  1067. void content_nodebox_couch_centre(ContentFeatures *f)
  1068. {
  1069. f->setNodeBox(NodeBox(
  1070. -0.5*BS,-0.5*BS,-0.3125*BS,0.5*BS,0.*BS,0.375*BS
  1071. ));
  1072. f->addNodeBox(NodeBox(
  1073. -0.5*BS,0.*BS,0.1875*BS,0.5*BS,0.4375*BS,0.375*BS
  1074. ));
  1075. }
  1076. // left end
  1077. void content_nodebox_couch_left(ContentFeatures *f)
  1078. {
  1079. f->setNodeBox(NodeBox(
  1080. -0.375*BS,-0.5*BS,-0.3125*BS,0.5*BS,0.*BS,0.375*BS
  1081. ));
  1082. f->addNodeBox(NodeBox(
  1083. -0.375*BS,0.*BS,0.1875*BS,0.5*BS,0.4375*BS,0.375*BS
  1084. ));
  1085. f->addNodeBox(NodeBox(
  1086. -0.4375*BS,-0.1875*BS,-0.25*BS,-0.3125*BS,0.25*BS,0.3125*BS
  1087. ));
  1088. }
  1089. // right end
  1090. void content_nodebox_couch_right(ContentFeatures *f)
  1091. {
  1092. f->setNodeBox(NodeBox(
  1093. -0.5*BS,-0.5*BS,-0.3125*BS,0.375*BS,0.*BS,0.375*BS
  1094. ));
  1095. f->addNodeBox(NodeBox(
  1096. -0.5*BS,0.*BS,0.1875*BS,0.375*BS,0.4375*BS,0.375*BS
  1097. ));
  1098. f->addNodeBox(NodeBox(
  1099. 0.25*BS,-0.1875*BS,-0.25*BS,0.4375*BS,0.25*BS,0.3125*BS
  1100. ));
  1101. }
  1102. // arm chair
  1103. void content_nodebox_couch_chair(ContentFeatures *f)
  1104. {
  1105. f->setNodeBox(NodeBox(
  1106. -0.375*BS,-0.5*BS,-0.3125*BS,0.375*BS,0.*BS,0.375*BS
  1107. ));
  1108. f->addNodeBox(NodeBox(
  1109. -0.375*BS,0.*BS,0.1875*BS,0.375*BS,0.4375*BS,0.375*BS
  1110. ));
  1111. f->addNodeBox(NodeBox(
  1112. -0.4375*BS,-0.1875*BS,-0.25*BS,-0.3125*BS,0.25*BS,0.3125*BS
  1113. ));
  1114. f->addNodeBox(NodeBox(
  1115. 0.3125*BS,-0.1875*BS,-0.25*BS,0.4375*BS,0.25*BS,0.3125*BS
  1116. ));
  1117. }
  1118. // inner corner
  1119. void content_nodebox_couch_inner(ContentFeatures *f)
  1120. {
  1121. f->setNodeBox(NodeBox(
  1122. -0.5*BS,-0.5*BS,-0.3125*BS,0.375*BS,0.*BS,0.375*BS
  1123. ));
  1124. f->addNodeBox(NodeBox(
  1125. -0.5*BS,0.*BS,0.1875*BS,0.375*BS,0.4375*BS,0.375*BS
  1126. ));
  1127. f->addNodeBox(NodeBox(
  1128. -0.3125*BS,-0.5*BS,-0.5*BS,0.375*BS,0.*BS,-0.3125*BS
  1129. ));
  1130. f->addNodeBox(NodeBox(
  1131. 0.1875*BS,0.*BS,-0.5*BS,0.375*BS,0.4375*BS,0.1875*BS
  1132. ));
  1133. }
  1134. // outer corner
  1135. void content_nodebox_couch_outer(ContentFeatures *f)
  1136. {
  1137. f->setNodeBox(NodeBox(
  1138. -0.3125*BS,-0.5*BS,-0.3125*BS,0.375*BS,0.*BS,0.5*BS
  1139. ));
  1140. f->addNodeBox(NodeBox(
  1141. 0.375*BS,-0.5*BS,-0.3125*BS,0.5*BS,0.*BS,0.375*BS
  1142. ));
  1143. f->addNodeBox(NodeBox(
  1144. 0.1875*BS,0.*BS,0.1875*BS,0.5*BS,0.4375*BS,0.375*BS
  1145. ));
  1146. f->addNodeBox(NodeBox(
  1147. 0.1875*BS,0.*BS,0.375*BS,0.375*BS,0.4375*BS,0.5*BS
  1148. ));
  1149. }
  1150. void content_nodebox_knob(ContentFeatures *f)
  1151. {
  1152. f->setNodeBox(NodeBox(
  1153. // -3 / 16
  1154. -0.1875*BS,
  1155. // -3 / 16
  1156. -0.1875*BS,
  1157. // 3 / 16
  1158. 0.1875*BS,
  1159. // 3 / 16
  1160. 0.1875*BS,
  1161. // 3 / 16
  1162. 0.1875*BS,
  1163. // 8 / 16
  1164. 0.5*BS
  1165. ));
  1166. }
  1167. void content_nodebox_battery(ContentFeatures *f)
  1168. {
  1169. f->setNodeBox(NodeBox(
  1170. -0.375*BS,-0.5*BS,-0.375*BS,0.375*BS,0.25*BS,0.375*BS
  1171. ));
  1172. f->addNodeBox(NodeBox(
  1173. -0.1875*BS,0.25*BS,-0.1875*BS,0.1875*BS,0.5*BS,0.1875*BS
  1174. ));
  1175. f->addNodeBox(NodeBox(
  1176. 0.375*BS,-0.5*BS,-0.0625*BS,0.5*BS,-0.4375*BS,0.0625*BS
  1177. ));
  1178. f->addNodeBox(NodeBox(
  1179. -0.5*BS,-0.5*BS,-0.0625*BS,-0.375*BS,-0.4375*BS,0.0625*BS
  1180. ));
  1181. f->addNodeBox(NodeBox(
  1182. -0.0625*BS,-0.5*BS,0.375*BS,0.0625*BS,-0.4375*BS,0.5*BS
  1183. ));
  1184. f->addNodeBox(NodeBox(
  1185. -0.0625*BS,-0.5*BS,-0.5*BS,0.0625*BS,-0.4375*BS,-0.375*BS
  1186. ));
  1187. }
  1188. void content_nodebox_switch(ContentFeatures *f)
  1189. {
  1190. f->setNodeBox(NodeBox(
  1191. -0.1875*BS,-0.0625*BS,0.4375*BS,0.1875*BS,0.125*BS,0.5*BS
  1192. ));
  1193. }
  1194. void content_nodebox_button(ContentFeatures *f)
  1195. {
  1196. f->setNodeBox(NodeBox(
  1197. -0.1875*BS,-0.0625*BS,0.375*BS,0.1875*BS,0.125*BS,0.5*BS
  1198. ));
  1199. }
  1200. void content_nodebox_logicgate(ContentFeatures *f)
  1201. {
  1202. f->setNodeBox(NodeBox(
  1203. -0.125*BS,-0.5*BS,-0.125*BS,0.125*BS,-0.375*BS,0.25*BS
  1204. ));
  1205. f->addNodeBox(NodeBox(
  1206. -0.0625*BS,-0.5*BS,0.25*BS,0.0625*BS,-0.4375*BS,0.5*BS
  1207. ));
  1208. f->addNodeBox(NodeBox(
  1209. -0.0625*BS,-0.5*BS,-0.5*BS,0.0625*BS,-0.4375*BS,-0.125*BS
  1210. ));
  1211. f->addNodeBox(NodeBox(
  1212. -0.5*BS,-0.5*BS,-0.0625*BS,-0.125*BS,-0.4375*BS,0.0625*BS
  1213. ));
  1214. f->addNodeBox(NodeBox(
  1215. 0.125*BS,-0.5*BS,-0.0625*BS,0.5*BS,-0.4375*BS,0.0625*BS
  1216. ));
  1217. }
  1218. void content_nodebox_piston(ContentFeatures *f)
  1219. {
  1220. f->setNodeBox(NodeBox(
  1221. -0.5*BS,-0.5*BS,-0.25*BS,0.5*BS,0.5*BS,0.5*BS
  1222. ));
  1223. f->addNodeBox(NodeBox(
  1224. -0.125*BS,-0.125*BS,-0.5*BS,0.125*BS,0.125*BS,-0.25*BS
  1225. ));
  1226. }
  1227. void content_nodebox_pistonarm(ContentFeatures *f)
  1228. {
  1229. f->setNodeBox(NodeBox(
  1230. -0.125*BS,-0.125*BS,-0.25*BS,0.125*BS,0.125*BS,0.5*BS
  1231. ));
  1232. f->addNodeBox(NodeBox(
  1233. -0.5*BS,-0.5*BS,-0.5*BS,0.5*BS,0.5*BS,-0.25*BS
  1234. ));
  1235. }
  1236. void content_nodebox_piston_up(ContentFeatures *f)
  1237. {
  1238. f->setNodeBox(NodeBox(
  1239. -0.5*BS,-0.5*BS,-0.5*BS,0.5*BS,0.25*BS,0.5*BS
  1240. ));
  1241. f->addNodeBox(NodeBox(
  1242. -0.125*BS,0.25*BS,-0.125*BS,0.125*BS,0.5*BS,0.125*BS
  1243. ));
  1244. }
  1245. void content_nodebox_pistonarm_up(ContentFeatures *f)
  1246. {
  1247. f->setNodeBox(NodeBox(
  1248. -0.125*BS,-0.5*BS,-0.125*BS,0.125*BS,0.25*BS,0.125*BS
  1249. ));
  1250. f->addNodeBox(NodeBox(
  1251. -0.5*BS,0.25*BS,-0.5*BS,0.5*BS,0.5*BS,0.5*BS
  1252. ));
  1253. }
  1254. void content_nodebox_piston_down(ContentFeatures *f)
  1255. {
  1256. f->setNodeBox(NodeBox(
  1257. -0.5*BS,-0.25*BS,-0.5*BS,0.5*BS,0.5*BS,0.5*BS
  1258. ));
  1259. f->addNodeBox(NodeBox(
  1260. -0.125*BS,-0.5*BS,-0.125*BS,0.125*BS,-0.25*BS,0.125*BS
  1261. ));
  1262. }
  1263. void content_nodebox_pistonarm_down(ContentFeatures *f)
  1264. {
  1265. f->setNodeBox(NodeBox(
  1266. -0.125*BS,-0.25*BS,-0.125*BS,0.125*BS,0.5*BS,0.125*BS
  1267. ));
  1268. f->addNodeBox(NodeBox(
  1269. -0.5*BS,-0.5*BS,-0.5*BS,0.5*BS,-0.25*BS,0.5*BS
  1270. ));
  1271. }
  1272. void content_nodebox_waterwheel(ContentFeatures *f)
  1273. {
  1274. f->setNodeBox(NodeBox(
  1275. 0.375*BS,-0.5*BS,-0.5*BS,0.5*BS,0.5*BS,0.5*BS
  1276. ));
  1277. f->addNodeBox(NodeBox(
  1278. -0.5*BS,-0.5*BS,-0.5*BS,-0.375*BS,0.5*BS,0.5*BS
  1279. ));
  1280. f->addNodeBox(NodeBox(
  1281. -0.375*BS,-0.0625*BS,-0.0625*BS,0.375*BS,0.0625*BS,0.0625*BS
  1282. ));
  1283. f->addNodeBox(NodeBox(
  1284. -0.375*BS,0.0625*BS,0.*BS,0.375*BS,0.5*BS,0.0625*BS
  1285. ));
  1286. f->addNodeBox(NodeBox(
  1287. -0.375*BS,-0.0625*BS,0.0625*BS,0.375*BS,0.*BS,0.5*BS
  1288. ));
  1289. f->addNodeBox(NodeBox(
  1290. -0.375*BS,-0.5*BS,-0.0625*BS,0.375*BS,-0.0625*BS,0.*BS
  1291. ));
  1292. f->addNodeBox(NodeBox(
  1293. -0.375*BS,0.*BS,-0.5*BS,0.375*BS,0.0625*BS,-0.0625*BS
  1294. ));
  1295. }
  1296. void content_nodebox_clock(ContentFeatures *f)
  1297. {
  1298. f->setNodeBox(NodeBox(
  1299. -0.5*BS,-0.4375*BS,-0.0625*BS,0.5*BS,0.25*BS,0.125*BS
  1300. ));
  1301. f->addNodeBox(NodeBox(
  1302. -0.5*BS,-0.5*BS,-0.125*BS,-0.25*BS,-0.4375*BS,0.125*BS
  1303. ));
  1304. f->addNodeBox(NodeBox(
  1305. 0.25*BS,-0.5*BS,-0.125*BS,0.5*BS,-0.4375*BS,0.125*BS
  1306. ));
  1307. f->addNodeBox(NodeBox(
  1308. 0.4375*BS,-0.4375*BS,-0.125*BS,0.5*BS,0.25*BS,-0.0625*BS
  1309. ));
  1310. f->addNodeBox(NodeBox(
  1311. -0.5*BS,-0.4375*BS,-0.125*BS,-0.4375*BS,0.25*BS,-0.0625*BS
  1312. ));
  1313. f->addNodeBox(NodeBox(
  1314. -0.4375*BS,-0.4375*BS,-0.125*BS,0.4375*BS,-0.375*BS,-0.0625*BS
  1315. ));
  1316. f->addNodeBox(NodeBox(
  1317. -0.4375*BS,0.1875*BS,-0.125*BS,0.4375*BS,0.25*BS,-0.0625*BS
  1318. ));
  1319. f->addNodeBox(NodeBox(
  1320. -0.02*BS,-0.0625*BS,-0.125*BS,0.0225*BS,0.*BS,-0.0625*BS
  1321. ));
  1322. f->addNodeBox(NodeBox(
  1323. -0.02*BS,-0.1875*BS,-0.125*BS,0.0225*BS,-0.125*BS,-0.0625*BS
  1324. ));
  1325. }
  1326. void content_nodebox_fence_inv(ContentFeatures *f)
  1327. {
  1328. f->setWieldNodeBox(NodeBox(
  1329. -0.125*BS,-0.5*BS,-0.125*BS,0.125*BS,0.625*BS,0.125*BS
  1330. ));
  1331. f->addWieldNodeBox(NodeBox(
  1332. -0.5*BS,0.375*BS,-0.0625*BS,-0.125*BS,0.5*BS,0.0625*BS
  1333. ));
  1334. f->addWieldNodeBox(NodeBox(
  1335. -0.5*BS,-0.125*BS,-0.0625*BS,-0.125*BS,0.*BS,0.0625*BS
  1336. ));
  1337. f->addWieldNodeBox(NodeBox(
  1338. 0.125*BS,0.375*BS,-0.0625*BS,0.5*BS,0.5*BS,0.0625*BS
  1339. ));
  1340. f->addWieldNodeBox(NodeBox(
  1341. 0.125*BS,-0.125*BS,-0.0625*BS,0.5*BS,0.*BS,0.0625*BS
  1342. ));
  1343. }
  1344. void content_nodebox_fence(ContentFeatures *f)
  1345. {
  1346. f->setNodeBox(NodeBox(
  1347. -0.125*BS,-0.5*BS,-0.125*BS,0.125*BS,0.625*BS,0.125*BS
  1348. ));
  1349. f->addNodeBox(NodeBox(
  1350. -0.125*BS,-0.5*BS,-0.125*BS,0.125*BS,0.5*BS,0.125*BS
  1351. ));
  1352. f->addNodeBox(NodeBox(
  1353. 0.125*BS,0.375*BS,-0.0625*BS,0.5*BS,0.5*BS,0.0625*BS
  1354. ));
  1355. f->addNodeBox(NodeBox(
  1356. 0.125*BS,-0.125*BS,-0.0625*BS,0.5*BS,0.*BS,0.0625*BS
  1357. ));
  1358. f->addNodeBox(NodeBox(
  1359. -0.5*BS,0.375*BS,-0.0625*BS,-0.125*BS,0.5*BS,0.0625*BS
  1360. ));
  1361. f->addNodeBox(NodeBox(
  1362. -0.5*BS,-0.125*BS,-0.0625*BS,-0.125*BS,0.*BS,0.0625*BS
  1363. ));
  1364. f->addNodeBox(NodeBox(
  1365. -0.0625*BS,0.375*BS,0.125*BS,0.0625*BS,0.5*BS,0.5*BS
  1366. ));
  1367. f->addNodeBox(NodeBox(
  1368. -0.0625*BS,-0.125*BS,0.125*BS,0.0625*BS,0.*BS,0.5*BS
  1369. ));
  1370. f->addNodeBox(NodeBox(
  1371. -0.0625*BS,0.375*BS,-0.5*BS,0.0625*BS,0.5*BS,-0.125*BS
  1372. ));
  1373. f->addNodeBox(NodeBox(
  1374. -0.0625*BS,-0.125*BS,-0.5*BS,0.0625*BS,0.*BS,-0.125*BS
  1375. ));
  1376. }
  1377. void content_nodebox_wall_inv(ContentFeatures *f)
  1378. {
  1379. f->setWieldNodeBox(NodeBox(
  1380. -0.1875*BS,-0.5*BS,-0.1875*BS,0.1875*BS,0.625*BS,0.1875*BS
  1381. ));
  1382. f->addWieldNodeBox(NodeBox(
  1383. 0.1875*BS,-0.5*BS,-0.125*BS,0.5*BS,0.5*BS,0.125*BS
  1384. ));
  1385. f->addWieldNodeBox(NodeBox(
  1386. -0.5*BS,-0.5*BS,-0.125*BS,-0.1875*BS,0.5*BS,0.125*BS
  1387. ));
  1388. }
  1389. void content_nodebox_wall(ContentFeatures *f)
  1390. {
  1391. f->setNodeBox(NodeBox(
  1392. -0.1875*BS,-0.5*BS,-0.1875*BS,0.1875*BS,0.625*BS,0.1875*BS
  1393. ));
  1394. f->addNodeBox(NodeBox(
  1395. -0.1875*BS,-0.5*BS,-0.1875*BS,0.1875*BS,0.5*BS,0.1875*BS
  1396. ));
  1397. f->addNodeBox(NodeBox(
  1398. -0.125*BS,-0.5*BS,-0.125*BS,0.125*BS,0.5*BS,0.125*BS
  1399. ));
  1400. f->addNodeBox(NodeBox(
  1401. 0.125*BS,-0.5*BS,-0.125*BS,0.5*BS,0.5*BS,0.125*BS
  1402. ));
  1403. f->addNodeBox(NodeBox(
  1404. -0.5*BS,-0.5*BS,-0.125*BS,-0.125*BS,0.5*BS,0.125*BS
  1405. ));
  1406. f->addNodeBox(NodeBox(
  1407. -0.125*BS,-0.5*BS,0.125*BS,0.125*BS,0.5*BS,0.5*BS
  1408. ));
  1409. f->addNodeBox(NodeBox(
  1410. -0.125*BS,-0.5*BS,-0.5*BS,0.125*BS,0.5*BS,-0.125*BS
  1411. ));
  1412. }
  1413. void content_nodebox_bars(ContentFeatures *f)
  1414. {
  1415. f->setNodeBox(NodeBox(
  1416. -0.5*BS,-0.25*BS,-0.125*BS,0.5*BS,-0.1875*BS,0.125*BS
  1417. ));
  1418. f->addNodeBox(NodeBox(
  1419. -0.5*BS,0.375*BS,-0.125*BS,0.5*BS,0.4375*BS,0.125*BS
  1420. ));
  1421. f->addNodeBox(NodeBox(
  1422. -0.4375*BS,-0.5*BS,-0.0625*BS,-0.375*BS,0.5*BS,0.0625*BS
  1423. ));
  1424. f->addNodeBox(NodeBox(
  1425. 0.3125*BS,-0.5*BS,-0.0625*BS,0.375*BS,0.5*BS,0.0625*BS
  1426. ));
  1427. f->addNodeBox(NodeBox(
  1428. 0.0625*BS,-0.5*BS,-0.0625*BS,0.125*BS,0.5*BS,0.0625*BS
  1429. ));
  1430. f->addNodeBox(NodeBox(
  1431. -0.1875*BS,-0.5*BS,-0.0625*BS,-0.125*BS,0.5*BS,0.0625*BS
  1432. ));
  1433. }
  1434. void content_nodebox_youngtree(ContentFeatures *f)
  1435. {
  1436. f->setNodeBox(NodeBox(
  1437. -0.125*BS,-0.5*BS,-0.125*BS,0.125*BS,0.5*BS,0.125*BS
  1438. ));
  1439. }
  1440. void content_nodebox_flag(ContentFeatures *f)
  1441. {
  1442. f->setNodeBox(NodeBox(
  1443. -0.125*BS,-0.5*BS,-0.125*BS,0.125*BS,0.5*BS,0.125*BS
  1444. ));
  1445. }
  1446. void content_nodebox_flower_pot(ContentFeatures *f)
  1447. {
  1448. f->setNodeBox(NodeBox(
  1449. v3s16(0,-1,0),v3f(0,0,0),-0.3125*BS,-0.5*BS,-0.3125*BS,0.3125*BS,0.25*BS,0.3125*BS
  1450. ));
  1451. f->addNodeBox(NodeBox(
  1452. v3s16(0,-1,0),v3f(0,0,0),-0.375*BS,0.125*BS,-0.375*BS,-0.3125*BS,0.375*BS,0.375*BS
  1453. ));
  1454. f->addNodeBox(NodeBox(
  1455. v3s16(0,-1,0),v3f(0,0,0),0.3125*BS,0.125*BS,-0.375*BS,0.375*BS,0.375*BS,0.375*BS
  1456. ));
  1457. f->addNodeBox(NodeBox(
  1458. v3s16(0,-1,0),v3f(0,0,0),-0.3125*BS,0.125*BS,-0.375*BS,0.3125*BS,0.375*BS,-0.3125*BS
  1459. ));
  1460. f->addNodeBox(NodeBox(
  1461. v3s16(0,-1,0),v3f(0,0,0),-0.3125*BS,0.125*BS,0.3125*BS,0.3125*BS,0.375*BS,0.375*BS
  1462. ));
  1463. }
  1464. void content_nodebox_parcel(ContentFeatures *f)
  1465. {
  1466. f->setNodeBox(NodeBox(
  1467. v3s16(0,40,0),v3f(0,0,0),-0.375*BS,-0.5*BS,-0.3125*BS,0.375*BS,-0.1875*BS,0.3125*BS
  1468. ));
  1469. f->addNodeBox(NodeBox(
  1470. v3s16(0,-10,0),v3f(0,0,0),-0.0625*BS,-0.1875*BS,-0.0625*BS,0.,-0.125*BS,0.125*BS
  1471. ));
  1472. }
  1473. void content_nodebox_cauldron(ContentFeatures *f)
  1474. {
  1475. f->setNodeBox(NodeBox(
  1476. -0.375*BS,-0.125*BS,-0.375*BS,0.375*BS,-0.0625*BS,0.375*BS
  1477. ));
  1478. f->addNodeBox(NodeBox(
  1479. -0.4375*BS,-0.5*BS,-0.4375*BS,-0.3125*BS,-0.125*BS,-0.3125*BS
  1480. ));
  1481. f->addNodeBox(NodeBox(
  1482. 0.3125*BS,-0.5*BS,-0.4375*BS,0.4375*BS,-0.125*BS,-0.3125*BS
  1483. ));
  1484. f->addNodeBox(NodeBox(
  1485. -0.4375*BS,-0.5*BS,0.3125*BS,-0.3125*BS,-0.125*BS,0.4375*BS
  1486. ));
  1487. f->addNodeBox(NodeBox(
  1488. 0.3125*BS,-0.5*BS,0.3125*BS,0.4375*BS,-0.125*BS,0.4375*BS
  1489. ));
  1490. f->addNodeBox(NodeBox(
  1491. -0.4375*BS,-0.125*BS,-0.4375*BS,-0.375*BS,0.5*BS,0.4375*BS
  1492. ));
  1493. f->addNodeBox(NodeBox(
  1494. 0.375*BS,-0.125*BS,-0.4375*BS,0.4375*BS,0.5*BS,0.4375*BS
  1495. ));
  1496. f->addNodeBox(NodeBox(
  1497. -0.375*BS,-0.125*BS,0.375*BS,0.375*BS,0.5*BS,0.4375*BS
  1498. ));
  1499. f->addNodeBox(NodeBox(
  1500. -0.375*BS,-0.125*BS,-0.4375*BS,0.375*BS,0.5*BS,-0.375*BS
  1501. ));
  1502. }
  1503. void content_nodebox_forge(ContentFeatures *f)
  1504. {
  1505. f->setNodeBox(NodeBox(
  1506. -0.375*BS,-0.5*BS,-0.375*BS,0.375*BS,0.375*BS,0.375*BS
  1507. ));
  1508. f->addNodeBox(NodeBox(
  1509. -0.375*BS,0.375*BS,-0.375*BS,-0.1875*BS,0.4375*BS,-0.1875*BS
  1510. ));
  1511. f->addNodeBox(NodeBox(
  1512. -0.375*BS,0.375*BS,0.1875*BS,-0.1875*BS,0.4375*BS,0.375*BS
  1513. ));
  1514. f->addNodeBox(NodeBox(
  1515. 0.1875*BS,0.375*BS,-0.375*BS,0.375*BS,0.4375*BS,-0.1875*BS
  1516. ));
  1517. f->addNodeBox(NodeBox(
  1518. 0.1875*BS,0.375*BS,0.1875*BS,0.375*BS,0.4375*BS,0.375*BS
  1519. ));
  1520. }
  1521. void content_nodebox_furnace(ContentFeatures *f)
  1522. {
  1523. f->setNodeBox(NodeBox(
  1524. -0.4375*BS,-0.0625*BS,-0.5*BS,0.4375*BS,0.125*BS,0.4375*BS
  1525. ));
  1526. f->addNodeBox(NodeBox(
  1527. -0.25*BS,0.125*BS,-0.25*BS,0.25*BS,0.5*BS,-0.125*BS
  1528. ));
  1529. f->addNodeBox(NodeBox(
  1530. -0.25*BS,0.125*BS,0.125*BS,0.25*BS,0.5*BS,0.25*BS
  1531. ));
  1532. f->addNodeBox(NodeBox(
  1533. -0.25*BS,0.125*BS,-0.125*BS,-0.125*BS,0.5*BS,0.125*BS
  1534. ));
  1535. f->addNodeBox(NodeBox(
  1536. 0.125*BS,0.125*BS,-0.125*BS,0.25*BS,0.5*BS,0.125*BS
  1537. ));
  1538. f->addNodeBox(NodeBox(
  1539. -0.4375*BS,-0.5*BS,-0.5*BS,0.4375*BS,-0.3125*BS,0.4375*BS
  1540. ));
  1541. f->addNodeBox(NodeBox(
  1542. -0.4375*BS,-0.3125*BS,-0.5*BS,-0.25*BS,-0.0625*BS,0.4375*BS
  1543. ));
  1544. f->addNodeBox(NodeBox(
  1545. 0.25*BS,-0.3125*BS,-0.5*BS,0.4375*BS,-0.0625*BS,0.4375*BS
  1546. ));
  1547. f->addNodeBox(NodeBox(
  1548. -0.25*BS,-0.3125*BS,0.25*BS,0.25*BS,-0.0625*BS,0.4375*BS
  1549. ));
  1550. }
  1551. void content_nodebox_smeltery(ContentFeatures *f)
  1552. {
  1553. f->setNodeBox(NodeBox(
  1554. -0.5*BS,0.3125*BS,-0.4375*BS,0.5*BS,0.5*BS,0.5*BS
  1555. ));
  1556. f->addNodeBox(NodeBox(
  1557. -0.5*BS,-0.5*BS,-0.4375*BS,0.5*BS,-0.3125*BS,0.5*BS
  1558. ));
  1559. f->addNodeBox(NodeBox(
  1560. -0.5*BS,-0.3125*BS,0.3125*BS,0.5*BS,0.3125*BS,0.5*BS
  1561. ));
  1562. f->addNodeBox(NodeBox(
  1563. 0.3125*BS,-0.3125*BS,-0.4375*BS,0.5*BS,0.3125*BS,0.3125*BS
  1564. ));
  1565. f->addNodeBox(NodeBox(
  1566. -0.5*BS,-0.3125*BS,-0.4375*BS,-0.3125*BS,0.3125*BS,0.3125*BS
  1567. ));
  1568. f->addNodeBox(NodeBox(
  1569. -0.3125*BS,-0.0625*BS,-0.4375*BS,0.3125*BS,0.0625*BS,0.3125*BS
  1570. ));
  1571. f->addNodeBox(NodeBox(
  1572. -0.0625*BS,0.0625*BS,-0.4375*BS,0.0625*BS,0.3125*BS,0.0625*BS
  1573. ));
  1574. }
  1575. void content_nodebox_incinerator(ContentFeatures *f)
  1576. {
  1577. f->setNodeBox(NodeBox(
  1578. -0.5*BS,-0.5*BS,-0.375*BS,0.5*BS,0.5*BS,0.5*BS
  1579. ));
  1580. f->addNodeBox(NodeBox(
  1581. 0.25*BS,-0.5*BS,-0.4375*BS,0.5*BS,0.5*BS,-0.375*BS
  1582. ));
  1583. f->addNodeBox(NodeBox(
  1584. -0.5*BS,-0.5*BS,-0.4375*BS,-0.25*BS,0.5*BS,-0.375*BS
  1585. ));
  1586. f->addNodeBox(NodeBox(
  1587. -0.25*BS,0.25*BS,-0.4375*BS,-0.1875*BS,0.5*BS,-0.375*BS
  1588. ));
  1589. f->addNodeBox(NodeBox(
  1590. 0.1875*BS,0.25*BS,-0.4375*BS,0.25*BS,0.5*BS,-0.375*BS
  1591. ));
  1592. f->addNodeBox(NodeBox(
  1593. -0.1875*BS,0.3125*BS,-0.4375*BS,0.1875*BS,0.5*BS,-0.375*BS
  1594. ));
  1595. f->addNodeBox(NodeBox(
  1596. -0.25*BS,-0.5*BS,-0.4375*BS,0.25*BS,-0.0625*BS,-0.375*BS
  1597. ));
  1598. }
  1599. void content_nodebox_rock(ContentFeatures *f)
  1600. {
  1601. f->setNodeBox(NodeBox(
  1602. -0.125*BS,-0.5*BS,-0.125*BS,0.125*BS,-0.3125*BS,0.1875*BS
  1603. ));
  1604. f->addNodeBox(NodeBox(
  1605. -0.1875*BS,-0.4375*BS,-0.0625*BS,-0.0625*BS,-0.375*BS,0.25*BS
  1606. ));
  1607. f->addNodeBox(NodeBox(
  1608. 0.125*BS,-0.5*BS,-0.125*BS,0.1875*BS,-0.4375*BS,0.1875*BS
  1609. ));
  1610. f->addNodeBox(NodeBox(
  1611. -0.0625*BS,-0.5*BS,-0.25*BS,0.1875*BS,-0.375*BS,-0.125*BS
  1612. ));
  1613. }
  1614. void content_nodebox_chair(ContentFeatures *f)
  1615. {
  1616. f->setNodeBox(NodeBox(
  1617. -0.3125*BS,-0.5*BS,0.21875*BS,-0.21875*BS,0.5*BS,0.3125*BS
  1618. ));
  1619. f->addNodeBox(NodeBox(
  1620. 0.21875*BS,-0.5*BS,0.21875*BS,0.3125*BS,0.5*BS,0.3125*BS
  1621. ));
  1622. f->addNodeBox(NodeBox(
  1623. -0.3125*BS,-0.5*BS,-0.3125*BS,-0.21875*BS,-0.03125*BS,-0.21875*BS
  1624. ));
  1625. f->addNodeBox(NodeBox(
  1626. 0.21875*BS,-0.5*BS,-0.3125*BS,0.3125*BS,-0.03125*BS,-0.21875*BS
  1627. ));
  1628. f->addNodeBox(NodeBox(
  1629. -0.3125*BS,-0.03125*BS,-0.3125*BS,0.3125*BS,0.03125*BS,0.21875*BS
  1630. ));
  1631. f->addNodeBox(NodeBox(
  1632. -0.21875*BS,0.1875*BS,0.25*BS,0.21875*BS,0.4375*BS,0.28125*BS
  1633. ));
  1634. f->addNodeBox(NodeBox(
  1635. -0.28125*BS,-0.40625*BS,-0.21875*BS,-0.25*BS,-0.375*BS,0.21875*BS
  1636. ));
  1637. f->addNodeBox(NodeBox(
  1638. 0.25*BS,-0.40625*BS,-0.21875*BS,0.28125*BS,-0.375*BS,0.21875*BS
  1639. ));
  1640. f->addNodeBox(NodeBox(
  1641. -0.21875*BS,-0.40625*BS,0.25*BS,0.21875*BS,-0.375*BS,0.28125*BS
  1642. ));
  1643. f->addNodeBox(NodeBox(
  1644. -0.21875*BS,-0.40625*BS,-0.28125*BS,0.21875*BS,-0.375*BS,-0.25*BS
  1645. ));
  1646. }
  1647. void content_nodebox_chair_centre(ContentFeatures *f)
  1648. {
  1649. f->setNodeBox(NodeBox(
  1650. -0.03125*BS,-0.5*BS,0.21875*BS,0.0625*BS,0.5*BS,0.3125*BS
  1651. ));
  1652. f->addNodeBox(NodeBox(
  1653. -0.03125*BS,-0.5*BS,-0.3125*BS,0.0625*BS,-0.03125*BS,-0.21875*BS
  1654. ));
  1655. f->addNodeBox(NodeBox(
  1656. -0.5*BS,-0.03125*BS,-0.3125*BS,0.5*BS,0.03125*BS,0.21875*BS
  1657. ));
  1658. f->addNodeBox(NodeBox(
  1659. -0.5*BS,0.1875*BS,0.25*BS,0.5*BS,0.4375*BS,0.28125*BS
  1660. ));
  1661. f->addNodeBox(NodeBox(
  1662. 0.*BS,-0.40625*BS,-0.21875*BS,0.03125*BS,-0.375*BS,0.21875*BS
  1663. ));
  1664. }
  1665. void content_nodebox_chair_endl(ContentFeatures *f)
  1666. {
  1667. f->setNodeBox(NodeBox(
  1668. 0.21875*BS,-0.5*BS,0.21875*BS,0.3125*BS,0.5*BS,0.3125*BS
  1669. ));
  1670. f->addNodeBox(NodeBox(
  1671. 0.21875*BS,-0.5*BS,-0.3125*BS,0.3125*BS,-0.03125*BS,-0.21875*BS
  1672. ));
  1673. f->addNodeBox(NodeBox(
  1674. -0.5*BS,-0.03125*BS,-0.3125*BS,0.3125*BS,0.03125*BS,0.21875*BS
  1675. ));
  1676. f->addNodeBox(NodeBox(
  1677. -0.5*BS,0.1875*BS,0.25*BS,0.21875*BS,0.4375*BS,0.28125*BS
  1678. ));
  1679. f->addNodeBox(NodeBox(
  1680. 0.25*BS,-0.40625*BS,-0.21875*BS,0.28125*BS,-0.375*BS,0.21875*BS
  1681. ));
  1682. }
  1683. void content_nodebox_chair_endr(ContentFeatures *f)
  1684. {
  1685. f->setNodeBox(NodeBox(
  1686. -0.3125*BS,-0.5*BS,0.21875*BS,-0.21875*BS,0.5*BS,0.3125*BS
  1687. ));
  1688. f->addNodeBox(NodeBox(
  1689. -0.3125*BS,-0.5*BS,-0.3125*BS,-0.21875*BS,-0.03125*BS,-0.21875*BS
  1690. ));
  1691. f->addNodeBox(NodeBox(
  1692. -0.3125*BS,-0.03125*BS,-0.3125*BS,0.5*BS,0.03125*BS,0.21875*BS
  1693. ));
  1694. f->addNodeBox(NodeBox(
  1695. -0.21875*BS,0.1875*BS,0.25*BS,0.5*BS,0.4375*BS,0.28125*BS
  1696. ));
  1697. f->addNodeBox(NodeBox(
  1698. -0.28125*BS,-0.40625*BS,-0.21875*BS,-0.25*BS,-0.375*BS,0.21875*BS
  1699. ));
  1700. }
  1701. void content_nodebox_chair_inner(ContentFeatures *f)
  1702. {
  1703. f->setNodeBox(NodeBox(
  1704. -0.3125*BS,-0.5*BS,0.21875*BS,-0.21875*BS,0.5*BS,0.3125*BS
  1705. ));
  1706. f->addNodeBox(NodeBox(
  1707. 0.21875*BS,-0.5*BS,0.21875*BS,0.3125*BS,0.5*BS,0.3125*BS
  1708. ));
  1709. f->addNodeBox(NodeBox(
  1710. -0.3125*BS,-0.5*BS,-0.3125*BS,-0.21875*BS,-0.03125*BS,-0.21875*BS
  1711. ));
  1712. f->addNodeBox(NodeBox(
  1713. 0.21875*BS,-0.5*BS,-0.3125*BS,0.3125*BS,0.5*BS,-0.21875*BS
  1714. ));
  1715. f->addNodeBox(NodeBox(
  1716. -0.5*BS,-0.03125*BS,-0.3125*BS,0.21875*BS,0.03125*BS,0.21875*BS
  1717. ));
  1718. f->addNodeBox(NodeBox(
  1719. -0.21875*BS,0.1875*BS,0.25*BS,0.21875*BS,0.4375*BS,0.28125*BS
  1720. ));
  1721. f->addNodeBox(NodeBox(
  1722. -0.28125*BS,-0.40625*BS,-0.21875*BS,-0.25*BS,-0.375*BS,0.21875*BS
  1723. ));
  1724. f->addNodeBox(NodeBox(
  1725. 0.25*BS,-0.40625*BS,-0.21875*BS,0.28125*BS,-0.375*BS,0.21875*BS
  1726. ));
  1727. f->addNodeBox(NodeBox(
  1728. -0.21875*BS,-0.40625*BS,0.25*BS,0.21875*BS,-0.375*BS,0.28125*BS
  1729. ));
  1730. f->addNodeBox(NodeBox(
  1731. -0.21875*BS,-0.40625*BS,-0.28125*BS,0.21875*BS,-0.375*BS,-0.25*BS
  1732. ));
  1733. f->addNodeBox(NodeBox(
  1734. -0.3125*BS,-0.03125*BS,-0.5*BS,0.21875*BS,0.03125*BS,-0.3125*BS
  1735. ));
  1736. f->addNodeBox(NodeBox(
  1737. 0.25*BS,0.1875*BS,-0.21875*BS,0.28125*BS,0.4375*BS,0.21875*BS
  1738. ));
  1739. f->addNodeBox(NodeBox(
  1740. 0.25*BS,0.1875*BS,-0.5*BS,0.28125*BS,0.4375*BS,-0.3125*BS
  1741. ));
  1742. f->addNodeBox(NodeBox(
  1743. -0.5*BS,0.1875*BS,0.25*BS,-0.3125*BS,0.4375*BS,0.28125*BS
  1744. ));
  1745. }
  1746. void content_nodebox_chair_outer(ContentFeatures *f)
  1747. {
  1748. f->setNodeBox(NodeBox(
  1749. -0.3125*BS,-0.5*BS,0.21875*BS,-0.21875*BS,-0.03125*BS,0.3125*BS
  1750. ));
  1751. f->addNodeBox(NodeBox(
  1752. 0.21875*BS,-0.5*BS,0.21875*BS,0.3125*BS,0.5*BS,0.3125*BS
  1753. ));
  1754. f->addNodeBox(NodeBox(
  1755. -0.3125*BS,-0.5*BS,-0.3125*BS,-0.21875*BS,-0.03125*BS,-0.21875*BS
  1756. ));
  1757. f->addNodeBox(NodeBox(
  1758. 0.21875*BS,-0.5*BS,-0.3125*BS,0.3125*BS,-0.03125*BS,-0.21875*BS
  1759. ));
  1760. f->addNodeBox(NodeBox(
  1761. -0.3125*BS,-0.03125*BS,-0.3125*BS,0.5*BS,0.03125*BS,0.21875*BS
  1762. ));
  1763. f->addNodeBox(NodeBox(
  1764. 0.3125*BS,0.1875*BS,0.25*BS,0.5*BS,0.4375*BS,0.28125*BS
  1765. ));
  1766. f->addNodeBox(NodeBox(
  1767. -0.28125*BS,-0.40625*BS,-0.21875*BS,-0.25*BS,-0.375*BS,0.21875*BS
  1768. ));
  1769. f->addNodeBox(NodeBox(
  1770. 0.25*BS,-0.40625*BS,-0.21875*BS,0.28125*BS,-0.375*BS,0.21875*BS
  1771. ));
  1772. f->addNodeBox(NodeBox(
  1773. -0.21875*BS,-0.40625*BS,0.25*BS,0.21875*BS,-0.375*BS,0.28125*BS
  1774. ));
  1775. f->addNodeBox(NodeBox(
  1776. -0.21875*BS,-0.40625*BS,-0.28125*BS,0.21875*BS,-0.375*BS,-0.25*BS
  1777. ));
  1778. f->addNodeBox(NodeBox(
  1779. -0.3125*BS,-0.03125*BS,0.21875*BS,0.21875*BS,0.03125*BS,0.5*BS
  1780. ));
  1781. f->addNodeBox(NodeBox(
  1782. 0.25*BS,0.1875*BS,0.3125*BS,0.28125*BS,0.4375*BS,0.5*BS
  1783. ));
  1784. }
  1785. void content_nodebox_table(ContentFeatures *f)
  1786. {
  1787. f->setNodeBox(NodeBox(
  1788. -0.5*BS,0.4375*BS,-0.5*BS,0.5*BS,0.5*BS,0.5*BS
  1789. ));
  1790. f->addNodeBox(NodeBox(
  1791. -0.34375*BS,-0.5*BS,-0.34375*BS,-0.25*BS,0.4375*BS,-0.25*BS
  1792. ));
  1793. f->addNodeBox(NodeBox(
  1794. -0.34375*BS,-0.5*BS,0.25*BS,-0.25*BS,0.4375*BS,0.34375*BS
  1795. ));
  1796. f->addNodeBox(NodeBox(
  1797. 0.25*BS,-0.5*BS,0.25*BS,0.34375*BS,0.4375*BS,0.34375*BS
  1798. ));
  1799. f->addNodeBox(NodeBox(
  1800. 0.25*BS,-0.5*BS,-0.34375*BS,0.34375*BS,0.4375*BS,-0.25*BS
  1801. ));
  1802. f->addNodeBox(NodeBox(
  1803. -0.3125*BS,0.34375*BS,-0.25*BS,-0.28125*BS,0.4375*BS,0.25*BS
  1804. ));
  1805. f->addNodeBox(NodeBox(
  1806. 0.28125*BS,0.34375*BS,-0.25*BS,0.3125*BS,0.4375*BS,0.25*BS
  1807. ));
  1808. f->addNodeBox(NodeBox(
  1809. -0.25*BS,0.34375*BS,0.28125*BS,0.25*BS,0.4375*BS,0.3125*BS
  1810. ));
  1811. f->addNodeBox(NodeBox(
  1812. -0.25*BS,0.34375*BS,-0.3125*BS,0.25*BS,0.4375*BS,-0.28125*BS
  1813. ));
  1814. f->addNodeBox(NodeBox(
  1815. -0.3125*BS,-0.375*BS,-0.25*BS,-0.28125*BS,-0.28125*BS,0.25*BS
  1816. ));
  1817. f->addNodeBox(NodeBox(
  1818. 0.28125*BS,-0.375*BS,-0.25*BS,0.3125*BS,-0.28125*BS,0.25*BS
  1819. ));
  1820. f->addNodeBox(NodeBox(
  1821. -0.25*BS,-0.375*BS,0.28125*BS,0.25*BS,-0.28125*BS,0.3125*BS
  1822. ));
  1823. f->addNodeBox(NodeBox(
  1824. -0.25*BS,-0.375*BS,-0.3125*BS,0.25*BS,-0.28125*BS,-0.28125*BS
  1825. ));
  1826. }
  1827. void content_nodebox_column_square(ContentFeatures *f)
  1828. {
  1829. f->setNodeBox(NodeBox(
  1830. -0.25*BS,-0.5*BS,-0.25*BS,0.25*BS,0.5*BS,0.25*BS
  1831. ));
  1832. }
  1833. void content_nodebox_column_square_base(ContentFeatures *f)
  1834. {
  1835. f->setNodeBox(NodeBox(
  1836. -0.375*BS,-0.5*BS,-0.375*BS,0.375*BS,-0.375*BS,0.375*BS
  1837. ));
  1838. f->addNodeBox(NodeBox(
  1839. -0.25*BS,-0.25*BS,-0.25*BS,0.25*BS,0.5*BS,0.25*BS
  1840. ));
  1841. f->addNodeBox(NodeBox(
  1842. -0.3125*BS,-0.375*BS,-0.3125*BS,0.3125*BS,-0.25*BS,0.3125*BS
  1843. ));
  1844. }
  1845. void content_nodebox_column_square_top(ContentFeatures *f)
  1846. {
  1847. f->setNodeBox(NodeBox(
  1848. -0.375*BS,0.375*BS,-0.375*BS,0.375*BS,0.5*BS,0.375*BS
  1849. ));
  1850. f->addNodeBox(NodeBox(
  1851. -0.25*BS,-0.5*BS,-0.25*BS,0.25*BS,0.25*BS,0.25*BS
  1852. ));
  1853. f->addNodeBox(NodeBox(
  1854. -0.3125*BS,0.25*BS,-0.3125*BS,0.3125*BS,0.375*BS,0.3125*BS
  1855. ));
  1856. }
  1857. void content_nodebox_column_cross(ContentFeatures *f)
  1858. {
  1859. f->setNodeBox(NodeBox(
  1860. -0.1875*BS,-0.5*BS,-0.1875*BS,0.1875*BS,0.5*BS,0.1875*BS
  1861. ));
  1862. f->addNodeBox(NodeBox(
  1863. -0.0625*BS,-0.5*BS,-0.25*BS,0.0625*BS,0.5*BS,0.25*BS
  1864. ));
  1865. f->addNodeBox(NodeBox(
  1866. -0.25*BS,-0.5*BS,-0.0625*BS,0.25*BS,0.5*BS,0.0625*BS
  1867. ));
  1868. }
  1869. void content_nodebox_column_cross_base(ContentFeatures *f)
  1870. {
  1871. f->setNodeBox(NodeBox(
  1872. -0.375*BS,-0.5*BS,-0.375*BS,0.375*BS,-0.375*BS,0.375*BS
  1873. ));
  1874. f->addNodeBox(NodeBox(
  1875. -0.1875*BS,-0.25*BS,-0.1875*BS,0.1875*BS,0.5*BS,0.1875*BS
  1876. ));
  1877. f->addNodeBox(NodeBox(
  1878. -0.3125*BS,-0.375*BS,-0.3125*BS,0.3125*BS,-0.25*BS,0.3125*BS
  1879. ));
  1880. f->addNodeBox(NodeBox(
  1881. -0.0625*BS,-0.25*BS,-0.25*BS,0.0625*BS,0.5*BS,0.25*BS
  1882. ));
  1883. f->addNodeBox(NodeBox(
  1884. -0.25*BS,-0.25*BS,-0.0625*BS,0.25*BS,0.5*BS,0.0625*BS
  1885. ));
  1886. }
  1887. void content_nodebox_column_cross_top(ContentFeatures *f)
  1888. {
  1889. f->setNodeBox(NodeBox(
  1890. -0.375*BS,0.375*BS,-0.375*BS,0.375*BS,0.5*BS,0.375*BS
  1891. ));
  1892. f->addNodeBox(NodeBox(
  1893. -0.1875*BS,-0.5*BS,-0.1875*BS,0.1875*BS,0.25*BS,0.1875*BS
  1894. ));
  1895. f->addNodeBox(NodeBox(
  1896. -0.3125*BS,0.25*BS,-0.3125*BS,0.3125*BS,0.375*BS,0.3125*BS
  1897. ));
  1898. f->addNodeBox(NodeBox(
  1899. -0.0625*BS,-0.5*BS,-0.25*BS,0.0625*BS,0.25*BS,0.25*BS
  1900. ));
  1901. f->addNodeBox(NodeBox(
  1902. -0.25*BS,-0.5*BS,-0.0625*BS,0.25*BS,0.25*BS,0.0625*BS
  1903. ));
  1904. }
  1905. void content_nodebox_scaffolding(ContentFeatures *f)
  1906. {
  1907. f->setNodeBox(NodeBox(
  1908. -0.5*BS,0.4375*BS,-0.5*BS,0.5*BS,0.5*BS,0.5*BS
  1909. ));
  1910. f->addNodeBox(NodeBox(
  1911. 0.375*BS,-0.375*BS,0.375*BS,0.5*BS,0.4375*BS,0.5*BS
  1912. ));
  1913. f->addNodeBox(NodeBox(
  1914. 0.375*BS,-0.375*BS,-0.5*BS,0.5*BS,0.4375*BS,-0.375*BS
  1915. ));
  1916. f->addNodeBox(NodeBox(
  1917. -0.5*BS,-0.375*BS,0.375*BS,-0.375*BS,0.4375*BS,0.5*BS
  1918. ));
  1919. f->addNodeBox(NodeBox(
  1920. -0.5*BS,-0.375*BS,-0.5*BS,-0.375*BS,0.4375*BS,-0.375*BS
  1921. ));
  1922. f->addNodeBox(NodeBox(
  1923. 0.375*BS,-0.5*BS,-0.5*BS,0.5*BS,-0.375*BS,0.5*BS
  1924. ));
  1925. f->addNodeBox(NodeBox(
  1926. -0.5*BS,-0.5*BS,-0.5*BS,-0.375*BS,-0.375*BS,0.5*BS
  1927. ));
  1928. f->addNodeBox(NodeBox(
  1929. -0.375*BS,-0.5*BS,0.375*BS,0.375*BS,-0.375*BS,0.5*BS
  1930. ));
  1931. f->addNodeBox(NodeBox(
  1932. -0.375*BS,-0.5*BS,-0.5*BS,0.375*BS,-0.375*BS,-0.375*BS
  1933. ));
  1934. }
  1935. void content_nodebox_crusher(ContentFeatures *f)
  1936. {
  1937. f->setNodeBox(NodeBox(
  1938. 0.375*BS,-0.5*BS,-0.5*BS,0.5*BS,0.5*BS,0.5*BS
  1939. ));
  1940. f->addNodeBox(NodeBox(
  1941. -0.5*BS,-0.5*BS,-0.5*BS,-0.375*BS,0.5*BS,0.5*BS
  1942. ));
  1943. f->addNodeBox(NodeBox(
  1944. -0.375*BS,-0.5*BS,-0.375*BS,0.375*BS,-0.4375*BS,0.375*BS
  1945. ));
  1946. f->addNodeBox(NodeBox(
  1947. -0.375*BS,-0.5*BS,0.375*BS,0.375*BS,0.5*BS,0.5*BS
  1948. ));
  1949. f->addNodeBox(NodeBox(
  1950. -0.375*BS,-0.5*BS,-0.5*BS,0.375*BS,-0.25*BS,-0.375*BS
  1951. ));
  1952. f->addNodeBox(NodeBox(
  1953. -0.375*BS,0.25*BS,-0.5*BS,0.375*BS,0.5*BS,-0.375*BS
  1954. ));
  1955. f->addNodeBox(NodeBox(
  1956. -0.375*BS,-0.25*BS,-0.5*BS,-0.25*BS,0.25*BS,-0.375*BS
  1957. ));
  1958. f->addNodeBox(NodeBox(
  1959. 0.25*BS,-0.25*BS,-0.5*BS,0.375*BS,0.25*BS,-0.375*BS
  1960. ));
  1961. f->addNodeBox(NodeBox(
  1962. -0.375*BS,0.375*BS,-0.375*BS,0.375*BS,0.5*BS,-0.1875*BS
  1963. ));
  1964. f->addNodeBox(NodeBox(
  1965. -0.375*BS,0.375*BS,0.1875*BS,0.375*BS,0.5*BS,0.375*BS
  1966. ));
  1967. }
  1968. void content_nodebox_cactus(ContentFeatures *f)
  1969. {
  1970. f->setNodeBox(NodeBox(
  1971. -0.4375*BS,-0.5*BS,-0.4375*BS,0.4375*BS,0.5*BS,0.4375*BS
  1972. ));
  1973. f->addNodeBox(NodeBox(
  1974. -0.5*BS,0.3125*BS,-0.5*BS,-0.4375*BS,0.375*BS,-0.4375*BS
  1975. ));
  1976. f->addNodeBox(NodeBox(
  1977. 0.4375*BS,0.125*BS,0.4375*BS,0.5*BS,0.1875*BS,0.5*BS
  1978. ));
  1979. f->addNodeBox(NodeBox(
  1980. 0.4375*BS,-0.1875*BS,-0.5*BS,0.5*BS,-0.125*BS,-0.4375*BS
  1981. ));
  1982. f->addNodeBox(NodeBox(
  1983. -0.5*BS,-0.375*BS,0.4375*BS,-0.4375*BS,-0.3125*BS,0.5*BS
  1984. ));
  1985. }
  1986. void content_nodebox_ladder_wall(ContentFeatures *f)
  1987. {
  1988. f->setNodeBox(NodeBox(
  1989. -0.4375*BS,-0.5*BS,0.3125*BS,-0.3125*BS,0.5*BS,0.5*BS
  1990. ));
  1991. f->addNodeBox(NodeBox(
  1992. 0.3125*BS,-0.5*BS,0.3125*BS,0.4375*BS,0.5*BS,0.5*BS
  1993. ));
  1994. f->addNodeBox(NodeBox(
  1995. -0.3125*BS,-0.25*BS,0.375*BS,0.3125*BS,-0.1875*BS,0.4375*BS
  1996. ));
  1997. f->addNodeBox(NodeBox(
  1998. -0.3125*BS,0.25*BS,0.375*BS,0.3125*BS,0.3125*BS,0.4375*BS
  1999. ));
  2000. }
  2001. void content_nodebox_ladder_floor(ContentFeatures *f)
  2002. {
  2003. f->setNodeBox(NodeBox(
  2004. -0.4375*BS,-0.5*BS,-0.5*BS,-0.3125*BS,-0.3125*BS,0.5*BS
  2005. ));
  2006. f->addNodeBox(NodeBox(
  2007. 0.3125*BS,-0.5*BS,-0.5*BS,0.4375*BS,-0.3125*BS,0.5*BS
  2008. ));
  2009. f->addNodeBox(NodeBox(
  2010. -0.3125*BS,-0.4375*BS,-0.3125*BS,0.3125*BS,-0.375*BS,-0.25*BS
  2011. ));
  2012. f->addNodeBox(NodeBox(
  2013. -0.3125*BS,-0.4375*BS,0.1875*BS,0.3125*BS,-0.375*BS,0.25*BS
  2014. ));
  2015. }
  2016. void content_nodebox_ladder_roof(ContentFeatures *f)
  2017. {
  2018. f->setNodeBox(NodeBox(
  2019. -0.4375*BS,0.3125*BS,-0.5*BS,-0.3125*BS,0.5*BS,0.5*BS
  2020. ));
  2021. f->addNodeBox(NodeBox(
  2022. 0.3125*BS,0.3125*BS,-0.5*BS,0.4375*BS,0.5*BS,0.5*BS
  2023. ));
  2024. f->addNodeBox(NodeBox(
  2025. -0.3125*BS,0.375*BS,-0.3125*BS,0.3125*BS,0.4375*BS,-0.25*BS
  2026. ));
  2027. f->addNodeBox(NodeBox(
  2028. -0.3125*BS,0.375*BS,0.1875*BS,0.3125*BS,0.4375*BS,0.25*BS
  2029. ));
  2030. }
  2031. void content_nodebox_rail(ContentFeatures *f)
  2032. {
  2033. f->setNodeBox(NodeBox(
  2034. -0.5*BS,-0.5*BS,-0.5*BS,0.5*BS,-0.375*BS,0.5*BS
  2035. ));
  2036. }
  2037. void content_nodebox_chest(ContentFeatures *f)
  2038. {
  2039. f->setNodeBox(NodeBox(
  2040. -0.5*BS,-0.5*BS,-0.4375*BS,0.5*BS,0.3125*BS,0.4375*BS
  2041. ));
  2042. f->addNodeBox(NodeBox(
  2043. -0.5*BS,0.3125*BS,-0.3125*BS,0.5*BS,0.375*BS,0.3125*BS
  2044. ));
  2045. f->addNodeBox(NodeBox(
  2046. -0.5*BS,0.375*BS,-0.125*BS,0.5*BS,0.4375*BS,0.125*BS
  2047. ));
  2048. f->addNodeBox(NodeBox(
  2049. -0.0625*BS,-0.0625*BS,-0.5*BS,0.0625*BS,0.125*BS,-0.4375*BS
  2050. ));
  2051. }
  2052. void content_nodebox_glass_pane(ContentFeatures *f)
  2053. {
  2054. f->setNodeBox(NodeBox(
  2055. -0.5*BS,-0.5*BS,-0.05*BS,0.5*BS,0.5*BS,0.05*BS
  2056. ));
  2057. }
  2058. void content_nodebox_snowman(ContentFeatures *f)
  2059. {
  2060. f->setNodeBox(NodeBox(
  2061. -0.3125*BS,-0.5*BS,-0.3125*BS,0.3125*BS,0.125*BS,0.3125*BS
  2062. ));
  2063. f->addNodeBox(NodeBox(
  2064. -0.25*BS,0.125*BS,-0.25*BS,0.25*BS,0.5*BS,0.25*BS
  2065. ));
  2066. f->addNodeBox(NodeBox(
  2067. -0.0625*BS,0.3125*BS,-0.375*BS,0.*BS,0.375*BS,-0.25*BS
  2068. ));
  2069. f->addNodeBox(NodeBox(
  2070. -0.5*BS,-0.0625*BS,-0.0625*BS,0.5*BS,0.*BS,0.*BS
  2071. ));
  2072. }
  2073. void content_nodebox_barrel(ContentFeatures *f)
  2074. {
  2075. f->setNodeBox(NodeBox(
  2076. -0.375*BS,-0.5*BS,-0.375*BS,-0.3125*BS,0.4375*BS,0.375*BS
  2077. ));
  2078. f->addNodeBox(NodeBox(
  2079. 0.3125*BS,-0.5*BS,-0.375*BS,0.375*BS,0.4375*BS,0.375*BS
  2080. ));
  2081. f->addNodeBox(NodeBox(
  2082. -0.3125*BS,-0.5*BS,-0.375*BS,0.3125*BS,0.4375*BS,-0.3125*BS
  2083. ));
  2084. f->addNodeBox(NodeBox(
  2085. -0.3125*BS,-0.5*BS,0.3125*BS,0.3125*BS,0.4375*BS,0.375*BS
  2086. ));
  2087. f->addNodeBox(NodeBox(
  2088. -0.3125*BS,-0.4375*BS,-0.3125*BS,0.3125*BS,-0.375*BS,0.3125*BS
  2089. ));
  2090. }
  2091. void content_nodebox_barrel_sealed(ContentFeatures *f)
  2092. {
  2093. f->setNodeBox(NodeBox(
  2094. -0.375*BS,-0.5*BS,-0.375*BS,-0.3125*BS,0.4375*BS,0.375*BS
  2095. ));
  2096. f->addNodeBox(NodeBox(
  2097. 0.3125*BS,-0.5*BS,-0.375*BS,0.375*BS,0.4375*BS,0.375*BS
  2098. ));
  2099. f->addNodeBox(NodeBox(
  2100. -0.3125*BS,-0.5*BS,-0.375*BS,0.3125*BS,0.4375*BS,-0.3125*BS
  2101. ));
  2102. f->addNodeBox(NodeBox(
  2103. -0.3125*BS,-0.5*BS,0.3125*BS,0.3125*BS,0.4375*BS,0.375*BS
  2104. ));
  2105. f->addNodeBox(NodeBox(
  2106. -0.3125*BS,-0.4375*BS,-0.3125*BS,0.3125*BS,-0.375*BS,0.3125*BS
  2107. ));
  2108. f->addNodeBox(NodeBox(
  2109. -0.3125*BS,0.3125*BS,-0.3125*BS,0.3125*BS,0.375*BS,0.3125*BS
  2110. ));
  2111. }
  2112. void content_nodebox_clay_vessel(ContentFeatures *f)
  2113. {
  2114. f->setNodeBox(NodeBox(
  2115. -0.25*BS,-0.4375*BS,-0.25*BS,0.25*BS,-0.375*BS,0.25*BS
  2116. ));
  2117. f->addNodeBox(NodeBox(
  2118. 0.25*BS,-0.4375*BS,-0.25*BS,0.3125*BS,0.25*BS,0.25*BS
  2119. ));
  2120. f->addNodeBox(NodeBox(
  2121. -0.3125*BS,-0.4375*BS,-0.25*BS,-0.25*BS,0.25*BS,0.25*BS
  2122. ));
  2123. f->addNodeBox(NodeBox(
  2124. -0.3125*BS,-0.4375*BS,-0.3125*BS,0.3125*BS,0.25*BS,-0.25*BS
  2125. ));
  2126. f->addNodeBox(NodeBox(
  2127. -0.3125*BS,-0.4375*BS,0.25*BS,0.3125*BS,0.25*BS,0.3125*BS
  2128. ));
  2129. f->addNodeBox(NodeBox(
  2130. -0.3125*BS,-0.5*BS,-0.3125*BS,-0.0625*BS,-0.4375*BS,-0.0625*BS
  2131. ));
  2132. f->addNodeBox(NodeBox(
  2133. -0.3125*BS,-0.5*BS,0.0625*BS,-0.0625*BS,-0.4375*BS,0.3125*BS
  2134. ));
  2135. f->addNodeBox(NodeBox(
  2136. 0.0625*BS,-0.5*BS,-0.3125*BS,0.3125*BS,-0.4375*BS,-0.0625*BS
  2137. ));
  2138. f->addNodeBox(NodeBox(
  2139. 0.0625*BS,-0.5*BS,0.0625*BS,0.3125*BS,-0.4375*BS,0.3125*BS
  2140. ));
  2141. }