updated technic (new hydro gen calculations)

This commit is contained in:
Vanessa Ezekowitz 2017-02-21 13:39:12 -05:00
parent 1ee96ab109
commit fad2d80300

View File

@ -17,19 +17,21 @@ minetest.register_craft({
local function check_node_around_mill(pos) local function check_node_around_mill(pos)
local node = minetest.get_node(pos) local node = minetest.get_node(pos)
if node.name == "default:water_flowing" or if node.name == "default:water_flowing"
node.name == "default:water_source" then or node.name == "default:river_water_flowing" then
return true return node.param2 -- returns approx. water flow, if any
end end
return false return false
end end
local run = function(pos, node) local run = function(pos, node)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local water_nodes = 0 local water_flow = 0
local lava_nodes = 0 local lava_nodes = 0
local production_level = 0 local production_level = 0
local eu_supply = 0 local eu_supply = 0
local max_output = 50 * 45 -- four param2's at 15 makes 60, cap it lower for "overload protection"
-- (plus we want the gen to report 100% if three sides have full flow)
local positions = { local positions = {
{x=pos.x+1, y=pos.y, z=pos.z}, {x=pos.x+1, y=pos.y, z=pos.z},
@ -41,12 +43,12 @@ local run = function(pos, node)
for _, p in pairs(positions) do for _, p in pairs(positions) do
local check = check_node_around_mill(p) local check = check_node_around_mill(p)
if check then if check then
water_nodes = water_nodes + 1 water_flow = water_flow + check
end end
end end
production_level = 25 * water_nodes eu_supply = 50 * water_flow
eu_supply = 30 * water_nodes production_level = math.floor(100 * eu_supply / max_output)
if production_level > 0 then if production_level > 0 then
meta:set_int("LV_EU_supply", eu_supply) meta:set_int("LV_EU_supply", eu_supply)