Voxelis/mods/ITEMS/vox_fabric/fabric_patterns.lua
DesertMermaid 1708e2d461
All checks were successful
Error Check / luacheck_errcheck (push) Successful in 43s
Unit Tests / busted_unit_test (push) Successful in 49s
Last night's work
2024-12-12 12:35:15 -08:00

39 lines
1.3 KiB
Lua

-- 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,
})