-- Fabric Patterns Management local modpath = minetest.get_modpath("vox_fabric") local patterns_file = modpath .. "/textures/patterns.json" local patterns = {} -- Load predefined patterns local file = io.open(patterns_file, "r") if file then local content = file:read("*a") file:close() patterns = minetest.parse_json(content) or {} end -- Register predefined patterns as Pattern Template items for _, pattern in ipairs(patterns.patterns or {}) do minetest.register_craftitem("vox_fabric:pattern_" .. pattern.id, { description = "Pattern: " .. (pattern.title or pattern.id), inventory_image = "patterns/" .. pattern.id .. ".png", groups = {pattern = 1}, }) end -- Pattern Template Item minetest.register_craftitem("vox_fabric:pattern_template", { description = "Pattern Template", inventory_image = "pattern_template.png", groups = {template = 1}, on_use = function(itemstack, user, pointed_thing) -- Interaction with Pattern Template local meta = itemstack:get_meta() local pattern_id = meta:get_string("pattern_id") if pattern_id and pattern_id ~= "" then minetest.chat_send_player(user:get_player_name(), "Pattern ID: " .. pattern_id) else minetest.chat_send_player(user:get_player_name(), "This template has no pattern.") end end, })