V1.04, Source maintenance, minor issues fixed, Unifieddyes support for Color Lamp added

This commit is contained in:
Joachim Stolberg 2018-03-31 19:03:53 +02:00
parent a0de294c75
commit ed3035a183
21 changed files with 32 additions and 37 deletions

3
.gitignore vendored

@ -39,3 +39,6 @@ luac.out
*.x86_64 *.x86_64
*.hex *.hex
.buildpath
.project
org.eclipse.*

@ -813,7 +813,7 @@ minetest.register_node("smartline:controller", {
after_place_node = function(pos, placer) after_place_node = function(pos, placer)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local number = tubelib.add_node(pos) local number = tubelib.add_node(pos, "smartline:controller")
local fs_data = {} local fs_data = {}
meta:set_string("fs_data", minetest.serialize(fs_data)) meta:set_string("fs_data", minetest.serialize(fs_data))
meta:set_string("owner", placer:get_player_name()) meta:set_string("owner", placer:get_player_name())

@ -51,7 +51,7 @@ minetest.register_node("smartline:display", {
}, },
after_place_node = function(pos, placer) after_place_node = function(pos, placer)
local number = tubelib.add_node(pos) local number = tubelib.add_node(pos, "smartline:display")
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("number", number) meta:set_string("number", number)
meta:set_string("text", " \n \nMinetest\nSmartLine Tools\n \nDisplay\nNumber: "..number) meta:set_string("text", " \n \nMinetest\nSmartLine Tools\n \nDisplay\nNumber: "..number)

@ -121,7 +121,7 @@ minetest.register_node("smartline:playerdetector", {
}, },
}, },
after_place_node = function(pos, placer) after_place_node = function(pos, placer)
local number = tubelib.add_node(pos) local number = tubelib.add_node(pos, "smartline:playerdetector")
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("number", number) meta:set_string("number", number)
local numbers = meta:get_string("numbers") or "" local numbers = meta:get_string("numbers") or ""

