Undo translating some really dangerous stuff that crashes the server.

Tooltips likely need formspec escapes or something else. Revert this
to try and avoid crashing the server.
This commit is contained in:
Auke Kok 2019-09-12 15:49:23 -07:00
parent 7ed72218e0
commit 0dbff53e74

View File

@ -305,15 +305,15 @@ local function mech_connect(itemstack, placer, pointed_thing, rightclick)
m2:set_string("roffsets", minetest.serialize(roffsets)) m2:set_string("roffsets", minetest.serialize(roffsets))
m2:mark_as_private("roffsets") m2:mark_as_private("roffsets")
minetest.chat_send_player(placer:get_player_name(), S("Connection removed from \"@1\" at @2.", minetest.chat_send_player(placer:get_player_name(), S("Connection removed from \"@1\" at ",
minetest.get_node(pos2).name, minetest.get_node(pos2).name) ..
minetest.pos_to_string(pos2))) minetest.pos_to_string(pos2) .. ".")
minetest.sound_play("button_untrigger", {pos = pointed_thing.under}) minetest.sound_play("button_untrigger", {pos = pointed_thing.under})
else else
if mech.link(pos1, pos2) then if mech.link(pos1, pos2) then
minetest.chat_send_player(placer:get_player_name(), S("Connection completed with \"@1\" at @2.", minetest.chat_send_player(placer:get_player_name(), S("Connection completed with \"@1\" at ",
minetest.get_node(pos2).name, minetest.get_node(pos2).name) ..
minetest.pos_to_string(pos2))) minetest.pos_to_string(pos2) .. ".")
minetest.sound_play("button_untrigger", {pos = pointed_thing.under}) minetest.sound_play("button_untrigger", {pos = pointed_thing.under})
else else
minetest.chat_send_player(placer:get_player_name(), S("Connection failed. Too many connections.")) minetest.chat_send_player(placer:get_player_name(), S("Connection failed. Too many connections."))
@ -321,17 +321,18 @@ local function mech_connect(itemstack, placer, pointed_thing, rightclick)
end end
else -- left click else -- left click
itemstack:set_metadata(hash_vector(pointed_thing.under)) itemstack:set_metadata(hash_vector(pointed_thing.under))
minetest.chat_send_player(placer:get_player_name(), S("Connection started with \"@1\" at @2.", minetest.chat_send_player(placer:get_player_name(), S("Connection started with \"@1\" at ",
minetest.get_node(pointed_thing.under).name, minetest.get_node(pointed_thing.under).name) ..
minetest.pos_to_string(pointed_thing.under))) minetest.pos_to_string(pointed_thing.under) .. ".")
minetest.sound_play("button_trigger", {pos = pointed_thing.under}) minetest.sound_play("button_trigger", {pos = pointed_thing.under})
local meta = itemstack:get_meta() local meta = itemstack:get_meta()
meta:set_string("description", S("Connector tool").."\n" .. meta:set_string("description", S("Connector tool").."\n" ..
S("Right-click creates a connection from \"@1\" at @2", minetest.get_node(pointed_thing.under).name, S("Right-click creates a connection from \"@1\" at ",
minetest.pos_to_string(pointed_thing.under)) .. "\n" .. minetest.get_node(pointed_thing.under).name) ..
S("Right click + Shift to remove the connection from \"@1\" at @2", minetest.pos_to_string(pointed_thing.under) .. "\n" ..
minetest.get_node(pointed_thing.under).name, S("Right click + Shift to remove the connection from \"@1\" at ",
minetest.pos_to_string(pointed_thing.under))) minetest.get_node(pointed_thing.under).name) ..
minetest.pos_to_string(pointed_thing.under) .. ".")
end end
return itemstack return itemstack
end end
@ -1022,8 +1023,8 @@ minetest.register_node("mech:node_detector", {
s = s .. ", " .. k s = s .. ", " .. k
end end
end end
minetest.chat_send_player(user:get_player_name(), S("This detector will detect: @1", s)) minetest.chat_send_player(user:get_player_name(), S("This detector will detect: ") .. s)
meta:set_string("description", S("Detector node").."\n"..S("Detects: @1", s)) meta:set_string("description", S("Detector node").."\n"..S("Detects: ") .. s)
return itemstack return itemstack
end, end,
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
@ -1109,7 +1110,7 @@ minetest.register_node("mech:node_detector", {
for k, _ in pairs(nodes) do for k, _ in pairs(nodes) do
local def = minetest.registered_nodes[k] local def = minetest.registered_nodes[k]
minetest.chat_send_player(name, minetest.colorize( minetest.chat_send_player(name, minetest.colorize(
"#88ff44", S("> Detects @1", def.description:gsub("\n.*", "")))) "#88ff44", S("> Detects ") .. def.description:gsub("\n.*", "")))
end end
else else
minetest.chat_send_player(name, minetest.colorize( minetest.chat_send_player(name, minetest.colorize(
@ -1118,7 +1119,7 @@ minetest.register_node("mech:node_detector", {
local dist = meta:get_int("distance") or 0 local dist = meta:get_int("distance") or 0
minetest.chat_send_player(name, minetest.colorize( minetest.chat_send_player(name, minetest.colorize(
"#4444ff", S("> distance = @1", dist) "#4444ff", "> distance = " ..dist
)) ))
end, end,
}) })
@ -1164,15 +1165,15 @@ minetest.register_node("mech:node_creator", {
t = {fields = { ["placeable"] = minetest.write_json({[node.name] = true})}, inventory = {}} t = {fields = { ["placeable"] = minetest.write_json({[node.name] = true})}, inventory = {}}
minetest.chat_send_player(user:get_player_name(), S("This creator node will place: a placeholder for @1", node.name)) minetest.chat_send_player(user:get_player_name(), S("This creator node will place: a placeholder for @1", node.name))
meta:set_string("description", S("Creator node").."\n"..S("Creates: a placeholder for @1", node.name)) meta:set_string("description", S("Creator node").."\n"..S("Creates: a placeholder for ") ..node.name)
else else
local ofp = minetest.parse_json(ot.fields.placeable) local ofp = minetest.parse_json(ot.fields.placeable)
ofp[node.name] = true ofp[node.name] = true
t = {fields = { ["placeable"] = minetest.write_json(ofp)}, inventory = {}} t = {fields = { ["placeable"] = minetest.write_json(ofp)}, inventory = {}}
local odesc = meta:get_string("description") local odesc = meta:get_string("description")
minetest.chat_send_player(user:get_player_name(), S("This creator node will also place: a placeholder for @1", node.name)) minetest.chat_send_player(user:get_player_name(), S("This creator node will also place: a placeholder for ") ..node.name)
meta:set_string("description", S("@1, @2", odesc, node.name)) meta:set_string("description", odesc .. ", " .. node.name)
end end
meta:set_string("meta", minetest.serialize(t)) meta:set_string("meta", minetest.serialize(t))
return itemstack return itemstack
@ -1180,8 +1181,8 @@ minetest.register_node("mech:node_creator", {
-- create the node -- create the node
meta:set_string("node", minetest.serialize(node)) meta:set_string("node", minetest.serialize(node))
meta:set_string("meta", minetest.serialize(minetest.get_meta(pos):to_table())) meta:set_string("meta", minetest.serialize(minetest.get_meta(pos):to_table()))
minetest.chat_send_player(user:get_player_name(), S("This creator node will place: @1", node.name)) minetest.chat_send_player(user:get_player_name(), S("This creator node will place: ") .. node.name)
meta:set_string("description", S("Creator node").."\n"..S("Creates: @1", node.name)) meta:set_string("description", S("Creator node").."\n"..S("Creates: ") .. node.name)
return itemstack return itemstack
end end
end, end,
@ -1289,7 +1290,7 @@ minetest.register_node("mech:node_creator", {
local def = minetest.registered_nodes[n.name] local def = minetest.registered_nodes[n.name]
if def then if def then
minetest.chat_send_player(name, minetest.colorize( minetest.chat_send_player(name, minetest.colorize(
"#88ff44", S("> Creates @1", def.description:gsub("[(\n].*", "")))) "#88ff44", S("> Creates ") .. def.description:gsub("[(\n].*", "")))
end end
else else
minetest.chat_send_player(name, minetest.colorize( minetest.chat_send_player(name, minetest.colorize(
@ -1298,7 +1299,7 @@ minetest.register_node("mech:node_creator", {
local dist = meta:get_int("distance") or 0 local dist = meta:get_int("distance") or 0
minetest.chat_send_player(name, minetest.colorize( minetest.chat_send_player(name, minetest.colorize(
"#4444ff", S("> distance = @1", dist))) "#4444ff", S("> distance ") .. dist))
end, end,
}) })