From c54c5ba035b714cb7dc6180c2ba8240a3ae1a658 Mon Sep 17 00:00:00 2001 From: "A.C.M" Date: Sat, 26 Jan 2019 22:33:18 +0100 Subject: [PATCH] Recipes for various Nodes added. Registered some Nodes for stairsplus. Added Support for Mesecons to the Switch. --- README.md | 3 +- crafts.lua | 405 ++++++++++++++++++++++++++++++++++++++++++++++++++ depends.txt | 3 + init.lua | 106 +++++++++++++ mod.conf | 4 + models.lua | 1 + nodeboxes.lua | 60 ++++++++ 7 files changed, 581 insertions(+), 1 deletion(-) create mode 100644 mod.conf diff --git a/README.md b/README.md index 7b11166..1d4e12a 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,10 @@ Minetest mod that adds scifi themed nodes **Adding Recipes for the unfinished scifi_nodes** +** Added support for stairsplus ** # Attributions CC BY-NC 3.0 * scifi_nodes_door_normal.ogg tlwmdbt https://freesound.org/people/tlwmdbt/sounds/165862/ -* scifi_nodes_door_mechanic.ogg primeval_polypod https://freesound.org/people/primeval_polypod/sounds/156507/ \ No newline at end of file +* scifi_nodes_door_mechanic.ogg primeval_polypod https://freesound.org/people/primeval_polypod/sounds/156507/ diff --git a/crafts.lua b/crafts.lua index d5a94d1..3c43dc5 100644 --- a/crafts.lua +++ b/crafts.lua @@ -1257,3 +1257,408 @@ minetest.register_craft({ {"scifi_nodes:glass","",""} } }) + + +minetest.register_craft({ + output = "scifi_nodes:powered_stand", + recipe = { + {"", "default:junglewood", ""}, + {"default:fence_junglewood", "default:fence_junglewood", "default:fence_junglewood"} + } +}) + +minetest.register_craft({ + output = "scifi_nodes:door3a 2", + recipe = { + {"scifi_nodes:white2", "scifi_nodes:white2", ""}, + {"scifi_nodes:white2", "scifi_nodes:white2", "scifi_nodes:white_pad"}, + {"scifi_nodes:white2", "scifi_nodes:white2", ""} + } +}) + +minetest.register_craft({ + output = "scifi_nodes:door4a 2", + recipe = { + {"scifi_nodes:doomwall2"}, + {"scifi_nodes:doomwall2"}, + {"scifi_nodes:doomwall2"} + } +}) + +--[[ +-- 1 metal plant pot from 1 greybolts and 1 clean glass +minetest.register_craft({ + output = "scifi_nodes:pot", + recipe = { + {"moreblocks:clean_glass"}, + {"default:dirt"}, + {"scifi_nodes:greybolts"} + } +}) +]]-- + +minetest.register_craft({ + output = "scifi_nodes:flower1", + recipe = { + {"flowers:viola"}, + {"default:dirt"}, + {"scifi_nodes:greybolts"} + } +}) + +minetest.register_craft({ + output = "scifi_nodes:flower2", + recipe = { + {"flowers:dandelion_white","flowers:rose"}, + {"default:dirt",""}, + {"scifi_nodes:greybolts",""} + } +}) + +minetest.register_craft({ + output = "scifi_nodes:flower3", + recipe = { + {"flowers:mushroom_brown"}, + {"default:dirt"}, + {"scifi_nodes:greybolts"} + } +}) + +minetest.register_craft({ + output = "scifi_nodes:flower4", + recipe = { + {"flowers:viola","default:junglegrass"}, + {"default:dirt",""}, + {"scifi_nodes:greybolts",""} + } +}) + +minetest.register_craft({ + output = "scifi_nodes:plant1", + recipe = { + {"flowers:geranium"}, + {"default:dirt"}, + {"scifi_nodes:greybolts"} + } +}) + +minetest.register_craft({ + output = "scifi_nodes:plant2", + recipe = { + {"flowers:mushroom_red","default:grass_1"}, + {"default:dirt",""}, + {"scifi_nodes:greybolts",""} + } +}) + + +minetest.register_craft({ + output = "scifi_nodes:plant3", + recipe = { + {"flowers:geranium","default:grass_1","flowers:geranium"}, + {"","default:dirt",""}, + {"","scifi_nodes:greybolts",""} + } +}) + + +minetest.register_craft({ + output = "scifi_nodes:plant4", + recipe = { + {"flowers:dandelion_white","default:grass_1","flowers:dandelion_white"}, + {"","default:dirt",""}, + {"","scifi_nodes:greybolts",""} + } +}) + +minetest.register_craft({ + output = "scifi_nodes:plant5", + recipe = { + {"default:grass_1"}, + {"default:dirt"}, + {"scifi_nodes:greybolts"} + } +}) + +minetest.register_craft({ + output = "scifi_nodes:plant6", + recipe = { + {"flowers:viola","default:grass_1"}, + {"default:dirt",""}, + {"scifi_nodes:greybolts",""} + } +}) + +minetest.register_craft({ + output = "scifi_nodes:plant7", + recipe = { + {"flowers:mushroom_brown","default:grass_1","flowers:mushroom_brown"}, + {"","default:dirt",""}, + {"","scifi_nodes:greybolts",""} + } +}) + + +minetest.register_craft({ + output = "scifi_nodes:plant8", + recipe = { + {"flowers:viola","default:junglegrass"}, + {"default:dirt",""}, + {"scifi_nodes:greybolts",""} + } +}) + + +minetest.register_craft({ + output = "scifi_nodes:plant9", + recipe = { + {"flowers:viola","default:grass_1","flowers:dandelion"}, + {"","default:dirt",""}, + {"","scifi_nodes:greybolts",""} + } +}) + + +minetest.register_craft({ + output = "scifi_nodes:plant10", + recipe = { + {"default:grass_1","flowers:dandelion","default:grass_1"}, + {"","default:dirt",""}, + {"","scifi_nodes:greybolts",""} + } +}) + + +minetest.register_craft({ + output = "scifi_nodes:grassblk", + recipe = { + {"default:grass_1","default:junglegrass","default:grass_1"}, + {"","default:dirt",""}, + {"","scifi_nodes:greybolts",""} + } +}) + + +minetest.register_craft({ + output = "scifi_nodes:grass", + recipe = { + {"default:grass_1","default:junglegrass"}, + {"default:dirt",""}, + {"scifi_nodes:greybolts",""} + } +}) + + +minetest.register_craft({ + output = "scifi_nodes:egg", + recipe = { + {"default:clay_lump","default:clay_lump","default:clay_lump"}, + {"default:clay_lump","dye:blue","default:clay_lump"}, + {"default:clay_lump","default:clay_lump","default:clay_lump"} + } +}) + +minetest.register_craft({ + output = "scifi_nodes:eyetree", + recipe = { + {"scifi_nodes:egg"}, + {"default:sapling"}, + {"scifi_nodes:greybolts"} + } +}) + +minetest.register_craft({ + output = "scifi_nodes:gloshroom", + recipe = { + {"default:grass_1","flowers:mushroom_red"}, + {"default:tin_ingot",""}, + {"scifi_nodes:greybolts",""} + } +}) + + +minetest.register_craft({ + output = "scifi_nodes:plant_trap", + recipe = { + {"vessels:drinking_glass","scifi_nodes:lightbars"}, + {"scifi_nodes:greybolts",""} + } +}) + +minetest.register_craft({ + output = "scifi_nodes:gblock 3", + recipe = { + {"dye:white","scifi_nodes:greenmetal","dye:green"} + } +}) + +minetest.register_craft({ + output = "scifi_nodes:gblock2 4", + recipe = { + {"scifi_nodes:disc","scifi_nodes:disc","scifi_nodes:disc"}, + {"","scifi_nodes:gblock",""} + } +}) + +minetest.register_craft({ + output = "scifi_nodes:gblock3", + recipe = { + {"default:sign_wall_wood"}, + {"scifi_nodes:gblock"} + } +}) + +minetest.register_craft({ + output = "scifi_nodes:bluegrid 4", + recipe = { + {"scifi_nodes:bluemetal","", "scifi_nodes:bluemetal"}, + {"scifi_nodes:bluemetal","default:obsidian_glass", "scifi_nodes:bluemetal"}, + {"scifi_nodes:bluemetal","", "scifi_nodes:bluemetal"}, + } +}) + +minetest.register_craft({ + output = "scifi_nodes:red 4", + recipe = { + {"scifi_nodes:blackplate","", "scifi_nodes:blackplate"}, + {"","dye:red",""}, + {"scifi_nodes:blackplate","", "scifi_nodes:blackplate"} + } +}) + +minetest.register_craft({ + output = "scifi_nodes:wallpipe 3", + recipe = { + {"default:papyrus","scifi_nodes:grnpipe", "scifi_nodes:liquid_pipe"} + } +}) + +minetest.register_craft({ + output = 'scifi_nodes:doomwall41 6', + recipe = { + {"scifi_nodes:white","dye:blue","scifi_nodes:white"}, + {"scifi_nodes:black","dye:dark_green","scifi_nodes:black"}, + {"scifi_nodes:white","dye:blue","scifi_nodes:white"} + } +}) + +minetest.register_craft({ + output = 'scifi_nodes:doomwall42 6', + recipe = { + {"scifi_nodes:white","dye:black","scifi_nodes:white"}, + {"scifi_nodes:black","dye:dark_green","scifi_nodes:black"}, + {"scifi_nodes:white","dye:yellow","scifi_nodes:white"} + } +}) + +minetest.register_craft({ + output = 'scifi_nodes:doomwall43 6', + recipe = { + {"scifi_nodes:white","dye:black","scifi_nodes:white"}, + {"scifi_nodes:black","dye:dark_green","scifi_nodes:black"}, + {"scifi_nodes:white","dye:yellow","scifi_nodes:white"} + } +}) + +minetest.register_craft({ + output = 'scifi_nodes:doomwall43 6', + recipe = { + {"scifi_nodes:white","scifi_nodes:white","scifi_nodes:white"}, + {"scifi_nodes:black","dye:dark_green","scifi_nodes:black"}, + {"scifi_nodes:white","default:grass_1","scifi_nodes:white"} + } +}) + +minetest.register_craft({ + output = 'scifi_nodes:doomwall431 6', + recipe = { + {"scifi_nodes:white","default:grass_1","scifi_nodes:white"}, + {"scifi_nodes:black","dye:dark_green","scifi_nodes:black"}, + {"scifi_nodes:white","scifi_nodes:white","scifi_nodes:white"} + } +}) + +minetest.register_craft({ + output = 'scifi_nodes:doomwall44 6', + recipe = { + {"scifi_nodes:white","default:grass_1","scifi_nodes:white"}, + {"scifi_nodes:black","dye:dark_green","scifi_nodes:black"}, + {"scifi_nodes:white","default:grass_1","scifi_nodes:white"} + } +}) + +minetest.register_craft({ + output = 'scifi_nodes:doomwall44 6', + recipe = { + {"scifi_nodes:white","default:grass_1","scifi_nodes:white"}, + {"scifi_nodes:black","dye:dark_green","scifi_nodes:black"}, + {"scifi_nodes:white","default:grass_1","scifi_nodes:white"} + } +}) + +minetest.register_craft({ + output = 'scifi_nodes:pipe 8', + recipe = { + {"scifi_nodes:greenmetal","scifi_nodes:vent2","scifi_nodes:greenmetal"}, + {"scifi_nodes:greenmetal","","scifi_nodes:greenmetal"}, + {"scifi_nodes:greenmetal","scifi_nodes:vent2","scifi_nodes:greenmetal"} + } +}) + +minetest.register_craft({ + output = 'scifi_nodes:pipeside 8', + recipe = { + {"scifi_nodes:greenmetal","scifi_nodes:greenmetal","scifi_nodes:greenmetal"}, + {"scifi_nodes:vent2","","scifi_nodes:vent2"}, + {"scifi_nodes:greenmetal","scifi_nodes:greenmetal","scifi_nodes:greenmetal"} + } +}) + +minetest.register_craft({ + output = 'scifi_nodes:computer', + recipe = { + {"default:bookshelf","default:diamond","default:copper_ingot"}, + {"","scifi_nodes:black_lights",""} + } +}) + +minetest.register_craft({ + output = 'scifi_nodes:cover', + recipe = { + {"scifi_nodes:dent","default:wood","scifi_nodes:dent"} + } +}) + +minetest.register_craft({ + output = 'scifi_nodes:pipen', + recipe = { + {"scifi_nodes:black","","scifi_nodes:black"}, + {"scifi_nodes:black","scifi_nodes:vent2","scifi_nodes:black"}, + {"scifi_nodes:black","","scifi_nodes:black"} + } +}) + +minetest.register_craft({ + output = 'scifi_nodes:alienslope 6', + recipe = { + {"scifi_nodes:screen3",""}, + {"scifi_nodes:grnpipe","scifi_nodes:vent2"} + } +}) + +minetest.register_craft({ + output = 'scifi_nodes:stripes2top 3', + recipe = { + {"scifi_nodes:black","scifi_noedes:black","scifi_nodes:black"}, + {"default:silver_sand","default:silver_sand","default:silver_sand"} + } +}) + +minetest.register_craft({ + output = 'scifi_nodes:stripes2 2', + recipe = { + {"scifi_nodes:stripes2top"}, + {"scifi_nodes:stripes"} + } +}) + diff --git a/depends.txt b/depends.txt index bb9ab54..95a1e7b 100644 --- a/depends.txt +++ b/depends.txt @@ -1,8 +1,11 @@ default +basic_materials xpanes? moreblocks? mesecons? mesecons_microcontroller? mesecons_button? mesecons_torch? +mesecons_receiver? dye? + diff --git a/init.lua b/init.lua index 2b4db46..5256eda 100644 --- a/init.lua +++ b/init.lua @@ -849,3 +849,109 @@ dofile(minetest.get_modpath("scifi_nodes").."/doors.lua") dofile(minetest.get_modpath("scifi_nodes").."/nodeboxes.lua") dofile(minetest.get_modpath("scifi_nodes").."/models.lua") dofile(minetest.get_modpath("scifi_nodes").."/crafts.lua") + +-- Register Nodes for Stairsplus +local node = {} + +node.types = { + {"blue", "blue lines", "blue"}, + {"holes", "metal with holes","holes"}, + {"white2", "plastic", "white2"}, +-- {"engine", "engine", "engine"}, + {"wall", "metal wall", "wall"}, + {"white", "plastic wall", "white"}, + {"stripes2top", "dirty metal block","metal2"}, + {"rough", "rough metal", "rough"}, + {"lighttop", "metal block", "metal"}, + {"red", "red lines", "red"}, + {"green", "green lines", "green"}, + {"vent2", "vent", "vent"}, + {"stripes", "hazard stripes", "stripes"}, + {"rust", "rusty metal", "rust"}, + {"mesh", "metal mesh", "mesh"}, + {"black", "black wall", "black"}, + {"blackoct", "black octagon", "blackoct"}, + {"blackpipe", "black pipe", "blackpipe"}, + {"blacktile", "black tile", "blktl"}, + {"blacktile2", "black tile 2", "blktl2"}, + {"blackvent", "black vent", "blkvnt"}, + {"bluebars", "blue bars", "bluebars"}, + {"bluemetal", "blue metal", "blumtl"}, + {"bluetile", "blue tile", "blutl"}, + {"greytile", "grey tile", "grytl"}, + {"mesh2", "metal floormesh", "mesh2"}, + {"white", "plastic wall", "white"}, + {"pipe", "wall pipe", "pipe2"}, + {"pipeside", "side pipe", "pipe3"}, + {"tile", "white tile", "tile"}, + {"whiteoct", "white octagon", "whiteoct"}, + {"whitetile", "white tile2", "whttl"}, + {"black_detail", "black detail", "blckdtl"}, + {"green_square", "green metal block", "grnblck"}, + {"red_square", "red metal block", "redblck"}, + {"grey_square", "grey metal block", "greyblck"}, + {"blue_square", "blue metal block", "blublck"}, + {"black_mesh", "black vent block", "blckmsh"}, + {"dent", "dented metal block", "dent"}, + {"greenmetal", "green metal wall", "grnmetl"}, + {"greenmetal2", "green metal wall2", "grnmetl2"}, + {"greenlights", "green wall lights", "grnlt", 10}, + {"greenlights2", "green wall lights2", "grnlt2", 10}, + {"greenbar", "green light bar", "grnlghtbr", 10}, + {"green2", "green wall panel", "grn2"}, + {"greentubes", "green pipes", "grntubes"}, + {"grey", "grey wall", "gry"}, + {"greybolts", "grey wall bolts", "gryblts"}, + {"greybars", "grey bars", "grybrs"}, + {"greydots", "grey wall dots", "grydts"}, + {"greygreenbar", "gray power pipe", "grygrnbr", 10}, + {"octofloor", "Doom floor", "octofloor"}, + {"octofloor2", "Brown Doom floor", "octofloor2"}, + {"doomwall1", "Doom wall 1", "doomwall1"}, + {"doomwall2", "Doom wall 2", "doomwall2"}, + {"doomwall3", "Doom wall 3", "doomwall3"}, + {"doomwall4", "Doom wall 4", "doomwall4"}, + {"doomwall41", "Doom wall 4.1", "doomwall4.1"}, + {"doomwall42", "Doom wall 4.2", "doomwall4.2"}, + {"doomwall43", "Doom wall 4.3", "doomwall4.3"}, + {"doomwall431", "Doom wall 4.3.1", "doomwall4.3.1"}, + {"doomwall44", "Doom wall 4.4", "doomwall4.4"}, + {"blackdmg", "Damaged black wall", "blckdmg"}, + {"blackdmgstripe", "Damaged black wall(stripes)", "blckdmgstripe"}, + {"doomengine", "Doom engine wall", "doomengine"}, +-- {"monitorwall", "Wall monitors", "monitorwall"}, + {"screen3", "Wall monitor", "screen3"}, + {"doomlight", "Doom light", "doomlight", 12}, + {"bluwllight", "Blue wall light", "capsule3", 20}, + {"bluegrid", "Blue Grid", "bluegrid", 5}, + {"fan", "Fan", "fan"}, + {"ppllght", "Purple wall light", "", 50}, + {"pplwll", "Purple wall", "", 0}, + {"pplwll2", "Purple wall2", "", 0}, + {"pplwll3", "Purple wall3", "", 0}, + {"pplwll4", "Purple wall4", "", 0}, + {"pplblk", "Purple tile", "", 0}, + {"purple", "Purple node", "", 0}, + {"rock", "Moonstone", "", 0}, + {"rock2", "Moonstone2", "", 0}, + {"blackvnt", "Black vent", "", 0}, + {"blackplate", "Black plate", "", 0}, +} + +if minetest.global_exists("stairsplus") then + + for _, row in ipairs(node.types) do + local name = row[1] + local desc = row[2] + local light = row[4] + -- Node Definition + stairsplus:register_all("scifi_nodes", row[1], "scifi_nodes:"..name, { + description = desc, + tiles = {"scifi_nodes_"..name..".png"}, + groups = {cracky=1}, + paramtype = "light", + paramtype2 = "facedir", + light_source = light, + }) + end +end diff --git a/mod.conf b/mod.conf new file mode 100644 index 0000000..3bd6219 --- /dev/null +++ b/mod.conf @@ -0,0 +1,4 @@ +name = scifi_nodes +description = A mod which the vegan kitchen to Minetest. +depends = default,dye,basic_materials +optional_depends = xpanes,moreblocks,mesecons,mesecons_microcontroller,mesecons_button,mesecons_torch,mesecons_receiver diff --git a/models.lua b/models.lua index 924f354..12b1543 100644 --- a/models.lua +++ b/models.lua @@ -64,6 +64,7 @@ end scifi_nodes.register_slope("white2", "Plastic", {"scifi_nodes_white2.png",}, 0) scifi_nodes.register_slope("black", "Black", {"scifi_nodes_black.png",}, 0) +scifi_nodes.register_slope("white", "White", {"scifi_nodes_white.png",}, 0) scifi_nodes.register_slope("grey", "Grey", {"scifi_nodes_grey.png",}, 0) scifi_nodes.register_slope("bluebars", "Blue bars", {"scifi_nodes_bluebars.png",}, 0) scifi_nodes.register_slope("mesh2", "Metal floormesh", {"scifi_nodes_mesh2.png",}, 0) diff --git a/nodeboxes.lua b/nodeboxes.lua index 3758017..6a88d21 100644 --- a/nodeboxes.lua +++ b/nodeboxes.lua @@ -460,6 +460,7 @@ minetest.register_node("scifi_nodes:lightbar", { groups = {cracky=1}, sounds = default.node_sound_glass_defaults() }) + --wall switch, currently does not do anything minetest.register_node("scifi_nodes:switch_off", { description = "Wall switch", @@ -1243,3 +1244,62 @@ minetest.register_node("scifi_nodes:windowpanel", { sounds = default.node_sound_glass_defaults(), }) +if (mesecon.receptor_on ~= nil) and + (mesecon.receptor_off ~= nil) then + minetest.register_node("scifi_nodes:switch_off", { + description = "Wall switch", + tiles = { + "scifi_nodes_switch_off.png", + }, + inventory_image = "scifi_nodes_switch_on.png", + wield_image = "scifi_nodes_switch_on.png", + drawtype = "signlike", + sunlight_propagates = true, + selection_box = { + type = "wallmounted", + fixed = {-0.5, -0.3, -0.3, -0.45, 0.3, 0.3} + }, + paramtype = "light", + paramtype2 = "wallmounted", + groups = {cracky=1, oddly_breakable_by_hand=1, mesecon_needs_receiver = 1}, + on_rightclick = function(pos, node, clicker, item, _) + minetest.set_node(pos, {name="scifi_nodes:switch_on", param2=node.param2}) + mesecon.receptor_on(pos) + end, + sounds = default.node_sound_glass_defaults(), + mesecons = {receptor = { state = mesecon.state.off }} + }) + + minetest.register_node("scifi_nodes:switch_on", { + description = "Wall switch", + sunlight_propagates = true, + tiles = { + "scifi_nodes_switch_on.png", + }, + inventory_image = "scifi_nodes_switch_on.png", + wield_image = "scifi_nodes_switch_on.png", + drawtype = "signlike", + selection_box = { + type = "wallmounted", + fixed = {-0.5, -0.3, -0.3, -0.45, 0.3, 0.3} + }, + paramtype = "light", + paramtype2 = "wallmounted", + light_source = 5, + groups = {cracky=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1, mesecon_needs_receiver = 1}, + on_rightclick = function(pos, node, clicker, item, _) + minetest.set_node(pos, {name="scifi_nodes:switch_off", param2=node.param2}) + mesecon.receptor_off(pos) + end, + sounds = default.node_sound_glass_defaults(), + mesecons = {receptor = { state = mesecon.state.on }} + }) + + minetest.register_craft({ + output = "scifi_nodes:switch_off 2", + recipe = { + {"mesecons_button:button_off", "scifi_nodes:grey", ""} + } + }) + +end