Move some common tool functionality to separate files for further usage

This commit is contained in:
2025-04-06 22:07:38 +02:00
parent 25680ace72
commit ae123446ad
6 changed files with 151 additions and 90 deletions

45
tools/electric_tool.lua Normal file
View File

@@ -0,0 +1,45 @@
-- IndustrialTest
-- Copyright (C) 2025 mrkubax10
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
industrialtest.ElectricTool=table.copy(industrialtest.Tool)
function industrialtest.ElectricTool.onPlace(self,itemstack,user,pointed)
self:prepareTool(itemstack)
local meta=itemstack:get_meta()
local opPower=self:getOpPower()
if meta:get_int("industrialtest.powerAmount")<opPower then
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
end
industrialtest.api.addPowerStorage(meta,self.capacity,self.flow,"n/a")
industrialtest.api.updateItemPowerText(itemstack)
end
function industrialtest.ElectricTool.getOpPower(self,itemstack)
-- dummy function
return 0
end