From 9ed1ee3727f8d9dedad6d7287a03faaffea3c46d Mon Sep 17 00:00:00 2001 From: The4codeblocks <72419529+The4codeblocks@users.noreply.github.com> Date: Mon, 26 Jun 2023 16:26:16 +0200 Subject: [PATCH] Update init.lua --- init.lua | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/init.lua b/init.lua index e225be6..c4742d2 100644 --- a/init.lua +++ b/init.lua @@ -1,5 +1,56 @@ +--Docs +--[[ +Configuration: +To add your own nodes that you want to compress further, you make a table like this: + = { + {already_compressed = , node = , displayname = }, + {already_compressed = , node = , displayname = }, + . + . + +}, +and append it to the to_compress table in the Config section. +]] + +--Config to_compress = { moreblocks = { - already_compressed = 1 - } + {already_compressed = 1, node = "cobble_compressed", displayname = "Compressed Cobblestone"}, + {already_compressed = 1, node = "desert_cobble_compressed", displayname = "Compressed Desert Cobblestone"}, + {already_compressed = 1, node = "dirt_compressed", displayname = "Compressed Dirt"}, + }, } + +--Settings +maxlvl = 5 + +--Main +register_compressed = function(node, name, level, already_compressed) + texture = node..".png" + if level > already_compressed then + for _=0, level - already_compressed, 1 do + texture + end + end + minetest.register_node(name) +end + +register_compresseds = function(mod, table) + for _ node in ipairs(table) do + for level = node.already_compressed+1, maxlvl, 1 + name = "compression:"..mod.."_"..node.node + if node.already_compressed then + name = name.."_level_"..level + else + name = name.."_compressed_level_"..level + end + register_compressed(node.node, name, level, node.already_compressed) + end + end +end + +for mod, table in pairs(to_compress) do + if minetest.get_modpath(mod) then + register_compression(mod, table) + end +end