init.lua 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610
  1. walls = {}
  2. walls.register = function(wall_name, wall_desc, wall_texture, wall_mat, wall_sounds)
  3. local register_node = function(name, def)
  4. local ndef = table.copy(def)
  5. stairs.setup_nodedef_callbacks(name, ndef)
  6. minetest.register_node(name, ndef)
  7. end
  8. -- inventory node, and pole-type wall start item
  9. register_node(":walls:" .. wall_name, {
  10. description = wall_desc .. " Wall",
  11. drawtype = "nodebox",
  12. node_box = {
  13. type = "connected",
  14. fixed = {{-1/4, -1/2, -1/4, 1/4, 1/2, 1/4}},
  15. -- connect_bottom =
  16. connect_front = {{-3/16, -1/2, -1/2, 3/16, 3/8, -1/4}},
  17. connect_left = {{-1/2, -1/2, -3/16, -1/4, 3/8, 3/16}},
  18. connect_back = {{-3/16, -1/2, 1/4, 3/16, 3/8, 1/2}},
  19. connect_right = {{ 1/4, -1/2, -3/16, 1/2, 3/8, 3/16}},
  20. },
  21. -- Connect to pillars too -- lets players screwdriver a pillar sideways and use it as a wall post, or something.
  22. connects_to = { "group:wall", "group:stone", "group:brick", "group:rackstone", "group:pillar" },
  23. paramtype = "light",
  24. is_ground_content = false,
  25. tiles = { wall_texture },
  26. walkable = true,
  27. -- Must be in group:wall otherwise walls will not connect.
  28. groups = utility.dig_groups("wall", {wall = 1}),
  29. sounds = wall_sounds,
  30. })
  31. register_node(":walls:" .. wall_name .. "_noconnect", {
  32. description = wall_desc .. " Pillar",
  33. drawtype = "nodebox",
  34. node_box = {
  35. type = "fixed",
  36. fixed = {{-1/4, -1/2, -1/4, 1/4, 1/2, 1/4}},
  37. },
  38. paramtype = "light",
  39. paramtype2 = "facedir",
  40. --is_ground_content = false,
  41. tiles = { wall_texture },
  42. walkable = true,
  43. groups = utility.dig_groups("wall"),
  44. sounds = wall_sounds,
  45. })
  46. register_node(":walls:" .. wall_name .. "_noconnect_wide", {
  47. description = wall_desc .. " Wide Pillar",
  48. drawtype = "nodebox",
  49. node_box = {
  50. type = "fixed",
  51. fixed = {{-0.5, -0.5, -0.25, 0.5, 0.5, 0.25}},
  52. },
  53. paramtype = "light",
  54. paramtype2 = "facedir",
  55. is_ground_content = false,
  56. tiles = { wall_texture },
  57. walkable = true,
  58. groups = utility.dig_groups("wall"),
  59. sounds = wall_sounds,
  60. })
  61. minetest.register_craft({
  62. output = "walls:" .. wall_name .. "_noconnect",
  63. recipe = {
  64. {'walls:' .. wall_name},
  65. {'walls:' .. wall_name},
  66. },
  67. })
  68. minetest.register_craft({
  69. output = "walls:" .. wall_name .. "_noconnect_wide",
  70. recipe = {
  71. {'walls:' .. wall_name .. "_noconnect"},
  72. {'walls:' .. wall_name .. "_noconnect"},
  73. },
  74. })
  75. register_node(":walls:" .. wall_name .. "_half", {
  76. drawtype = "nodebox",
  77. description = wall_desc .. " Half Wall",
  78. tiles = { wall_texture },
  79. groups = utility.dig_groups("wall"),
  80. sounds = wall_sounds,
  81. paramtype = "light",
  82. paramtype2 = "facedir",
  83. node_box = {
  84. type = "fixed",
  85. fixed = {
  86. {-0.25, -0.5, 0.25, 0.25, 0.5, 0.5},
  87. },
  88. },
  89. })
  90. -- crafting recipe
  91. minetest.register_craft({
  92. output = "walls:" .. wall_name .. " 6",
  93. recipe = {
  94. { '', '', '' },
  95. { wall_mat, wall_mat, wall_mat},
  96. { wall_mat, wall_mat, wall_mat},
  97. }
  98. })
  99. minetest.register_craft({
  100. output = "walls:"..wall_name.."_half 2",
  101. type="shapeless",
  102. recipe = {"walls:"..wall_name},
  103. })
  104. minetest.register_craft({
  105. output = "walls:"..wall_name,
  106. type="shapeless",
  107. recipe = {"walls:"..wall_name.."_half", "walls:"..wall_name.."_half"},
  108. })
  109. -- pillars
  110. register_node(":pillars:" .. wall_name .. "_bottom", {
  111. drawtype = "nodebox",
  112. description = wall_desc .. " Pillar Base",
  113. tiles = { wall_texture },
  114. groups = utility.dig_groups("wall", {pillar = 1}),
  115. sounds = wall_sounds,
  116. paramtype = "light",
  117. paramtype2 = "facedir",
  118. node_box = {
  119. type = "fixed",
  120. fixed = {
  121. {-0.5,-0.5,-0.5,0.5,-0.375,0.5},
  122. {-0.375,-0.375,-0.375,0.375,-0.125,0.375},
  123. {-0.25,-0.125,-0.25,0.25,0.5,0.25},
  124. },
  125. },
  126. })
  127. register_node(":pillars:" .. wall_name .. "_bottom_half", {
  128. drawtype = "nodebox",
  129. description = wall_desc .. " Half Pillar Base",
  130. tiles = { wall_texture },
  131. groups = utility.dig_groups("wall"),
  132. sounds = wall_sounds,
  133. paramtype = "light",
  134. paramtype2 = "facedir",
  135. node_box = {
  136. type = "fixed",
  137. fixed = {
  138. {-0.5, -0.5, 0, 0.5, -0.375, 0.5},
  139. {-0.375, -0.375, 0.125, 0.375, -0.125, 0.5},
  140. {-0.25, -0.125, 0.25, 0.25, 0.5, 0.5},
  141. },
  142. },
  143. })
  144. register_node(":pillars:" .. wall_name .. "_top", {
  145. drawtype = "nodebox",
  146. description = wall_desc .. " Pillar Top",
  147. tiles = { wall_texture },
  148. groups = utility.dig_groups("wall", {pillar = 1}),
  149. sounds = wall_sounds,
  150. paramtype = "light",
  151. paramtype2 = "facedir",
  152. node_box = {
  153. type = "fixed",
  154. fixed = {
  155. {-0.5,0.3125,-0.5,0.5,0.5,0.5},
  156. {-0.375,0.0625,-0.375,0.375,0.3125,0.375},
  157. {-0.25,-0.5,-0.25,0.25,0.0625,0.25},
  158. },
  159. },
  160. })
  161. register_node(":pillars:" .. wall_name .. "_top_half", {
  162. drawtype = "nodebox",
  163. description = wall_desc .. " Half Pillar Top",
  164. tiles = { wall_texture },
  165. groups = utility.dig_groups("wall"),
  166. sounds = wall_sounds,
  167. paramtype = "light",
  168. paramtype2 = "facedir",
  169. node_box = {
  170. type = "fixed",
  171. fixed = {
  172. {-0.5, 0.3125, 0, 0.5, 0.5, 0.5},
  173. {-0.375, 0.0625, 0.125, 0.375, 0.3125, 0.5},
  174. {-0.25, -0.5, 0.25, 0.25, 0.0625, 0.5},
  175. },
  176. },
  177. })
  178. register_node(":pillars:" .. wall_name .. "_bottom_full", {
  179. drawtype = "nodebox",
  180. description = wall_desc .. " Wide Pillar Base",
  181. tiles = { wall_texture },
  182. groups = utility.dig_groups("wall"),
  183. sounds = wall_sounds,
  184. paramtype = "light",
  185. paramtype2 = "facedir",
  186. node_box = {
  187. type = "fixed",
  188. fixed = {
  189. {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5},
  190. {-0.375, -0.375, -0.5, 0.375, -0.125, 0.5},
  191. {-0.25, -0.125, -0.5, 0.25, 0.5, 0.5},
  192. },
  193. },
  194. })
  195. register_node(":pillars:" .. wall_name .. "_bottom_back", {
  196. drawtype = "nodebox",
  197. description = wall_desc .. " Wide Pillar Base",
  198. tiles = { wall_texture },
  199. groups = utility.dig_groups("wall"),
  200. sounds = wall_sounds,
  201. paramtype = "light",
  202. paramtype2 = "facedir",
  203. node_box = {
  204. type = "fixed",
  205. fixed = {
  206. {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, -- NodeBox4
  207. {-0.5, -0.375, -0.375, 0.5, -0.125, 0.5}, -- NodeBox5
  208. {-0.5, -0.125, -0.25, 0.5, 0.5, 0.5}, -- NodeBox6
  209. },
  210. },
  211. })
  212. register_node(":pillars:" .. wall_name .. "_top_full", {
  213. drawtype = "nodebox",
  214. description = wall_desc .. " Wide Pillar Top",
  215. tiles = { wall_texture },
  216. groups = utility.dig_groups("wall"),
  217. sounds = wall_sounds,
  218. paramtype = "light",
  219. paramtype2 = "facedir",
  220. node_box = {
  221. type = "fixed",
  222. fixed = {
  223. {-0.5, 0.375, -0.5, 0.5, 0.5, 0.5},
  224. {-0.5, 0.125, -0.375, 0.5, 0.375, 0.375},
  225. {-0.5, -0.5, -0.25, 0.5, 0.5, 0.25},
  226. },
  227. },
  228. })
  229. register_node(":pillars:" .. wall_name .. "_top_back", {
  230. drawtype = "nodebox",
  231. description = wall_desc .. " Wide Pillar Top",
  232. tiles = { wall_texture },
  233. groups = utility.dig_groups("wall"),
  234. sounds = wall_sounds,
  235. paramtype = "light",
  236. paramtype2 = "facedir",
  237. node_box = {
  238. type = "fixed",
  239. fixed = {
  240. {-0.5, 0.375, -0.5, 0.5, 0.5, 0.5}, -- NodeBox1
  241. {-0.5, 0.125, -0.375, 0.5, 0.375, 0.5}, -- NodeBox2
  242. {-0.5, -0.5, -0.25, 0.5, 0.125, 0.5}, -- NodeBox3
  243. },
  244. },
  245. })
  246. minetest.register_craft({
  247. output = "pillars:"..wall_name.."_bottom 4",
  248. recipe = {
  249. {"",wall_mat,""},
  250. {"",wall_mat,""},
  251. {wall_mat,wall_mat,wall_mat},
  252. },
  253. })
  254. minetest.register_craft({
  255. output = "pillars:"..wall_name.."_top 4",
  256. recipe = {
  257. {wall_mat,wall_mat,wall_mat},
  258. {"",wall_mat,""},
  259. {"",wall_mat,""},
  260. },
  261. })
  262. minetest.register_craft({
  263. output = "pillars:"..wall_name.."_top_half 2",
  264. type="shapeless",
  265. recipe = {"pillars:"..wall_name.."_top"},
  266. })
  267. minetest.register_craft({
  268. output = "pillars:"..wall_name.."_top",
  269. type="shapeless",
  270. recipe = {"pillars:"..wall_name.."_top_half", "pillars:"..wall_name.."_top_half"},
  271. })
  272. minetest.register_craft({
  273. output = "pillars:"..wall_name.."_top_full",
  274. type="shapeless",
  275. recipe = {"pillars:"..wall_name.."_top", "pillars:"..wall_name.."_top_half"},
  276. })
  277. minetest.register_craft({
  278. output = "pillars:"..wall_name.."_top_back",
  279. type="shapeless",
  280. recipe = {"pillars:"..wall_name.."_top_full", "walls:" .. wall_name},
  281. })
  282. minetest.register_craft({
  283. output = "pillars:"..wall_name.."_bottom_half 2",
  284. type="shapeless",
  285. recipe = {"pillars:"..wall_name.."_bottom"},
  286. })
  287. minetest.register_craft({
  288. output = "pillars:"..wall_name.."_bottom",
  289. type="shapeless",
  290. recipe = {"pillars:"..wall_name.."_bottom_half", "pillars:"..wall_name.."_bottom_half"},
  291. })
  292. minetest.register_craft({
  293. output = "pillars:"..wall_name.."_bottom_full",
  294. type="shapeless",
  295. recipe = {"pillars:"..wall_name.."_bottom", "pillars:"..wall_name.."_bottom_half"},
  296. })
  297. minetest.register_craft({
  298. output = "pillars:"..wall_name.."_bottom_back",
  299. type="shapeless",
  300. recipe = {"pillars:"..wall_name.."_bottom_full", "walls:" .. wall_name},
  301. })
  302. register_node(":murderhole:" .. wall_name, {
  303. drawtype = "nodebox",
  304. description = wall_desc .. " Murder Hole",
  305. tiles = { wall_texture },
  306. groups = utility.dig_groups("wall"),
  307. sounds = wall_sounds,
  308. paramtype = "light",
  309. paramtype2 = "facedir",
  310. node_box = {
  311. type = "fixed",
  312. fixed = {
  313. {-8/16,-8/16,-8/16,-4/16,8/16,8/16},
  314. {4/16,-8/16,-8/16,8/16,8/16,8/16},
  315. {-4/16,-8/16,-8/16,4/16,8/16,-4/16},
  316. {-4/16,-8/16,8/16,4/16,8/16,4/16},
  317. },
  318. },
  319. })
  320. register_node(":machicolation:" .. wall_name, {
  321. drawtype = "nodebox",
  322. description = wall_desc .. " Machicolation",
  323. tiles = { wall_texture },
  324. groups = utility.dig_groups("wall"),
  325. sounds = wall_sounds,
  326. paramtype = "light",
  327. paramtype2 = "facedir",
  328. node_box = {
  329. type = "fixed",
  330. fixed = {
  331. {-0.5, 0, -0.5, 0.5, 0.5, 0},
  332. {-0.5, -0.5, 0, -0.25, 0.5, 0.5},
  333. {0.25, -0.5, 0, 0.5, 0.5, 0.5},
  334. },
  335. },
  336. })
  337. minetest.register_craft({
  338. output = "murderhole:"..wall_name.." 4",
  339. recipe = {
  340. {"",wall_mat, "" },
  341. {wall_mat,"", wall_mat},
  342. {"",wall_mat, ""}
  343. },
  344. })
  345. minetest.register_craft({
  346. output = "machicolation:"..wall_name,
  347. type="shapeless",
  348. recipe = {"murderhole:"..wall_name},
  349. })
  350. minetest.register_craft({
  351. output = "murderhole:"..wall_name,
  352. type="shapeless",
  353. recipe = {"machicolation:"..wall_name},
  354. })
  355. -- arrow slits
  356. register_node(":arrowslit:"..wall_name, {
  357. drawtype = "nodebox",
  358. description = wall_desc .. " Arrowslit",
  359. tiles = { wall_texture },
  360. groups = utility.dig_groups("wall"),
  361. sounds = wall_sounds,
  362. paramtype = "light",
  363. paramtype2 = "facedir",
  364. node_box = {
  365. type = "fixed",
  366. fixed = {
  367. {-0.5, -0.375, 0.5, -0.0625, 0.375, 0.3125},
  368. {0.0625, -0.375, 0.5, 0.5, 0.375, 0.3125},
  369. {-0.5, 0.375, 0.5, 0.5, 0.5, 0.3125},
  370. {-0.5, -0.5, 0.5, 0.5, -0.375, 0.3125},
  371. {0.25, -0.5, 0.3125, 0.5, 0.5, 0.125},
  372. {-0.5, -0.5, 0.3125, -0.25, 0.5, 0.125},
  373. },
  374. },
  375. })
  376. register_node(":arrowslit:"..wall_name.."_cross", {
  377. drawtype = "nodebox",
  378. description = wall_desc .. " Arrowslit With Cross",
  379. tiles = { wall_texture },
  380. groups = utility.dig_groups("wall"),
  381. sounds = wall_sounds,
  382. paramtype = "light",
  383. paramtype2 = "facedir",
  384. node_box = {
  385. type = "fixed",
  386. fixed = {
  387. {-0.5, -0.125, 0.5, -0.0625, 0.375, 0.3125},
  388. {0.0625, -0.125, 0.5, 0.5, 0.375, 0.3125},
  389. {-0.5, 0.375, 0.5, 0.5, 0.5, 0.3125},
  390. {-0.5, -0.5, 0.5, 0.5, -0.375, 0.3125},
  391. {0.0625, -0.375, 0.5, 0.5, -0.25, 0.3125},
  392. {-0.5, -0.375, 0.5, -0.0625, -0.25, 0.3125},
  393. {-0.5, -0.25, 0.5, -0.1875, -0.125, 0.3125},
  394. {0.1875, -0.25, 0.5, 0.5, -0.125, 0.3125},
  395. {0.25, -0.5, 0.3125, 0.5, 0.5, 0.125},
  396. {-0.5, -0.5, 0.3125, -0.25, 0.5, 0.125},
  397. },
  398. },
  399. })
  400. register_node(":arrowslit:"..wall_name.."_hole", {
  401. drawtype = "nodebox",
  402. description = wall_desc .. " Arrowslit With Hole",
  403. tiles = { wall_texture },
  404. groups = utility.dig_groups("wall"),
  405. sounds = wall_sounds,
  406. paramtype = "light",
  407. paramtype2 = "facedir",
  408. node_box = {
  409. type = "fixed",
  410. fixed = {
  411. {-0.5, -0.375, 0.5, -0.125, 0.375, 0.3125},
  412. {0.125, -0.375, 0.5, 0.5, 0.375, 0.3125},
  413. {-0.5, -0.5, 0.5, 0.5, -0.375, 0.3125},
  414. {0.0625, -0.125, 0.5, 0.125, 0.375, 0.3125},
  415. {-0.125, -0.125, 0.5, -0.0625, 0.375, 0.3125},
  416. {-0.5, 0.375, 0.5, 0.5, 0.5, 0.3125},
  417. {0.25, -0.5, 0.3125, 0.5, 0.5, 0.125},
  418. {-0.5, -0.5, 0.3125, -0.25, 0.5, 0.125},
  419. },
  420. },
  421. })
  422. register_node(":arrowslit:"..wall_name.."_embrasure", {
  423. drawtype = "nodebox",
  424. description = wall_desc .. " Embrasure",
  425. tiles = { wall_texture },
  426. groups = utility.dig_groups("wall"),
  427. sounds = wall_sounds,
  428. paramtype = "light",
  429. paramtype2 = "facedir",
  430. node_box = {
  431. type = "fixed",
  432. fixed = {
  433. {-0.25, -0.5, 0.375, -0.125, 0.5, 0.5},
  434. {0.125, -0.5, 0.375, 0.25, 0.5, 0.5},
  435. {0.25, -0.5, 0.25, 0.5, 0.5, 0.5},
  436. {0.375, -0.5, 0.125, 0.5, 0.5, 0.25},
  437. {-0.5, -0.5, 0.25, -0.25, 0.5, 0.5},
  438. {-0.5, -0.5, 0.125, -0.375, 0.5, 0.25},
  439. },
  440. },
  441. })
  442. minetest.register_craft({
  443. output = "arrowslit:"..wall_name.." 6",
  444. recipe = {
  445. {wall_mat,"",wall_mat},
  446. {wall_mat,"",wall_mat},
  447. {wall_mat,"",wall_mat},
  448. },
  449. })
  450. minetest.register_craft({
  451. output = "arrowslit:"..wall_name.."_cross",
  452. recipe = {
  453. {"arrowslit:"..wall_name} },
  454. })
  455. minetest.register_craft({
  456. output = "arrowslit:"..wall_name.."_hole",
  457. recipe = {
  458. {"arrowslit:"..wall_name.."_cross"} },
  459. })
  460. minetest.register_craft({
  461. output = "arrowslit:"..wall_name.."_embrasure",
  462. recipe = {
  463. {"arrowslit:"..wall_name.."_hole"} },
  464. })
  465. minetest.register_craft({
  466. output = "arrowslit:"..wall_name,
  467. recipe = {
  468. {"arrowslit:"..wall_name.."_embrasure"} },
  469. })
  470. end
  471. walls.register("cobble", "Cobblestone", "default_cobble.png",
  472. "default:cobble", default.node_sound_stone_defaults())
  473. walls.register("copper", "Copper Block", "default_copper_block.png",
  474. "default:copperblock", default.node_sound_metal_defaults())
  475. walls.register("steel", "Steel Block", "default_steel_block.png",
  476. "default:steelblock", default.node_sound_metal_defaults())
  477. walls.register("gold", "Gold Block", "default_gold_block.png",
  478. "default:goldblock", default.node_sound_metal_defaults())
  479. walls.register("bronze", "Bronze Block", "default_bronze_block.png",
  480. "default:bronzeblock", default.node_sound_metal_defaults())
  481. walls.register("tin", "Tin Block", "moreores_tin_block.png",
  482. "moreores:tin_block", default.node_sound_metal_defaults())
  483. walls.register("stone", "Stone", "default_stone.png",
  484. "default:stone", default.node_sound_stone_defaults())
  485. walls.register("stonebrick", "Stone Brick", "default_stone_brick.png",
  486. "default:stonebrick", default.node_sound_stone_defaults())
  487. walls.register("desert_stone", "Redstone", "default_desert_stone.png",
  488. "default:desert_stone", default.node_sound_stone_defaults())
  489. walls.register("sandstonebrick", "Sandstone Brick", "default_sandstone_brick.png",
  490. "default:sandstonebrick", default.node_sound_stone_defaults())
  491. walls.register("desert_stonebrick", "Redstone Brick", "default_desert_stone_brick.png",
  492. "default:desert_stonebrick", default.node_sound_stone_defaults())
  493. walls.register("sandstone", "Sandstone", "default_sandstone.png",
  494. "default:sandstone", default.node_sound_stone_defaults())
  495. walls.register("desert_sandstone", "Desert Sandstone", "default_desert_sandstone.png",
  496. "default:desert_sandstone", default.node_sound_stone_defaults())
  497. walls.register("silver_sandstone", "Silver Sandstone", "default_silver_sandstone.png",
  498. "default:silver_sandstone", default.node_sound_stone_defaults())
  499. walls.register("mossycobble", "Mossy Cobblestone", "default_mossycobble.png",
  500. "default:mossycobble", default.node_sound_stone_defaults())
  501. walls.register("desertcobble", "Chalked Cobble Redstone", "default_desert_cobble.png",
  502. "default:desert_cobble", default.node_sound_stone_defaults())
  503. walls.register("desertcobble2", "Cobble Redstone", "default_desert_cobble2.png",
  504. "default:desert_cobble2", default.node_sound_stone_defaults())
  505. walls.register("redrack", "Netherack", "rackstone_redrack.png",
  506. "rackstone:redrack", default.node_sound_stone_defaults())
  507. walls.register("redrack_cobble", "Cobbled Netherack", "rackstone_redrack_cobble.png",
  508. "rackstone:redrack_cobble", default.node_sound_stone_defaults())
  509. walls.register("redrack_brick", "Netherack Brick", "rackstone_brick.png",
  510. "rackstone:brick", default.node_sound_stone_defaults())
  511. walls.register("blackrack", "Blackrack", "rackstone_blackrack.png",
  512. "rackstone:blackrack", default.node_sound_stone_defaults())
  513. walls.register("bluerack", "Bluerack", "rackstone_bluerack.png",
  514. "rackstone:bluerack", default.node_sound_stone_defaults())
  515. walls.register("bluerack_brick", "Blue Rackstone Brick", "rackstone_bluerack_brick.png",
  516. "rackstone:bluerack_brick", default.node_sound_stone_defaults())
  517. walls.register("blackrack_brick", "Black Rackstone Brick", "rackstone_brick_black.png",
  518. "rackstone:brick_black", default.node_sound_stone_defaults())
  519. walls.register("rackstone_brick", "Rackstone Brick", "rackstone_rackstone_brick.png",
  520. "rackstone:rackstone_brick2", default.node_sound_stone_defaults())
  521. walls.register("rackstone", "Rackstone", "rackstone_rackstone.png",
  522. "rackstone:rackstone", default.node_sound_stone_defaults())
  523. walls.register("whitestone_brick", "Bleached Brick", "whitestone_brick.png",
  524. "whitestone:brick", default.node_sound_stone_defaults())
  525. walls.register("ice", "Ice", "default_ice.png",
  526. "default:ice", default.node_sound_glass_defaults())
  527. walls.register("snow_brick", "Snow Brick", "snow_bricks_snow_brick.png",
  528. "snow_bricks:snow_brick", default.node_sound_glass_defaults())
  529. walls.register("ice_brick", "Ice Brick", "snow_bricks_ice_brick.png",
  530. "snow_bricks:ice_brick", default.node_sound_glass_defaults())
  531. walls.register("lapis_cobble", "Cobbled Lapis", "lapis_cobble.png",
  532. "lapis:lapis_cobble", default.node_sound_stone_defaults())
  533. walls.register("obsidian", "Obsidian", "default_obsidian.png",
  534. "default:obsidian", default.node_sound_stone_defaults())
  535. walls.register("obsidian_brick", "Obsidian Brick", "default_obsidian_brick.png",
  536. "default:obsidianbrick", default.node_sound_stone_defaults())
  537. walls.register("rackstone_cobble", "Rackstone Cobble", "rackstone_rackstone_cobble.png",
  538. "rackstone:cobble", default.node_sound_stone_defaults())