Vanessa Dannenberg
2018-10-31 44cb8df048e09b64214f59db73a3fd23cfe12e77
technic/machines/MV/wind_mill.lua
@@ -13,9 +13,9 @@
minetest.register_craft({
   output = 'technic:wind_mill',
   recipe = {
      {'',                           'technic:motor',              ''},
      {'',                           'basic_materials:motor',              ''},
      {'technic:carbon_steel_ingot', 'technic:carbon_steel_block', 'technic:carbon_steel_ingot'},
      {'',                           'technic:mv_cable0',          ''},
      {'',                           'technic:mv_cable',           ''},
   }
})
@@ -33,8 +33,15 @@
   if pos.y < 30 then
      return false
   end
   pos = {x=pos.x, y=pos.y, z=pos.z}
   for i = 1, 20 do
      local node = minetest.get_node({x=pos.x, y=pos.y-i, z=pos.z})
      pos.y = pos.y - 1
      local node = minetest.get_node_or_nil(pos)
      if not node then
         -- we reached CONTENT_IGNORE, we can assume, that nothing changed
         -- as the user will have to load the block to change it
         return
      end
      if node.name ~= "technic:wind_mill_frame" then
         return false
      end
@@ -45,24 +52,26 @@
local run = function(pos, node)
   local meta = minetest.get_meta(pos)
   local machine_name = S("Wind %s Generator"):format("MV")
   local power = math.min(pos.y * 100, 5000)
   if not check_wind_mill(pos) then
   local check = check_wind_mill(pos)
   if check == false then
      meta:set_int("MV_EU_supply", 0)
      meta:set_string("infotext", S("%s Improperly Placed"):format(machine_name))
      return
   else
   elseif check == true then
      local power = math.min(pos.y * 100, 5000)
      meta:set_int("MV_EU_supply", power)
      meta:set_string("infotext", S("@1 (@2)", machine_name,
         technic.EU_string(power)))
   end
   meta:set_string("infotext", technic.format("%s (%eEU)", machine_name, power))
   -- check == nil: assume nothing has changed
end
minetest.register_node("technic:wind_mill", {
   description = S("Wind %s Generator"):format("MV"),
   tiles = {"technic_carbon_steel_block.png"},
   paramtype2 = "facedir",
   groups = {cracky=1, technic_machine=1},
   groups = {cracky=1, technic_machine=1, technic_mv=1},
   connect_sides = {"top", "bottom", "back", "left", "right"},
   sounds = default.node_sound_stone_defaults(),
   drawtype = "nodebox",
   paramtype = "light",