mp.homedecor: Update to stable-20170925-3 & patch d2c78e2
Upstream: https://gitlab.com/VanessaE/homedecor_modpack/tree/48be7dd Patch: https://github.com/AntumMT/mp-homedecor/tree/d2c78e2master
|
@ -135,7 +135,7 @@ The game includes the mods from the default [minetest_game](https://github.com/m
|
|||
|
||||
* [3d_armor][] ([LGPL / CC BY-SA][lic.3d_armor]) - version: [cc26d04 Git][ver.3d_armor] *2017-07-09* ([patched][patch.3d_armor]) ***UPDATES***
|
||||
* [deploy_nodes][] ([BSD 3-Clause][lic.deploy_nodes]) -- version [b67e162 Git][ver.deploy_nodes] *2017-06-08*
|
||||
* [homedecor][] ([LGPL / WTFPL / CC BY-SA / CC0][lic.homedecor]) -- version: [a6c17d6 Git][ver.homedecor] *2017-06-16* ([patched][patch.homedecor]) ***UPDATES***
|
||||
* [homedecor][] ([LGPL / WTFPL / CC BY-SA / CC0][lic.homedecor]) -- version [stable-20170925-3 (48be7dd Git)][ver.homedecor] *2017-09-25* ([patched][patch.homedecor]) ***UNSTABLE UPDATES***
|
||||
* [mesecons][] ([LGPL / CC BY-SA][lic.mesecons]) -- version [7013f2e Git][ver.mesecons] *2018-05-15* ([patched][patch.mesecons])
|
||||
* [minetest_game][] ([LGPL][lic.lgpl2.1] / [CC BY-SA][lic.ccbysa3.0]) -- version: [0.4.17][ver.minetest_game] *2018-05-18* ***UNSTABLE UPDATES***
|
||||
* [moremesecons][] ([MPL][lic.mpl2.0]) -- version [8a56370 Git][ver.moremesecons] *2018-02-27*
|
||||
|
@ -422,7 +422,7 @@ The game includes the mods from the default [minetest_game](https://github.com/m
|
|||
[ver.helicopter_pm]: https://github.com/petermaloney/helicopter/tree/95c5287
|
||||
[ver.hill_nodebox]: https://github.com/cornernote/minetest-hill_nodebox/tree/41bbfa2
|
||||
[ver.home_gui]: https://github.com/cornernote/minetest-home_gui/tree/90086d0
|
||||
[ver.homedecor]: https://github.com/minetest-mods/homedecor_modpack/tree/a6c17d6
|
||||
[ver.homedecor]: https://gitlab.com/VanessaE/homedecor_modpack/tree/48be7dd
|
||||
[ver.hovercraft]: https://github.com/stujones11/hovercraft/tree/4d50e68
|
||||
[ver.hudbars]: http://repo.or.cz/minetest_hudbars.git/tree/ba21f47
|
||||
[ver.hudmap]: https://github.com/stujones11/hudmap/tree/3b8bdc0
|
||||
|
@ -501,7 +501,7 @@ The game includes the mods from the default [minetest_game](https://github.com/m
|
|||
[patch.gems_tools]: https://github.com/AntumMT/mod-gems_tools/tree/cc86c61
|
||||
[patch.hbarmor]: https://github.com/AntumMT/mod-hbarmor/tree/12a7dea
|
||||
[patch.hbsprint]: https://github.com/AntumMT/mod-hbsprint/tree/3fb29a9
|
||||
[patch.homedecor]: https://github.com/AntumMT/mp-homedecor/tree/8e0e64c
|
||||
[patch.homedecor]: https://github.com/AntumMT/mp-homedecor/tree/d2c78e2
|
||||
[patch.hovercraft]: https://github.com/AntumMT/mod-hovercraft/tree/73a6223
|
||||
[patch.hud]: https://github.com/AntumMT/mod-hud/tree/6846e20
|
||||
[patch.invisibility]: https://github.com/AntumMT/mod-invisibility/tree/f045c7c
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
"name": "homedecor_modpack",
|
||||
"description": "This mod adds a whole bunch of new items to Minetest suitable for decorating inside and outside a home.",
|
||||
"keywords": [
|
||||
"building",
|
||||
"cosmetic",
|
||||
"homedecor modpack",
|
||||
"homedecor_modpack"
|
||||
],
|
||||
"homepage": "http://daconcepts.com/vanessa/hobbies/minetest/homedecor-crafting-guide/homedecor-craft-guide.html",
|
||||
"project": "https://github.com/minetest-mods/homedecor_modpack",
|
||||
"forum": "http://forum.minetest.net/viewtopic.php?f=11&t=2041",
|
||||
"screenshots": [
|
||||
"http://daconcepts.com/vanessa/hobbies/minetest/screenshots/homedecor1.png"
|
||||
],
|
||||
"authors": [
|
||||
"VanessaE"
|
||||
]
|
||||
}
|
|
@ -241,16 +241,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,
|
||||
|
@ -309,7 +315,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(),
|
||||
|
@ -320,7 +326,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(),
|
||||
|
@ -331,7 +337,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({
|
||||
|
@ -355,7 +361,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(),
|
||||
|
@ -367,7 +373,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(),
|
||||
|
@ -378,7 +384,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(),
|
||||
|
@ -389,7 +395,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(),
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
# Language: Russian
|
||||
# Author: inpos <inpos@yandex.ru>
|
||||
|
||||
Plastic sheet = Лист пластика
|
||||
Unprocessed Plastic base = Необработанная пластиковая основа
|
|
@ -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 }
|
||||
|
||||
|
||||
|
|
|
@ -1,13 +1,6 @@
|
|||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
local tool_wear = minetest.settings:get_bool("enable_tool_wear") ~= false
|
||||
|
||||
local flint_uses = 65
|
||||
if not tool_wear then
|
||||
flint_uses = 0
|
||||
end
|
||||
|
||||
screwdriver = screwdriver or {}
|
||||
|
||||
local function start_smoke(pos, node, clicker, chimney)
|
||||
|
@ -73,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",
|
||||
|
@ -197,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=flint_uses, 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",
|
||||
|
|
|
@ -67,12 +67,11 @@ homedecor.register("bed_regular", {
|
|||
homedecor.bed_expansion(pos, clicker, itemstack, pointed_thing, true)
|
||||
return itemstack
|
||||
else
|
||||
if minetest.get_modpath("beds") then
|
||||
beds.on_rightclick(pos, clicker)
|
||||
end
|
||||
-- if minetest.get_modpath("beds") then
|
||||
-- beds.on_rightclick(pos, clicker)
|
||||
-- end
|
||||
return itemstack
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
|
@ -99,13 +98,13 @@ homedecor.register("bed_extended", {
|
|||
unifieddyes.after_dig_node(pos, oldnode, oldmetadata, digger)
|
||||
homedecor.unextend_bed(pos)
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local itemname = itemstack:get_name()
|
||||
if minetest.get_modpath("beds") then
|
||||
beds.on_rightclick(pos, clicker)
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
-- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
-- local itemname = itemstack:get_name()
|
||||
-- if minetest.get_modpath("beds") then
|
||||
-- beds.on_rightclick(pos, clicker)
|
||||
-- end
|
||||
-- return itemstack
|
||||
-- end,
|
||||
drop = "homedecor:bed_regular"
|
||||
})
|
||||
|
||||
|
@ -140,13 +139,13 @@ homedecor.register("bed_kingsize", {
|
|||
inv:add_item("main", "homedecor:bed_regular 2")
|
||||
end
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local itemname = itemstack:get_name()
|
||||
if minetest.get_modpath("beds") then
|
||||
beds.on_rightclick(pos, clicker)
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
-- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
-- local itemname = itemstack:get_name()
|
||||
-- if minetest.get_modpath("beds") then
|
||||
-- beds.on_rightclick(pos, clicker)
|
||||
-- end
|
||||
-- return itemstack
|
||||
-- end
|
||||
})
|
||||
|
||||
for _, w in pairs({ N_("mahogany"), N_("oak") }) do
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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", ""},
|
||||
},
|
||||
})
|
||||
|
|
|
@ -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"},
|
||||
|
|
|
@ -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
|
||||
})
|
||||
|
|
|
@ -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
|
||||
|
@ -368,14 +368,6 @@ function homedecor.place_banister(itemstack, placer, pointed_thing)
|
|||
fdir = right_fwd_node.param2
|
||||
pos = fwd_pos
|
||||
new_place_name = string.gsub(right_fwd_node.name, "_diagonal_.-$", "_horizontal")
|
||||
|
||||
-- try to follow a horizontal with another of the same
|
||||
elseif left_node and string.find(left_node.name, "homedecor:banister_.*_horizontal") then
|
||||
fdir = left_node.param2
|
||||
new_place_name = left_node.name
|
||||
elseif right_node and string.find(right_node.name, "homedecor:banister_.*_horizontal") then
|
||||
fdir = right_node.param2
|
||||
new_place_name = right_node.name
|
||||
end
|
||||
|
||||
-- manually invert left-right orientation
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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",
|
||||
|
|
Before Width: | Height: | Size: 208 B After Width: | Height: | Size: 203 B |
Before Width: | Height: | Size: 209 B After Width: | Height: | Size: 204 B |
Before Width: | Height: | Size: 317 B After Width: | Height: | Size: 307 B |
Before Width: | Height: | Size: 189 B After Width: | Height: | Size: 187 B |
Before Width: | Height: | Size: 417 B After Width: | Height: | Size: 423 B |
|
@ -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',
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
#! /bin/bash
|
||||
|
||||
# To create a new translation:
|
||||
# msginit --locale=ll_CC -o locale/ll_CC.po -i locale/template.pot
|
||||
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")/..";
|
||||
|
||||
# Extract translatable strings.
|
||||
xgettext --from-code=UTF-8 \
|
||||
--keyword=S \
|
||||
--keyword=NS:1,2 \
|
||||
--keyword=N_ \
|
||||
--add-comments='Translators:' \
|
||||
--add-location=file \
|
||||
-o locale/template.pot \
|
||||
$(find .. -name '*.lua')
|
||||
|
||||
# Update translations.
|
||||
find locale -name '*.po' | while read -r file; do
|
||||
echo $file
|
||||
msgmerge --update $file locale/template.pot;
|
||||
done
|
|
@ -8,7 +8,11 @@ minetest.register_node("lavalamp:lavalamp", {
|
|||
drawtype = "mesh",
|
||||
mesh = "lavalamp.obj",
|
||||
tiles = {
|
||||
{ name = "lavalamp_metal.png", color = 0xffffffff},
|
||||
{ name = "lavalamp_metal.png", color = "white" },
|
||||
{ name = "lavalamp_lamp_liquid.png", color = "white" },
|
||||
},
|
||||
overlay_tiles = {
|
||||
"",
|
||||
{
|
||||
name="lavalamp_lamp_anim.png",
|
||||
animation={
|
||||
|
@ -19,6 +23,7 @@ minetest.register_node("lavalamp:lavalamp", {
|
|||
},
|
||||
},
|
||||
},
|
||||
use_texture_alpha = true,
|
||||
inventory_image = "lavalamp_lamp_inv.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "color",
|
||||
|
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 412 B |
|
@ -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
|
||||
|
|