2023-09-07 23:43:55 +02:00

82 lines
2.7 KiB
Lua

compression.compressed_nodes = {
"default:clay",
"default:desert_stone",
"default:desert_sand",
"default:stone",
"default:sand",
"default:silver_sand",
"default:dry_dirt",
"default:gravel",
"default:ice",
"default:permafrost",
"default:obsidian",
"default:snowblock",
"default:coalblock",
"wool:white",
}
local moreblocks_available = minetest.get_modpath("moreblocks")
local max_compression_level = tonumber(minetest.settings:get("max_compression_level") or 10)
local maxlvl = tonumber(core.settings:get("max_compression_level") or 10)
compression.register_compressed_nodes(compression.compressed_nodes, maxlvl)
local mod = ""
local moreblocks_stone_output = ""
local moreblocks_desert_stone_output = ""
if moreblocks_available then
compression.register_compressed_tiers("moreblocks:cobble_compressed", maxlvl)
compression.register_compressed_tiers("moreblocks:desert_cobble_compressed", maxlvl)
compression.register_compressed_tiers("moreblocks:dirt_compressed", maxlvl)
if max_compression_level > 0 then
moreblocks_stone_output, moreblocks_desert_stone_output = "compression:default_stone_compressed_level_1", "compression:default_desert_stone_compressed_level_1"
else
moreblocks_stone_output, moreblocks_desert_stone_output = "default:stone 9", "default:desert_stone 9"
end
minetest.register_craft({
type = "cooking",
recipe = "moreblocks:cobble_compressed",
output = moreblocks_stone_output,
cooktime = 9,
})
minetest.register_craft({
type = "cooking",
recipe = "moreblocks:desert_cobble_compressed",
output = moreblocks_desert_stone_output,
cooktime = 9,
})
mod = "moreblocks"
else
compression.register_compressed_tiers("default:cobble", maxlvl)
compression.register_compressed_tiers("default:desert_cobble", maxlvl)
compression.register_compressed_tiers("default:dirt", maxlvl)
mod = "default"
end
for level = 1, max_compression_level, 1 do
minetest.register_craft({
type = "cooking",
recipe = "compression:" .. mod .. "_cobble_compressed_level_" .. level,
output = "compression:default_stone_compressed_level_" .. level,
cooktime = 3 ^ level,
})
minetest.register_craft({
type = "cooking",
recipe = "compression:" .. mod .. "_desert_cobble_compressed_level_" .. level,
output = "compression:default_desert_stone_compressed_level_" .. level,
cooktime = 3 ^ level,
})
if level < 8 then
minetest.register_craft({
type = "fuel",
recipe = "compression:default_coalblock_compressed_level_" .. level,
burntime = 370 * (9 ^ level),
})
end
end