Add translator comments (form: "--~")
This commit is contained in:
parent
80c611d640
commit
31f37b0665
@ -1680,17 +1680,17 @@ local function update_formspec(meta)
|
|||||||
local turnWhite = minetest.colorize("#000001", playerWhiteDisplay)
|
local turnWhite = minetest.colorize("#000001", playerWhiteDisplay)
|
||||||
|
|
||||||
-- several status words for the player
|
-- several status words for the player
|
||||||
-- player is in check
|
--~ Chess: player is in check
|
||||||
local check_s = minetest.colorize("#FF8000", "["..S("check").."]")
|
local check_s = minetest.colorize("#FF8000", "["..S("check").."]")
|
||||||
-- player has been checkmated
|
--~ Chess: player has been checkmated
|
||||||
local mate_s = minetest.colorize("#FF0000", "["..S("checkmate").."]")
|
local mate_s = minetest.colorize("#FF0000", "["..S("checkmate").."]")
|
||||||
-- player has resigned
|
--~ Chess: player has resigned
|
||||||
local resign_s = minetest.colorize("#FF0000", "["..S("resigned").."]")
|
local resign_s = minetest.colorize("#FF0000", "["..S("resigned").."]")
|
||||||
-- player has won
|
--~ Chess: player has won
|
||||||
local win_s = minetest.colorize("#26AB2B", "["..S("winner").."]")
|
local win_s = minetest.colorize("#26AB2B", "["..S("winner").."]")
|
||||||
-- player has lost
|
--~ Chess: player has lost
|
||||||
local lose_s = minetest.colorize("#FF0000", "["..S("loser").."]")
|
local lose_s = minetest.colorize("#FF0000", "["..S("loser").."]")
|
||||||
-- player has a draw
|
--~ Chess: player has a draw
|
||||||
local draw_s = minetest.colorize("#FF00FF", "["..S("draw").."]")
|
local draw_s = minetest.colorize("#FF00FF", "["..S("draw").."]")
|
||||||
|
|
||||||
local status_black = ""
|
local status_black = ""
|
||||||
@ -1735,6 +1735,7 @@ local function update_formspec(meta)
|
|||||||
if promotion == "black" then
|
if promotion == "black" then
|
||||||
eaten_img = ""
|
eaten_img = ""
|
||||||
promotion_formstring =
|
promotion_formstring =
|
||||||
|
--~ Chess: Shown when black player can promote a pawn. Space for text is limited.
|
||||||
"label[10.1,6.35;"..FS("PROMOTION\nFOR BLACK!").."]" ..
|
"label[10.1,6.35;"..FS("PROMOTION\nFOR BLACK!").."]" ..
|
||||||
"animated_image[10.05,7.2;2,2;p_img_white;pawn_black_promo_anim.png;5;100]"
|
"animated_image[10.05,7.2;2,2;p_img_white;pawn_black_promo_anim.png;5;100]"
|
||||||
if botColor ~= "black" and botColor ~= "both" then
|
if botColor ~= "black" and botColor ~= "both" then
|
||||||
@ -1750,6 +1751,7 @@ local function update_formspec(meta)
|
|||||||
elseif promotion == "white" then
|
elseif promotion == "white" then
|
||||||
eaten_img = ""
|
eaten_img = ""
|
||||||
promotion_formstring =
|
promotion_formstring =
|
||||||
|
--~ Chess: Shown when white player can promote a pawn. Space for text is limited.
|
||||||
"label[10.1,6.35;"..FS("PROMOTION\nFOR WHITE!").."]" ..
|
"label[10.1,6.35;"..FS("PROMOTION\nFOR WHITE!").."]" ..
|
||||||
"animated_image[10.05,7.2;2,2;p_img_white;pawn_white_promo_anim.png;5;100]"
|
"animated_image[10.05,7.2;2,2;p_img_white;pawn_white_promo_anim.png;5;100]"
|
||||||
if botColor ~= "white" and botColor ~= "both" then
|
if botColor ~= "white" and botColor ~= "both" then
|
||||||
@ -1767,8 +1769,10 @@ local function update_formspec(meta)
|
|||||||
local draw_claim_formstring = ""
|
local draw_claim_formstring = ""
|
||||||
if drawClaim ~= "" and gameResult == "" then
|
if drawClaim ~= "" and gameResult == "" then
|
||||||
if lastMove == "black" or lastMove == "" then
|
if lastMove == "black" or lastMove == "" then
|
||||||
|
--~ Chess: Shown when white player wants to claim a draw. Space for text is limited.
|
||||||
draw_claim_formstring = "label[10.1,6.35;"..FS("DRAW CLAIM\nBY WHITE!").."]"
|
draw_claim_formstring = "label[10.1,6.35;"..FS("DRAW CLAIM\nBY WHITE!").."]"
|
||||||
else
|
else
|
||||||
|
--~ Chess: Shown when black player wants to claim a draw. Space for text is limited.
|
||||||
draw_claim_formstring = "label[10.1,6.35;"..FS("DRAW CLAIM\nBY BLACK!").."]"
|
draw_claim_formstring = "label[10.1,6.35;"..FS("DRAW CLAIM\nBY BLACK!").."]"
|
||||||
end
|
end
|
||||||
if drawClaim == "50_move_rule" then
|
if drawClaim == "50_move_rule" then
|
||||||
@ -1792,6 +1796,7 @@ local function update_formspec(meta)
|
|||||||
|
|
||||||
if playerActionsAvailable and (playerWhite ~= "" and playerBlack ~= "") then
|
if playerActionsAvailable and (playerWhite ~= "" and playerBlack ~= "") then
|
||||||
game_buttons = game_buttons .. "image_button[14.56,9.7;0.8,0.8;chess_resign.png;resign;]" ..
|
game_buttons = game_buttons .. "image_button[14.56,9.7;0.8,0.8;chess_resign.png;resign;]" ..
|
||||||
|
--~ Resign in Chess
|
||||||
"tooltip[resign;"..FS("Resign").."]"
|
"tooltip[resign;"..FS("Resign").."]"
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -1812,12 +1817,14 @@ local function update_formspec(meta)
|
|||||||
-- Will trigger "draw claim" mode in which player must do the final move that triggers the draw
|
-- Will trigger "draw claim" mode in which player must do the final move that triggers the draw
|
||||||
game_buttons = game_buttons .. "image_button[13.36,9.7;0.8,0.8;chess_draw_50move_next.png;draw_50_moves;]"..
|
game_buttons = game_buttons .. "image_button[13.36,9.7;0.8,0.8;chess_draw_50move_next.png;draw_50_moves;]"..
|
||||||
"tooltip[draw_50_moves;"..
|
"tooltip[draw_50_moves;"..
|
||||||
|
--~ Chess
|
||||||
FS("Invoke the 50-move rule for your next move").."]"
|
FS("Invoke the 50-move rule for your next move").."]"
|
||||||
elseif halfmoveClock >= DRAWCLAIM_LONGGAME_PLAYER then
|
elseif halfmoveClock >= DRAWCLAIM_LONGGAME_PLAYER then
|
||||||
-- When the 50 moves without capture / pawn move have occured occur.
|
-- When the 50 moves without capture / pawn move have occured occur.
|
||||||
-- Will insta-draw.
|
-- Will insta-draw.
|
||||||
game_buttons = game_buttons .. "image_button[13.36,9.7;0.8,0.8;chess_draw_50move.png;draw_50_moves;]"..
|
game_buttons = game_buttons .. "image_button[13.36,9.7;0.8,0.8;chess_draw_50move.png;draw_50_moves;]"..
|
||||||
"tooltip[draw_50_moves;"..
|
"tooltip[draw_50_moves;"..
|
||||||
|
--~ Chess
|
||||||
FS("Invoke the 50-move rule and draw the game").."]"
|
FS("Invoke the 50-move rule and draw the game").."]"
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -1830,12 +1837,14 @@ local function update_formspec(meta)
|
|||||||
-- Will insta-draw.
|
-- Will insta-draw.
|
||||||
game_buttons = game_buttons .. "image_button[12.36,9.7;0.8,0.8;chess_draw_repeat3.png;draw_repeat_3;]"..
|
game_buttons = game_buttons .. "image_button[12.36,9.7;0.8,0.8;chess_draw_repeat3.png;draw_repeat_3;]"..
|
||||||
"tooltip[draw_repeat_3;"..
|
"tooltip[draw_repeat_3;"..
|
||||||
|
--~ Chess
|
||||||
FS("Invoke the threefold repetition rule and draw the game").."]"
|
FS("Invoke the threefold repetition rule and draw the game").."]"
|
||||||
elseif maxRepeatedPositions >= 2 then
|
elseif maxRepeatedPositions >= 2 then
|
||||||
-- If the same position may be about to occur 3 times.
|
-- If the same position may be about to occur 3 times.
|
||||||
-- Will trigger "draw claim" mode in which player must do the final move that triggers the draw.
|
-- Will trigger "draw claim" mode in which player must do the final move that triggers the draw.
|
||||||
game_buttons = game_buttons .. "image_button[12.36,9.7;0.8,0.8;chess_draw_repeat3_next.png;draw_repeat_3;]"..
|
game_buttons = game_buttons .. "image_button[12.36,9.7;0.8,0.8;chess_draw_repeat3_next.png;draw_repeat_3;]"..
|
||||||
"tooltip[draw_repeat_3;"..
|
"tooltip[draw_repeat_3;"..
|
||||||
|
--~ Chess
|
||||||
FS("Invoke the threefold repetition rule for your next move").."]"
|
FS("Invoke the threefold repetition rule for your next move").."]"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -1974,6 +1983,7 @@ local function update_game_result(meta, lastMove)
|
|||||||
meta:set_string("gameResult", "draw")
|
meta:set_string("gameResult", "draw")
|
||||||
meta:set_string("gameResultReason", "stalemate")
|
meta:set_string("gameResultReason", "stalemate")
|
||||||
add_special_to_moves_list(meta, "draw")
|
add_special_to_moves_list(meta, "draw")
|
||||||
|
--~ Chess message
|
||||||
send_message_2(playerWhite, playerBlack, S("The game ended up in a stalemate! It's a draw!"), botColor)
|
send_message_2(playerWhite, playerBlack, S("The game ended up in a stalemate! It's a draw!"), botColor)
|
||||||
minetest.log("action", "[xdecor] Chess: A game between "..playerWhite.." and "..playerBlack.." ended in a draw by stalemate")
|
minetest.log("action", "[xdecor] Chess: A game between "..playerWhite.." and "..playerBlack.." ended in a draw by stalemate")
|
||||||
return
|
return
|
||||||
@ -1994,6 +2004,7 @@ local function update_game_result(meta, lastMove)
|
|||||||
meta:set_string("gameResult", "draw")
|
meta:set_string("gameResult", "draw")
|
||||||
meta:set_string("gameResultReason", "stalemate")
|
meta:set_string("gameResultReason", "stalemate")
|
||||||
add_special_to_moves_list(meta, "draw")
|
add_special_to_moves_list(meta, "draw")
|
||||||
|
--~ Chess message
|
||||||
send_message_2(playerWhite, playerBlack, S("The game ended up in a stalemate! It's a draw!"), botColor)
|
send_message_2(playerWhite, playerBlack, S("The game ended up in a stalemate! It's a draw!"), botColor)
|
||||||
minetest.log("action", "[xdecor] Chess: A game between "..playerWhite.." and "..playerBlack.." ended in a draw by stalemate")
|
minetest.log("action", "[xdecor] Chess: A game between "..playerWhite.." and "..playerBlack.." ended in a draw by stalemate")
|
||||||
return
|
return
|
||||||
@ -2005,6 +2016,7 @@ local function update_game_result(meta, lastMove)
|
|||||||
meta:set_string("gameResult", "draw")
|
meta:set_string("gameResult", "draw")
|
||||||
meta:set_string("gameResultReason", "dead_position")
|
meta:set_string("gameResultReason", "dead_position")
|
||||||
add_special_to_moves_list(meta, "draw")
|
add_special_to_moves_list(meta, "draw")
|
||||||
|
--~ Chess message
|
||||||
send_message_2(playerWhite, playerBlack, S("The game ended up in a dead position! It's a draw!"), botColor)
|
send_message_2(playerWhite, playerBlack, S("The game ended up in a dead position! It's a draw!"), botColor)
|
||||||
minetest.log("action", "[xdecor] Chess: A game between "..playerWhite.." and "..playerBlack.." ended in a draw by dead position")
|
minetest.log("action", "[xdecor] Chess: A game between "..playerWhite.." and "..playerBlack.." ended in a draw by dead position")
|
||||||
end
|
end
|
||||||
@ -2120,6 +2132,7 @@ local function update_game_result(meta, lastMove)
|
|||||||
meta:set_string("gameResult", "draw")
|
meta:set_string("gameResult", "draw")
|
||||||
meta:set_string("gameResultReason", "same_position_5")
|
meta:set_string("gameResultReason", "same_position_5")
|
||||||
add_special_to_moves_list(meta, "draw")
|
add_special_to_moves_list(meta, "draw")
|
||||||
|
--~ Chess message when the fivefold repetition has happened
|
||||||
local msg = S("The exact same position has occured 5 times. It's a draw!")
|
local msg = S("The exact same position has occured 5 times. It's a draw!")
|
||||||
send_message_2(playerWhite, playerBlack, msg, botColor)
|
send_message_2(playerWhite, playerBlack, msg, botColor)
|
||||||
minetest.log("action", "[xdecor] Chess: A game between "..playerWhite.." and "..playerBlack.." ended in a draw because the same position has appeared 5 times")
|
minetest.log("action", "[xdecor] Chess: A game between "..playerWhite.." and "..playerBlack.." ended in a draw because the same position has appeared 5 times")
|
||||||
@ -2814,11 +2827,11 @@ local function timeout_format(timeout_limit)
|
|||||||
local seconds = time_remaining % 60
|
local seconds = time_remaining % 60
|
||||||
|
|
||||||
if minutes == 0 then
|
if minutes == 0 then
|
||||||
-- number of seconds
|
--~ number of seconds
|
||||||
return S("@1 s", seconds)
|
return S("@1 s", seconds)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- number of minutes and seconds
|
--~ number of minutes and seconds
|
||||||
return S("@1 min @2 s", minutes, seconds)
|
return S("@1 min @2 s", minutes, seconds)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -2900,6 +2913,7 @@ function realchess.fields(pos, _, fields, sender)
|
|||||||
local lastMove = meta:get_string("lastMove")
|
local lastMove = meta:get_string("lastMove")
|
||||||
if (playerName == playerWhite and playerWhite == "") or (playerName == playerBlack and playerBlack == "") then
|
if (playerName == playerWhite and playerWhite == "") or (playerName == playerBlack and playerBlack == "") then
|
||||||
-- Can't resign before the player name has been recorded
|
-- Can't resign before the player name has been recorded
|
||||||
|
--~ Chess message when player tried to resign too early
|
||||||
send_message(playerName, S("Resigning is not possible yet."))
|
send_message(playerName, S("Resigning is not possible yet."))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
@ -3050,9 +3064,11 @@ function realchess.fields(pos, _, fields, sender)
|
|||||||
local pcolor = promo:sub(-5)
|
local pcolor = promo:sub(-5)
|
||||||
local activePromo = meta:get_string("promotionActive")
|
local activePromo = meta:get_string("promotionActive")
|
||||||
if activePromo == "" then
|
if activePromo == "" then
|
||||||
|
--~ Chess message
|
||||||
send_message(playerName, S("This isn't the time for promotion."))
|
send_message(playerName, S("This isn't the time for promotion."))
|
||||||
return
|
return
|
||||||
elseif activePromo ~= pcolor then
|
elseif activePromo ~= pcolor then
|
||||||
|
--~ Chess message
|
||||||
send_message(playerName, S("It's not your turn! This promotion is meant for the other player."))
|
send_message(playerName, S("It's not your turn! This promotion is meant for the other player."))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
@ -3060,6 +3076,7 @@ function realchess.fields(pos, _, fields, sender)
|
|||||||
realchess.promote_pawn(meta, pcolor, promo:sub(1, -7))
|
realchess.promote_pawn(meta, pcolor, promo:sub(1, -7))
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
|
--~ Chess message
|
||||||
send_message(playerName, S("It's not your turn! This promotion is meant for the other player."))
|
send_message(playerName, S("It's not your turn! This promotion is meant for the other player."))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
@ -4,8 +4,11 @@ local S = minetest.get_translator("xdecor")
|
|||||||
-- Set to true to print soup ingredients and fire nodes to console
|
-- Set to true to print soup ingredients and fire nodes to console
|
||||||
local DEBUG_RECOGNIZED_ITEMS = false
|
local DEBUG_RECOGNIZED_ITEMS = false
|
||||||
|
|
||||||
|
--~ cauldron hint
|
||||||
local hint_fire = S("Light a fire below to heat it up")
|
local hint_fire = S("Light a fire below to heat it up")
|
||||||
|
--~ cauldron hint
|
||||||
local hint_eat = S("Use a bowl to eat the soup")
|
local hint_eat = S("Use a bowl to eat the soup")
|
||||||
|
--~ cauldron hint
|
||||||
local hint_recipe = S("Drop foods inside to make a soup")
|
local hint_recipe = S("Drop foods inside to make a soup")
|
||||||
|
|
||||||
local infotexts = {
|
local infotexts = {
|
||||||
|
@ -28,8 +28,11 @@ function enchanting:get_tooltip_raw(enchant, percent)
|
|||||||
sharp = "#ffff00",
|
sharp = "#ffff00",
|
||||||
}
|
}
|
||||||
local enchant_loc = {
|
local enchant_loc = {
|
||||||
|
--~ Enchantment
|
||||||
fast = S("Efficiency"),
|
fast = S("Efficiency"),
|
||||||
|
--~ Enchantment
|
||||||
durable = S("Durability"),
|
durable = S("Durability"),
|
||||||
|
--~ Enchantment
|
||||||
sharp = S("Sharpness"),
|
sharp = S("Sharpness"),
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -92,8 +95,11 @@ function enchanting.formspec(pos, enchants)
|
|||||||
listring[context;mese]
|
listring[context;mese]
|
||||||
image[2,2.9;1,1;mese_layout.png]
|
image[2,2.9;1,1;mese_layout.png]
|
||||||
]]
|
]]
|
||||||
|
--~ Sharpness enchantment
|
||||||
.."tooltip[sharp;"..FS("Your weapon inflicts more damage").."]"
|
.."tooltip[sharp;"..FS("Your weapon inflicts more damage").."]"
|
||||||
|
--~ Durability enchantment
|
||||||
.."tooltip[durable;"..FS("Your tool lasts longer").."]"
|
.."tooltip[durable;"..FS("Your tool lasts longer").."]"
|
||||||
|
--~ Efficiency enchantment
|
||||||
.."tooltip[fast;"..FS("Your tool digs faster").."]"
|
.."tooltip[fast;"..FS("Your tool digs faster").."]"
|
||||||
..default.gui_slots .. default.get_hotbar_bg(0.55, 4.5)
|
..default.gui_slots .. default.get_hotbar_bg(0.55, 4.5)
|
||||||
|
|
||||||
|
@ -121,6 +121,7 @@ end
|
|||||||
|
|
||||||
xdecor.register("hive", {
|
xdecor.register("hive", {
|
||||||
description = S("Artificial Hive"),
|
description = S("Artificial Hive"),
|
||||||
|
--~ Tooltip of artificial hive
|
||||||
_tt_help = S("Bees live here and produce honey"),
|
_tt_help = S("Bees live here and produce honey"),
|
||||||
tiles = {"xdecor_hive_top.png", "xdecor_hive_top.png",
|
tiles = {"xdecor_hive_top.png", "xdecor_hive_top.png",
|
||||||
"xdecor_hive_side.png", "xdecor_hive_side.png",
|
"xdecor_hive_side.png", "xdecor_hive_side.png",
|
||||||
|
@ -73,7 +73,9 @@ function itemframe.set_infotext(meta)
|
|||||||
local owner = meta:get_string("owner")
|
local owner = meta:get_string("owner")
|
||||||
if itemstring == "" then
|
if itemstring == "" then
|
||||||
if owner ~= "" then
|
if owner ~= "" then
|
||||||
meta:set_string("infotext", S("@1 (owned by @2)", S("Item Frame"), owner))
|
--~ Item frame infotext. @1 = item frame name, @2 = owner name (player)
|
||||||
|
meta:set_string("infotext", S("@1 (owned by @2)",
|
||||||
|
S("Item Frame"), owner))
|
||||||
else
|
else
|
||||||
meta:set_string("infotext", S("Item Frame"))
|
meta:set_string("infotext", S("Item Frame"))
|
||||||
end
|
end
|
||||||
@ -158,6 +160,7 @@ end
|
|||||||
|
|
||||||
xdecor.register("itemframe", {
|
xdecor.register("itemframe", {
|
||||||
description = S("Item Frame"),
|
description = S("Item Frame"),
|
||||||
|
--~ Item frame tooltip
|
||||||
_tt_help = S("For presenting a single item"),
|
_tt_help = S("For presenting a single item"),
|
||||||
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
|
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
|
@ -61,7 +61,7 @@ function mailbox:formspec(pos, owner, is_owner)
|
|||||||
-- List of donors. A line looks like this:
|
-- List of donors. A line looks like this:
|
||||||
-- <donor name> <item icon> × <item count>
|
-- <donor name> <item icon> × <item count>
|
||||||
giver = giver .. "#FFFF00," .. giver_name .. "," .. i ..
|
giver = giver .. "#FFFF00," .. giver_name .. "," .. i ..
|
||||||
-- Times a certain item count; used for the mailbox donor list
|
--~ Used in the mailbox donor list. Will be displayed as item icon followed by this string. @1 = item count
|
||||||
",#FFFFFF," .. FS("× @1", stack_count) .. ","
|
",#FFFFFF," .. FS("× @1", stack_count) .. ","
|
||||||
|
|
||||||
img = img .. i .. "=" ..
|
img = img .. i .. "=" ..
|
||||||
@ -180,6 +180,7 @@ end
|
|||||||
|
|
||||||
xdecor.register("mailbox", {
|
xdecor.register("mailbox", {
|
||||||
description = S("Mailbox"),
|
description = S("Mailbox"),
|
||||||
|
--~ Mailbox tooltip
|
||||||
_tt_help = S("Lets other players give you things"),
|
_tt_help = S("Lets other players give you things"),
|
||||||
tiles = {"xdecor_mailbox_top.png", "xdecor_mailbox_bottom.png",
|
tiles = {"xdecor_mailbox_top.png", "xdecor_mailbox_bottom.png",
|
||||||
"xdecor_mailbox_side.png", "xdecor_mailbox_side.png",
|
"xdecor_mailbox_side.png", "xdecor_mailbox_side.png",
|
||||||
|
@ -57,6 +57,7 @@ end
|
|||||||
function plate.register(material, desc, def)
|
function plate.register(material, desc, def)
|
||||||
xdecor.register("pressure_" .. material .. "_off", {
|
xdecor.register("pressure_" .. material .. "_off", {
|
||||||
description = def.description or (desc .. " Pressure Plate"),
|
description = def.description or (desc .. " Pressure Plate"),
|
||||||
|
--~ Pressure plate tooltip
|
||||||
_tt_help = S("Opens doors when stepped on"),
|
_tt_help = S("Opens doors when stepped on"),
|
||||||
tiles = {"xdecor_pressure_" .. material .. ".png"},
|
tiles = {"xdecor_pressure_" .. material .. ".png"},
|
||||||
use_texture_alpha = ALPHA_OPAQUE,
|
use_texture_alpha = ALPHA_OPAQUE,
|
||||||
@ -98,6 +99,7 @@ plate.register("stone", "Stone", {
|
|||||||
|
|
||||||
xdecor.register("lever_off", {
|
xdecor.register("lever_off", {
|
||||||
description = S("Lever"),
|
description = S("Lever"),
|
||||||
|
--~ Lever tooltip
|
||||||
_tt_help = S("Opens doors when pulled"),
|
_tt_help = S("Opens doors when pulled"),
|
||||||
tiles = {"xdecor_lever_off.png"},
|
tiles = {"xdecor_lever_off.png"},
|
||||||
use_texture_alpha = ALPHA_OPAQUE,
|
use_texture_alpha = ALPHA_OPAQUE,
|
||||||
|
@ -940,6 +940,7 @@ xdecor.register("woodframed_glass", {
|
|||||||
|
|
||||||
local devices = {
|
local devices = {
|
||||||
{ "radio", S("Radio"), default.node_sound_metal_defaults() },
|
{ "radio", S("Radio"), default.node_sound_metal_defaults() },
|
||||||
|
--~ as in "loudspeaker"
|
||||||
{ "speaker", S("Speaker"), default.node_sound_metal_defaults() },
|
{ "speaker", S("Speaker"), default.node_sound_metal_defaults() },
|
||||||
}
|
}
|
||||||
for _, v in pairs(devices) do
|
for _, v in pairs(devices) do
|
||||||
|
@ -38,7 +38,7 @@ end
|
|||||||
|
|
||||||
-- Tools allowed to be repaired
|
-- Tools allowed to be repaired
|
||||||
function workbench:repairable(stack)
|
function workbench:repairable(stack)
|
||||||
-- Explicitly registeded as repairable: Overrides everything else
|
-- Explicitly registered as repairable: Overrides everything else
|
||||||
if custom_repairable[stack] then
|
if custom_repairable[stack] then
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
@ -112,11 +112,16 @@ function workbench:get_output(inv, input, name)
|
|||||||
inv:set_list("forms", output)
|
inv:set_list("forms", output)
|
||||||
end
|
end
|
||||||
|
|
||||||
local main_fs = "label[0.9,1.23;"..FS("Cut").."]"
|
local main_fs = ""..
|
||||||
|
--~ Verb shown in workbench form where you can cut a node
|
||||||
|
"label[0.9,1.23;"..FS("Cut").."]"
|
||||||
|
--~ Verb shown in workbench form where you can repair an item
|
||||||
.."label[0.9,2.23;"..FS("Repair").."]"
|
.."label[0.9,2.23;"..FS("Repair").."]"
|
||||||
..[[ box[-0.05,1;2.05,0.9;#555555]
|
..[[ box[-0.05,1;2.05,0.9;#555555]
|
||||||
box[-0.05,2;2.05,0.9;#555555] ]]
|
box[-0.05,2;2.05,0.9;#555555] ]]
|
||||||
|
--~ Button in workbench form
|
||||||
.."button[0,0;2,1;craft;"..FS("Crafting").."]"
|
.."button[0,0;2,1;craft;"..FS("Crafting").."]"
|
||||||
|
--~ Button in workbench form
|
||||||
.."button[2,0;2,1;storage;"..FS("Storage").."]"
|
.."button[2,0;2,1;storage;"..FS("Storage").."]"
|
||||||
..[[ image[3,1;1,1;gui_arrow.png]
|
..[[ image[3,1;1,1;gui_arrow.png]
|
||||||
image[0,1;1,1;worktable_saw.png]
|
image[0,1;1,1;worktable_saw.png]
|
||||||
@ -415,7 +420,7 @@ local function register_cut_raw(node, workbench_def)
|
|||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
minetest.register_node(":" .. cutnodename, {
|
minetest.register_node(":" .. cutnodename, {
|
||||||
-- @1: Base node description (e.g. "Stone"); @2: modifier (e.g. "Nanoslab")
|
--~ Format of the description of a cut node. @1: Base node description (e.g. "Stone"); @2: modifier (e.g. "Nanoslab")
|
||||||
description = S("@1 @2", def.description, workbench_def[4]),
|
description = S("@1 @2", def.description, workbench_def[4]),
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
|
Loading…
Reference in New Issue
Block a user