stairs_functions.lua 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. if minetest.get_modpath("moreblocks") then
  2. function darkage.register_stairs(nodeName)
  3. local ndef = assert(minetest.registered_nodes[nodeName], "Error: "..nodeName.." is not registered")
  4. local mod = "darkage"
  5. local node = nodeName:split(":")[2]
  6. local def = table.copy(ndef)
  7. def.drop = nil
  8. stairsplus:register_all(mod, node, nodeName, def)
  9. end
  10. elseif minetest.get_modpath("stairs") then
  11. function darkage.register_stairs(nodeName)
  12. local ndef = assert(minetest.registered_nodes[nodeName], "Error: "..nodeName.." is not registered")
  13. local node = nodeName:split(":")[2]
  14. -- The stairs api does not allow to use the darkage modname, so we have to call the nodes stairs:stair_darkage_
  15. -- and creating an alias
  16. local subname = "darkage_".. node;
  17. stairs.register_stair_and_slab(subname, nodeName,
  18. ndef.groups, ndef.tiles,
  19. ndef.description.." Stair", ndef.description.." Slab",
  20. ndef.sounds)
  21. --stairs.register_stair_and_slab(subname, recipeitem,
  22. -- groups, images,
  23. -- desc_stair, desc_slab, sounds)
  24. minetest.register_alias("darkage:stair_"..node, "stairs:stair_darkage_"..node)
  25. minetest.register_alias("darkage:slab_"..node, "stairs:slab_darkage_"..node)
  26. end
  27. else
  28. -- No compatible stairs mod found.
  29. minetest.log("error", "[darkage] Darkage requires at least moreblocks or stairs to be installed. Its not possible to register stairs.")
  30. function darkage.register_stairs(nodeName)
  31. minetest.log("warning", "could not create stair of type "..nodeName .." because no compatible stairs mod is installed.")
  32. end
  33. end