tkerwel

init.lua for Deko Mod

Jan 27th, 2012
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.79 KB | None | 0 0
  1. --[[
  2. ****
  3. Deko by tkerwel Version 0_02 alpha
  4. +++++
  5.  
  6. 64*64 textures later there will be a 32*32, maybe even a 16*16 version supported
  7.  
  8. crafted Item's recipe: will change later, in the moment for testing only easy "one line" recipes
  9.  
  10. - deko_desk (Problem with the transparency to the floor or the blocks attached)
  11. stick-wood-stick
  12. - deko_lamp
  13. papyrus-stick-papyrus
  14. - deko_closet
  15. wood-wood-cobble
  16. - deko_closet2
  17. gobble-wood-wood
  18. - deko_carpet
  19. wood-papyrus-wood
  20. - deko_bambus
  21. papyrus-wood-papyrus
  22. - deko_wallpaper (4 different wallpapers/random output code from jordan4ibanez )
  23. paparus-papyrus-wood
  24. - deko_shield (first set for a log cabin hut dekoration)
  25. wood-stone-wood
  26. - deko_hut (first set for a log cabin)
  27. tree-tree
  28.  
  29. ****
  30. --]]
  31.  
  32. -- craft recipe
  33.  
  34. minetest.register_craft(
  35. {
  36. output = 'NodeItem "deko:deko_mudstone" 8',
  37. recipe = {
  38. {'"default:dirt"','"default:leaves"','"default:dirt"'},
  39. }
  40. }
  41. )
  42.  
  43. minetest.register_craft(
  44. {
  45. output = 'NodeItem "deko:deko_roof" 8',
  46. recipe = {
  47. {'"default:dirt"','"default:stone"','"default:dirt"'},
  48. }
  49. }
  50. )
  51.  
  52. minetest.register_craft(
  53. {
  54. output = 'NodeItem "deko:deko_desk" 1',
  55. recipe = {
  56. {'craft "default:stick"','node "default:wood"','craft "default:stick"'},
  57. }
  58. })
  59.  
  60. minetest.register_craft(
  61. {
  62. output = 'NodeItem "deko:deko_lamp" 4',
  63. recipe = {
  64. {'node "default:leaves"', 'craft "default:stick"' , 'node "default:leaves"'},
  65. }
  66. })
  67.  
  68. minetest.register_craft(
  69. {
  70. output = 'NodeItem "deko:deko_closet" 4',
  71. recipe = {
  72. {'node "default:wood"','node "default:wood"','node "default:cobble"'},
  73. }
  74. })
  75.  
  76. minetest.register_craft(
  77. {
  78. output = 'NodeItem "deko:deko_closet2" 4',
  79. recipe = {
  80. {'node "default:cobble"','node "default:wood"','node "default:wood"'},
  81. }
  82. })
  83.  
  84.  
  85. minetest.register_craft(
  86. {
  87. output = 'NodeItem "deko:deko_carpet" 8',
  88. recipe = {
  89. {'node "default:wood"','node "default:leaves"','node "default:wood"'},
  90. }
  91. })
  92.  
  93. minetest.register_craft(
  94. {
  95. output = 'NodeItem "deko:deko_bambus" 4',
  96. recipe = {
  97. {'node "default:papyrus"','node "default:wood"','node "default:papyrus"'},
  98. }
  99. })
  100.  
  101. minetest.register_craft(
  102. {
  103. output = 'NodeItem "deko:deko_wallbase" 8 ',
  104. recipe = {
  105. {'node "default:leaves"','node "default:leaves"','node "default:wood"'},
  106. }
  107. })
  108.  
  109. minetest.register_craft(
  110. {
  111. output = 'NodeItem "deko:deko_shield" 1 ',
  112. recipe = {
  113. {'node "default:wood"','node "default:stone"','node "default:wood"'},
  114. }
  115. })
  116.  
  117. minetest.register_craft(
  118. {
  119. output = 'NodeItem "deko:deko_sword" 1 ',
  120. recipe = {
  121. {'node "default:stick"','node "default:stick"','node "default:stone"'},
  122. }
  123. })
  124.  
  125.  
  126.  
  127. minetest.register_craft(
  128. {
  129. output = 'NodeItem "deko:deko_hut" 8 ',
  130. recipe = {
  131. {'node "default:tree"','node "default:leaves"'},
  132. }
  133. })
  134.  
  135.  
  136.  
  137.  
  138. -- blocks nodes
  139. --
  140. minetest.register_node("deko:deko_sword",{
  141. drawtype = "signlike",
  142. tile_images = {"deko_sword.png"},
  143. inventory_image = minetest.inventorycube("deko_sword.png"),
  144. paramtype = "light",
  145. sunlight_propagates = true,
  146. walkable = false,
  147. paramtype2 = "wallmounted",
  148. legacy_wallmounted = true,
  149. selection_box = {
  150. type = "wallmounted",
  151. --wall_top = <default>
  152. --wall_bottom = <default>
  153. --wall_side = <default>
  154. },
  155. is_ground_content = true,
  156. material = minetest.digprop_glasslike(5.0),
  157. })
  158. --
  159. minetest.register_node("deko:deko_roof",{
  160. tile_images = {"deko_roof.png"},
  161. inventory_image = minetest.inventorycube("deko_roof.png"),
  162. light_propagates = true,
  163. paramtype = "light",
  164. sunlight_propagates = true,
  165. light_source = 50,
  166. is_ground_content = true,
  167. material = minetest.digprop_glasslike(5.0),
  168. })
  169. --
  170. minetest.register_node("deko:deko_mudstone",{
  171. tile_images = {"deko_mudstone.png"},
  172. inventory_image = minetest.inventorycube("deko_mudstone.png"),
  173. light_propagates = true,
  174. paramtype = "light",
  175. sunlight_propagates = true,
  176. light_source = 50,
  177. is_ground_content = true,
  178. material = minetest.digprop_glasslike(5.0),
  179. })
  180. --
  181. minetest.register_node("deko:deko_hut",{
  182. tile_images = {"deko_hut.png"},
  183. inventory_image = minetest.inventorycube("deko_hut.png"),
  184. is_ground_content = true,
  185. material = minetest.digprop_glasslike(5.0),
  186. })
  187. --
  188. minetest.register_node("deko:deko_desk",{
  189. tile_images = {"deko_desk_top.png","deko_desk_empty.png","deko_desk.png","deko_desk.png","deko_desk.png","deko_desk.png"},
  190. inventory_image = minetest.inventorycube("deko_desk.png"),
  191. -- drawtype = "glasslike",
  192. -- light_propagates = true,
  193. -- paramtype = "light",
  194. is_ground_content = true,
  195. material = minetest.digprop_glasslike(5.0),
  196. })
  197. --
  198. minetest.register_node("deko:deko_lamp",{
  199. tile_images = {"deko_lamp.png"},
  200. inventory_image = minetest.inventorycube("deko_lamp.png"),
  201. light_propagates = true,
  202. paramtype = "light",
  203. sunlight_propagates = true,
  204. light_source = 50,
  205. is_ground_content = true,
  206. material = minetest.digprop_glasslike(5.0),
  207. })
  208. --
  209. minetest.register_node("deko:deko_closet",{
  210. tile_images = {"deko_desk_top.png","deko_desk_top.png","deko_desk_top.png","deko_desk_top.png","deko_desk_top.png","deko_closet_door2.png"},
  211. paramtype2 = "facedir",
  212. inventory_image = minetest.inventorycube("deko_closet_door2.png"),
  213. is_ground_content = true,
  214. material = minetest.digprop_glasslike(5.0),
  215. })
  216. --
  217. minetest.register_node("deko:deko_closet2",{
  218. tile_images = {"deko_closet_top.png","deko_desk_top.png","deko_desk_top.png","deko_desk_top.png","deko_desk_top.png","deko_closet_door3.png"},
  219. paramtype2 = "facedir",
  220. inventory_image = minetest.inventorycube("deko_closet_door3.png"),
  221. is_ground_content = true,
  222. material = minetest.digprop_glasslike(5.0),
  223. })
  224. --
  225. minetest.register_node("deko:deko_carpet",{
  226. tile_images = {"deko_carpet.png"},
  227. inventory_image = minetest.inventorycube("deko_carpet.png"),
  228. is_ground_content = true,
  229. material = minetest.digprop_glasslike(5.0),
  230. })
  231. --
  232. minetest.register_node("deko:deko_bambus",{
  233. tile_images = {"deko_bambus.png"},
  234. inventory_image = minetest.inventorycube("deko_bambus.png"),
  235. is_ground_content = true,
  236. material = minetest.digprop_glasslike(5.0),
  237. })
  238. --
  239. minetest.register_node("deko:deko_shieldbase",{
  240. drawtype = "signlike",
  241. tile_images = {"deko_shield.png"},
  242. inventory_image = minetest.inventorycube("deko_shield.png"),
  243. paramtype = "light",
  244. sunlight_propagates = true,
  245. walkable = false,
  246. paramtype2 = "wallmounted",
  247. legacy_wallmounted = true,
  248. selection_box = {
  249. type = "wallmounted",
  250. --wall_top = <default>
  251. --wall_bottom = <default>
  252. --wall_side = <default>
  253. },
  254. is_ground_content = true,
  255. material = minetest.digprop_glasslike(5.0),
  256. })
  257. --
  258. minetest.register_node("deko:deko_shield1",{
  259. drawtype = "signlike",
  260. tile_images = {"deko_shield1.png"},
  261. inventory_image = minetest.inventorycube("deko_shield1.png"),
  262. paramtype = "light",
  263. sunlight_propagates = true,
  264. walkable = false,
  265. paramtype2 = "wallmounted",
  266. legacy_wallmounted = true,
  267. dug_item = 'node "deko:deko_shieldbase" 1',
  268. selection_box = {
  269. type = "wallmounted",
  270. --wall_top = <default>
  271. --wall_bottom = <default>
  272. --wall_side = <default>
  273. },
  274. is_ground_content = true,
  275. material = minetest.digprop_glasslike(5.0),
  276. })
  277. --
  278. minetest.register_node("deko:deko_shield2",{
  279. drawtype = "signlike",
  280. tile_images = {"deko_shield2.png"},
  281. inventory_image = minetest.inventorycube("deko_shield2.png"),
  282. paramtype = "light",
  283. sunlight_propagates = true,
  284. walkable = false,
  285. paramtype2 = "wallmounted",
  286. legacy_wallmounted = true,
  287. dug_item = 'node "deko:deko_shieldbase" 1',
  288. selection_box = {
  289. type = "wallmounted",
  290. --wall_top = <default>
  291. --wall_bottom = <default>
  292. --wall_side = <default>
  293. },
  294. is_ground_content = true,
  295. material = minetest.digprop_glasslike(5.0),
  296. })
  297. --
  298. minetest.register_node("deko:deko_shield3",{
  299. drawtype = "signlike",
  300. tile_images = {"deko_shield3.png"},
  301. inventory_image = minetest.inventorycube("deko_shield3.png"),
  302. paramtype = "light",
  303. sunlight_propagates = true,
  304. walkable = false,
  305. paramtype2 = "wallmounted",
  306. legacy_wallmounted = true,
  307. dug_item = 'node "deko:deko_shieldbase" 1',
  308. selection_box = {
  309. type = "wallmounted",
  310. --wall_top = <default>
  311. --wall_bottom = <default>
  312. --wall_side = <default>
  313. },
  314. is_ground_content = true,
  315. material = minetest.digprop_glasslike(5.0),
  316. })
  317. --
  318. minetest.register_node("deko:deko_shield4",{
  319. drawtype = "signlike",
  320. tile_images = {"deko_shield4.png"},
  321. inventory_image = minetest.inventorycube("deko_shield4.png"),
  322. paramtype = "light",
  323. sunlight_propagates = true,
  324. walkable = false,
  325. paramtype2 = "wallmounted",
  326. legacy_wallmounted = true,
  327. dug_item = 'node "deko:deko_shieldbase" 1',
  328. selection_box = {
  329. type = "wallmounted",
  330. --wall_top = <default>
  331. --wall_bottom = <default>
  332. --wall_side = <default>
  333. },
  334. is_ground_content = true,
  335. material = minetest.digprop_glasslike(5.0),
  336. })
  337. --
  338.  
  339. --
  340. minetest.register_node("deko:deko_wallbase",{
  341. drawtype = "signlike",
  342. tile_images = {"deko_wallpaperbase.png"},
  343. inventory_image = minetest.inventorycube("deko_wallpaperbase.png"),
  344. paramtype = "light",
  345. sunlight_propagates = true,
  346. walkable = false,
  347. paramtype2 = "wallmounted",
  348. legacy_wallmounted = true,
  349. selection_box = {
  350. type = "wallmounted",
  351. --wall_top = <default>
  352. --wall_bottom = <default>
  353. --wall_side = <default>
  354. },
  355. is_ground_content = true,
  356. material = minetest.digprop_glasslike(5.0),
  357. })
  358. --
  359. minetest.register_node("deko:deko_wallpaper1",{
  360. drawtype = "signlike",
  361. tile_images = {"deko_wallpaper1.png"},
  362. inventory_image = minetest.inventorycube("deko_wallpaper1.png"),
  363. paramtype = "light",
  364. sunlight_propagates = true,
  365. walkable = false,
  366. paramtype2 = "wallmounted",
  367. legacy_wallmounted = true,
  368. dug_item = 'node "deko:deko_wallbase" 1',
  369. selection_box = {
  370. type = "wallmounted",
  371. --wall_top = <default>
  372. --wall_bottom = <default>
  373. --wall_side = <default>
  374. },
  375. is_ground_content = true,
  376. material = minetest.digprop_glasslike(5.0),
  377. })
  378. --
  379. minetest.register_node("deko:deko_wallpaper2",{
  380. drawtype = "signlike",
  381. tile_images = {"deko_wallpaper2.png"},
  382. inventory_image = minetest.inventorycube("deko_wallpaper2.png"),
  383. paramtype = "light",
  384. sunlight_propagates = true,
  385. walkable = false,
  386. paramtype2 = "wallmounted",
  387. legacy_wallmounted = true,
  388. dug_item = 'node "deko:deko_wallbase" 1',
  389. selection_box = {
  390. type = "wallmounted",
  391. --wall_top = <default>
  392. --wall_bottom = <default>
  393. --wall_side = <default>
  394. },
  395. is_ground_content = true,
  396. material = minetest.digprop_glasslike(5.0),
  397. })
  398.  
  399. minetest.register_node("deko:deko_wallpaper3",{
  400. drawtype = "signlike",
  401. tile_images = {"deko_wallpaper3.png"},
  402. inventory_image = minetest.inventorycube("deko_wallpaper3.png"),
  403. paramtype = "light",
  404. sunlight_propagates = true,
  405. walkable = false,
  406. paramtype2 = "wallmounted",
  407. legacy_wallmounted = true,
  408. dug_item = 'node "deko:deko_wallbase" 1',
  409. selection_box = {
  410. type = "wallmounted",
  411. --wall_top = <default>
  412. --wall_bottom = <default>
  413. --wall_side = <default>
  414. },
  415. is_ground_content = true,
  416. material = minetest.digprop_glasslike(5.0),
  417. })
  418.  
  419. minetest.register_node("deko:deko_wallpaper4",{
  420. drawtype = "signlike",
  421. tile_images = {"deko_wallpaper4.png"},
  422. inventory_image = minetest.inventorycube("deko_wallpaper4.png"),
  423. paramtype = "light",
  424. sunlight_propagates = true,
  425. walkable = false,
  426. paramtype2 = "wallmounted",
  427. legacy_wallmounted = true,
  428. dug_item = 'node "deko:deko_wallbase" 1',
  429. selection_box = {
  430. type = "wallmounted",
  431. --wall_top = <default>
  432. --wall_bottom = <default>
  433. --wall_side = <default>
  434. },
  435. is_ground_content = true,
  436. material = minetest.digprop_glasslike(5.0),
  437. })
  438.  
  439.  
  440.  
  441.  
  442. -- based on the RANDOM GIVER from jordan4ibanez Paintings Mod
  443.  
  444. minetest.register_on_placenode(function(pos, newnode, placer)
  445.  
  446.  
  447.  
  448. if newnode.name == "deko:deko_wallbase" then
  449.  
  450. --param.2 detects the state that this object is placed in and stores it
  451. local state = newnode.param2
  452.  
  453. --this makes the game generate a random number
  454. local i = math.random(1,4)
  455.  
  456. --removes the dekobase
  457. if minetest.env:remove_node(pos) then
  458.  
  459. --this statement tells the game if it stops on this number this painting will be selected
  460. if i==1 then
  461.  
  462. minetest.env:add_node(pos, {name="deko:deko_wallpaper1",param2=state})
  463.  
  464. end
  465.  
  466. if i==2 then
  467.  
  468. minetest.env:add_node(pos, {name="deko:deko_wallpaper2",param2=state})
  469.  
  470. end
  471.  
  472. if i==3 then
  473.  
  474. minetest.env:add_node(pos, {name="deko:deko_wallpaper3",param2=state})
  475.  
  476. end
  477.  
  478. if i==4 then
  479.  
  480. minetest.env:add_node(pos, {name="deko:deko_wallpaper4",param2=state})
  481.  
  482. end
  483.  
  484. end
  485.  
  486. end
  487. end
  488. if newnode.name == "deko:deko_shieldbase" then
  489.  
  490. --param.2 detects the state that this object is placed in and stores it
  491. local state = newnode.param2
  492.  
  493. --this makes the game generate a random number
  494. local i = math.random(1,4)
  495.  
  496. --removes the dekobase
  497. if minetest.env:remove_node(pos) then
  498.  
  499.  
  500. if i==1 then
  501.  
  502. minetest.env:add_node(pos, {name="deko:deko_shield1",param2=state})
  503.  
  504. end
  505.  
  506. if i==2 then
  507.  
  508. minetest.env:add_node(pos, {name="deko:deko_shield2",param2=state})
  509.  
  510. end
  511.  
  512. if i==3 then
  513.  
  514. minetest.env:add_node(pos, {name="deko:deko_shield3",param2=state})
  515.  
  516. end
  517.  
  518. if i==4 then
  519.  
  520. minetest.env:add_node(pos, {name="deko:deko_shield4",param2=state})
  521.  
  522. end
  523.  
  524. end
  525. end
  526.  
  527. )
Advertisement
Add Comment
Please, Sign In to add comment