-- IndustrialTest -- Copyright (C) 2023 mrkubax10 -- This program is free software: you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation, either version 3 of the License, or -- (at your option) any later version. -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- You should have received a copy of the GNU General Public License -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") local definition={ description=S("Machine Block"), tiles={"industrialtest_machine_block.png"}, } if industrialtest.mtgAvailable then definition.sound=default.node_sound_metal_defaults() definition.groups={cracky=1,level=2} elseif industrialtest.mclAvailable then definition.sound=mcl_sounds.node_sound_metal_defaults() definition._mcl_blast_resistance=6 definition._mcl_hardness=5 end minetest.register_node("industrialtest:machine_block",definition) minetest.register_craft({ type="shaped", output="industrialtest:machine_block", recipe={ {"industrialtest:refined_iron_ingot","industrialtest:refined_iron_ingot","industrialtest:refined_iron_ingot"}, {"industrialtest:refined_iron_ingot","","industrialtest:refined_iron_ingot"}, {"industrialtest:refined_iron_ingot","industrialtest:refined_iron_ingot","industrialtest:refined_iron_ingot"} } }) -- Node callbacks minetest.register_on_placenode(function(pos,newNode) local def=minetest.registered_nodes[newNode.name] if def and def._industrialtest_hasPowerInput then local neighbourPositions={ vector.offset(pos,-1,0,0), vector.offset(pos,1,0,0), vector.offset(pos,0,-1,0), vector.offset(pos,0,1,0), vector.offset(pos,0,0,-1), vector.offset(pos,0,0,1) } for key,value in ipairs(neighbourPositions) do local meta=minetest.get_meta(value) local strIndex=(key%2==0 and key-1 or key+1) if industrialtest.api.hasPowerStorage(meta) and string.sub(meta:get_string("industrialtest.ioConfig"),strIndex,strIndex)=="o" then minetest.get_node_timer(value):start(1.0) end end end end)