@ -45,7 +45,7 @@ minetest.register_node("smartline:repeater", {
after_place_node = function(pos, placer) after_place_node = function(pos, placer)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local own_number = tubelib.add_node(pos) local own_number = tubelib.add_node(pos, "smartline:repeater")
meta:set_string("own_number", own_number) meta:set_string("own_number", own_number)
meta:set_string("formspec", formspec(meta)) meta:set_string("formspec", formspec(meta))
meta:set_string("infotext", "SmartLine Repeater "..own_number..": not connected") meta:set_string("infotext", "SmartLine Repeater "..own_number..": not connected")

@ -222,7 +222,7 @@ minetest.register_node("smartline:sequencer", {
}, },
after_place_node = function(pos, placer) after_place_node = function(pos, placer)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local number = tubelib.add_node(pos) local number = tubelib.add_node(pos, "smartline:sequencer")
local rules = {} local rules = {}
for idx = 1,NUM_SLOTS do for idx = 1,NUM_SLOTS do
rules[idx] = {offs = "", num = "", act = 1} rules[idx] = {offs = "", num = "", act = 1}

@ -44,7 +44,7 @@ minetest.register_node("smartline:signaltower", {
}, },
after_place_node = function(pos, placer) after_place_node = function(pos, placer)
local number = tubelib.add_node(pos) local number = tubelib.add_node(pos, "smartline:signaltower")
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("state", "off") meta:set_string("state", "off")
meta:set_string("infotext", "SmartLine Signal Tower "..number) meta:set_string("infotext", "SmartLine Signal Tower "..number)

@ -152,7 +152,7 @@ minetest.register_node("smartline:timer", {
local numbers = {"0000","","","","",""} local numbers = {"0000","","","","",""}
local actions = {"","","","","",""} local actions = {"","","","","",""}
local done = {false,false,false,false,false,false} local done = {false,false,false,false,false,false}
local own_num = tubelib.add_node(pos) local own_num = tubelib.add_node(pos, "smartline:timer")
meta:set_string("own_num", own_num) meta:set_string("own_num", own_num)
meta:set_string("placer_name", placer:get_player_name()) meta:set_string("placer_name", placer:get_player_name())
meta:set_string("events", minetest.serialize(events)) meta:set_string("events", minetest.serialize(events))

@ -126,7 +126,6 @@ Parameters:
The function is used to register the nodes position for the communication node The function is used to register the nodes position for the communication node
number and to update the tube surrounding. number and to update the tube surrounding.
`pos` the node position, `name` is the node name. `pos` the node position, `name` is the node name.
If 'name' is nil, the tube surrounding is not updated, which should be used for nodes without tube connection.

@ -70,7 +70,7 @@ minetest.register_node("tubelib:button", {
after_place_node = function(pos, placer) after_place_node = function(pos, placer)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local own_num = tubelib.add_node(pos) local own_num = tubelib.add_node(pos, "tubelib:button")
meta:set_string("own_num", own_num) meta:set_string("own_num", own_num)
meta:set_string("formspec", "size[5,6]".. meta:set_string("formspec", "size[5,6]"..
"dropdown[0.2,0;3;type;switch,button 2s,button 4s,button 8s,button 16s;1]".. "dropdown[0.2,0;3;type;switch,button 2s,button 4s,button 8s,button 16s;1]"..

@ -161,19 +161,15 @@ end
-- Add node to the tubelib lists and update the tube surrounding. -- Add node to the tubelib lists and update the tube surrounding.
-- Function determines and returns the node position number, -- Function determines and returns the node position number,
-- needed for message communication. -- needed for message communication.
-- If 'name' is nil, the tube surrounding is not updated,
-- which should be used for nodes without tube connection.
function tubelib.add_node(pos, name) function tubelib.add_node(pos, name)
-- store position -- store position
local number = get_number(pos) local number = get_number(pos)
if name then
Number2Pos[number] = { Number2Pos[number] = {
pos = pos, pos = pos,
name = name, name = name,
} }
-- update surrounding tubes -- update surrounding tubes
tubelib.update_tubes(pos) tubelib.update_tubes(pos)
end
return number return number
end end
@ -226,7 +222,6 @@ function tubelib.send_message(numbers, placer_name, clicker_name, topic, payload
local data = Number2Pos[num] local data = Number2Pos[num]
if placer_name and not minetest.is_protected(data.pos, placer_name) then if placer_name and not minetest.is_protected(data.pos, placer_name) then
if clicker_name == nil or not minetest.is_protected(data.pos, clicker_name) then if clicker_name == nil or not minetest.is_protected(data.pos, clicker_name) then
if data and data.name then
if tubelib_NodeDef[data.name] and tubelib_NodeDef[data.name].on_recv_message then if tubelib_NodeDef[data.name] and tubelib_NodeDef[data.name].on_recv_message then
tubelib_NodeDef[data.name].on_recv_message(data.pos, topic, payload) tubelib_NodeDef[data.name].on_recv_message(data.pos, topic, payload)
end end
@ -235,17 +230,14 @@ function tubelib.send_message(numbers, placer_name, clicker_name, topic, payload
end end
end end
end end
end
function tubelib.send_request(number, topic, payload) function tubelib.send_request(number, topic, payload)
if Number2Pos[number] and Number2Pos[number].name then if Number2Pos[number] and Number2Pos[number].name then
local data = Number2Pos[number] local data = Number2Pos[number]
if data and data.name then
if tubelib_NodeDef[data.name] and tubelib_NodeDef[data.name].on_recv_message then if tubelib_NodeDef[data.name] and tubelib_NodeDef[data.name].on_recv_message then
return tubelib_NodeDef[data.name].on_recv_message(data.pos, topic, payload) return tubelib_NodeDef[data.name].on_recv_message(data.pos, topic, payload)
end end
end end
end
return false return false
end end

@ -35,7 +35,7 @@ minetest.register_node("tubelib:lamp", {
}, },
after_place_node = function(pos, placer) after_place_node = function(pos, placer)
local number = tubelib.add_node(pos) -- <<=== tubelib local number = tubelib.add_node(pos, "tubelib:lamp") -- <<=== tubelib
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("infotext", "Tubelib Lamp "..number) meta:set_string("infotext", "Tubelib Lamp "..number)
end, end,

@ -79,7 +79,7 @@ minetest.register_node("tubelib_addons2:accesscontrol", {
}, },
after_place_node = function(pos, placer) after_place_node = function(pos, placer)
local number = tubelib.add_node(pos) local number = tubelib.add_node(pos, "tubelib_addons2:accesscontrol")
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("number", number) meta:set_string("number", number)
local numbers = meta:get_string("numbers") or "" local numbers = meta:get_string("numbers") or ""

@ -36,7 +36,7 @@ minetest.register_node("tubelib_addons2:lamp", {
tiles = {"tubelib_addons2_lamp.png^[colorize:#000000:100"}, tiles = {"tubelib_addons2_lamp.png^[colorize:#000000:100"},
after_place_node = function(pos, placer) after_place_node = function(pos, placer)
local number = tubelib.add_node(pos) local number = tubelib.add_node(pos, "tubelib_addons2:lamp")
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_int("number", number) meta:set_int("number", number)
switch_node(pos, "", placer) switch_node(pos, "", placer)

@ -31,7 +31,7 @@ minetest.register_node("tubelib_addons2:lamp_off", {
tiles = {"tubelib_addons2_lamp.png^[colorize:#000000:100"}, tiles = {"tubelib_addons2_lamp.png^[colorize:#000000:100"},
after_place_node = function(pos, placer, itemstack, pointed_thing) after_place_node = function(pos, placer, itemstack, pointed_thing)
local number = tubelib.add_node(pos) local number = tubelib.add_node(pos, "tubelib_addons2:lamp_off")
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("infotext", "Tubelib Color Lamp "..number) meta:set_string("infotext", "Tubelib Color Lamp "..number)
unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing) unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing)

@ -52,7 +52,7 @@ for idx,pgn in ipairs(tPgns) do
after_place_node = function(pos, placer) after_place_node = function(pos, placer)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local node = minetest.get_node(pos) local node = minetest.get_node(pos)
local number = tubelib.add_node(pos) local number = tubelib.add_node(pos, "tubelib_addons2:doorblock"..idx)
tubelib.set_data(number, "facedir", node.param2) tubelib.set_data(number, "facedir", node.param2)
meta:set_string("number", number) meta:set_string("number", number)
meta:set_string("infotext", "Tubelib Door Block "..number) meta:set_string("infotext", "Tubelib Door Block "..number)

@ -36,7 +36,7 @@ for idx,pgn in ipairs(tPgns) do
after_place_node = function(pos, placer) after_place_node = function(pos, placer)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local node = minetest.get_node(pos) local node = minetest.get_node(pos)
local number = tubelib.add_node(pos) local number = tubelib.add_node(pos, "tubelib_addons2:gateblock"..idx)
meta:set_string("infotext", "Tubelib Gate Block "..number) meta:set_string("infotext", "Tubelib Gate Block "..number)
meta:set_string("formspec", "size[3,2]".. meta:set_string("formspec", "size[3,2]"..
"label[0,0;Select texture]".. "label[0,0;Select texture]"..

@ -17,6 +17,7 @@ dofile(minetest.get_modpath("tubelib_addons2") .. "/doorblock.lua")
dofile(minetest.get_modpath("tubelib_addons2") .. "/repeater.lua") dofile(minetest.get_modpath("tubelib_addons2") .. "/repeater.lua")
dofile(minetest.get_modpath("tubelib_addons2") .. "/programmer.lua") dofile(minetest.get_modpath("tubelib_addons2") .. "/programmer.lua")
dofile(minetest.get_modpath("tubelib_addons2") .. "/accesscontrol.lua") dofile(minetest.get_modpath("tubelib_addons2") .. "/accesscontrol.lua")
dofile(minetest.get_modpath("tubelib_addons2") .. "/streetlamp.lua")
if minetest.get_modpath("mesecons") and mesecon then if minetest.get_modpath("mesecons") and mesecon then
dofile(minetest.get_modpath("tubelib_addons2") .. "/mesecons_converter.lua") dofile(minetest.get_modpath("tubelib_addons2") .. "/mesecons_converter.lua")
end end

@ -52,7 +52,7 @@ minetest.register_node("tubelib_addons2:mesecons_converter", {
after_place_node = function(pos, placer) after_place_node = function(pos, placer)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local own_number = tubelib.add_node(pos) local own_number = tubelib.add_node(pos, "tubelib_addons2:mesecons_converter")
meta:set_string("own_number", own_number) meta:set_string("own_number", own_number)
meta:set_string("formspec", formspec(meta)) meta:set_string("formspec", formspec(meta))
meta:set_string("infotext", "Tubelib Mesecons Converter "..own_number..": not connected") meta:set_string("infotext", "Tubelib Mesecons Converter "..own_number..": not connected")

@ -32,7 +32,7 @@ minetest.register_node("tubelib_addons2:repeater", {
after_place_node = function(pos, placer) after_place_node = function(pos, placer)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local own_number = tubelib.add_node(pos) local own_number = tubelib.add_node(pos, "tubelib_addons2:repeater")
meta:set_string("own_number", own_number) meta:set_string("own_number", own_number)
meta:set_string("formspec", formspec(meta)) meta:set_string("formspec", formspec(meta))
meta:set_string("infotext", "Tubelib Repeater "..own_number..": not connected") meta:set_string("infotext", "Tubelib Repeater "..own_number..": not connected")

@ -201,7 +201,7 @@ minetest.register_node("tubelib_addons2:sequencer", {
after_place_node = function(pos, placer) after_place_node = function(pos, placer)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local number = tubelib.add_node(pos) local number = tubelib.add_node(pos, "tubelib_addons2:sequencer")
local rules = {} local rules = {}
for idx = 1,NUM_SLOTS do for idx = 1,NUM_SLOTS do
rules[idx] = {offs = "", num = "", act = 1} rules[idx] = {offs = "", num = "", act = 1}