1
0
mirror of https://github.com/mt-mods/unifieddyes.git synced 2025-06-28 06:20:36 +02:00

Compare commits

..

5 Commits

Author SHA1 Message Date
3764d33490 Merge pull request #16 from fat115/master
add french translation
2017-08-12 16:24:58 -04:00
384ccc3d44 add french translation 2017-08-06 15:11:07 +02:00
08695d01ac some mods still need unifieddyes:white -> dye:white alias 2017-08-01 14:31:04 -04:00
d843b33e7c Merge pull request #14 from afmachado/master
Translation to Brazilian Portuguese
2017-07-20 01:38:40 -04:00
54c3316423 Translation to Brazilian Portuguese
Translation to Brazilian Portuguese
2017-06-27 18:55:52 -03:00
3 changed files with 267 additions and 96 deletions

191
init.lua
View File

@ -30,6 +30,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
--=====================================================================
unifieddyes = {}
unifieddyes.last_used_dye = {}
unifieddyes.last_dyed_node = {}
local creative_mode = minetest.settings:get_bool("creative_mode")
@ -87,17 +89,6 @@ unifieddyes.HUES_EXTENDED = {
{ "crimson", 0xff, 0x00, 0x40 }
}
unifieddyes.HUES_WALLMOUNTED = {
"red",
"orange",
"yellow",
"green",
"cyan",
"blue",
"violet",
"magenta"
}
unifieddyes.SATS = {
"",
"_s50"
@ -127,14 +118,6 @@ unifieddyes.GREYS = {
"black"
}
unifieddyes.GREYS_EXTENDED = table.copy(unifieddyes.GREYS)
for i = 1, 14 do
if i ~= 0 and i ~= 3 and i ~= 7 and i ~= 11 and i ~= 15 then
table.insert(unifieddyes.GREYS_EXTENDED, "grey_"..i)
end
end
local default_dyes = {
"black",
"blue",
@ -153,95 +136,72 @@ local default_dyes = {
"yellow"
}
-- just stubs to keep old mods from crashing when expecting auto-coloring
-- or getting back the dye on dig.
-- automatically recolor a placed node to match the last-used dye
-- should be called in the node's `after_place_node` callback.
function unifieddyes.recolor_on_place(foo)
end
function unifieddyes.recolor_on_place(pos, placer, itemstack, pointed_thing)
function unifieddyes.after_dig_node(foo)
end
local playername = placer:get_player_name()
local stackname = itemstack:get_name()
-- This helper function creates a colored itemstack
function unifieddyes.make_colored_itemstack(item, palette, color)
local paletteidx = unifieddyes.getpaletteidx(color, palette)
local stack = ItemStack(item)
stack:get_meta():set_int("palette_index", paletteidx)
return stack:to_string()
end
-- if your node was once 89-color and uses an LBM to convert to the 256-color palette,
-- call this in that node def's on_construct:
function unifieddyes.on_construct(pos)
local meta = minetest.get_meta(pos)
meta:set_string("palette", "ext")
end
-- these helper functions register all of the recipes needed to create colored
-- nodes with any of the dyes supported by that node's palette.
local function register_c(craft, hue, sat, val)
local color = ""
if val then
color = "dye:"..val..hue[1]..sat
else
color = "dye:"..hue -- if val is nil, then it's grey.
if unifieddyes.last_dyed_node[playername] ~= stackname then
if unifieddyes.last_used_dye[playername] then
minetest.chat_send_player(playername, "Switched to \""..stackname.."\" while auto-coloring, color reset to neutral.")
end
unifieddyes.last_used_dye[playername] = nil
unifieddyes.last_dyed_node[playername] = nil
end
local recipe = minetest.serialize(craft.recipe)
recipe = string.gsub(recipe, "MAIN_DYE", color)
recipe = string.gsub(recipe, "NEUTRAL_NODE", craft.neutral_node)
local newrecipe = minetest.deserialize(recipe)
unifieddyes.last_dyed_node[playername] = stackname
local colored_itemstack =
unifieddyes.make_colored_itemstack(craft.output, craft.palette, color)
if unifieddyes.last_used_dye[playername] then
local lastdye = unifieddyes.last_used_dye[playername]
minetest.register_craft({
output = colored_itemstack,
type = craft.type,
recipe = newrecipe
})
local inv = placer:get_inventory()
if (lastdye and lastdye ~= "" and inv:contains_item("main", lastdye.." 1")) or creative_mode then
end
local nodedef = minetest.registered_nodes[stackname]
local newname = nodedef.ud_replacement_node or stackname
local node = minetest.get_node(pos)
function unifieddyes.register_color_craft(craft)
if not craft or not craft.recipe or not craft.output or not craft.neutral_node then return end
local hues_table = unifieddyes.HUES_EXTENDED
local sats_table = unifieddyes.SATS
local vals_table = unifieddyes.VALS_EXTENDED
local greys_table = unifieddyes.GREYS_EXTENDED
if not craft.palette then
hues_table = unifieddyes.HUES
sats_table = unifieddyes.SATS
vals_table = unifieddyes.VALS
greys_table = unifieddyes.GREYS
elseif craft.palette == "wallmounted" then
hues_table = unifieddyes.HUES_WALLMOUNTED
sats_table = {""}
vals_table = unifieddyes.VALS
greys_table = unifieddyes.GREYS
end
for _,hue in ipairs(hues_table) do
for _,val in ipairs(vals_table) do
for _,sat in ipairs(sats_table) do
if sat == "_s50" and val ~= "" and val ~= "medium_" and val ~= "dark_" then break end
register_c(craft, hue, sat, val)
local palette_type = true -- default to 89-color split, because the others are easier to check for.
local oldfdir = node.param2 % 32
if nodedef.palette == "unifieddyes_palette.png" then
palette_type = false
oldfdir = 0
elseif nodedef.palette == "unifieddyes_palette_colorwallmounted.png" then
palette_type = "wallmounted"
oldfdir = node.param2 % 8
elseif nodedef.palette == "unifieddyes_palette_extended.png" then
palette_type = "extended"
oldfdir = 0
end
local paletteidx, hue = unifieddyes.getpaletteidx(lastdye, palette_type)
if palette_type == true then newname = string.gsub(newname, "_grey", "_"..unifieddyes.HUES[hue]) end
minetest.set_node(pos, { name = newname, param2 = oldfdir + paletteidx })
local meta = minetest.get_meta(pos)
meta:set_string("dye", lastdye)
if not creative_mode then
inv:remove_item("main", lastdye.." 1")
end
else
minetest.chat_send_player(playername, "Ran out of "..unifieddyes.last_used_dye[playername]..", resetting to neutral.")
unifieddyes.last_used_dye[playername] = nil
end
end
for _, grey in ipairs(greys_table) do
register_c(craft, grey)
end
end
minetest.register_on_leaveplayer(function(player)
local playername = player:get_player_name()
unifieddyes.last_used_dye[playername] = nil
unifieddyes.last_dyed_node[playername] = nil
end)
-- code borrowed from homedecor
-- call this function to reset the rotation of a "wallmounted" object on place
@ -572,11 +532,39 @@ function unifieddyes.getpaletteidx(color, palette_type)
end
end
-- if your node was once 89-color and uses an LBM to convert to the 256-color palette,
-- call this in that node def's on_construct:
function unifieddyes.on_construct(pos)
local meta = minetest.get_meta(pos)
meta:set_string("palette", "ext")
end
-- call this in your node's after_dig_node to get the last-used dye back.
function unifieddyes.after_dig_node(pos, oldnode, oldmetadata, digger)
local prevdye
if oldmetadata and oldmetadata.fields then
prevdye = oldmetadata.fields.dye
end
local inv = digger:get_inventory()
if prevdye and not (inv:contains_item("main", prevdye) and creative_mode) and minetest.registered_items[prevdye] then
if inv:room_for_item("main", prevdye) then
inv:add_item("main", prevdye)
else
minetest.add_item(pos, prevdye)
end
end
end
function unifieddyes.on_use(itemstack, player, pointed_thing)
local stackname = itemstack:get_name()
local playername = player:get_player_name()
if pointed_thing and pointed_thing.type == "node" and unifieddyes.select_node(pointed_thing) then
if pointed_thing and pointed_thing.type == "node" then
if minetest.is_protected(unifieddyes.select_node(pointed_thing), playername)
and not minetest.check_player_privs(playername, "protection_bypass") then
minetest.chat_send_player(playername, "Sorry, someone else owns that spot.")
@ -606,6 +594,14 @@ function unifieddyes.on_use(itemstack, player, pointed_thing)
end
end
if player:get_player_control().sneak then
if unifieddyes.last_used_dye[playername] then
minetest.chat_send_player(playername, "Shift-punched a node, switching back to neutral color." )
end
unifieddyes.last_used_dye[playername] = nil
return
end
-- if the target is unknown, has no groups defined, or isn't UD-colorable, just bail out
if not (nodedef and nodedef.groups and nodedef.groups.ud_param2_colorable) then
minetest.chat_send_player(playername, "That node can't be colored.")
@ -635,6 +631,11 @@ function unifieddyes.on_use(itemstack, player, pointed_thing)
if paletteidx then
if unifieddyes.last_used_dye[playername] ~= stackname then
minetest.chat_send_player(playername, "Color "..stackname.." selected, auto-coloring activated." )
unifieddyes.last_used_dye[playername] = stackname
end
local meta = minetest.get_meta(pos)
local prevdye = meta:get_string("dye")
local inv = player:get_inventory()
@ -1043,7 +1044,6 @@ minetest.register_alias("dye:medium_orange", "dye:brown")
minetest.register_alias("unifieddyes:black", "dye:black")
minetest.register_alias("unifieddyes:dark_grey", "dye:dark_grey")
minetest.register_alias("unifieddyes:grey", "dye:grey")
minetest.register_alias("unifieddyes:light_grey", "dye:light_grey")
minetest.register_alias("unifieddyes:white", "dye:white")
@ -1067,7 +1067,6 @@ minetest.register_alias("unifieddyes:carbon_black", "dye:black")
minetest.register_alias("unifieddyes:aqua", "unifieddyes:spring")
minetest.register_alias("unifieddyes:skyblue", "unifieddyes:azure")
minetest.register_alias("unifieddyes:redviolet", "unifieddyes:rose")
minetest.register_alias("unifieddyes:brown", "dye:brown")
print(S("[UnifiedDyes] Loaded!"))

87
locale/fr.txt Normal file
View File

@ -0,0 +1,87 @@
# Template
Lime Dye = Teinture citron-vert
Aqua Dye = Teinture aqua
Sky-blue Dye = Teinture bleu ciel
Red-violet Dye = Teinture rouge-violet
Light Grey Dye = Teinture gris clair
Dark Red Dye (low saturation) = Teinture rouge foncé (basse saturation)
Dark Orange Dye (low saturation) = Teinture orange foncé (basse saturation)
Dark Yellow Dye (low saturation) = Teinture jaune foncé (basse saturation)
Dark Lime Dye (low saturation) = Teinture citron-vert foncé (basse saturation)
Dark Green Dye (low saturation) = Teinture vert foncé (basse saturation)
Dark Aqua Dye (low saturation) = Teinture aqua foncé (basse saturation)
Dark Cyan Dye (low saturation) = Teinture cyan foncé (basse saturation)
Dark Sky-blue Dye (low saturation) = Teinture bleu ciel foncé (basse saturation)
Dark Blue Dye (low saturation) = Teinture bleu foncé (basse saturation)
Dark Violet Dye (low saturation) = Teinture violet foncé (basse saturation)
Dark Magenta Dye (low saturation) = Teinture magenta foncé (basse saturation)
Dark Red-violet Dye (low saturation) = Teinture rouge-violet foncé (basse saturation)
Dark Red Dye = Teinture rouge foncé
Dark Orange Dye = Teinture orange foncé
Dark Yellow Dye = Teinture jaune foncé
Dark Lime Dye = Teinture citron-vert foncé
Dark Green Dye = Teinture vert foncé
Dark Aqua Dye = Teinture aqua foncé
Dark Cyan Dye = Teinture cyan foncé
Dark Sky-blue Dye = Teinture bleu ciel foncé
Dark Blue Dye = Teinture bleu foncé
Dark Violet Dye = Teinture violet foncé
Dark Magenta Dye = Teinture magenta foncé
Dark Red-violet Dye = Teinture rouge-violet foncé
Medium Red Dye (low saturation) = Teinture rouge moyen (basse saturation)
Medium Orange Dye (low saturation) = Teinture orange moyen (basse saturation)
Medium Yellow Dye (low saturation) = Teinture jaune moyen (basse saturation)
Medium Lime Dye (low saturation) = Teinture citron-vert moyen (basse saturation)
Medium Green Dye (low saturation) = Teinture vert moyen (basse saturation)
Medium Aqua Dye (low saturation) = Teinture aqua moyen (basse saturation)
Medium Cyan Dye (low saturation) = Teinture cyan moyen (basse saturation)
Medium Sky-blue Dye (low saturation) = Teinture bleu ciel moyen (basse saturation)
Medium Blue Dye (low saturation) = Teinture bleu moyen (basse saturation)
Medium Violet Dye (low saturation) = Teinture violet moyen (basse saturation)
Medium Magenta Dye (low saturation) = Teinture magenta moyen (basse saturation)
Medium Red-violet Dye (low saturation) = Teinture rouge-violet moyen (basse saturation)
Medium Red Dye = Teinture rouge moyen
Medium Orange Dye = Teinture orange moyen
Medium Yellow Dye = Teinture jaune moyen
Medium Lime Dye = Teinture citron-vert moyen
Medium Green Dye = Teinture vert moyen
Medium Aqua Dye = Teinture aqua moyen
Medium Cyan Dye = Teinture cyan moyen
Medium Sky-blue = Teinture bleu ciel moyen
Medium Blue Dye = Teinture bleu moyen
Medium Violet Dye = Teinture violet moyen
Medium Magenta Dye = Teinture magenta moyen
Medium Red-violet Dye = Teinture rouge-violet moyen
Red Dye (low saturation) = Teinture rouge (basse saturation)
Orange Dye (low saturation) = Teinture orange (basse saturation)
Yellow Dye (low saturation) = Teinture jaune (basse saturation)
Lime Dye (low saturation) = Teinture citron-vert (basse saturation)
Green Dye (low saturation) = Teinture vert (basse saturation)
Aqua Dye (low saturation) = Teinture aqua (basse saturation)
Cyan Dye (low saturation) = Teinture cyan (basse saturation)
Sky-blue Dye (low saturation) = Teinture bleu ciel (basse saturation)
Blue Dye (low saturation) = Teinture bleu (basse saturation)
Violet Dye (low saturation) = Teinture violet (basse saturation)
Magenta Dye (low saturation) = Teinture magenta (basse saturation)
Red-violet Dye (low saturation) = Teinture rouge-violet (basse saturation)
Red Dye = Teinture rouge
Orange Dye = Teinture orange
Yellow Dye = Teinture jaune
Lime Dye = Teinture citron-vert
Green Dye = Teinture vert
Aqua Dye = Teinture aqua
Cyan Dye = Teinture cyan
Sky-blue Dye = Teinture bleu ciel
Blue Dye = Teinture bleu
Violet Dye = Teinture violet
Magenta Dye = Teinture magenta
Red-violet Dye = Teinture rouge-violet
[UnifiedDyes] Loaded! = [UnifiedDyes] chargé !

85
locale/pt.txt Normal file
View File

@ -0,0 +1,85 @@
Lime Dye = Corante Lima
Aqua Dye = Corante Água
Sky-blue Dye = Corante Azul-Céu
Red-violet Dye = Corante Vermelho-Violeta
Light Grey Dye = Corante Cinza Claro
Dark Red Dye (low saturation) = Corante Vermelho Escuro (baixa saturação)
Dark Orange Dye (low saturation) = Corante Laranja Escuro (baixa saturação)
Dark Yellow Dye (low saturation) = Corante Amarelo Escuro (baixa saturação)
Dark Lime Dye (low saturation) = Corante Lima Escuro (baixa saturação)
Dark Green Dye (low saturation) = Corante Verde Escuro (baixa saturação)
Dark Aqua Dye (low saturation) = Corante Água Escuro (baixa saturação)
Dark Cyan Dye (low saturation) = Corante Ciano Escuro (baixa saturação)
Dark Sky-blue Dye (low saturation) = Corante Azul-Céu Escuro (baixa saturação)
Dark Blue Dye (low saturation) = Corante Azul Escuro (baixa saturação)
Dark Violet Dye (low saturation) = Corante Violeta Escuro (baixa saturação)
Dark Magenta Dye (low saturation) = Corante Magenta Escuro (baixa saturação)
Dark Red-violet Dye (low saturation) = Corante Vermelho-Violeta Escuro (baixa saturação)
Dark Red Dye = Corante Vermelho Escuro
Dark Orange Dye = Corante Laranja Escuro
Dark Yellow Dye = Corante Amarelo Escuro
Dark Lime Dye = Corante Lima Escuro
Dark Green Dye = Corante Verde Escuro
Dark Aqua Dye = Corante Água Escuro
Dark Cyan Dye = Corante Ciano Escuro
Dark Sky-blue Dye = Corante Azul-Céu Escuro
Dark Blue Dye = Corante Azul Escuro
Dark Violet Dye = Corante Violeta Escuro
Dark Magenta Dye = Corante Magenta Escuro
Dark Red-violet Dye = Corante Vermelho-Violeta Escuro
Medium Red Dye (low saturation) = Corante Vermelho Médio (baixa saturação)
Medium Orange Dye (low saturation) = Corante Laranja Médio (baixa saturação)
Medium Yellow Dye (low saturation) = Corante Amarelo Médio (baixa saturação)
Medium Lime Dye (low saturation) = Corante Lima Médio (baixa saturação)
Medium Green Dye (low saturation) = Corante Verde Médio (baixa saturação)
Medium Aqua Dye (low saturation) = Corante Água Médio (baixa saturação)
Medium Cyan Dye (low saturation) = Corante Ciano Médio (baixa saturação)
Medium Sky-blue Dye (low saturation) = Corante Azul-Céu Médio (baixa saturação)
Medium Blue Dye (low saturation) = Corante Azul Médio (baixa saturação)
Medium Violet Dye (low saturation) = Corante Violeta Médio (baixa saturação)
Medium Magenta Dye (low saturation) = Corante Magenta Médio (baixa saturação)
Medium Red-violet Dye (low saturation) = Corante Vermelho-Violeta Médio (baixa saturação)
Medium Red Dye = Corante Vermelho Médio
Medium Orange Dye = Corante Laranja Médio
Medium Yellow Dye = Corante Amarelo Médio
Medium Lime Dye = Corante Lima Médio
Medium Green Dye = Corante Verde Médio
Medium Aqua Dye = Corante Água Médio
Medium Cyan Dye = Corante Ciano Médio
Medium Sky-blue = Corante Azul-Céu Médio
Medium Blue Dye = Corante Azul Médio
Medium Violet Dye = Corante Violeta Médio
Medium Magenta Dye = Corante Magenta Médio
Medium Red-violet Dye = Corante Vermelho-Violeta Médio
Red Dye (low saturation) = Corante Vermelho (baixa saturação)
Orange Dye (low saturation) = Corante Laranja (baixa saturação)
Yellow Dye (low saturation) = Corante Amarelo (baixa saturação)
Lime Dye (low saturation) = Corante Lima (baixa saturação)
Green Dye (low saturation) = Corante Vermelho (baixa saturação)
Aqua Dye (low saturation) = Corante Água (baixa saturação)
Cyan Dye (low saturation) = Corante Ciano (baixa saturação)
Sky-blue Dye (low saturation) = Corante Azul-Céu (baixa saturação)
Blue Dye (low saturation) = Corante Azul (baixa saturação)
Violet Dye (low saturation) = Corante Violeta (baixa saturação)
Magenta Dye (low saturation) = Corante Magenta (baixa saturação)
Red-violet Dye (low saturation) = Corante Vermelho-Violeta (baixa saturação)
Red Dye = Corante Vermelho
Orange Dye = Corante Laranja
Yellow Dye = Corante Amarelo
Lime Dye = Corante Lima
Green Dye = Corante Verde
Aqua Dye = Corante Água
Cyan Dye = Corano Ciano
Sky-blue Dye = Corante Azul-Céu
Blue Dye = Corante Azul
Violet Dye = Corante Violeta
Magenta Dye = Corante Magenta
Red-violet Dye = Corante Vermelho-Violeta
[UnifiedDyes] Loaded! = [UnifiedDyes] Carregado!