init.lua 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. -- REMOVESTONE
  2. minetest.register_node("mesecons_random:removestone", {
  3. tiles = {"jeija_removestone.png"},
  4. is_ground_content = false,
  5. inventory_image = minetest.inventorycube("jeija_removestone_inv.png"),
  6. groups = {cracky=3},
  7. description="Removestone",
  8. sounds = default.node_sound_stone_defaults(),
  9. mesecons = {effector = {
  10. action_on = function (pos, node)
  11. minetest.remove_node(pos)
  12. mesecon.on_dignode(pos, node)
  13. minetest.check_for_falling(vector.add(pos, vector.new(0, 1, 0)))
  14. end
  15. }},
  16. on_blast = mesecon.on_blastnode,
  17. })
  18. minetest.register_craft({
  19. output = 'mesecons_random:removestone 4',
  20. recipe = {
  21. {"", "default:cobble", ""},
  22. {"default:cobble", "group:mesecon_conductor_craftable", "default:cobble"},
  23. {"", "default:cobble", ""},
  24. }
  25. })
  26. -- GHOSTSTONE
  27. minetest.register_node("mesecons_random:ghoststone", {
  28. description="Ghoststone",
  29. tiles = {"jeija_ghoststone.png"},
  30. is_ground_content = false,
  31. inventory_image = minetest.inventorycube("jeija_ghoststone_inv.png"),
  32. groups = {cracky=3},
  33. sounds = default.node_sound_stone_defaults(),
  34. mesecons = {conductor = {
  35. state = mesecon.state.off,
  36. rules = mesecon.rules.alldirs,
  37. onstate = "mesecons_random:ghoststone_active"
  38. }},
  39. on_blast = mesecon.on_blastnode,
  40. })
  41. minetest.register_node("mesecons_random:ghoststone_active", {
  42. drawtype = "airlike",
  43. pointable = false,
  44. walkable = false,
  45. diggable = false,
  46. is_ground_content = false,
  47. sunlight_propagates = true,
  48. paramtype = "light",
  49. drop = "mesecons_random:ghoststone",
  50. mesecons = {conductor = {
  51. state = mesecon.state.on,
  52. rules = mesecon.rules.alldirs,
  53. offstate = "mesecons_random:ghoststone"
  54. }},
  55. on_construct = function(pos)
  56. -- remove shadow
  57. shadowpos = vector.add(pos, vector.new(0, 1, 0))
  58. if (minetest.get_node(shadowpos).name == "air") then
  59. minetest.dig_node(shadowpos)
  60. end
  61. end,
  62. on_blast = mesecon.on_blastnode,
  63. })
  64. minetest.register_craft({
  65. output = 'mesecons_random:ghoststone 4',
  66. recipe = {
  67. {"default:steel_ingot", "default:cobble", "default:steel_ingot"},
  68. {"default:cobble", "group:mesecon_conductor_craftable", "default:cobble"},
  69. {"default:steel_ingot", "default:cobble", "default:steel_ingot"},
  70. }
  71. })