1
0
mirror of https://github.com/mt-mods/homedecor_modpack.git synced 2025-09-08 12:25:35 +02:00

Compare commits

..

31 Commits

Author SHA1 Message Date
Роман
2c5be0735a Russian locale (#386)
* Russian locale

* Russian locale. Plurals fix
2017-08-21 16:57:43 -04:00
fat115
36e5e319e3 add description for "Ice Fire" (#385) 2017-08-20 11:52:45 -04:00
Vanessa Ezekowitz
57b988c185 clarify desc for "large" shrubbery 2017-08-13 14:33:45 -04:00
Vanessa Ezekowitz
d6f660b72a clarify desc for "striped" deck chair 2017-08-13 14:33:45 -04:00
Vanessa Ezekowitz
7b4db2fc5a clarify desc for "open" curtains 2017-08-13 14:33:45 -04:00
Wuzzy
b45ace825d Update German translation (#378) 2017-08-13 14:27:43 -04:00
Vanessa Ezekowitz
9d2704c0c2 rework a bit to work better with minetest_game 0.4.16
eliminates flint and steel (aliased to mt_game fire:flint_and_steel)
eliminates fake_fire:fake_fire (aliased to mt_game fire:permanent_flame)

mt_game already provides a "fake" fire in the form of a "permanent flame", strike a coal block with flint/steel to get it.

modifies default ice block so that it can be "ignited" (ice fire on top) with mt_game flint/steel

Fire mod must be enabled. However, fire damage is NOT required.
2017-08-12 18:21:50 -04:00
Vanessa Ezekowitz
d7a4054dda fix take-coin handling for soda machine 2017-08-12 18:00:09 -04:00
Vanessa Ezekowitz
f03e71397a get rid of last vestages of "infinite stacks" special handling
just checks for creative mode/priv directly instead, as needed.
2017-08-12 17:52:29 -04:00
Vanessa Ezekowitz
6349c53824 update recipes for stained glass 2017-08-12 17:07:51 -04:00
Vanessa Ezekowitz
c60607aa0d use a nodebox for building_blocks BWtile 2017-08-12 16:52:31 -04:00
Vanessa Ezekowitz
78ec2119f6 give unique (if generic) descriptions to picture frames 2017-08-12 16:43:42 -04:00
fat115
c247318dd8 Update french, german, portuguese (and pt_BR) translations (#380)
* add some translatable strings

* updated translations
add option --sort-by-file to updatepo.sh

* Updated de, pt, pt_BR translations
from pull requests #378 (Wuzzy) & #379 (afmachado)

pt.po and pt_BR.po are the same but pt.po is usable by any portuguese speaking people, not only brazilian ones

* improved french translation
2017-08-12 16:30:46 -04:00
Vanessa Ezekowitz
9693d9dd46 Disable sleeping in beds (again) 2017-06-25 03:12:23 -04:00
Vanessa Ezekowitz
23d1365939 fix wrongly-colored plasma ball base 2017-06-25 03:12:18 -04:00
Vanessa Ezekowitz
f391bc59b0 use texture overlays on lava lamps
(water is now blue like it used to be)
2017-06-25 03:12:13 -04:00
Vanessa Ezekowitz
790557f6ce Make the white glowlight overlays more subtle
(they're too bright against the darker colors e.g. green)
2017-06-25 03:12:08 -04:00
Vanessa Ezekowitz
c9c4214bff use static hardware coloring for books,
use soft overlays for cover trim,
2017-06-25 03:12:03 -04:00
Vanessa Ezekowitz
914aee41fe fix book models
(get rid of redundant overlay polys)
2017-06-25 03:11:58 -04:00
Vanessa Ezekowitz
ec83040d10 use soft overlays for bathroom tiles instead of the two-layer mesh node 2017-06-25 03:11:52 -04:00
Vanessa Ezekowitz
9bb4222aa5 use soft overlays to re-create the subtle white glow that glowlights used to have
before param2 coloring went in.
2017-06-25 03:11:46 -04:00
AntumDeluge
67ddc87d2c Re-enable sleeping in beds 2017-06-25 03:11:41 -04:00
Vanessa Ezekowitz
970636571e missed an alias for open books 2017-06-25 03:11:37 -04:00
Vanessa Ezekowitz
4ee5b6b87f revert a599b041d4 (param2 colorization of books)
The intention of this is to fix books in peoples' inventories that are
now inaccessible.  They can be placed, viewed, edited like normal now.

Side effect: all books that were already in-world and that have already
been converted to the param2 colorization before will be grey now, and
most will end up turned some wierd direction, but that can be fixed with
the screwdriver.

If you need to re-color one of the now-grey books, you'll need to craft
one of the desired color, place it, and copy and paste your text from
the grey book.

Newly-placed colored books will behave normally.
2017-06-25 03:11:31 -04:00
Vanessa Ezekowitz
1f2676b8f6 use mesh node for cubical plasma lamp 2017-06-25 03:11:25 -04:00
tjnenrtn
ad4790f74c verify inbox owner when taking items 2017-06-25 03:11:19 -04:00
AntumDeluge
7925897748 Replace deprecated methods:
- 'setting_get' with 'settings:get'
- 'setting_getbool' with 'settings:get_bool'
2017-06-25 03:11:12 -04:00
Vanessa Ezekowitz
459c02548e don't crash if placing bed on top of bed when not in auto-color mode. 2017-06-25 03:11:05 -04:00
Vanessa Ezekowitz
1eb1e87f08 use unified dyes auto-colorization feature
also fixed some bugs in bed handling
also got rid of the old, obsolete "placeholder" node, aliased it to air.
2017-06-25 03:10:59 -04:00
Vanessa Ezekowitz
27eae09d93 use unified dyes on_construct handler
to set 256-color palette meta key on place
for those nodes that use it
2017-06-25 03:10:53 -04:00
Vanessa Ezekowitz
761b18c17e don't reference lrfurn chair colors in homedecor chair LBM
use a local copy instead
2017-06-25 02:29:53 -04:00
23 changed files with 10648 additions and 7123 deletions

View File

@@ -234,16 +234,22 @@ minetest.register_node("building_blocks:Tarmac_spread", {
sounds = default.node_sound_dirt_defaults(),
})
minetest.register_node("building_blocks:BWtile", {
drawtype = "raillike",
drawtype = "nodebox",
description = S("Chess board tiling"),
tiles = {"building_blocks_BWtile.png"},
tiles = {
"building_blocks_BWtile.png",
"building_blocks_BWtile.png^[transformR90",
"building_blocks_BWtile.png^[transformR90",
"building_blocks_BWtile.png^[transformR90",
"building_blocks_BWtile.png",
"building_blocks_BWtile.png"
},
inventory_image = "building_blocks_bwtile_inv.png",
paramtype = "light",
walkable = false,
selection_box = {
node_box = {
type = "fixed",
-- but how to specify the dimensions for curved and sideways rails?
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
},
sunlight_propagates = true,
is_ground_content = true,
@@ -302,7 +308,7 @@ if minetest.get_modpath("moreblocks") then
"marble",
"building_blocks:Marble",
{
description = "Marble",
description = S("Marble"),
tiles = {"building_blocks_marble.png"},
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
@@ -313,7 +319,7 @@ if minetest.get_modpath("moreblocks") then
"hardwood",
"building_blocks:hardwood",
{
description = "Hardwood",
description = S("Hardwood"),
tiles = {"building_blocks_hardwood.png"},
groups = {choppy=1,flammable=1},
sounds = default.node_sound_wood_defaults(),
@@ -324,7 +330,7 @@ if minetest.get_modpath("moreblocks") then
"fakegrass",
"building_blocks:fakegrass",
{
description = "Grass",
description = S("Grass"),
tiles = {"default_grass.png"},
groups = {crumbly=3},
sounds = default.node_sound_dirt_defaults({
@@ -348,7 +354,7 @@ if minetest.get_modpath("moreblocks") then
"tar",
"building_blocks:Tar",
{
description = "Tar",
description = S("Tar"),
tiles = {"building_blocks_tar.png"},
groups = {crumbly=1},
sounds = default.node_sound_stone_defaults(),
@@ -360,7 +366,7 @@ if minetest.get_modpath("moreblocks") then
"grate",
"building_blocks:grate",
{
description = "Grate",
description = S("Grate"),
tiles = {"building_blocks_grate.png"},
groups = {cracky=1},
sounds = default.node_sound_stone_defaults(),
@@ -371,7 +377,7 @@ if minetest.get_modpath("moreblocks") then
"Adobe",
"building_blocks:Adobe",
{
description = "Adobe",
description = S("Adobe"),
tiles = {"building_blocks_Adobe.png"},
groups = {crumbly=3},
sounds = default.node_sound_stone_defaults(),
@@ -382,7 +388,7 @@ if minetest.get_modpath("moreblocks") then
"Roofing",
"building_blocks:Roofing",
{
description = "Roofing",
description = S("Roofing"),
tiles = {"building_blocks_Roofing.png"},
groups = {snappy=3},
sounds = default.node_sound_stone_defaults(),

6
computer/locale/ru.txt Normal file
View File

@@ -0,0 +1,6 @@
# Language: Russian
# Author: inpos <inpos@yandex.ru>
Plastic sheet = Лист пластика
Unprocessed Plastic base = Необработанная пластиковая основа

View File

@@ -33,10 +33,10 @@ local colors = { "computer_cyan.png", "computer_magenta.png", "computer_red.png"
local background = "image[0,0;3.55,6.66;computer_black.png]"
local buttons = "button[3,4.5;0.6,0.6;left;<]"
.."button[3.6,4.5;0.6,0.6;rotateleft;L]"
.."button[3.6,4.5;0.6,0.6;rotateleft;"..minetest.formspec_escape(S("L")).."]"
.."button[4.2,4.5;0.6,0.6;down;v]"
.."button[4.2,5.3;0.6,0.6;drop;V]"
.."button[4.8,4.5;0.6,0.6;rotateright;R]"
.."button[4.8,4.5;0.6,0.6;rotateright;"..minetest.formspec_escape(S("R")).."]"
.."button[5.4,4.5;0.6,0.6;right;>]"
.."button[3.5,3;2,2;new;"..minetest.formspec_escape(S("New Game")).."]"
@@ -231,7 +231,7 @@ local function step(pos, fields)
local scr = { formsize, background,
t.boardstring, t.previewstring,
draw_shape(t.cur, t.x, t.y, t.rot, boardx, boardy),
"label[3.8,0.1;Next...]label[3.8,2.7;Score: ",
"label[3.8,0.1;"..S("Next...").."]label[3.8,2.7;"..S("Score: "),
t.score, close, buttons }

View File

@@ -66,43 +66,36 @@ local function stop_smoke(pos)
this_spawner_meta:set_int("sound", nil)
end
-- FLAME TYPES
local flame_types = {
{ "fake", S("Fake fire") },
{ "ice", S("Ice fire") },
}
minetest.register_node("fake_fire:ice_fire", {
inventory_image = "ice_fire_inv.png",
description = S("Ice fire"),
drawtype = "plantlike",
paramtype = "light",
paramtype2 = "facedir",
groups = {dig_immediate=3, not_in_creative_inventory=1},
sunlight_propagates = true,
buildable_to = true,
walkable = false,
light_source = 14,
waving = 1,
tiles = {
{name="ice_fire_animated.png", animation={type="vertical_frames",
aspect_w=16, aspect_h=16, length=1.5}},
},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
start_smoke(pos, node, clicker)
return itemstack
end,
on_destruct = function (pos)
stop_smoke(pos)
minetest.sound_play("fire_extinguish", {
pos = pos, max_hear_distance = 5
})
end,
drop = ""
})
for _, f in ipairs(flame_types) do
local name, desc = unpack(f)
minetest.register_node("fake_fire:"..name.."_fire", {
inventory_image = name.."_fire_inv.png",
description = desc,
drawtype = "plantlike",
paramtype = "light",
paramtype2 = "facedir",
groups = {dig_immediate=3, not_in_creative_inventory=1},
sunlight_propagates = true,
buildable_to = true,
walkable = false,
light_source = 14,
waving = 1,
tiles = {
{name=name.."_fire_animated.png", animation={type="vertical_frames",
aspect_w=16, aspect_h=16, length=1.5}},
},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
start_smoke(pos, node, clicker)
return itemstack
end,
on_destruct = function (pos)
stop_smoke(pos)
minetest.sound_play("fire_extinguish", {
pos = pos, max_hear_distance = 5
})
end,
drop = ""
})
end
minetest.register_alias("fake_fire:fake_fire", "fire:permanent_flame")
minetest.register_node("fake_fire:fancy_fire", {
inventory_image = "fancy_fire_inv.png",
@@ -190,43 +183,18 @@ for _, mat in ipairs(materials) do
})
end
-- FLINT and STEEL
minetest.register_tool("fake_fire:flint_and_steel", {
description = S("Flint and steel"),
inventory_image = "flint_and_steel.png",
liquids_pointable = false,
stack_max = 1,
tool_capabilities = {
full_punch_interval = 1.0,
max_drop_level=0,
groupcaps={flamable = {uses=65, maxlevel=1}}
},
on_use = function(itemstack, user, pointed_thing)
if pointed_thing.type == "node" and minetest.get_node(pointed_thing.above).name == "air" then
if not minetest.is_protected(pointed_thing.above, user:get_player_name()) then
if string.find(minetest.get_node(pointed_thing.under).name, "ice") then
minetest.set_node(pointed_thing.above, {name="fake_fire:ice_fire"})
else
minetest.set_node(pointed_thing.above, {name="fake_fire:fake_fire"})
end
else
minetest.chat_send_player(user:get_player_name(), S("This area is protected!"))
end
else
return
end
minetest.register_alias("fake_fire:flint_and_steel", "fire:flint_and_steel")
itemstack:add_wear(65535/65)
return itemstack
minetest.override_item("default:ice", {
on_ignite = function(pos, igniter)
local flame_pos = {x = pos.x, y = pos.y + 1, z = pos.z}
if minetest.get_node(flame_pos).name == "air" then
minetest.set_node(flame_pos, {name = "fake_fire:ice_fire"})
end
end
})
-- CRAFTS
minetest.register_craft({
type = "shapeless",
output = 'fake_fire:flint_and_steel',
recipe = {"default:obsidian_shard", "default:steel_ingot"}
})
minetest.register_craft({
type = "shapeless",

View File

@@ -89,7 +89,7 @@ for _, c in ipairs(bookcolors) do
if data.title and data.title ~= "" then
meta:set_string("infotext", data.title)
end
if not homedecor.expect_infinite_stacks then
if not creative.is_enabled_for(plname) then
itemstack:take_item()
end
return itemstack

View File

@@ -3014,10 +3014,28 @@ minetest.register_craft({
})
minetest.register_craft({
output = "homedecor:stained_glass",
output = "homedecor:stained_glass 3",
recipe = {
{"", "dye:blue", ""},
{"dye:red", "xpanes:pane", "dye:green"},
{"dye:red", "xpanes:pane_flat", "dye:green"},
{"", "dye:yellow", ""},
},
})
minetest.register_craft({
output = "homedecor:stained_glass 2",
recipe = {
{"", "dye:blue", ""},
{"dye:red", "cottages:glass_pane_side", "dye:green"},
{"", "dye:yellow", ""},
},
})
minetest.register_craft({
output = "homedecor:stained_glass 2",
recipe = {
{"", "dye:blue", ""},
{"dye:red", "cottages:glass_pane", "dye:green"},
{"", "dye:yellow", ""},
},
})

View File

@@ -118,7 +118,7 @@ minetest.register_alias("homedecor:deckchair_head", "air")
homedecor.register("deckchair_striped_blue", {
mesh = "homedecor_deckchair.obj",
tiles = {"homedecor_deckchair_striped_blue.png"},
description = S("Deck Chair"),
description = S("Deck Chair (blue striped)"),
groups = { snappy = 3 },
expand = { forward="placeholder" },
sounds = default.node_sound_wood_defaults(),
@@ -251,6 +251,7 @@ homedecor.register("swing", {
place_on = "bottom"
},
on_place = function(itemstack, placer, pointed_thing)
local placer_name = placer:get_player_name() or ""
local isceiling, pos = homedecor.find_ceiling(itemstack, placer, pointed_thing)
if isceiling then
local height = 0
@@ -263,7 +264,7 @@ homedecor.register("swing", {
if not testreg or not testreg.buildable_to then
if i < 1 then
minetest.chat_send_player(placer:get_player_name(), "No room under there to hang a swing.")
minetest.chat_send_player(placer_name, "No room under there to hang a swing.")
return itemstack
else
break
@@ -279,11 +280,11 @@ homedecor.register("swing", {
minetest.set_node({ x=pos.x, y=pos.y-height, z=pos.z }, { name = "homedecor:swing", param2 = fdir })
if not homedecor.expect_infinite_stacks then
if not creative.is_enabled_for(placer_name) then
itemstack:take_item()
end
else
minetest.chat_send_player(placer:get_player_name(), "You have to point at the bottom side of an overhanging object to place a swing.")
minetest.chat_send_player(placer_name, "You have to point at the bottom side of an overhanging object to place a swing.")
end
return itemstack
end,
@@ -367,7 +368,7 @@ local shrub_cbox = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }
for _, color in ipairs(homedecor.shrub_colors) do
minetest.register_node("homedecor:shrubbery_large_"..color, {
description = S("Shrubbery (@1)", S(color)),
description = S("Shrubbery (large, @1)", S(color)),
drawtype = "mesh",
mesh = "homedecor_cube.obj",
tiles = {"homedecor_shrubbery_"..color..".png"},

View File

@@ -213,20 +213,24 @@ homedecor.register("soda_machine", {
sounds = default.node_sound_wood_defaults(),
on_rotate = screwdriver.rotate_simple,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
local playername = clicker:get_player_name()
local wielditem = clicker:get_wielded_item()
local wieldname = wielditem:get_name()
local fdir_to_fwd = { {0, -1}, {-1, 0}, {0, 1}, {1, 0} }
local fdir = node.param2
local pos_drop = { x=pos.x+fdir_to_fwd[fdir+1][1], y=pos.y, z=pos.z+fdir_to_fwd[fdir+1][2] }
if wieldname == "homedecor:coin" then
wielditem:take_item()
clicker:set_wielded_item(wielditem)
minetest.spawn_item(pos_drop, "homedecor:soda_can")
minetest.sound_play("insert_coin", {
pos=pos, max_hear_distance = 5
})
if not creative.is_enabled_for(playername) then
wielditem:take_item()
clicker:set_wielded_item(wielditem)
return wielditem
end
else
minetest.chat_send_player(clicker:get_player_name(), S("Please insert a coin in the machine."))
minetest.chat_send_player(playername, S("Please insert a coin in the machine."))
end
end
})

View File

@@ -104,7 +104,7 @@ local function stack(itemstack, placer, fdir, pos, def, pos2, node1, node2, poin
ctrl_node_def.after_place_node(pos, placer, itemstack, pointed_thing)
end
if not homedecor.expect_infinite_stacks then
if not creative.is_enabled_for(placer_name) then
itemstack:take_item()
end
end

View File

@@ -11,12 +11,8 @@ local modpath = minetest.get_modpath("homedecor")
local S = homedecor_i18n.gettext
homedecor = {
modpath = modpath,
-- infinite stacks
expect_infinite_stacks = minetest.settings:get_bool("creative_mode") and not minetest.get_modpath("unified_inventory")
}
homedecor = {}
homedecor.modpath = modpath
-- Determine if the item being pointed at is the underside of a node (e.g a ceiling)
function homedecor.find_ceiling(itemstack, placer, pointed_thing)

View File

@@ -396,7 +396,7 @@ local n = { 1, 2 }
for _, i in ipairs(n) do
homedecor.register("picture_frame"..i, {
description = S("Picture Frame"),
description = S("Picture Frame "..i),
mesh = "homedecor_picture_frame.obj",
tiles = {
"homedecor_picture_frame_image"..i..".png",

View File

@@ -129,7 +129,7 @@ minetest.register_node("homedecor:curtain_closed", {
})
minetest.register_node("homedecor:curtain_open", {
description = S("Curtains"),
description = S("Curtains (open)"),
tiles = { "homedecor_curtain_open.png" },
inventory_image = "homedecor_curtain_open.png",
drawtype = 'signlike',

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1576
homedecor_i18n/locale/ru.po Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -7,6 +7,8 @@ cd "$(dirname "${BASH_SOURCE[0]}")/..";
# Extract translatable strings.
xgettext --from-code=UTF-8 \
--language=Lua \
--sort-by-file \
--keyword=S \
--keyword=NS:1,2 \
--keyword=N_ \

View File

@@ -38,9 +38,9 @@ function lrfurn.check_right(pos, fdir, long, placer)
return false
elseif minetest.is_protected(pos2, placer:get_player_name()) then
if not long then
minetest.chat_send_player(placer:get_player_name(), "Someone else owns the spot where other end goes!")
minetest.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where other end goes!"))
else
minetest.chat_send_player(placer:get_player_name(), "Someone else owns the spot where the middle or far end goes!")
minetest.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where the middle or far end goes!"))
end
return false
end
@@ -50,7 +50,7 @@ function lrfurn.check_right(pos, fdir, long, placer)
if node3 and node3.name ~= "air" then
return false
elseif minetest.is_protected(pos3, placer:get_player_name()) then
minetest.chat_send_player(placer:get_player_name(), "Someone else owns the spot where the other end goes!")
minetest.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where the other end goes!"))
return false
end
end