Refactor batpacks

This commit is contained in:
2025-04-08 21:28:28 +02:00
parent 6147074e05
commit dfdce73376
8 changed files with 236 additions and 147 deletions

View File

@@ -15,9 +15,12 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
industrialtest.ElectricTool=table.copy(industrialtest.Tool)
industrialtest.internal.unpackTableInto(industrialtest.ElectricTool,{
prepare=industrialtest.ElectricItem.prepare
})
function industrialtest.ElectricTool.onPlace(self,itemstack,user,pointed)
self:prepareTool(itemstack)
self:prepare(itemstack)
local meta=itemstack:get_meta()
local opPower=self:getOpPower()
@@ -25,18 +28,10 @@ function industrialtest.ElectricTool.onPlace(self,itemstack,user,pointed)
return false
end
self:use(itemstack,user,pointed)
industrialtest.api.addPowerToItem(itemstack,-opPower)
return true
end
function industrialtest.ElectricTool.prepareTool(self,itemstack)
local meta=itemstack:get_meta()
if industrialtest.api.hasPowerStorage(meta) then
return
if self:use(itemstack,user,pointed) then
industrialtest.api.addPowerToItem(itemstack,-opPower)
end
industrialtest.api.addPowerStorage(meta,self.capacity,self.flow,"n/a")
industrialtest.api.updateItemPowerText(itemstack)
return true
end
function industrialtest.ElectricTool.getOpPower(self,itemstack)