technic-cd2025/technic/register_machine_and_tool.lua
RealBadAngel 3bc6cad671 Remove lv, mv, and hv tiers from power tools.
Theyre already tiered with Mk1-3 (at least drill is, more in the future).
Tools can be considered as designed for different tiers of circuits thx to their power needs.
For example Mk3 will require ages to load in LV batbox.
Batboxes load tools timining: LV standard (1000EU), MV 4x faster (4000EU), HV 16x faster (16000EU)
Also since 1EU is the same in any circuit it is possible to move energy from one to another with portable devices like crystals.

Other changes:
- moved charge/discharge functions to battery_boxes_commons.lua
- added UI style backgrounds for all the batboxes
2013-07-17 19:14:01 +02:00

64 lines
1.9 KiB
Lua

-- This file includes the functions and data structures for registering machines and tools for LV, MV, HV types.
-- We use the technic namespace for these functions and data to avoid eventual conflict.
-- register power tools here
technic.power_tools = {}
technic.register_power_tool = function(craftitem,max_charge)
technic.power_tools[craftitem] = max_charge
end
-- register LV machines here
technic.LV_machines = {}
technic.register_LV_machine = function(nodename,type)
technic.LV_machines[nodename] = type
end
technic.unregister_LV_machine = function(nodename,type)
technic.LV_machines[nodename] = nil
end
-- register MV machines here
technic.MV_machines = {}
technic.MV_power_tools = {}
technic.register_MV_machine = function(nodename,type)
technic.MV_machines[nodename] = type
end
technic.unregister_MV_machine = function(nodename)
technic.MV_machines[nodename] = nil
end
-- register HV machines here
technic.HV_machines = {}
technic.HV_power_tools = {}
technic.register_HV_machine = function(nodename,type)
technic.HV_machines[nodename] = type
end
technic.unregister_HV_machine = function(nodename)
technic.HV_machines[nodename] = nil
end
-- Utility functions. Not sure exactly what they do.. water.lua uses the two first.
function technic.get_RE_item_load (load1,max_load)
if load1==0 then load1=65535 end
local temp = 65536-load1
temp= temp/65535*max_load
return math.floor(temp + 0.5)
end
function technic.set_RE_item_load (load1,max_load)
if load1 == 0 then return 65535 end
local temp=load1/max_load*65535
temp=65536-temp
return math.floor(temp)
end
-- Wear down a tool depending on the remaining charge.
function technic.set_RE_wear (item_stack,load,max_load)
local temp=65536-math.floor(load/max_load*65535)
item_stack["wear"]=tostring(temp)
return item_stack
end