Added isp coin slot
parent
0fd742760b
commit
f0ea30d3d6
|
@ -37,5 +37,11 @@ in order to mine bitcoins.
|
||||||
04/29/15 added form spec to router to show network information..
|
04/29/15 added form spec to router to show network information..
|
||||||
04/30/15 made a few items into nodes to place as deco.. added isp box for router to work..
|
04/30/15 made a few items into nodes to place as deco.. added isp box for router to work..
|
||||||
plan to add a pay system for internet. animated the isp box like the router.
|
plan to add a pay system for internet. animated the isp box like the router.
|
||||||
|
05/01/15 ips box now works as intended and is an owned node, only bitcoins are excepted right now
|
||||||
|
updated formspec to show isp's computer's and router's counts withing its range.. improved a few functions..
|
||||||
|
router is now an owned node
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Enjoy!! :D
|
Enjoy!! :D
|
||||||
|
|
|
@ -34,5 +34,9 @@ of Minetest, improved code and added more visual feedback.
|
||||||
player now must punch computer to reboot and mine coins again. MilesDyson
|
player now must punch computer to reboot and mine coins again. MilesDyson
|
||||||
04/28/15 added router that can turn on and off, computers now require a router to be within 30 node radius
|
04/28/15 added router that can turn on and off, computers now require a router to be within 30 node radius
|
||||||
in order to mine bitcoins.
|
in order to mine bitcoins.
|
||||||
|
04/29/15 added form spec to router to show network information..
|
||||||
|
04/30/15 made a few items into nodes to place as deco.. added isp box for router to work..
|
||||||
|
plan to add a pay system for internet. animated the isp box like the router.
|
||||||
|
05/01/15 ips box now works as intended and is an owned item, only bitcoins are excepted right now
|
||||||
|
updated formspec to show isp's computer's and router's counts withing its range.. improved a few functions..
|
||||||
Enjoy!! :D
|
Enjoy!! :D
|
||||||
|
|
220
isp.lua
220
isp.lua
|
@ -1,5 +1,33 @@
|
||||||
|
-- internet usage timer config
|
||||||
|
payment_bitcoin = 24000
|
||||||
|
payment_bitqu = 60000
|
||||||
|
payment_bitdi = 2400
|
||||||
|
payment_bitni = 1200
|
||||||
|
payment_bitcent = 600
|
||||||
|
|
||||||
|
function default.isp_on_formspec(pos)
|
||||||
|
local spos = pos.x .. "," .. pos.y .. "," ..pos.z
|
||||||
|
local formspec = "size[10,10]"..
|
||||||
|
"label[1,2;Powered On...]"..
|
||||||
|
|
||||||
|
"label[1,2.6;Payment:]"..
|
||||||
|
"list[nodemeta:".. spos .. ";main;1,3;1,1;]"..
|
||||||
|
"list[current_player;main;1,6;8,4;]"..
|
||||||
|
"button_exit[4,5;2,1;exit;Exit]"
|
||||||
|
return formspec
|
||||||
|
end
|
||||||
|
|
||||||
function default.isp_off_formspec(pos)
|
function default.isp_off_formspec(pos)
|
||||||
|
local spos = pos.x .. "," .. pos.y .. "," ..pos.z
|
||||||
|
local formspec = "size[10,10]"..
|
||||||
|
"label[1,2;Powered Off...]"..
|
||||||
|
"list[nodemeta:".. spos .. ";main;1,3;1,1;]"..
|
||||||
|
"list[current_player;main;1,6;8,4;]"..
|
||||||
|
"button_exit[4,5;2,1;exit;Exit]"
|
||||||
|
return formspec
|
||||||
|
end
|
||||||
|
|
||||||
|
function default.isp_on(pos)
|
||||||
local spos = pos.x .. "," .. pos.y .. "," ..pos.z
|
local spos = pos.x .. "," .. pos.y .. "," ..pos.z
|
||||||
local formspec = "size[10,10]"..
|
local formspec = "size[10,10]"..
|
||||||
"label[2,2;Powered Off...]"..
|
"label[2,2;Powered Off...]"..
|
||||||
|
@ -9,25 +37,11 @@ function default.isp_off_formspec(pos)
|
||||||
return formspec
|
return formspec
|
||||||
end
|
end
|
||||||
|
|
||||||
function default.isp_on_formspec(pos)
|
local function isp_owner(meta, player)
|
||||||
local active_computers = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:home_computer_active","mycoins:game_computer_active","mycoins:alien_computer_active"})
|
if player:get_player_name() ~= meta:get_string("owner") then
|
||||||
local inactive_computers = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:home_computer","mycoins:game_computer","mycoins:alien_computer"})
|
return false
|
||||||
local active_routers = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:router_on"})
|
end
|
||||||
local inactive_routers = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:router"})
|
return true
|
||||||
local spos = pos.x .. "," .. pos.y .. "," ..pos.z
|
|
||||||
local formspec = "size[10,10]"..
|
|
||||||
"label[1,0;Powered On...]"..
|
|
||||||
"label[2,0.6;Computers:]"..
|
|
||||||
"label[2,0.8;Active: "..#active_computers.."]"..
|
|
||||||
"label[2,1;Inactive: "..#inactive_computers.."]"..
|
|
||||||
"label[4,0.6;Routers:]"..
|
|
||||||
"label[4,0.8;Active: "..#active_routers.."]"..
|
|
||||||
"label[4,1;Inactive: "..#inactive_routers.."]"..
|
|
||||||
"label[1,2.6;Payment:]"..
|
|
||||||
"list[nodemeta:".. spos .. ";main;1,3;1,1;]"..
|
|
||||||
"list[current_player;main;1,6;8,4;]"..
|
|
||||||
"button_exit[4,5;2,1;exit;Exit]"
|
|
||||||
return formspec
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- ISP
|
-- ISP
|
||||||
|
@ -53,37 +67,64 @@ minetest.register_node("mycoins:isp", {
|
||||||
node_box = {
|
node_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = {
|
fixed = {
|
||||||
{-0.153531, -0.5, -0.405738, 0.153531, -0.315951, 0.405738}, -- NodeBox1
|
{-0.153531, -0.5, -0.405738, 0.153531, -0.315951, 0.405738},
|
||||||
{-0.122825, -0.315951, -0.374616, 0.122825, 0.371166, 0.375}, -- NodeBox2
|
{-0.122825, -0.315951, -0.374616, 0.122825, 0.371166, 0.375},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
on_punch = function(pos)
|
on_punch = function(pos)
|
||||||
local timer = minetest.get_node_timer(pos)
|
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
|
local timer = minetest.get_node_timer(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
|
local inv = meta:get_inventory()
|
||||||
minetest.swap_node(pos, {name = 'mycoins:isp_on', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:isp_on', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.isp_on_formspec(pos))
|
meta:set_string("formspec", default.isp_on_formspec(pos))
|
||||||
meta:set_string("infotext", "Internet Service Provider")
|
meta:set_string("infotext", "Internet Service Provider (owner "..meta:get_string("owner")..")")
|
||||||
|
inv:set_size("main", 1*1)
|
||||||
|
timer:start(2)
|
||||||
|
end,
|
||||||
|
after_place_node = function(pos, placer)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
local timer = minetest.get_node_timer(pos)
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
|
meta:set_string("formspec", default.isp_off_formspec(pos))
|
||||||
|
meta:set_string("owner", placer:get_player_name() or "")
|
||||||
|
meta:set_string("infotext", "Internet Service Provider (owner "..meta:get_string("owner")..")")
|
||||||
inv:set_size("main", 1*1)
|
inv:set_size("main", 1*1)
|
||||||
timer:stop()
|
timer:stop()
|
||||||
end,
|
end,
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
|
local inv = meta:get_inventory()
|
||||||
meta:set_string("formspec", default.isp_off_formspec(pos))
|
meta:set_string("formspec", default.isp_off_formspec(pos))
|
||||||
meta:set_string("infotext", "Internet Service Provider")
|
meta:set_string("infotext", "Internet Service Provider")
|
||||||
local inv = meta:get_inventory()
|
|
||||||
inv:set_size("main", 1*1)
|
inv:set_size("main", 1*1)
|
||||||
end,
|
end,
|
||||||
after_place_node = function(pos, placer)
|
can_dig = function(pos, player)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos);
|
||||||
local timer = minetest.get_node_timer(pos)
|
|
||||||
meta:set_string("formspec", default.isp_on_formspec(pos))
|
|
||||||
meta:set_string("infotext", "Internet Service Provider")
|
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
inv:set_size("main", 1*1)
|
return inv:is_empty("main") and isp_owner(meta, player)
|
||||||
timer:start(60)
|
end,
|
||||||
|
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
if not isp_owner(meta, player) then
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
return count
|
||||||
|
end,
|
||||||
|
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
if not isp_owner(meta, player) then
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
return stack:get_count()
|
||||||
|
end,
|
||||||
|
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
if not isp_owner(meta, player) then
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
return stack:get_count()
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -108,8 +149,8 @@ minetest.register_node("mycoins:isp_on", {
|
||||||
node_box = {
|
node_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = {
|
fixed = {
|
||||||
{-0.153531, -0.5, -0.405738, 0.153531, -0.315951, 0.405738}, -- NodeBox1
|
{-0.153531, -0.5, -0.405738, 0.153531, -0.315951, 0.405738},
|
||||||
{-0.122825, -0.315951, -0.374616, 0.122825, 0.371166, 0.375}, -- NodeBox2
|
{-0.122825, -0.315951, -0.374616, 0.122825, 0.371166, 0.375},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
on_punch = function(pos)
|
on_punch = function(pos)
|
||||||
|
@ -118,19 +159,118 @@ minetest.register_node("mycoins:isp_on", {
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:isp', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:isp', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.isp_off_formspec(pos))
|
meta:set_string("formspec", default.isp_off_formspec(pos))
|
||||||
meta:set_string("infotext", "Internet Service Provider")
|
meta:set_string("infotext", "Internet Service Provider (owner "..meta:get_string("owner")..")")
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
inv:set_size("main", 1*1)
|
inv:set_size("main", 1*1)
|
||||||
timer:start(5)
|
timer:stop()
|
||||||
end,
|
end,
|
||||||
|
on_timer = function(pos)
|
||||||
on_timer = function(pos,from_list)
|
local meta = minetest.get_meta(pos)
|
||||||
|
if ( minetest.get_player_by_name(meta:get_string("owner")) == nil ) then
|
||||||
|
local timer = minetest.get_node_timer(pos)
|
||||||
|
local node = minetest.get_node(pos)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
minetest.swap_node(pos, {name = 'mycoins:isp', param2 = node.param2})
|
||||||
|
meta:set_string("formspec", default.isp_off_formspec(pos))
|
||||||
|
meta:set_string("infotext", "Internet Service Provider (owner "..meta:get_string("owner")..")")
|
||||||
|
local inv = meta:get_inventory()
|
||||||
|
inv:set_size("main", 1*1)
|
||||||
|
timer:stop()
|
||||||
|
else
|
||||||
local timer = minetest.get_node_timer(pos)
|
local timer = minetest.get_node_timer(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
minetest.get_meta(pos):get_inventory():add_item("main", "mycoins:bitcent")
|
meta:set_string("formspec", default.isp_on_formspec(pos))
|
||||||
|
meta:set_string("infotext", "Internet Service Provider (owner "..meta:get_string("owner")..")")
|
||||||
|
local inv = meta:get_inventory()
|
||||||
|
inv:set_size("main", 1*1)
|
||||||
|
local payment = inv:get_stack("main", 1)
|
||||||
|
if payment:get_name()== "" then
|
||||||
|
local timer = minetest.get_node_timer(pos)
|
||||||
|
local node = minetest.get_node(pos)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
minetest.swap_node(pos, {name = 'mycoins:isp', param2 = node.param2})
|
||||||
|
meta:set_string("formspec", default.isp_off_formspec(pos))
|
||||||
|
meta:set_string("infotext", "Internet Service Provider (owner "..meta:get_string("owner")..")")
|
||||||
|
local inv = meta:get_inventory()
|
||||||
|
inv:set_size("main", 1*1)
|
||||||
|
timer:stop()
|
||||||
|
else
|
||||||
|
if payment:get_name()=="mycoins:bitcoin" then
|
||||||
|
payment:take_item()
|
||||||
|
inv:set_stack("main",1,payment)
|
||||||
|
timer:start(payment_bitcoin)
|
||||||
|
else
|
||||||
|
if payment:get_name()=="mycoins:bitqu" then
|
||||||
|
payment:take_item()
|
||||||
|
inv:set_stack("main",1,payment)
|
||||||
|
timer:start(payment_bitqu)
|
||||||
|
else
|
||||||
|
if payment:get_name()=="mycoins:bitdi" then
|
||||||
|
payment:take_item()
|
||||||
|
inv:set_stack("main",1,payment)
|
||||||
|
timer:start(payment_bitdi)
|
||||||
|
else
|
||||||
|
if payment:get_name()=="mycoins:bitni" then
|
||||||
|
payment:take_item()
|
||||||
|
inv:set_stack("main",1,payment)
|
||||||
|
timer:start(payment_bitni)
|
||||||
|
else
|
||||||
|
if payment:get_name()=="mycoins:bitcent" then
|
||||||
|
payment:take_item()
|
||||||
|
inv:set_stack("main",1,payment)
|
||||||
|
timer:start(payment_bitcent)
|
||||||
|
else
|
||||||
|
local timer = minetest.get_node_timer(pos)
|
||||||
|
local node = minetest.get_node(pos)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
local inv = meta:get_inventory()
|
||||||
|
minetest.swap_node(pos, {name = 'mycoins:isp', param2 = node.param2})
|
||||||
|
meta:set_string("formspec", default.isp_off_formspec(pos))
|
||||||
|
meta:set_string("infotext", "Internet Service Provider (owner "..meta:get_string("owner")..")")
|
||||||
|
inv:set_size("main", 1*1)
|
||||||
|
timer:stop()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
timer:start(5)
|
|
||||||
end,
|
end,
|
||||||
|
can_dig = function(pos, player)
|
||||||
|
local meta = minetest.get_meta(pos);
|
||||||
|
local inv = meta:get_inventory()
|
||||||
|
return inv:is_empty("main") and isp_owner(meta, player)
|
||||||
|
end,
|
||||||
|
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
if not isp_owner(meta, player) then
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
return count
|
||||||
|
end,
|
||||||
|
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
if not isp_owner(meta, player) then
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
return stack:get_count()
|
||||||
|
end,
|
||||||
|
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
if not isp_owner(meta, player) then
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
return stack:get_count()
|
||||||
|
end,
|
||||||
})
|
})
|
220
isp.lua~
220
isp.lua~
|
@ -1,5 +1,33 @@
|
||||||
|
-- internet usage timer config
|
||||||
|
payment_bitcoin = 24000
|
||||||
|
payment_bitqu = 60000
|
||||||
|
payment_bitdi = 2400
|
||||||
|
payment_bitni = 1200
|
||||||
|
payment_bitcent = 600
|
||||||
|
|
||||||
|
function default.isp_on_formspec(pos)
|
||||||
|
local spos = pos.x .. "," .. pos.y .. "," ..pos.z
|
||||||
|
local formspec = "size[10,10]"..
|
||||||
|
"label[1,2;Powered On...]"..
|
||||||
|
|
||||||
|
"label[1,2.6;Payment:]"..
|
||||||
|
"list[nodemeta:".. spos .. ";main;1,3;1,1;]"..
|
||||||
|
"list[current_player;main;1,6;8,4;]"..
|
||||||
|
"button_exit[4,5;2,1;exit;Exit]"
|
||||||
|
return formspec
|
||||||
|
end
|
||||||
|
|
||||||
function default.isp_off_formspec(pos)
|
function default.isp_off_formspec(pos)
|
||||||
|
local spos = pos.x .. "," .. pos.y .. "," ..pos.z
|
||||||
|
local formspec = "size[10,10]"..
|
||||||
|
"label[1,2;Powered Off...]"..
|
||||||
|
"list[nodemeta:".. spos .. ";main;1,3;1,1;]"..
|
||||||
|
"list[current_player;main;1,6;8,4;]"..
|
||||||
|
"button_exit[4,5;2,1;exit;Exit]"
|
||||||
|
return formspec
|
||||||
|
end
|
||||||
|
|
||||||
|
function default.isp_on(pos)
|
||||||
local spos = pos.x .. "," .. pos.y .. "," ..pos.z
|
local spos = pos.x .. "," .. pos.y .. "," ..pos.z
|
||||||
local formspec = "size[10,10]"..
|
local formspec = "size[10,10]"..
|
||||||
"label[2,2;Powered Off...]"..
|
"label[2,2;Powered Off...]"..
|
||||||
|
@ -9,22 +37,16 @@ function default.isp_off_formspec(pos)
|
||||||
return formspec
|
return formspec
|
||||||
end
|
end
|
||||||
|
|
||||||
function default.isp_on_formspec(pos)
|
local function isp_owner(meta, player)
|
||||||
local spos = pos.x .. "," .. pos.y .. "," ..pos.z
|
if player:get_player_name() ~= meta:get_string("owner") then
|
||||||
local formspec = "size[10,10]"..
|
return false
|
||||||
"label[2,2;Powered On...]"..
|
end
|
||||||
"label[1,2.6;Payment:]"..
|
return true
|
||||||
"list[nodemeta:".. spos .. ";main;1,3;1,1;]"..
|
|
||||||
"list[current_player;main;1,6;8,4;]"..
|
|
||||||
"button_exit[4,5;2,1;exit;Exit]"
|
|
||||||
return formspec
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- ISP
|
-- ISP
|
||||||
|
|
||||||
-- Alienware Computer
|
|
||||||
minetest.register_node("mycoins:isp", {
|
minetest.register_node("mycoins:isp", {
|
||||||
drawtype = "nodebox",
|
|
||||||
description = "Internet Service Provider",
|
description = "Internet Service Provider",
|
||||||
tiles = {
|
tiles = {
|
||||||
"mycoins_isp_tp.png",
|
"mycoins_isp_tp.png",
|
||||||
|
@ -36,8 +58,12 @@ minetest.register_node("mycoins:isp",{
|
||||||
},
|
},
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
|
walkable = false,
|
||||||
|
is_ground_content = true,
|
||||||
|
groups = {snappy=3},
|
||||||
|
sound = default.node_sound_wood_defaults(),
|
||||||
drop = "mycoins:isp",
|
drop = "mycoins:isp",
|
||||||
groups = {cracky=2, oddly_breakable_by_hand=2},
|
drawtype = "nodebox",
|
||||||
node_box = {
|
node_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = {
|
fixed = {
|
||||||
|
@ -45,69 +71,57 @@ minetest.register_node("mycoins:isp",{
|
||||||
{-0.122825, -0.315951, -0.374616, 0.122825, 0.371166, 0.375},
|
{-0.122825, -0.315951, -0.374616, 0.122825, 0.371166, 0.375},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
sounds = default.node_sound_wood_defaults(),
|
on_punch = function(pos)
|
||||||
after_place_node = function(pos)
|
local node = minetest.get_node(pos)
|
||||||
|
local timer = minetest.get_node_timer(pos)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
local inv = meta:get_inventory()
|
||||||
|
minetest.swap_node(pos, {name = 'mycoins:isp_on', param2 = node.param2})
|
||||||
|
meta:set_string("formspec", default.isp_on_formspec(pos))
|
||||||
|
meta:set_string("infotext", "Internet Service Provider (owner "..meta:get_string("owner")..")")
|
||||||
|
inv:set_size("main", 1*1)
|
||||||
|
timer:start(2)
|
||||||
|
end,
|
||||||
|
after_place_node = function(pos, placer)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
local timer = minetest.get_node_timer(pos)
|
local timer = minetest.get_node_timer(pos)
|
||||||
meta:set_string("formspec", default.isp_on_formspec(pos))
|
|
||||||
meta:set_string("infotext", "Internet Service Provider")
|
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
|
meta:set_string("formspec", default.isp_off_formspec(pos))
|
||||||
|
meta:set_string("owner", placer:get_player_name() or "")
|
||||||
|
meta:set_string("infotext", "Internet Service Provider (owner "..meta:get_string("owner")..")")
|
||||||
inv:set_size("main", 1*1)
|
inv:set_size("main", 1*1)
|
||||||
timer:start(60)
|
timer:stop()
|
||||||
end,
|
end,
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
|
local node = minetest.get_node(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
meta:set_string("formspec", default.isp_on_formspec(pos))
|
|
||||||
meta:set_string("infotext", "Internet Service Provider")
|
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
|
meta:set_string("formspec", default.isp_off_formspec(pos))
|
||||||
|
meta:set_string("infotext", "Internet Service Provider")
|
||||||
inv:set_size("main", 1*1)
|
inv:set_size("main", 1*1)
|
||||||
end,
|
end,
|
||||||
can_dig = function(pos, player)
|
can_dig = function(pos, player)
|
||||||
local meta = minetest.get_meta(pos);
|
local meta = minetest.get_meta(pos);
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
return inv:is_empty("main") and computer_owner(meta, player)
|
return inv:is_empty("main") and isp_owner(meta, player)
|
||||||
end,
|
|
||||||
on_timer = function(pos)
|
|
||||||
local timer = minetest.get_node_timer(pos)
|
|
||||||
local node = minetest.get_node(pos)
|
|
||||||
local meta = minetest.get_meta(pos)
|
|
||||||
minetest.swap_node(pos, {name = 'mycoins:isp', param2 = node.param2})
|
|
||||||
meta:set_string("formspec", default.isp_off_formspec(pos))
|
|
||||||
meta:set_string("infotext", "Internet Service Provider")
|
|
||||||
local inv = meta:get_inventory()
|
|
||||||
inv:set_size("main", 1*1)
|
|
||||||
timer:stop()
|
|
||||||
end,
|
|
||||||
on_punch = function(pos)
|
|
||||||
local node = minetest.get_node(pos)
|
|
||||||
local meta = minetest.get_meta(pos)
|
|
||||||
minetest.swap_node(pos, {name = 'mycoins:isp_on', param2 = node.param2})
|
|
||||||
meta:set_string("formspec", default.isp_on_formspec(pos))
|
|
||||||
meta:set_string("infotext", "Internet Service Provider")
|
|
||||||
local inv = meta:get_inventory()
|
|
||||||
inv:set_size("main", 1*1)
|
|
||||||
end,
|
end,
|
||||||
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
if not computer_owner(meta, player) then
|
if not isp_owner(meta, player) then
|
||||||
minetest.log("action", player:get_player_name()..
|
|
||||||
" tried to access a Alienware computer belonging to "..
|
|
||||||
meta:get_string("owner").." at "..
|
|
||||||
minetest.pos_to_string(pos))
|
|
||||||
return 0
|
return 0
|
||||||
end
|
end
|
||||||
return count
|
return count
|
||||||
end,
|
end,
|
||||||
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
if not isp_owner(meta, player) then
|
||||||
return 0
|
return 0
|
||||||
|
end
|
||||||
|
return stack:get_count()
|
||||||
end,
|
end,
|
||||||
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
|
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
if not computer_owner(meta, player) then
|
if not isp_owner(meta, player) then
|
||||||
minetest.log("action", player:get_player_name()..
|
|
||||||
" tried to access a Alienware computer belonging to "..
|
|
||||||
meta:get_string("owner").." at "..
|
|
||||||
minetest.pos_to_string(pos))
|
|
||||||
return 0
|
return 0
|
||||||
end
|
end
|
||||||
return stack:get_count()
|
return stack:get_count()
|
||||||
|
@ -115,7 +129,6 @@ minetest.register_node("mycoins:isp",{
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("mycoins:isp_on", {
|
minetest.register_node("mycoins:isp_on", {
|
||||||
drawtype = "nodebox",
|
|
||||||
description = "Internet Service Provider",
|
description = "Internet Service Provider",
|
||||||
tiles = {
|
tiles = {
|
||||||
"mycoins_isp_tp.png",
|
"mycoins_isp_tp.png",
|
||||||
|
@ -123,13 +136,16 @@ minetest.register_node("mycoins:isp_on",{
|
||||||
"mycoins_isp_rt.png",
|
"mycoins_isp_rt.png",
|
||||||
"mycoins_isp_lt.png",
|
"mycoins_isp_lt.png",
|
||||||
"mycoins_isp_bk.png",
|
"mycoins_isp_bk.png",
|
||||||
"mycoins_isp_ft.png"
|
{name="mycoins_isp_f_animated.png", animation={type="vertical_frames", aspect_w=32, aspect_h=32, length=1.0}},}, --"mycoins_isp_f.png"},
|
||||||
},
|
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
light_source = 8,
|
walkable = false,
|
||||||
drop = "mycoins:alien_computer",
|
is_ground_content = true,
|
||||||
groups = {cracky=2, not_in_creative_inventory=1, oddly_breakable_by_hand=2},
|
groups = {snappy=3, not_in_creative_inventory = 1},
|
||||||
|
sound = default.node_sound_wood_defaults(),
|
||||||
|
drop = "mycoins:isp",
|
||||||
|
drawtype = "nodebox",
|
||||||
|
light_source = 4,
|
||||||
node_box = {
|
node_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = {
|
fixed = {
|
||||||
|
@ -137,47 +153,99 @@ minetest.register_node("mycoins:isp_on",{
|
||||||
{-0.122825, -0.315951, -0.374616, 0.122825, 0.371166, 0.375},
|
{-0.122825, -0.315951, -0.374616, 0.122825, 0.371166, 0.375},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
sounds = default.node_sound_wood_defaults(),
|
|
||||||
can_dig = function(pos,player)
|
|
||||||
local meta = minetest.get_meta(pos);
|
|
||||||
local inv = meta:get_inventory()
|
|
||||||
return inv:is_empty("main") and computer_owner(meta, player)
|
|
||||||
end,
|
|
||||||
on_timer = function(pos)
|
|
||||||
|
|
||||||
end,
|
|
||||||
on_punch = function(pos)
|
on_punch = function(pos)
|
||||||
local timer = minetest.get_node_timer(pos)
|
local timer = minetest.get_node_timer(pos)
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:isp', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:isp', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.isp_off_formspec(pos))
|
meta:set_string("formspec", default.isp_off_formspec(pos))
|
||||||
meta:set_string("infotext", "Internet Service Provider")
|
meta:set_string("infotext", "Internet Service Provider (owner "..meta:get_string("owner")..")")
|
||||||
|
local inv = meta:get_inventory()
|
||||||
|
inv:set_size("main", 1*1)
|
||||||
|
timer:start(2)
|
||||||
|
end,
|
||||||
|
on_timer = function(pos)
|
||||||
|
local timer = minetest.get_node_timer(pos)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
meta:set_string("formspec", default.isp_on_formspec(pos))
|
||||||
|
meta:set_string("infotext", "Internet Service Provider (owner "..meta:get_string("owner")..")")
|
||||||
|
local inv = meta:get_inventory()
|
||||||
|
inv:set_size("main", 1*1)
|
||||||
|
local payment = inv:get_stack("main", 1)
|
||||||
|
if payment:get_name()== "" then
|
||||||
|
local timer = minetest.get_node_timer(pos)
|
||||||
|
local node = minetest.get_node(pos)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
minetest.swap_node(pos, {name = 'mycoins:isp', param2 = node.param2})
|
||||||
|
meta:set_string("formspec", default.isp_off_formspec(pos))
|
||||||
|
meta:set_string("infotext", "Internet Service Provider (owner "..meta:get_string("owner")..")")
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
inv:set_size("main", 1*1)
|
inv:set_size("main", 1*1)
|
||||||
timer:stop()
|
timer:stop()
|
||||||
|
else
|
||||||
|
if payment:get_name()=="mycoins:bitcoin" then
|
||||||
|
payment:take_item()
|
||||||
|
inv:set_stack("main",1,payment)
|
||||||
|
timer:start(payment_bitcoin)
|
||||||
|
else
|
||||||
|
if payment:get_name()=="mycoins:bitqu" then
|
||||||
|
payment:take_item()
|
||||||
|
inv:set_stack("main",1,payment)
|
||||||
|
timer:start(payment_bitqu)
|
||||||
|
else
|
||||||
|
if payment:get_name()=="mycoins:bitdi" then
|
||||||
|
payment:take_item()
|
||||||
|
inv:set_stack("main",1,payment)
|
||||||
|
timer:start(payment_bitdi)
|
||||||
|
else
|
||||||
|
if payment:get_name()=="mycoins:bitni" then
|
||||||
|
payment:take_item()
|
||||||
|
inv:set_stack("main",1,payment)
|
||||||
|
timer:start(payment_bitni)
|
||||||
|
else
|
||||||
|
if payment:get_name()=="mycoins:bitcent" then
|
||||||
|
payment:take_item()
|
||||||
|
inv:set_stack("main",1,payment)
|
||||||
|
timer:start(payment_bitcent)
|
||||||
|
else
|
||||||
|
local timer = minetest.get_node_timer(pos)
|
||||||
|
local node = minetest.get_node(pos)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
local inv = meta:get_inventory()
|
||||||
|
minetest.swap_node(pos, {name = 'mycoins:isp', param2 = node.param2})
|
||||||
|
meta:set_string("formspec", default.isp_off_formspec(pos))
|
||||||
|
meta:set_string("infotext", "Internet Service Provider (owner "..meta:get_string("owner")..")")
|
||||||
|
inv:set_size("main", 1*1)
|
||||||
|
timer:stop()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
can_dig = function(pos, player)
|
||||||
|
local meta = minetest.get_meta(pos);
|
||||||
|
local inv = meta:get_inventory()
|
||||||
|
return inv:is_empty("main") and isp_owner(meta, player)
|
||||||
end,
|
end,
|
||||||
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
if not computer_owner(meta, player) then
|
if not isp_owner(meta, player) then
|
||||||
minetest.log("action", player:get_player_name()..
|
|
||||||
" tried to access a Alienware computer belonging to "..
|
|
||||||
meta:get_string("owner").." at "..
|
|
||||||
minetest.pos_to_string(pos))
|
|
||||||
return 0
|
return 0
|
||||||
end
|
end
|
||||||
return count
|
return count
|
||||||
end,
|
end,
|
||||||
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
if not isp_owner(meta, player) then
|
||||||
return 0
|
return 0
|
||||||
|
end
|
||||||
|
return stack:get_count()
|
||||||
end,
|
end,
|
||||||
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
|
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
if not computer_owner(meta, player) then
|
if not isp_owner(meta, player) then
|
||||||
minetest.log("action", player:get_player_name()..
|
|
||||||
" tried to access a Alienware computer belonging to "..
|
|
||||||
meta:get_string("owner").." at "..
|
|
||||||
minetest.pos_to_string(pos))
|
|
||||||
return 0
|
return 0
|
||||||
end
|
end
|
||||||
return stack:get_count()
|
return stack:get_count()
|
||||||
|
|
92
router.lua
92
router.lua
|
@ -6,19 +6,18 @@ function default.router_off_formspec(pos)
|
||||||
end
|
end
|
||||||
|
|
||||||
function default.router_formspec(pos)
|
function default.router_formspec(pos)
|
||||||
local active_computers = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:home_computer_active","mycoins:game_computer_active","mycoins:alien_computer_active"})
|
|
||||||
local inactive_computers = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:home_computer","mycoins:game_computer","mycoins:alien_computer"})
|
|
||||||
local active_isp = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:isp_on"})
|
|
||||||
local inactive_isp = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:isp"})
|
|
||||||
local spos = pos.x .. "," .. pos.y .. "," ..pos.z
|
local spos = pos.x .. "," .. pos.y .. "," ..pos.z
|
||||||
local formspec = "size[10,10]"..
|
local formspec = "size[10,10]"..
|
||||||
"label[1,0;Powered On...]"..
|
"label[1,0;Powered On...]"..
|
||||||
"label[2,0.6;Computers:]"..
|
"label[2,0.5;Computers:]"..
|
||||||
"label[2,0.8;Active: "..#active_computers.."]"..
|
"label[2,0.8;Active: "..#active_computers.."]"..
|
||||||
"label[2,1;Inactive: "..#inactive_computers.."]"..
|
"label[2,1;Inactive: "..#inactive_computers.."]"..
|
||||||
"label[4,0.6;ISP:]"..
|
"label[4,0.5;Routers:]"..
|
||||||
"label[4,0.8;Active: "..#active_isp.."]"..
|
"label[4,0.8;Active: "..#active_routers.."]"..
|
||||||
"label[4,1;Inactive: "..#inactive_isp.."]"..
|
"label[4,1;Inactive: "..#inactive_routers.."]"..
|
||||||
|
"label[6,0.5;ISP:]"..
|
||||||
|
"label[6,0.8;Active: "..#active_isp.."]"..
|
||||||
|
"label[6,1;Inactive: "..#inactive_isp.."]"..
|
||||||
"button_exit[4,7;2,1;exit;Exit]"
|
"button_exit[4,7;2,1;exit;Exit]"
|
||||||
return formspec
|
return formspec
|
||||||
end
|
end
|
||||||
|
@ -30,7 +29,16 @@ function default.router_error_formspec(pos)
|
||||||
return formspec
|
return formspec
|
||||||
end
|
end
|
||||||
|
|
||||||
--WIFI Router (linksys look-a-like)
|
function default.find_network(pos)
|
||||||
|
active_computers = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:home_computer_active","mycoins:game_computer_active","mycoins:alien_computer_active"})
|
||||||
|
inactive_computers = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:home_computer","mycoins:game_computer","mycoins:alien_computer"})
|
||||||
|
active_routers = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:router_on"})
|
||||||
|
inactive_routers = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:router"})
|
||||||
|
active_isp = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:isp_on"})
|
||||||
|
inactive_isp = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:isp"})
|
||||||
|
end
|
||||||
|
|
||||||
|
--WIFI Router
|
||||||
minetest.register_node("mycoins:router_on", {
|
minetest.register_node("mycoins:router_on", {
|
||||||
description = "WIFI Router",
|
description = "WIFI Router",
|
||||||
tiles = {"mycoins_router_t.png","mycoins_router_bt.png","mycoins_router_l.png","mycoins_router_r.png","mycoins_router_b.png",
|
tiles = {"mycoins_router_t.png","mycoins_router_bt.png","mycoins_router_l.png","mycoins_router_r.png","mycoins_router_b.png",
|
||||||
|
@ -58,9 +66,10 @@ minetest.register_node("mycoins:router_on", {
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router', param2 = node.param2})
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
meta:set_string("formspec", default.router_off_formspec(pos))
|
meta:set_string("formspec", default.router_off_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
end,
|
end,
|
||||||
on_timer = function(pos)
|
on_timer = function(pos)
|
||||||
|
default.find_network(pos)
|
||||||
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
||||||
if isp == nil then
|
if isp == nil then
|
||||||
local timer = minetest.get_node_timer(pos)
|
local timer = minetest.get_node_timer(pos)
|
||||||
|
@ -68,7 +77,7 @@ minetest.register_node("mycoins:router_on", {
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router_error', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router_error', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.router_error_formspec(pos))
|
meta:set_string("formspec", default.router_error_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
timer:start(10)
|
timer:start(10)
|
||||||
else
|
else
|
||||||
local timer = minetest.get_node_timer(pos)
|
local timer = minetest.get_node_timer(pos)
|
||||||
|
@ -76,33 +85,39 @@ minetest.register_node("mycoins:router_on", {
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router_on', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router_on', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.router_formspec(pos))
|
meta:set_string("formspec", default.router_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
timer:start(10)
|
timer:start(10)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
after_place_node = function(pos)
|
after_place_node = function(pos, placer)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
local timer = minetest.get_node_timer(pos)
|
local timer = minetest.get_node_timer(pos)
|
||||||
meta:set_string("formspec", default.router_formspec(pos))
|
meta:set_string("formspec", default.router_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("owner", placer:get_player_name() or "")
|
||||||
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
timer:start(10)
|
timer:start(10)
|
||||||
end,
|
end,
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
|
default.find_network(pos)
|
||||||
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
||||||
if isp == nil then
|
if isp == nil then
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router_error', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router_error', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.router_error_formspec(pos))
|
meta:set_string("formspec", default.router_error_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
else
|
else
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router_on', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router_on', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.router_formspec(pos))
|
meta:set_string("formspec", default.router_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
can_dig = function(pos, player)
|
||||||
|
local meta = minetest.get_meta(pos);
|
||||||
|
return isp_owner(meta, player)
|
||||||
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("mycoins:router", {
|
minetest.register_node("mycoins:router", {
|
||||||
|
@ -127,13 +142,14 @@ minetest.register_node("mycoins:router", {
|
||||||
},
|
},
|
||||||
on_punch = function(pos)
|
on_punch = function(pos)
|
||||||
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
||||||
|
default.find_network(pos)
|
||||||
if isp == nil then
|
if isp == nil then
|
||||||
local timer = minetest.get_node_timer(pos)
|
local timer = minetest.get_node_timer(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router_error', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router_error', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.router_error_formspec(pos))
|
meta:set_string("formspec", default.router_error_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
timer:start(10)
|
timer:start(10)
|
||||||
else
|
else
|
||||||
local timer = minetest.get_node_timer(pos)
|
local timer = minetest.get_node_timer(pos)
|
||||||
|
@ -141,43 +157,50 @@ minetest.register_node("mycoins:router", {
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router_on', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router_on', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.router_formspec(pos))
|
meta:set_string("formspec", default.router_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
timer:start(10)
|
timer:start(10)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
on_timer = function(pos)
|
on_timer = function(pos)
|
||||||
|
default.find_network(pos)
|
||||||
local timer = minetest.get_node_timer(pos)
|
local timer = minetest.get_node_timer(pos)
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.router_off_formspec(pos))
|
meta:set_string("formspec", default.router_off_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
timer:stop()
|
timer:stop()
|
||||||
end,
|
end,
|
||||||
after_place_node = function(pos)
|
after_place_node = function(pos, placer)
|
||||||
local timer = minetest.get_node_timer(pos)
|
local timer = minetest.get_node_timer(pos)
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
meta:set_string("formspec", default.router_formspec(pos))
|
meta:set_string("formspec", default.router_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("owner", placer:get_player_name() or "")
|
||||||
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
timer:start(10)
|
timer:start(10)
|
||||||
end,
|
end,
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
|
default.find_network(pos)
|
||||||
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
||||||
if isp == nil then
|
if isp == nil then
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router_error', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router_error', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.router_error_formspec(pos))
|
meta:set_string("formspec", default.router_error_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
else
|
else
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router_on', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router_on', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.router_formspec(pos))
|
meta:set_string("formspec", default.router_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
can_dig = function(pos, player)
|
||||||
|
local meta = minetest.get_meta(pos);
|
||||||
|
return isp_owner(meta, player)
|
||||||
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("mycoins:router_error", {
|
minetest.register_node("mycoins:router_error", {
|
||||||
|
@ -207,9 +230,10 @@ minetest.register_node("mycoins:router_error", {
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router', param2 = node.param2})
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
meta:set_string("formspec", default.router_off_formspec(pos))
|
meta:set_string("formspec", default.router_off_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
end,
|
end,
|
||||||
on_timer = function(pos)
|
on_timer = function(pos)
|
||||||
|
default.find_network(pos)
|
||||||
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
||||||
if isp == nil then
|
if isp == nil then
|
||||||
local timer = minetest.get_node_timer(pos)
|
local timer = minetest.get_node_timer(pos)
|
||||||
|
@ -217,7 +241,7 @@ minetest.register_node("mycoins:router_error", {
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router_error', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router_error', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.router_error_formspec(pos))
|
meta:set_string("formspec", default.router_error_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
timer:start(10)
|
timer:start(10)
|
||||||
else
|
else
|
||||||
local timer = minetest.get_node_timer(pos)
|
local timer = minetest.get_node_timer(pos)
|
||||||
|
@ -225,19 +249,11 @@ minetest.register_node("mycoins:router_error", {
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router_on', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router_on', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.router_formspec(pos))
|
meta:set_string("formspec", default.router_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
timer:start(10)
|
timer:start(10)
|
||||||
end
|
end
|
||||||
|
|
||||||
end,
|
end,
|
||||||
after_place_node = function(pos)
|
|
||||||
local timer = minetest.get_node_timer(pos)
|
|
||||||
local node = minetest.get_node(pos)
|
|
||||||
local meta = minetest.get_meta(pos)
|
|
||||||
meta:set_string("formspec", default.router_error_formspec(pos))
|
|
||||||
meta:set_string("infotext", "Router")
|
|
||||||
timer:start(10)
|
|
||||||
end,
|
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
||||||
if isp == nil then
|
if isp == nil then
|
||||||
|
@ -245,15 +261,19 @@ minetest.register_node("mycoins:router_error", {
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router_error', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router_error', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.router_error_formspec(pos))
|
meta:set_string("formspec", default.router_error_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
else
|
else
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router_on', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router_on', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.router_formspec(pos))
|
meta:set_string("formspec", default.router_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
can_dig = function(pos, player)
|
||||||
|
local meta = minetest.get_meta(pos);
|
||||||
|
return isp_owner(meta, player)
|
||||||
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
51
router.lua~
51
router.lua~
|
@ -6,13 +6,18 @@ function default.router_off_formspec(pos)
|
||||||
end
|
end
|
||||||
|
|
||||||
function default.router_formspec(pos)
|
function default.router_formspec(pos)
|
||||||
local active_computers = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:home_computer_active","mycoins:game_computer_active","mycoins:alien_computer_active"})
|
|
||||||
local inactive_computers = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:home_computer","mycoins:game_computer","mycoins:alien_computer"})
|
|
||||||
local spos = pos.x .. "," .. pos.y .. "," ..pos.z
|
local spos = pos.x .. "," .. pos.y .. "," ..pos.z
|
||||||
local formspec = "size[10,10]"..
|
local formspec = "size[10,10]"..
|
||||||
"label[2,2;Powered On...]"..
|
"label[1,0;Powered On...]"..
|
||||||
"label[2,2.5;Active: "..#active_computers.."]"..
|
"label[2,0.5;Computers:]"..
|
||||||
"label[2,2.8;Inactive: "..#inactive_computers.."]"..
|
"label[2,0.8;Active: "..#active_computers.."]"..
|
||||||
|
"label[2,1;Inactive: "..#inactive_computers.."]"..
|
||||||
|
"label[4,0.5;Routers:]"..
|
||||||
|
"label[4,0.8;Active: "..#active_routers.."]"..
|
||||||
|
"label[4,1;Inactive: "..#inactive_routers.."]"..
|
||||||
|
"label[6,0.5;ISP:]"..
|
||||||
|
"label[6,0.8;Active: "..#active_isp.."]"..
|
||||||
|
"label[6,1;Inactive: "..#inactive_isp.."]"..
|
||||||
"button_exit[4,7;2,1;exit;Exit]"
|
"button_exit[4,7;2,1;exit;Exit]"
|
||||||
return formspec
|
return formspec
|
||||||
end
|
end
|
||||||
|
@ -24,7 +29,16 @@ function default.router_error_formspec(pos)
|
||||||
return formspec
|
return formspec
|
||||||
end
|
end
|
||||||
|
|
||||||
--WIFI Router (linksys look-a-like)
|
function default.find_network(pos)
|
||||||
|
active_computers = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:home_computer_active","mycoins:game_computer_active","mycoins:alien_computer_active"})
|
||||||
|
inactive_computers = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:home_computer","mycoins:game_computer","mycoins:alien_computer"})
|
||||||
|
active_routers = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:router_on"})
|
||||||
|
inactive_routers = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:router"})
|
||||||
|
active_isp = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:isp_on"})
|
||||||
|
inactive_isp = minetest.find_nodes_in_area({x=pos.x-30, y=pos.y-30, z=pos.z-30}, {x=pos.x+30, y=pos.y+30, z=pos.z+30}, {"mycoins:isp"})
|
||||||
|
end
|
||||||
|
|
||||||
|
--WIFI Router
|
||||||
minetest.register_node("mycoins:router_on", {
|
minetest.register_node("mycoins:router_on", {
|
||||||
description = "WIFI Router",
|
description = "WIFI Router",
|
||||||
tiles = {"mycoins_router_t.png","mycoins_router_bt.png","mycoins_router_l.png","mycoins_router_r.png","mycoins_router_b.png",
|
tiles = {"mycoins_router_t.png","mycoins_router_bt.png","mycoins_router_l.png","mycoins_router_r.png","mycoins_router_b.png",
|
||||||
|
@ -52,9 +66,10 @@ minetest.register_node("mycoins:router_on", {
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router', param2 = node.param2})
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
meta:set_string("formspec", default.router_off_formspec(pos))
|
meta:set_string("formspec", default.router_off_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
end,
|
end,
|
||||||
on_timer = function(pos)
|
on_timer = function(pos)
|
||||||
|
default.find_network(pos)
|
||||||
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
||||||
if isp == nil then
|
if isp == nil then
|
||||||
local timer = minetest.get_node_timer(pos)
|
local timer = minetest.get_node_timer(pos)
|
||||||
|
@ -62,7 +77,7 @@ minetest.register_node("mycoins:router_on", {
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router_error', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router_error', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.router_error_formspec(pos))
|
meta:set_string("formspec", default.router_error_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
timer:start(10)
|
timer:start(10)
|
||||||
else
|
else
|
||||||
local timer = minetest.get_node_timer(pos)
|
local timer = minetest.get_node_timer(pos)
|
||||||
|
@ -70,33 +85,39 @@ minetest.register_node("mycoins:router_on", {
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router_on', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router_on', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.router_formspec(pos))
|
meta:set_string("formspec", default.router_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
timer:start(10)
|
timer:start(10)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
after_place_node = function(pos)
|
after_place_node = function(pos, placer)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
local timer = minetest.get_node_timer(pos)
|
local timer = minetest.get_node_timer(pos)
|
||||||
meta:set_string("formspec", default.router_formspec(pos))
|
meta:set_string("formspec", default.router_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("owner", placer:get_player_name() or "")
|
||||||
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
timer:start(10)
|
timer:start(10)
|
||||||
end,
|
end,
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
|
default.find_network(pos)
|
||||||
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
||||||
if isp == nil then
|
if isp == nil then
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router_error', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router_error', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.router_error_formspec(pos))
|
meta:set_string("formspec", default.router_error_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
else
|
else
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
minetest.swap_node(pos, {name = 'mycoins:router_on', param2 = node.param2})
|
minetest.swap_node(pos, {name = 'mycoins:router_on', param2 = node.param2})
|
||||||
meta:set_string("formspec", default.router_formspec(pos))
|
meta:set_string("formspec", default.router_formspec(pos))
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router (owner "..meta:get_string("owner")..")")
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
can_dig = function(pos, player)
|
||||||
|
local meta = minetest.get_meta(pos);
|
||||||
|
return isp_owner(meta, player)
|
||||||
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("mycoins:router", {
|
minetest.register_node("mycoins:router", {
|
||||||
|
@ -121,6 +142,7 @@ minetest.register_node("mycoins:router", {
|
||||||
},
|
},
|
||||||
on_punch = function(pos)
|
on_punch = function(pos)
|
||||||
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
||||||
|
default.find_network(pos)
|
||||||
if isp == nil then
|
if isp == nil then
|
||||||
local timer = minetest.get_node_timer(pos)
|
local timer = minetest.get_node_timer(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
|
@ -140,6 +162,7 @@ minetest.register_node("mycoins:router", {
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
on_timer = function(pos)
|
on_timer = function(pos)
|
||||||
|
default.find_network(pos)
|
||||||
local timer = minetest.get_node_timer(pos)
|
local timer = minetest.get_node_timer(pos)
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
local meta = minetest.get_meta(pos)
|
local meta = minetest.get_meta(pos)
|
||||||
|
@ -157,6 +180,7 @@ minetest.register_node("mycoins:router", {
|
||||||
timer:start(10)
|
timer:start(10)
|
||||||
end,
|
end,
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
|
default.find_network(pos)
|
||||||
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
||||||
if isp == nil then
|
if isp == nil then
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
|
@ -204,6 +228,7 @@ minetest.register_node("mycoins:router_error", {
|
||||||
meta:set_string("infotext", "Router")
|
meta:set_string("infotext", "Router")
|
||||||
end,
|
end,
|
||||||
on_timer = function(pos)
|
on_timer = function(pos)
|
||||||
|
default.find_network(pos)
|
||||||
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
local isp = minetest.find_node_near(pos, 30, {"mycoins:isp_on"})
|
||||||
if isp == nil then
|
if isp == nil then
|
||||||
local timer = minetest.get_node_timer(pos)
|
local timer = minetest.get_node_timer(pos)
|
||||||
|
|
Loading…
Reference in New Issue