From 7d39136764c894cb4adc3f0726f1df5eb6a4926b Mon Sep 17 00:00:00 2001 From: SmallJoker <SmallJoker@users.noreply.github.com> Date: Tue, 25 Oct 2022 18:03:51 +0200 Subject: [PATCH] Chainsaw: Partial rewrite, various improvements (#607) --- technic/machines/MV/wind_mill.lua | 29 +++++++++++++++++++---------- 1 files changed, 19 insertions(+), 10 deletions(-) diff --git a/technic/machines/MV/wind_mill.lua b/technic/machines/MV/wind_mill.lua index 0e3a1a0..1baf54c 100644 --- a/technic/machines/MV/wind_mill.lua +++ b/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", -- Gitblit v1.8.0