* convert to `minetest.get_translator` * fix material translation * fix material translation * Revert "fix material translation" This reverts commit 35d0979d5828f481b6e53c04f20739983ba35087. * update */locale/* * `S("Chernobylite Block")` * restore non-breaking spaces * fix technic_chests/spec/api_spec.lua * fix S(...) * update technic/locale/ * update german translations * fix placeholder `%s` in *.zh_CN.tr translations
84 lines
2.0 KiB
Lua
84 lines
2.0 KiB
Lua
|
|
local S = technic.worldgen.gettext
|
|
|
|
minetest.override_item("default:steel_ingot", {
|
|
description = S("Wrought Iron Ingot"),
|
|
-- Make the color of the ingot a bit darker to separate it better from tin
|
|
inventory_image = "technic_wrought_iron_ingot.png^[multiply:#bbbbbbff",
|
|
})
|
|
|
|
-- Override description and textures of "steel" items
|
|
|
|
local excluded_words = {
|
|
"[Cc]arbon",
|
|
"[Ss]tainless",
|
|
"[Ff]lint",
|
|
}
|
|
|
|
local function is_steel(name, desc)
|
|
name = name:gsub(".+:(.+)", "%1") -- Ignore mod name
|
|
if name:match("[Ss]teel") or desc:match("[Ss]teel") then
|
|
for _, word in pairs(excluded_words) do
|
|
if name:match(word) or desc:match(word) then
|
|
return false
|
|
end
|
|
end
|
|
return true
|
|
end
|
|
end
|
|
|
|
local function edit_desc(desc, old, new)
|
|
desc = desc:gsub(old, new)
|
|
desc = desc:gsub(old:lower(), new:lower())
|
|
return desc
|
|
end
|
|
|
|
local function replace_texture(tile)
|
|
local new_tile
|
|
if type(tile) == "string" then
|
|
new_tile = tile:gsub("default_steel_block.png", "technic_wrought_iron_block.png")
|
|
else
|
|
new_tile = {}
|
|
for k, v in pairs(tile) do
|
|
if k == "name" then
|
|
new_tile[k] = v:gsub("default_steel_block.png", "technic_wrought_iron_block.png")
|
|
else
|
|
new_tile[k] = v
|
|
end
|
|
end
|
|
end
|
|
return new_tile
|
|
end
|
|
|
|
local function do_override(name, def)
|
|
local desc = def.description
|
|
if not is_steel(name, desc) then
|
|
return
|
|
end
|
|
local override = {}
|
|
if name:find("steelblock") then
|
|
override.description = edit_desc(desc, "Steel", "Wrought Iron")
|
|
else
|
|
override.description = edit_desc(desc, "Steel", "Iron")
|
|
end
|
|
if def.tiles then
|
|
override.tiles = {}
|
|
for _, tile in ipairs(def.tiles) do
|
|
table.insert(override.tiles, replace_texture(tile))
|
|
end
|
|
end
|
|
if def.inventory_image then
|
|
override.inventory_image = replace_texture(def.inventory_image)
|
|
end
|
|
if def.wield_image then
|
|
override.wield_image = replace_texture(def.wield_image)
|
|
end
|
|
minetest.override_item(name, override)
|
|
end
|
|
|
|
minetest.register_on_mods_loaded(function()
|
|
for name, def in pairs(minetest.registered_items) do
|
|
do_override(name, def)
|
|
end
|
|
end)
|