industrialtest/machines/compressor.lua

78 lines
2.5 KiB
Lua
Raw Normal View History

-- IndustrialTest
-- Copyright (C) 2023 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/>.
local S=minetest.get_translator("industrialtest")
2025-03-10 11:16:36 +01:00
industrialtest.Compressor=table.copy(industrialtest.SimpleElectricItemProcessor)
industrialtest.internal.unpackTableInto(industrialtest.Compressor,{
name="industrialtest:compressor",
description=S("Compressor"),
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_compressor_front.png",
"industrialtest_machine_block.png"
},
requiresWrench=true,
2025-03-10 11:16:36 +01:00
active={
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_compressor_front_active.png",
"industrialtest_machine_block.png"
}
},
capacity=1400,
flow=industrialtest.api.lvPowerFlow,
opPower=120,
efficiency=1
})
2025-03-10 11:16:36 +01:00
function industrialtest.Compressor.getCraftResult(self,itemstack)
local output=industrialtest.api.getCompressorRecipeResult(itemstack:get_name())
if not output or itemstack:get_count()<output.count then
return {
item=ItemStack(),
time=0,
2025-03-11 22:19:46 +01:00
src=itemstack
2025-03-10 11:16:36 +01:00
}
end
local srcAfter=ItemStack(itemstack:get_name())
srcAfter:set_count(itemstack:get_count()-output.count)
return {
item=ItemStack(output.output),
time=output.time,
src=srcAfter
}
end
industrialtest.Compressor:register()
minetest.register_craft({
type="shaped",
output="industrialtest:compressor",
recipe={
{industrialtest.elementKeys.stone,"",industrialtest.elementKeys.stone},
{industrialtest.elementKeys.stone,"industrialtest:machine_block",industrialtest.elementKeys.stone},
{industrialtest.elementKeys.stone,"industrialtest:electronic_circuit",industrialtest.elementKeys.stone}
}
})