mirror of
https://github.com/minetest-mods/technic.git
synced 2025-07-01 07:40:37 +02:00
Changed power distribution method and streamlined the various existing machines.
An electrical network now requires a switching station to work. This statin is the one resolving the network collecting power and distributing it again. Added up/down converter. It is kind of finished. It can be updated with a slot for an upgrade but so far it works without by resolving the types of wires above and below the box. Tool and machine registering changed to use a table with key+value instead of the iterative method it used to have. The power radiator changed to be able to send up to 3000MV EUs in a radius of 6. This update will most likely require existing networks to be dug up and placed again. Also the switching station must be added.
This commit is contained in:
@ -4,7 +4,13 @@
|
||||
|
||||
technic = {}
|
||||
|
||||
modpath=minetest.get_modpath("technic")
|
||||
technic.dprint = function(string)
|
||||
if technic.DBG == 1 then
|
||||
print(string)
|
||||
end
|
||||
end
|
||||
|
||||
local modpath=minetest.get_modpath("technic")
|
||||
|
||||
--Read technic config file
|
||||
dofile(modpath.."/config.lua")
|
||||
@ -14,19 +20,26 @@ dofile(modpath.."/helpers.lua")
|
||||
--items
|
||||
dofile(modpath.."/items.lua")
|
||||
|
||||
-- Register functions
|
||||
dofile(modpath.."/register_machine_and_tool.lua")
|
||||
dofile(modpath.."/alloy_furnaces_commons.lua") -- Idea: Let the LV, MV, HV version of the furnace support different alloys
|
||||
|
||||
-- Switching station LV,MV,HV
|
||||
dofile(modpath.."/switching_station.lua")
|
||||
dofile(modpath.."/supply_converter.lua")
|
||||
|
||||
--LV machines
|
||||
dofile(modpath.."/wires.lua")
|
||||
dofile(modpath.."/battery_box.lua")
|
||||
dofile(modpath.."/alloy_furnaces_commons.lua")
|
||||
dofile(modpath.."/alloy_furnace.lua")
|
||||
dofile(modpath.."/solar_panel.lua")
|
||||
dofile(modpath.."/solar_array_lv.lua")
|
||||
dofile(modpath.."/geothermal.lua")
|
||||
dofile(modpath.."/water_mill.lua")
|
||||
dofile(modpath.."/generator.lua")
|
||||
dofile(modpath.."/electric_furnace.lua")
|
||||
dofile(modpath.."/tool_workshop.lua")
|
||||
dofile(modpath.."/music_player.lua")
|
||||
dofile(modpath.."/generator.lua")
|
||||
dofile(modpath.."/grinder.lua")
|
||||
dofile(modpath.."/cnc.lua")
|
||||
dofile(modpath.."/cnc_api.lua")
|
||||
@ -36,20 +49,18 @@ dofile(modpath.."/cnc_nodes.lua")
|
||||
dofile(modpath.."/wires_mv.lua")
|
||||
dofile(modpath.."/battery_box_mv.lua")
|
||||
dofile(modpath.."/solar_array_mv.lua")
|
||||
dofile(modpath.."/down_converter_mv.lua")
|
||||
dofile(modpath.."/electric_furnace_mv.lua")
|
||||
dofile(modpath.."/alloy_furnace_mv.lua")
|
||||
dofile(modpath.."/forcefield.lua")
|
||||
-- These two are a concept study: Supplying appliances with inductive coupled power:
|
||||
-- lighting and associated textures is taken directly from VanessaE's homedecor and made electric.
|
||||
--dofile(modpath.."/forcefield.lua")
|
||||
---- The power radiator supplies appliances with inductive coupled power:
|
||||
---- lighting and associated textures is taken directly from VanessaE's homedecor and made electric.
|
||||
dofile(modpath.."/power_radiator.lua")
|
||||
dofile(modpath.."/lighting.lua")
|
||||
|
||||
--HV machines
|
||||
--
|
||||
----HV machines
|
||||
dofile(modpath.."/wires_hv.lua")
|
||||
dofile(modpath.."/battery_box_hv.lua")
|
||||
dofile(modpath.."/solar_array_hv.lua")
|
||||
dofile(modpath.."/down_converter_hv.lua")
|
||||
|
||||
--Tools
|
||||
if technic.config:getBool("enable_mining_drill") then dofile(modpath.."/mining_drill.lua") end
|
||||
@ -59,8 +70,8 @@ dofile(modpath.."/cans.lua")
|
||||
dofile(modpath.."/chainsaw.lua")
|
||||
dofile(modpath.."/tree_tap.lua")
|
||||
dofile(modpath.."/sonic_screwdriver.lua")
|
||||
|
||||
-- mesecons and tubes related
|
||||
--
|
||||
---- mesecons and tubes related
|
||||
dofile(modpath.."/injector.lua")
|
||||
dofile(modpath.."/node_breaker.lua")
|
||||
dofile(modpath.."/deployer.lua")
|
||||
@ -68,24 +79,23 @@ dofile(modpath.."/constructor.lua")
|
||||
dofile(modpath.."/frames.lua")
|
||||
|
||||
function has_locked_chest_privilege(meta, player)
|
||||
if player:get_player_name() ~= meta:get_string("owner") then
|
||||
return false
|
||||
end
|
||||
return true
|
||||
if player:get_player_name() ~= meta:get_string("owner") then
|
||||
return false
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
|
||||
-- Swap nodes out. Return the node name.
|
||||
function hacky_swap_node(pos,name)
|
||||
local node = minetest.env:get_node(pos)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local meta0 = meta:to_table()
|
||||
if node.name == name then
|
||||
return nil
|
||||
end
|
||||
node.name = name
|
||||
local meta0 = meta:to_table()
|
||||
minetest.env:set_node(pos,node)
|
||||
meta = minetest.env:get_meta(pos)
|
||||
meta:from_table(meta0)
|
||||
return 1
|
||||
local node = minetest.env:get_node(pos)
|
||||
if node.name ~= name then
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local meta0 = meta:to_table()
|
||||
node.name = name
|
||||
minetest.env:set_node(pos,node)
|
||||
meta = minetest.env:get_meta(pos)
|
||||
meta:from_table(meta0)
|
||||
end
|
||||
return node.name
|
||||
end
|
||||
|
Reference in New Issue
Block a user