Compare commits

..

No commits in common. "acdbad46c63369e5321930cebb3c1bcdc3bdca4a" and "656e33737d06975fe5205a9e7b43a4e4b795f7a9" have entirely different histories.

3 changed files with 16 additions and 34 deletions

View File

@ -48,17 +48,14 @@ for _,name in ipairs(logistica.group_get_all_nodes_for_group("injectors")) do
minetest.override_item(name,override)
end
local function afterLogisticaAction(pos)
local def=minetest.registered_nodes[minetest.get_node(pos).name]
if def and def._industrialtest_self then
def._industrialtest_self:triggerIfNeeded(pos)
end
local function startNodeTimer(pos)
minetest.get_node_timer(pos):start(industrialtest.updateDelay)
end
local function addLogisticaCompatibility(name)
local override={
_logistica_afterRequesterItemstackInsert=afterLogisticaAction,
_logistica_afterInjectorItemstackTake=afterLogisticaAction
_logistica_afterRequesterItemstackInsert=startNodeTimer,
_logistica_afterInjectorItemstackTake=startNodeTimer
}
minetest.override_item(name,override)
end

View File

@ -27,15 +27,16 @@ local override={
meta:set_int("maintainSpeed",1)
local def=minetest.registered_nodes[node.name]
def._industrialtest_self:updateFormspec(pos)
def._industrialtest_self:trigger(pos)
def._industrialtest_updateFormspec(pos)
minetest.get_node_timer(pos):start(industrialtest.updateDelay)
end,
action_off=function(pos,node)
local meta=minetest.get_meta(pos)
meta:set_int("maintainSpeed",0)
local def=minetest.registered_nodes[node.name]
def._industrialtest_self:updateFormspec(pos)
def._industrialtest_updateFormspec(pos)
end
}
}
@ -68,13 +69,13 @@ override={
meta:set_int("stateChanged",1)
local def=minetest.registered_nodes[node.name]
def._industrialtest_self:updateFormspec(pos)
def._industrialtest_updateFormspec(pos)
if isChamber then
def._industrialtest_self:synchronizeToChamber(originalPos)
def._industrialtest_synchronizeToChamber(originalPos)
end
def._industrialtest_self:triggerIfNeeded(pos)
minetest.get_node_timer(pos):start(industrialtest.updateDelay)
end,
action_off=function(pos,node)
local isChamber=node.name=="industrialtest:nuclear_reactor_chamber"
@ -106,10 +107,10 @@ override={
meta:set_int("stateChanged",1)
local def=minetest.registered_nodes[node.name]
def._industrialtest_self:updateFormspec(pos)
def._industrialtest_updateFormspec(pos)
if isChamber then
def._industrialtest_self:synchronizeToChamber(originalPos)
def._industrialtest_synchronizeToChamber(originalPos)
end
end
}

View File

@ -167,13 +167,6 @@ function industrialtest.GeothermalGenerator.onConstruct(self,pos)
industrialtest.ActivatedElectricMachine.onConstruct(self,pos)
end
function industrialtest.GeothermalGenerator.update(self,pos,elapsed,meta,inv)
local srcSlot=inv:get_stack("src",1)
local dstSlot=inv:get_stack("dst",1)
local shouldUpdateFormspec=takeFuelFromItem(self,pos)
return (not srcSlot:is_empty() and dstSlot:get_free_space()>0 and not industrialtest.api.isFluidStorageFull(meta)),shouldUpdateFormspec
end
function industrialtest.GeothermalGenerator.allowMetadataInventoryMove(self,pos,fromList,fromIndex,toList,toIndex,count)
return math.min(allowMetadataInventoryMove(pos,fromList,fromIndex,toList,toIndex,count),industrialtest.ActivatedElectricMachine.allowMetadataInventoryMove(self,pos,fromList,fromIndex,toList,toIndex,count))
end
@ -198,22 +191,16 @@ end
function industrialtest.GeothermalGenerator.shouldActivate(self,pos)
local meta=minetest.get_meta(pos)
local inv=meta:get_inventory()
local srcSlot=inv:get_stack("src",1)
local dstSlot=inv:get_stack("dst",1)
local fluidAmount=meta:get_float("fluidAmount")
return (fluidAmount>0 or (not srcSlot:is_empty() and dstSlot:get_free_space()>0)) and not industrialtest.api.isFullyCharged(meta)
return fluidAmount>0 and not industrialtest.api.isFullyCharged(meta)
end
function industrialtest.GeothermalGenerator.shouldDeactivate(self,pos)
local meta=minetest.get_meta(pos)
local inv=meta:get_inventory()
local srcSlot=inv:get_stack("src",1)
local dstSlot=inv:get_stack("dst",1)
local fluidAmount=meta:get_float("fluidAmount")
return (fluidAmount<=0 and (srcSlot:is_empty() or dstSlot:get_free_space()==0)) or industrialtest.api.isFullyCharged(meta)
return fluidAmount<=0 or industrialtest.api.isFullyCharged(meta)
end
function industrialtest.GeothermalGenerator.activeUpdate(self,pos,elapsed)
@ -283,12 +270,9 @@ end
function industrialtest.WaterMill.canUpdate(self,pos)
local meta=minetest.get_meta(pos)
local inv=meta:get_inventory()
local srcSlot=inv:get_stack("src",1)
local dstSlot=inv:get_stack("dst",1)
local fluidAmount=meta:get_float("fluidAmount")
return (fluidAmount>0 or (not srcSlot:is_empty() and dstSlot:get_free_space()>0)) and not industrialtest.api.isFullyCharged(meta)
return fluidAmount>0 and not industrialtest.api.isFullyCharged(meta)
end
function industrialtest.WaterMill.update(self,pos,elapsed)