summaryrefslogtreecommitdiff
path: root/mesecons_hydroturbine/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'mesecons_hydroturbine/init.lua')
-rw-r--r--mesecons_hydroturbine/init.lua58
1 files changed, 58 insertions, 0 deletions
diff --git a/mesecons_hydroturbine/init.lua b/mesecons_hydroturbine/init.lua
new file mode 100644
index 0000000..ed64d79
--- /dev/null
+++ b/mesecons_hydroturbine/init.lua
@@ -0,0 +1,58 @@
+-- HYDRO_TURBINE
+
+minetest.register_node("mesecons_hydroturbine:hydro_turbine_off", {
+ tile_images = {"jeija_hydro_turbine_off.png", "jeija_hydro_turbine_off.png", "jeija_hydro_turbine_off.png", "jeija_hydro_turbine_off.png", "jeija_hydro_turbine_off.png", "jeija_hydro_turbine_off.png"},
+ material = minetest.digprop_constanttime(0.5),
+ description="Water Turbine",
+})
+
+minetest.register_node("mesecons_hydroturbine:hydro_turbine_on", {
+ tile_images = {"jeija_hydro_turbine_on.png", "jeija_hydro_turbine_on.png", "jeija_hydro_turbine_on.png", "jeija_hydro_turbine_on.png", "jeija_hydro_turbine_on.png", "jeija_hydro_turbine_on.png"},
+ drop = '"mesecons_hydroturbine:hydro_turbine_off" 1',
+ material = minetest.digprop_constanttime(0.5),
+ description="Water Turbine",
+})
+
+
+minetest.register_abm({
+nodenames = {"mesecons_hydroturbine:hydro_turbine_off"},
+ interval = 1,
+ chance = 1,
+ action = function(pos, node, active_object_count, active_object_count_wider)
+ local waterpos={x=pos.x, y=pos.y+1, z=pos.z}
+ if minetest.env:get_node(waterpos).name=="default:water_flowing" then
+ --minetest.env:remove_node(pos)
+ minetest.env:add_node(pos, {name="mesecons_hydroturbine:hydro_turbine_on"})
+ nodeupdate(pos)
+ mesecon:receptor_on(pos)
+ end
+ end,
+})
+
+minetest.register_abm({
+nodenames = {"mesecons_hydroturbine:hydro_turbine_on"},
+ interval = 1,
+ chance = 1,
+ action = function(pos, node, active_object_count, active_object_count_wider)
+ local waterpos={x=pos.x, y=pos.y+1, z=pos.z}
+ if minetest.env:get_node(waterpos).name~="default:water_flowing" then
+ --minetest.env:remove_node(pos)
+ minetest.env:add_node(pos, {name="mesecons_hydroturbine:hydro_turbine_off"})
+ nodeupdate(pos)
+ mesecon:receptor_off(pos)
+ end
+ end,
+})
+
+mesecon:add_receptor_node("mesecons_hydroturbine:hydro_turbine_on")
+mesecon:add_receptor_node_off("mesecons_hydroturbine:hydro_turbine_off")
+
+minetest.register_craft({
+ output = '"mesecons_hydroturbine:hydro_turbine_off" 2',
+ recipe = {
+ {'','"default:stick"', ''},
+ {'"default:stick"', '"default:steel_ingot"', '"default:stick"'},
+ {'','"default:stick"', ''},
+ }
+})
+