-- Power off automatically if no longer connected to a switching station
technic.switching_station_timeout_count(pos, "MV")
- srcstack = inv:get_stack("src", 1)
+ local srcstack = inv:get_stack("src", 1)
if inv:is_empty("src") or
srcstack:get_wear() == 0 or
srcstack:get_name() == "technic:water_can" or
-- A node must be touched by the station continuously in order to function
function technic.switching_station_timeout_count(pos, tier)
local meta = minetest.get_meta(pos)
- timeout = meta:get_int(tier.."_EU_timeout")
+ local timeout = meta:get_int(tier.."_EU_timeout")
if timeout == 0 then
meta:set_int(tier.."_EU_input", 0)
else
local player_positions = {}
local last_wielded = {}
-function round(num)
+local function round(num)
return math.floor(num + 0.5)
end
+local function check_for_flashlight(player)
+ if player == nil then
+ return false
+ end
+ local inv = player:get_inventory()
+ local hotbar = inv:get_list("main")
+ for i = 1, 8 do
+ if hotbar[i]:get_name() == "technic:flashlight" then
+ local meta = minetest.deserialize(hotbar[i]:get_metadata())
+ if not meta or not meta.charge then
+ return false
+ end
+ if meta.charge - 2 > 0 then
+ meta.charge = meta.charge - 2;
+ technic.set_RE_wear(hotbar[i], meta.charge, flashlight_max_charge)
+ hotbar[i]:set_metadata(minetest.serialize(meta))
+ inv:set_stack("main", i, hotbar[i])
+ return true
+ end
+ end
+ end
+ return false
+end
+
minetest.register_on_joinplayer(function(player)
local player_name = player:get_player_name()
table.insert(players, player_name)
},
})
-function check_for_flashlight(player)
- if player == nil then
- return false
- end
- local inv = player:get_inventory()
- local hotbar = inv:get_list("main")
- for i = 1, 8 do
- if hotbar[i]:get_name() == "technic:flashlight" then
- local meta = minetest.deserialize(hotbar[i]:get_metadata())
- if not meta or not meta.charge then
- return false
- end
- if meta.charge - 2 > 0 then
- meta.charge = meta.charge - 2;
- technic.set_RE_wear(hotbar[i], meta.charge, flashlight_max_charge)
- hotbar[i]:set_metadata(minetest.serialize(meta))
- inv:set_stack("main", i, hotbar[i])
- return true
- end
- end
- end
- return false
-end
-