From 037ce5ff5d429f26c8d5695abeac727035359e35 Mon Sep 17 00:00:00 2001 From: cheapie Date: Tue, 1 Dec 2015 23:57:57 -0600 Subject: Added content, so it, you know, does something... --- init.lua | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 init.lua (limited to 'init.lua') diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..0e140d7 --- /dev/null +++ b/init.lua @@ -0,0 +1,52 @@ +rgblightstone = {} +rgblightstone.colors = {"off","black","blue","brown","cyan","darkblue","darkcyan","darkgray","darkgreen","darkmagenta","darkred","gray","green","magenta","red","white","yellow"} +function rgblightstone.add(name) + minetest.register_node("rgblightstone:lightstone_" .. name, { + tiles = name == "off" and {"jeija_lightstone_darkgray_off.png"} or {"rgblightstone_"..name..".png"}, + drop = "rgblightstone:lightstone_off", + groups = name == "off" and {cracky=2} or {cracky=2,not_in_creative_inventory=1}, + description="RGB Lightstone ("..name..")", + sounds = default.node_sound_stone_defaults(), + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[channel;Channel;${channel}]") + end, + on_receive_fields = function(pos, formname, fields, sender) + if fields.channel then minetest.get_meta(pos):set_string("channel", fields.channel) end + end, + light_source = name~= "off" and default.LIGHT_MAX-2 or 0, + digiline = { + receptor = {}, + effector = { + action = function(pos, node, channel, msg) + local channel_set = minetest.get_meta(pos):get_string("channel") + if channel==channel_set then + for _,color in ipairs(rgblightstone.colors) do + if msg==color then minetest.swap_node(pos, {name = "rgblightstone:lightstone_"..color}) end + end + end + end + } + } + }) +end +for _,i in ipairs(rgblightstone.colors) do rgblightstone.add(i) end +if minetest.get_modpath("mesecons_luacontroller") and minetest.get_modpath("digilines") then + minetest.register_craft({ + output = "rgblightstone:lightstone_off", + recipe = { + {"","mesecons_lightstone:lightstone_green_off",""}, + {"mesecons_lightstone:lightstone_red_off","mesecons_luacontroller:luacontroller0000","mesecons_lightstone:lightstone_blue_off"}, + {"","digilines:wire_std_00000000",""} + } + }) +else + minetest.register_craft({ + output = "rgblightstone:lightstone_off", + recipe = { + {"","mesecons_lightstone:lightstone_green_off",""}, + {"mesecons_lightstone:lightstone_red_off","group:mesecon_conductor_craftable","mesecons_lightstone:lightstone_blue_off"}, + {"","group:mesecon_conductor_craftable",""} + } + }) +end -- cgit v1.2.3