tt = {} tt.COLOR_DEFAULT = "#d0ffd0" tt.COLOR_DANGER = "#ffff00" tt.COLOR_GOOD = "#00ff00" -- API tt.registered_snippets = {} tt.register_snippet = function(func) table.insert(tt.registered_snippets, func) end dofile(minetest.get_modpath(minetest.get_current_modname()).."/snippets.lua") -- Apply item description updates local function append_snippets() for itemstring, def in pairs(minetest.registered_items) do if itemstring ~= "" and itemstring ~= "air" and itemstring ~= "ignore" and itemstring ~= "unknown" and def ~= nil and def.description ~= nil and def.description ~= "" and def._tt_ignore ~= true then local desc = def.description local orig_desc = desc local first = true -- Apply snippets for s=1, #tt.registered_snippets do local str, snippet_color = tt.registered_snippets[s](itemstring) if snippet_color == nil then snippet_color = tt.COLOR_DEFAULT elseif snippet_color == false then snippet_color = false end if str then if first then first = false end desc = desc .. "\n" if snippet_color then desc = desc .. minetest.colorize(snippet_color, str) else desc = desc .. str end end end if desc ~= def.description then minetest.override_item(itemstring, { description = desc, _tt_original_description = orig_desc }) end end end end minetest.register_on_mods_loaded(append_snippets)