summaryrefslogtreecommitdiff
path: root/technic
diff options
context:
space:
mode:
authorVanessa Ezekowitz <vanessaezekowitz@gmail.com>2017-02-21 13:39:12 -0500
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>2017-02-21 13:39:12 -0500
commitfad2d803001b00807efd9bcba33daf0cc620f8aa (patch)
treeaf5b390a7a8e59d6ec7d8579335303008b97f3e1 /technic
parent1ee96ab1093c7cf14c51c8963013723a5552eead (diff)
downloaddreambuilder_modpack-fad2d803001b00807efd9bcba33daf0cc620f8aa.tar
dreambuilder_modpack-fad2d803001b00807efd9bcba33daf0cc620f8aa.tar.gz
dreambuilder_modpack-fad2d803001b00807efd9bcba33daf0cc620f8aa.tar.bz2
dreambuilder_modpack-fad2d803001b00807efd9bcba33daf0cc620f8aa.tar.xz
dreambuilder_modpack-fad2d803001b00807efd9bcba33daf0cc620f8aa.zip
updated technic (new hydro gen calculations)
Diffstat (limited to 'technic')
-rw-r--r--technic/machines/LV/water_mill.lua16
1 files changed, 9 insertions, 7 deletions
diff --git a/technic/machines/LV/water_mill.lua b/technic/machines/LV/water_mill.lua
index c853310..ad461fb 100644
--- a/technic/machines/LV/water_mill.lua
+++ b/technic/machines/LV/water_mill.lua
@@ -17,19 +17,21 @@ minetest.register_craft({
local function check_node_around_mill(pos)
local node = minetest.get_node(pos)
- if node.name == "default:water_flowing" or
- node.name == "default:water_source" then
- return true
+ if node.name == "default:water_flowing"
+ or node.name == "default:river_water_flowing" then
+ return node.param2 -- returns approx. water flow, if any
end
return false
end
local run = function(pos, node)
local meta = minetest.get_meta(pos)
- local water_nodes = 0
+ local water_flow = 0
local lava_nodes = 0
local production_level = 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 = {
{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
local check = check_node_around_mill(p)
if check then
- water_nodes = water_nodes + 1
+ water_flow = water_flow + check
end
end
- production_level = 25 * water_nodes
- eu_supply = 30 * water_nodes
+ eu_supply = 50 * water_flow
+ production_level = math.floor(100 * eu_supply / max_output)
if production_level > 0 then
meta:set_int("LV_EU_supply", eu_supply)