forked from mrkubax10/industrialtest
Implement Overclocker Upgrade
This commit is contained in:
@@ -28,7 +28,9 @@ toolWorkshop.getFormspec=function(pos)
|
||||
(powerPercent>0 and "image[3.7,2.5;1,1;industrialtest_gui_electricity_bg.png^[lowpart:"..powerPercent..":industrialtest_gui_electricity_fg.png]"
|
||||
or "image[3.7,2.5;1,1;industrialtest_gui_electricity_bg.png]"),
|
||||
"list[context;tool;5.9,3.2;1,1;0]",
|
||||
"listring[context;tool]"
|
||||
"listring[context;tool]",
|
||||
"list[context;upgrades;9,0.9;1,4]",
|
||||
"listring[context;upgrades]"
|
||||
}
|
||||
elseif industrialtest.mclAvailable then
|
||||
formspec={
|
||||
@@ -39,7 +41,10 @@ toolWorkshop.getFormspec=function(pos)
|
||||
or "image[3.7,2.5;1,1;industrialtest_gui_electricity_bg.png]"),
|
||||
"list[context;tool;5.9,3.2;1,1;0]",
|
||||
mcl_formspec.get_itemslot_bg(5.9,3.2,1,1),
|
||||
"listring[context;tool]"
|
||||
"listring[context;tool]",
|
||||
"list[context;upgrades;9,0.9;1,4]",
|
||||
mcl_formspec.get_itemslot_bg(9,0.9,1,4),
|
||||
"listring[context;upgrades]"
|
||||
}
|
||||
end
|
||||
return table.concat(formspec,"")
|
||||
@@ -48,11 +53,13 @@ end
|
||||
toolWorkshop.onConstruct=function(pos,meta,inv)
|
||||
inv:set_size("powerStorage",1)
|
||||
inv:set_size("tool",1)
|
||||
inv:set_size("upgrades",4)
|
||||
end
|
||||
|
||||
toolWorkshop.onTimer=function(pos,elapsed,meta,inv)
|
||||
local powerStorageSlot=inv:get_stack("powerStorage",1)
|
||||
local toolSlot=inv:get_stack("tool",1)
|
||||
local requiredPower=industrialtest.api.getMachineSpeed(meta)*10000
|
||||
local shouldRerunTimer=false
|
||||
local shouldUpdateFormspec=false
|
||||
|
||||
@@ -66,7 +73,7 @@ toolWorkshop.onTimer=function(pos,elapsed,meta,inv)
|
||||
end
|
||||
end
|
||||
|
||||
if toolSlot:get_count()>0 and toolSlot:get_wear()>0 and meta:get_int("industrialtest.powerAmount")>=10000 then
|
||||
if toolSlot:get_count()>0 and toolSlot:get_wear()>0 and meta:get_int("industrialtest.powerAmount")>=requiredPower then
|
||||
minetest.swap_node(pos,{
|
||||
name="industrialtest:tool_workshop_active",
|
||||
param2=minetest.get_node(pos).param2
|
||||
@@ -80,6 +87,8 @@ end
|
||||
toolWorkshop.activeOnTimer=function(pos,elapsed,meta,inv)
|
||||
local powerStorageSlot=inv:get_stack("powerStorage",1)
|
||||
local toolSlot=inv:get_stack("tool",1)
|
||||
local speed=industrialtest.api.getMachineSpeed(meta)
|
||||
local requiredPower=speed*10000
|
||||
local shouldRerunTimer=false
|
||||
local shouldUpdateFormspec=false
|
||||
|
||||
@@ -93,11 +102,11 @@ toolWorkshop.activeOnTimer=function(pos,elapsed,meta,inv)
|
||||
end
|
||||
end
|
||||
|
||||
if toolSlot:get_count()>0 and toolSlot:get_wear()>0 and meta:get_int("industrialtest.powerAmount")>=10000 then
|
||||
local removed=math.min(toolSlot:get_wear(),200)
|
||||
if toolSlot:get_count()>0 and toolSlot:get_wear()>0 and meta:get_int("industrialtest.powerAmount")>=requiredPower then
|
||||
local removed=math.min(toolSlot:get_wear(),speed*200)
|
||||
toolSlot:set_wear(toolSlot:get_wear()-removed)
|
||||
inv:set_stack("tool",1,toolSlot)
|
||||
industrialtest.api.addPower(meta,-10000)
|
||||
industrialtest.api.addPower(meta,-requiredPower)
|
||||
shouldRerunTimer=true
|
||||
shouldUpdateFormspec=true
|
||||
else
|
||||
@@ -171,13 +180,13 @@ industrialtest.internal.registerMachine({
|
||||
},
|
||||
activeCustomKeys={
|
||||
tiles={
|
||||
"industrialtest_machine_block.png",
|
||||
"industrialtest_machine_block.png",
|
||||
"industrialtest_machine_block.png",
|
||||
"industrialtest_machine_block.png",
|
||||
"industrialtest_machine_block.png",
|
||||
"industrialtest_machine_block.png^industrialtest_tool_workshop_front_active.png",
|
||||
"industrialtest_machine_block.png"
|
||||
"industrialtest_advanced_machine_block.png",
|
||||
"industrialtest_advanced_machine_block.png",
|
||||
"industrialtest_advanced_machine_block.png",
|
||||
"industrialtest_advanced_machine_block.png",
|
||||
"industrialtest_advanced_machine_block.png",
|
||||
"industrialtest_advanced_machine_block.png^industrialtest_tool_workshop_front_active.png",
|
||||
"industrialtest_advanced_machine_block.png"
|
||||
},
|
||||
},
|
||||
onConstruct=toolWorkshop.onConstruct,
|
||||
|
||||
Reference in New Issue
Block a user