202 lines
6.2 KiB
Lua
202 lines
6.2 KiB
Lua
-- 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/>.
|
|
|
|
-- Macerator crafts
|
|
industrialtest.api.registerMaceratorRecipe({
|
|
output=industrialtest.elementKeys.cobble,
|
|
recipe=industrialtest.elementKeys.stone
|
|
})
|
|
industrialtest.api.registerMaceratorRecipe({
|
|
output=industrialtest.elementKeys.sand,
|
|
recipe=industrialtest.elementKeys.cobble
|
|
})
|
|
industrialtest.api.registerMaceratorRecipe({
|
|
output=industrialtest.elementKeys.flint,
|
|
recipe=industrialtest.elementKeys.gravel
|
|
})
|
|
industrialtest.api.registerMaceratorRecipe({
|
|
output=industrialtest.elementKeys.snowball,
|
|
recipe=industrialtest.elementKeys.ice
|
|
})
|
|
industrialtest.api.registerMaceratorRecipe({
|
|
output=industrialtest.elementKeys.sand,
|
|
recipe=industrialtest.elementKeys.sandstone
|
|
})
|
|
industrialtest.api.registerMaceratorRecipe({
|
|
output=industrialtest.elementKeys.string.." 2",
|
|
recipe=industrialtest.elementKeys.whiteWool
|
|
})
|
|
if industrialtest.mclAvailable then
|
|
industrialtest.api.registerMaceratorRecipe({
|
|
output="mcl_mobitems:blaze_powder 5",
|
|
recipe="mcl_mobitems:blaze_rod"
|
|
})
|
|
industrialtest.api.registerMaceratorRecipe({
|
|
output="mesecons:mesecon 9",
|
|
recipe="mesecons_torch:redstoneblock"
|
|
})
|
|
industrialtest.api.registerMaceratorRecipe({
|
|
output="mcl_nether:quartz 4",
|
|
recipe="mcl_nether:quartz_block"
|
|
})
|
|
industrialtest.api.registerMaceratorRecipe({
|
|
output="mcl_bone_meal:bone_meal 4",
|
|
recipe="mcl_mobitems:bone"
|
|
})
|
|
end
|
|
|
|
-- Compressor crafts
|
|
industrialtest.api.registerCompressorRecipe({
|
|
output=industrialtest.elementKeys.sandstone,
|
|
recipe=industrialtest.elementKeys.sand
|
|
})
|
|
industrialtest.api.registerCompressorRecipe({
|
|
output=industrialtest.elementKeys.ice,
|
|
recipe=industrialtest.elementKeys.snowball
|
|
})
|
|
if industrialtest.mclAvailable then
|
|
industrialtest.api.registerCompressorRecipe({
|
|
output="mcl_nether:nether_brick",
|
|
recipe="mcl_nether:netherrack",
|
|
count=3
|
|
})
|
|
end
|
|
|
|
-- Sawmill recipe providers
|
|
industrialtest.api.registerSawmillRecipeProvider(function(itemstack)
|
|
local srcAfter=ItemStack(itemstack:get_name())
|
|
srcAfter:set_count(itemstack:get_count()-1)
|
|
if minetest.get_item_group(itemstack:get_name(),"tree")>0 then
|
|
local treeMapping={}
|
|
if industrialtest.mtgAvailable then
|
|
treeMapping={
|
|
["default:tree"]="default:wood",
|
|
["default:jungletree"]="default:junglewood",
|
|
["default:pine_tree"]="default:pine_wood",
|
|
["default:acacia_tree"]="default:acacia_wood",
|
|
["default:aspen_tree"]="default:aspen_wood"
|
|
}
|
|
elseif industrialtest.mclAvailable then
|
|
treeMapping={
|
|
["mcl_trees:tree_oak"]="mcl_trees:wood_oak",
|
|
["mcl_trees:tree_dark_oak"]="mcl_trees:wood_dark_oak",
|
|
["mcl_trees:tree_jungle"]="mcl_trees:wood_jungle",
|
|
["mcl_trees:tree_spruce"]="mcl_trees:wood_spruce",
|
|
["mcl_trees:tree_acacia"]="mcl_trees:wood_acacia",
|
|
["mcl_trees:tree_birch"]="mcl_trees:wood_birch",
|
|
["mcl_trees:bark_oak"]="mcl_trees:wood_oak",
|
|
["mcl_trees:bark_dark_oak"]="mcl_trees:wood_dark_oak",
|
|
["mcl_trees:bark_jungle"]="mcl_trees:wood_jungle",
|
|
["mcl_trees:bark_spruce"]="mcl_trees:wood_spruce",
|
|
["mcl_trees:bark_acacia"]="mcl_trees:wood_acacia",
|
|
["mcl_trees:bark_birch"]="mcl_trees:wood_birch"
|
|
}
|
|
end
|
|
local woodNode=treeMapping[itemstack:get_name()]
|
|
if not woodNode then
|
|
return nil
|
|
end
|
|
return {
|
|
item={
|
|
ItemStack(woodNode.." 5"),
|
|
ItemStack("industrialtest:saw_dust 2")
|
|
},
|
|
time=3,
|
|
src=srcAfter
|
|
}
|
|
end
|
|
if minetest.get_item_group(itemstack:get_name(),"wood")>0 then
|
|
return {
|
|
item={
|
|
ItemStack(industrialtest.elementKeys.stick.." 4"),
|
|
ItemStack("industrialtest:saw_dust 2")
|
|
},
|
|
time=2,
|
|
src=srcAfter
|
|
}
|
|
end
|
|
return nil
|
|
end)
|
|
|
|
minetest.register_craft({
|
|
type="shaped",
|
|
output=industrialtest.elementKeys.torch.." 2",
|
|
recipe={
|
|
{"industrialtest:saw_dust"},
|
|
{industrialtest.elementKeys.stick}
|
|
}
|
|
})
|
|
|
|
-- Geothermal Generator fuels
|
|
industrialtest.api.registerGeothermalGeneratorFuel({
|
|
name=industrialtest.elementKeys.lavaSource,
|
|
calorificValue=industrialtest.api.lvPowerFlow*2,
|
|
texture="industrialtest_gui_lava.png",
|
|
storageItems={
|
|
{
|
|
name=industrialtest.elementKeys.bucketWithLava,
|
|
leftover=industrialtest.elementKeys.bucket
|
|
},
|
|
{
|
|
name="industrialtest:lava_cell",
|
|
leftover="industrialtest:empty_cell"
|
|
}
|
|
}
|
|
})
|
|
|
|
-- Water Mill fuels
|
|
industrialtest.api.registerWaterMillFuel({
|
|
name=industrialtest.elementKeys.waterSource,
|
|
calorificValue=industrialtest.api.lvPowerFlow,
|
|
texture="industrialtest_gui_water.png",
|
|
storageItems={
|
|
{
|
|
name=industrialtest.elementKeys.bucketWithWater,
|
|
leftover=industrialtest.elementKeys.bucket
|
|
},
|
|
{
|
|
name="industrialtest:water_cell",
|
|
leftover="industrialtest:empty_cell"
|
|
}
|
|
}
|
|
})
|
|
if industrialtest.mtgAvailable then
|
|
industrialtest.api.registerWaterMillFuel({
|
|
name="default:river_water_source",
|
|
calorificValue=industrialtest.api.lvPowerFlow,
|
|
texture="industrialtest_gui_river_water.png",
|
|
storageItems={
|
|
{
|
|
name="bucket:bucket_river_water",
|
|
leftover=industrialtest.elementKeys.bucket
|
|
},
|
|
{
|
|
name="industrialtest:river_water_cell",
|
|
leftover="industrialtest:empty_cell"
|
|
}
|
|
}
|
|
})
|
|
end
|
|
|
|
-- Pumped fluids
|
|
if industrialtest.mtgAvailable then
|
|
industrialtest.api.registerPumpFluid("default:river_water_source","industrialtest_gui_river_water.png")
|
|
industrialtest.api.registerCompressedFluid("default:river_water_source",industrialtest.api.nodeFluidCapacity/2,5,"default:snow")
|
|
end
|
|
industrialtest.api.registerPumpFluid(industrialtest.elementKeys.waterSource,"industrialtest_gui_water.png")
|
|
industrialtest.api.registerPumpFluid(industrialtest.elementKeys.lavaSource,"industrialtest_gui_lava.png")
|
|
industrialtest.api.registerCompressedFluid(industrialtest.elementKeys.waterSource,industrialtest.api.nodeFluidCapacity/2,5,industrialtest.elementKeys.snowball)
|