Compare commits

...

5 Commits

Author SHA1 Message Date
Christophe Drevet c0a5a21bf8 fix buggy protector interface exit (#7) 2016-12-20 16:12:09 +01:00
Zeg9 498225cf95 Merge pull request #2 from kaeza/master
Some small fixes.
2014-02-25 21:47:30 +01:00
Zeg9 61012b3c0c Merge pull request #3 from Ginger88895/master
Fixed issues with unified_inventory
2014-02-25 21:44:40 +01:00
Ginger88895 a169234d2f Fixed issues with unified_inventory 2014-01-25 06:59:55 -05:00
kaeza 8bc0700a8d Misc fixes.
- Make local some variables which are meant to be local.
- Fix some indentation issues.
- Optimize `protector.set_member_list' a bit.
- Remove reference to deprecated `tile_images' field.
2013-11-11 10:48:27 -02:00
1 changed files with 19 additions and 21 deletions

View File

@ -15,22 +15,17 @@ protector.node = "protector:protect"
protector.item = "protector:stick" protector.item = "protector:stick"
protector.get_member_list = function(meta) protector.get_member_list = function(meta)
s = meta:get_string("members") local s = meta:get_string("members")
list = s:split(" ") local list = s:split(" ")
return list return list
end end
protector.set_member_list = function(meta, list) protector.set_member_list = function(meta, list)
s = "" meta:set_string("members", table.concat(list, " "))
for _, i in ipairs(list) do
s = s .. i .. " "
end
s = s:sub(0,s:len()-1) -- remove last space
meta:set_string("members",s)
end end
protector.is_member = function (meta, name) protector.is_member = function (meta, name)
list = protector.get_member_list(meta) local list = protector.get_member_list(meta)
for _, n in ipairs(list) do for _, n in ipairs(list) do
if n == name then if n == name then
return true return true
@ -41,13 +36,13 @@ end
protector.add_member = function(meta, name) protector.add_member = function(meta, name)
if protector.is_member(meta, name) then return end if protector.is_member(meta, name) then return end
list = protector.get_member_list(meta) local list = protector.get_member_list(meta)
table.insert(list,name) table.insert(list,name)
protector.set_member_list(meta,list) protector.set_member_list(meta,list)
end end
protector.del_member = function(meta,name) protector.del_member = function(meta,name)
list = protector.get_member_list(meta) local list = protector.get_member_list(meta)
for i, n in ipairs(list) do for i, n in ipairs(list) do
if n == name then if n == name then
table.remove(list, i) table.remove(list, i)
@ -59,7 +54,7 @@ end
protector.generate_formspec = function (meta) protector.generate_formspec = function (meta)
if meta:get_int("page") == nil then meta:set_int("page",0) end if meta:get_int("page") == nil then meta:set_int("page",0) end
formspec = "size[8,8]" local formspec = "size[8,8]"
.."label[0,0;-- Protector interface --]" .."label[0,0;-- Protector interface --]"
.."label[0,1;Punch the node to show the protected area.]" .."label[0,1;Punch the node to show the protected area.]"
.."label[0,2;Current members:]" .."label[0,2;Current members:]"
@ -147,8 +142,9 @@ local old_node_dig = minetest.node_dig
function minetest.node_dig(pos, node, digger) function minetest.node_dig(pos, node, digger)
local ok=true local ok=true
if node.name ~= protector.node then if node.name ~= protector.node then
ok = protector.can_dig(5,pos,digger) ok = protector.can_dig(5,pos,digger)
else ok = protector.can_dig(5,pos,digger,true) else
ok = protector.can_dig(5,pos,digger,true)
end end
if ok == true then if ok == true then
old_node_dig(pos, node, digger) old_node_dig(pos, node, digger)
@ -174,10 +170,10 @@ function minetest.item_place(itemstack, placer, pointed_thing)
end end
return old_node_place(itemstack, placer, pointed_thing) return old_node_place(itemstack, placer, pointed_thing)
end end
protect = {} local protect = {}
minetest.register_node(protector.node, { minetest.register_node(protector.node, {
description = "Protection", description = "Protection",
tile_images = {"protector_top.png","protector_top.png","protector_side.png"}, tiles = {"protector_top.png","protector_top.png","protector_side.png"},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
groups = {dig_immediate=2}, groups = {dig_immediate=2},
drawtype = "nodebox", drawtype = "nodebox",
@ -257,10 +253,12 @@ minetest.register_on_player_receive_fields(function(player,formname,fields)
if fields.protector_page_next then if fields.protector_page_next then
meta:set_int("page",meta:get_int("page")+1) meta:set_int("page",meta:get_int("page")+1)
end end
minetest.show_formspec( if not fields.quit then
player:get_player_name(), formname, minetest.show_formspec(
protector.generate_formspec(meta) player:get_player_name(), formname,
) protector.generate_formspec(meta)
)
end
end end
end) end)
@ -276,7 +274,7 @@ minetest.register_craftitem(protector.item, {
}) })
minetest.register_craft({ minetest.register_craft({
output = '"' .. protector.node .. '" 4', output = protector.node .. " 4",
recipe = { recipe = {
{"default:stone","default:stone","default:stone"}, {"default:stone","default:stone","default:stone"},
{"default:stone","default:steel_ingot","default:stone"}, {"default:stone","default:steel_ingot","default:stone"},