forked from nalc/homedecor_modpack
Added localization support
This commit is contained in:
parent
d6c8e075a4
commit
6133234771
31
crafts.lua
31
crafts.lua
@ -6,6 +6,15 @@
|
|||||||
-- License: GPL
|
-- License: GPL
|
||||||
--
|
--
|
||||||
|
|
||||||
|
-- Boilerplate to support localized strings if intllib mod is installed.
|
||||||
|
local S
|
||||||
|
if (minetest.get_modpath("intllib")) then
|
||||||
|
dofile(minetest.get_modpath("intllib").."/intllib.lua")
|
||||||
|
S = intllib.Getter(minetest.get_current_modname())
|
||||||
|
else
|
||||||
|
S = function ( s ) return s end
|
||||||
|
end
|
||||||
|
|
||||||
-- Some recipes need white paint. If Unified Dyes isn't present,
|
-- Some recipes need white paint. If Unified Dyes isn't present,
|
||||||
-- implement the standard white paint production method here instead,
|
-- implement the standard white paint production method here instead,
|
||||||
-- plus some alternate recipes in the event of material shorages.
|
-- plus some alternate recipes in the event of material shorages.
|
||||||
@ -13,7 +22,7 @@
|
|||||||
if ( minetest.get_modpath("unifieddyes") ) == nil then
|
if ( minetest.get_modpath("unifieddyes") ) == nil then
|
||||||
|
|
||||||
minetest.register_craftitem(":unifieddyes:titanium_dioxide", {
|
minetest.register_craftitem(":unifieddyes:titanium_dioxide", {
|
||||||
description = "Titanium Dioxide",
|
description = S("Titanium Dioxide"),
|
||||||
inventory_image = "homedecor_titanium_dioxide.png",
|
inventory_image = "homedecor_titanium_dioxide.png",
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -24,7 +33,7 @@ if ( minetest.get_modpath("unifieddyes") ) == nil then
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem(":unifieddyes:white_paint", {
|
minetest.register_craftitem(":unifieddyes:white_paint", {
|
||||||
description = "Bucket of white paint",
|
description = S("Bucket of white paint"),
|
||||||
inventory_image = "homedecor_white_paint.png",
|
inventory_image = "homedecor_white_paint.png",
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -66,7 +75,7 @@ end
|
|||||||
-- misc stuff :D
|
-- misc stuff :D
|
||||||
|
|
||||||
minetest.register_craftitem("homedecor:terracotta_base", {
|
minetest.register_craftitem("homedecor:terracotta_base", {
|
||||||
description = "Uncooked Terracotta Base",
|
description = S("Uncooked Terracotta Base"),
|
||||||
inventory_image = "homedecor_terracotta_base.png",
|
inventory_image = "homedecor_terracotta_base.png",
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -82,7 +91,7 @@ minetest.register_craft( {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("homedecor:roof_tile_terracotta", {
|
minetest.register_craftitem("homedecor:roof_tile_terracotta", {
|
||||||
description = "Terracotta Roof Tile",
|
description = S("Terracotta Roof Tile"),
|
||||||
inventory_image = "homedecor_roof_tile_terracotta.png",
|
inventory_image = "homedecor_roof_tile_terracotta.png",
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -111,12 +120,12 @@ minetest.register_craft( {
|
|||||||
--
|
--
|
||||||
|
|
||||||
minetest.register_craftitem("homedecor:plastic_sheeting", {
|
minetest.register_craftitem("homedecor:plastic_sheeting", {
|
||||||
description = "Plastic sheet",
|
description = S("Plastic sheet"),
|
||||||
inventory_image = "homedecor_plastic_sheeting.png",
|
inventory_image = "homedecor_plastic_sheeting.png",
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("homedecor:plastic_base", {
|
minetest.register_craftitem("homedecor:plastic_base", {
|
||||||
description = "Unprocessed Plastic base",
|
description = S("Unprocessed Plastic base"),
|
||||||
wield_image = "homedecor_plastic_base.png",
|
wield_image = "homedecor_plastic_base.png",
|
||||||
inventory_image = "homedecor_plastic_base_inv.png",
|
inventory_image = "homedecor_plastic_base_inv.png",
|
||||||
})
|
})
|
||||||
@ -680,7 +689,7 @@ minetest.register_craft({
|
|||||||
--
|
--
|
||||||
|
|
||||||
minetest.register_craftitem("homedecor:drawer_small", {
|
minetest.register_craftitem("homedecor:drawer_small", {
|
||||||
description = "Small Wooden Drawer",
|
description = S("Small Wooden Drawer"),
|
||||||
inventory_image = "homedecor_drawer_small.png",
|
inventory_image = "homedecor_drawer_small.png",
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -792,7 +801,7 @@ minetest.register_craft({
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("homedecor:brass_ingot", {
|
minetest.register_craftitem("homedecor:brass_ingot", {
|
||||||
description = "Brass Ingot",
|
description = S("Brass Ingot"),
|
||||||
inventory_image = "homedecor_brass_ingot.png",
|
inventory_image = "homedecor_brass_ingot.png",
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -826,7 +835,7 @@ minetest.register_craft( {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("homedecor:utility_table_legs", {
|
minetest.register_craftitem("homedecor:utility_table_legs", {
|
||||||
description = "Legs for Small Utility table",
|
description = S("Legs for Small Utility table"),
|
||||||
inventory_image = "homedecor_utility_table_legs.png",
|
inventory_image = "homedecor_utility_table_legs.png",
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -870,7 +879,7 @@ minetest.register_craft( {
|
|||||||
if ( minetest.get_modpath("mesecons") ) == nil then
|
if ( minetest.get_modpath("mesecons") ) == nil then
|
||||||
|
|
||||||
minetest.register_craftitem(":mesecons_materials:silicon", {
|
minetest.register_craftitem(":mesecons_materials:silicon", {
|
||||||
description = "Silicon lump",
|
description = S("Silicon lump"),
|
||||||
inventory_image = "homedecor_silicon.png",
|
inventory_image = "homedecor_silicon.png",
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -893,7 +902,7 @@ minetest.register_craft( {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("homedecor:ic", {
|
minetest.register_craftitem("homedecor:ic", {
|
||||||
description = "Simple Integrated Circuit",
|
description = S("Simple Integrated Circuit"),
|
||||||
inventory_image = "homedecor_ic.png",
|
inventory_image = "homedecor_ic.png",
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -1,7 +1,17 @@
|
|||||||
|
|
||||||
|
-- Boilerplate to support localized strings if intllib mod is installed.
|
||||||
|
local S
|
||||||
|
if (minetest.get_modpath("intllib")) then
|
||||||
|
dofile(minetest.get_modpath("intllib").."/intllib.lua")
|
||||||
|
S = intllib.Getter(minetest.get_current_modname())
|
||||||
|
else
|
||||||
|
S = function ( s ) return s end
|
||||||
|
end
|
||||||
|
|
||||||
homedecor_door_models = {
|
homedecor_door_models = {
|
||||||
{
|
{
|
||||||
"closet_mahogany",
|
"closet_mahogany",
|
||||||
"Mahogany Closet Door",
|
S("Mahogany Closet Door"),
|
||||||
|
|
||||||
{{ -8/16, 5/16, 6/16, 8/16, 8/16, 8/16 },
|
{{ -8/16, 5/16, 6/16, 8/16, 8/16, 8/16 },
|
||||||
{ -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 },
|
{ -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 },
|
||||||
@ -72,7 +82,7 @@ homedecor_door_models = {
|
|||||||
|
|
||||||
{
|
{
|
||||||
"closet_oak",
|
"closet_oak",
|
||||||
"Oak Closet Door",
|
S("Oak Closet Door"),
|
||||||
|
|
||||||
{{ -8/16, 5/16, 6/16, 8/16, 8/16, 8/16 },
|
{{ -8/16, 5/16, 6/16, 8/16, 8/16, 8/16 },
|
||||||
{ -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 },
|
{ -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 },
|
||||||
@ -143,7 +153,7 @@ homedecor_door_models = {
|
|||||||
|
|
||||||
{
|
{
|
||||||
"exterior_fancy",
|
"exterior_fancy",
|
||||||
"Fancy Wood/Glass Door",
|
S("Fancy Wood/Glass Door"),
|
||||||
|
|
||||||
{{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 },
|
{{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 },
|
||||||
{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 },
|
{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 },
|
||||||
@ -170,7 +180,7 @@ homedecor_door_models = {
|
|||||||
|
|
||||||
{
|
{
|
||||||
"glass",
|
"glass",
|
||||||
"Glass Office Door",
|
S("Glass Office Door"),
|
||||||
|
|
||||||
{{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }},
|
{{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }},
|
||||||
|
|
||||||
@ -185,7 +195,7 @@ homedecor_door_models = {
|
|||||||
|
|
||||||
{
|
{
|
||||||
"wood_glass",
|
"wood_glass",
|
||||||
"Glass and Wood, Oak-colored",
|
S("Glass and Wood, Oak-colored"),
|
||||||
|
|
||||||
{{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 },
|
{{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 },
|
||||||
{ -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 },
|
{ -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 },
|
||||||
@ -224,7 +234,7 @@ homedecor_door_models = {
|
|||||||
|
|
||||||
{
|
{
|
||||||
"wood_glass_mahogany",
|
"wood_glass_mahogany",
|
||||||
"Glass and Wood, Mahogany-colored",
|
S("Glass and Wood, Mahogany-colored"),
|
||||||
|
|
||||||
{{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 },
|
{{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 },
|
||||||
{ -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 },
|
{ -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 },
|
||||||
@ -263,7 +273,7 @@ homedecor_door_models = {
|
|||||||
|
|
||||||
{
|
{
|
||||||
"wood_glass_white",
|
"wood_glass_white",
|
||||||
"Glass and Wood, White",
|
S("Glass and Wood, White"),
|
||||||
|
|
||||||
{{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 },
|
{{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 },
|
||||||
{ -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 },
|
{ -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 },
|
||||||
@ -302,7 +312,7 @@ homedecor_door_models = {
|
|||||||
|
|
||||||
{
|
{
|
||||||
"wood_plain",
|
"wood_plain",
|
||||||
"Plain Wooden Door",
|
S("Plain Wooden Door"),
|
||||||
|
|
||||||
{{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }},
|
{{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }},
|
||||||
|
|
||||||
|
@ -1,5 +1,14 @@
|
|||||||
-- Node definitions for Homedecor doors
|
-- Node definitions for Homedecor doors
|
||||||
|
|
||||||
|
-- Boilerplate to support localized strings if intllib mod is installed.
|
||||||
|
local S
|
||||||
|
if (minetest.get_modpath("intllib")) then
|
||||||
|
dofile(minetest.get_modpath("intllib").."/intllib.lua")
|
||||||
|
S = intllib.Getter(minetest.get_current_modname())
|
||||||
|
else
|
||||||
|
S = function ( s ) return s end
|
||||||
|
end
|
||||||
|
|
||||||
local sides = {"left", "right"}
|
local sides = {"left", "right"}
|
||||||
local rsides = {"right", "left"}
|
local rsides = {"right", "left"}
|
||||||
|
|
||||||
@ -58,7 +67,7 @@ for i in ipairs(sides) do
|
|||||||
if use_rightclick == nil then -- register the version that uses on_punch
|
if use_rightclick == nil then -- register the version that uses on_punch
|
||||||
|
|
||||||
minetest.register_node("homedecor:door_"..doorname.."_top_"..side, {
|
minetest.register_node("homedecor:door_"..doorname.."_top_"..side, {
|
||||||
description = doordesc.." (Top Half, "..side.."-opening)",
|
description = doordesc.." "..S("(Top Half, %s-opening)"):format(side),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = tiles_top,
|
tiles = tiles_top,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
@ -83,7 +92,7 @@ for i in ipairs(sides) do
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("homedecor:door_"..doorname.."_bottom_"..side, {
|
minetest.register_node("homedecor:door_"..doorname.."_bottom_"..side, {
|
||||||
description = doordesc.." ("..side.."-opening)",
|
description = doordesc.." "..S("(%s-opening)"):format(side),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = tiles_bottom,
|
tiles = tiles_bottom,
|
||||||
inventory_image = "homedecor_door_"..doorname.."_"..side.."_inv.png",
|
inventory_image = "homedecor_door_"..doorname.."_"..side.."_inv.png",
|
||||||
@ -113,7 +122,7 @@ for i in ipairs(sides) do
|
|||||||
else -- register the version that uses on_rightclick
|
else -- register the version that uses on_rightclick
|
||||||
|
|
||||||
minetest.register_node("homedecor:door_"..doorname.."_top_"..side, {
|
minetest.register_node("homedecor:door_"..doorname.."_top_"..side, {
|
||||||
description = doordesc.." (Top Half, "..side.."-opening)",
|
description = doordesc.." "..S("(Top Half, %s-opening)"):format(side),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = tiles_top,
|
tiles = tiles_top,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
@ -138,7 +147,7 @@ for i in ipairs(sides) do
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("homedecor:door_"..doorname.."_bottom_"..side, {
|
minetest.register_node("homedecor:door_"..doorname.."_bottom_"..side, {
|
||||||
description = doordesc.." ("..side.."-opening)",
|
description = doordesc.." "..S("(%s-opening)"):format(side),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = tiles_bottom,
|
tiles = tiles_bottom,
|
||||||
inventory_image = "homedecor_door_"..doorname.."_"..side.."_inv.png",
|
inventory_image = "homedecor_door_"..doorname.."_"..side.."_inv.png",
|
||||||
@ -184,7 +193,7 @@ function homedecor_place_door(itemstack, placer, pointed_thing, name, side)
|
|||||||
if field == nil then
|
if field == nil then
|
||||||
fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
||||||
if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
|
if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
|
||||||
minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' )
|
minetest.chat_send_player( placer:get_player_name(), S('Not enough vertical space to place a door!') )
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_"..name.."_top_"..side, param2=fdir})
|
minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_"..name.."_top_"..side, param2=fdir})
|
||||||
|
47
fences.lua
47
fences.lua
@ -1,7 +1,16 @@
|
|||||||
-- This file adds fences of various types
|
-- This file adds fences of various types
|
||||||
|
|
||||||
|
-- Boilerplate to support localized strings if intllib mod is installed.
|
||||||
|
local S
|
||||||
|
if (minetest.get_modpath("intllib")) then
|
||||||
|
dofile(minetest.get_modpath("intllib").."/intllib.lua")
|
||||||
|
S = intllib.Getter(minetest.get_current_modname())
|
||||||
|
else
|
||||||
|
S = function ( s ) return s end
|
||||||
|
end
|
||||||
|
|
||||||
minetest.register_node("homedecor:fence_brass", {
|
minetest.register_node("homedecor:fence_brass", {
|
||||||
description = "Brass Fence/railing",
|
description = S("Brass Fence/railing"),
|
||||||
drawtype = "fencelike",
|
drawtype = "fencelike",
|
||||||
tiles = {"homedecor_tile_brass.png"},
|
tiles = {"homedecor_tile_brass.png"},
|
||||||
inventory_image = "homedecor_fence_brass.png",
|
inventory_image = "homedecor_fence_brass.png",
|
||||||
@ -23,7 +32,7 @@ minetest.register_node("homedecor:fence_brass", {
|
|||||||
itemstack:take_item()
|
itemstack:take_item()
|
||||||
return itemstack
|
return itemstack
|
||||||
else
|
else
|
||||||
print("want to simply place the wielded item like usual.")
|
print(S("want to simply place the wielded item like usual."))
|
||||||
-- What goes here if I want to just place the wielded node (dirt, cobble, etc) normally?
|
-- What goes here if I want to just place the wielded node (dirt, cobble, etc) normally?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -41,7 +50,7 @@ minetest.register_node("homedecor:fence_brass", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("homedecor:fence_wrought_iron", {
|
minetest.register_node("homedecor:fence_wrought_iron", {
|
||||||
description = "Wrought Iron Fence/railing",
|
description = S("Wrought Iron Fence/railing"),
|
||||||
drawtype = "fencelike",
|
drawtype = "fencelike",
|
||||||
tiles = {"homedecor_tile_wrought_iron.png"},
|
tiles = {"homedecor_tile_wrought_iron.png"},
|
||||||
inventory_image = "homedecor_fence_wrought_iron.png",
|
inventory_image = "homedecor_fence_wrought_iron.png",
|
||||||
@ -64,7 +73,7 @@ minetest.register_node("homedecor:fence_wrought_iron", {
|
|||||||
clicker:set_wielded_item(itemstack)
|
clicker:set_wielded_item(itemstack)
|
||||||
return itemstack
|
return itemstack
|
||||||
else
|
else
|
||||||
print("want to simply place the wielded item like usual.")
|
print(S("want to simply place the wielded item like usual."))
|
||||||
-- What goes here if I want to just place the wielded node (dirt, cobble, etc) normally?
|
-- What goes here if I want to just place the wielded node (dirt, cobble, etc) normally?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -84,7 +93,7 @@ minetest.register_node("homedecor:fence_wrought_iron", {
|
|||||||
-- brass/wrought iron with signs:
|
-- brass/wrought iron with signs:
|
||||||
|
|
||||||
minetest.register_node("homedecor:fence_brass_with_sign", {
|
minetest.register_node("homedecor:fence_brass_with_sign", {
|
||||||
description = "Brass Fence/railing with sign",
|
description = S("Brass Fence/railing with sign"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
"homedecor_sign_brass_post_top.png",
|
"homedecor_sign_brass_post_top.png",
|
||||||
@ -136,7 +145,7 @@ minetest.register_node("homedecor:fence_brass_with_sign", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("homedecor:fence_wrought_iron_with_sign", {
|
minetest.register_node("homedecor:fence_wrought_iron_with_sign", {
|
||||||
description = "Wrought Iron Fence/railing with sign",
|
description = S("Wrought Iron Fence/railing with sign"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
"homedecor_sign_wrought_iron_post_top.png",
|
"homedecor_sign_wrought_iron_post_top.png",
|
||||||
@ -191,7 +200,7 @@ minetest.register_node("homedecor:fence_wrought_iron_with_sign", {
|
|||||||
|
|
||||||
minetest.register_node("homedecor:fence_picket", {
|
minetest.register_node("homedecor:fence_picket", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Unpainted Picket Fence",
|
description = S("Unpainted Picket Fence"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"homedecor_fence_picket.png",
|
"homedecor_fence_picket.png",
|
||||||
"homedecor_fence_picket.png",
|
"homedecor_fence_picket.png",
|
||||||
@ -220,7 +229,7 @@ minetest.register_node("homedecor:fence_picket", {
|
|||||||
|
|
||||||
minetest.register_node("homedecor:fence_picket_white", {
|
minetest.register_node("homedecor:fence_picket_white", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "White Picket Fence",
|
description = S("White Picket Fence"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"homedecor_fence_picket_white.png",
|
"homedecor_fence_picket_white.png",
|
||||||
"homedecor_fence_picket_white.png",
|
"homedecor_fence_picket_white.png",
|
||||||
@ -249,7 +258,7 @@ minetest.register_node("homedecor:fence_picket_white", {
|
|||||||
|
|
||||||
minetest.register_node("homedecor:fence_privacy", {
|
minetest.register_node("homedecor:fence_privacy", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Wooden Privacy Fence",
|
description = S("Wooden Privacy Fence"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"homedecor_fence_privacy_tb.png",
|
"homedecor_fence_privacy_tb.png",
|
||||||
"homedecor_fence_privacy_tb.png",
|
"homedecor_fence_privacy_tb.png",
|
||||||
@ -281,7 +290,7 @@ minetest.register_node("homedecor:fence_privacy", {
|
|||||||
|
|
||||||
minetest.register_node("homedecor:fence_barbed_wire", {
|
minetest.register_node("homedecor:fence_barbed_wire", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Barbed Wire Fence",
|
description = S("Barbed Wire Fence"),
|
||||||
tiles = {"homedecor_fence_barbed_wire.png"},
|
tiles = {"homedecor_fence_barbed_wire.png"},
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
is_ground_content = true,
|
is_ground_content = true,
|
||||||
@ -305,7 +314,7 @@ minetest.register_node("homedecor:fence_barbed_wire", {
|
|||||||
|
|
||||||
minetest.register_node("homedecor:fence_chainlink", {
|
minetest.register_node("homedecor:fence_chainlink", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Chainlink Fence",
|
description = S("Chainlink Fence"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"homedecor_fence_chainlink_tb.png",
|
"homedecor_fence_chainlink_tb.png",
|
||||||
"homedecor_fence_chainlink_tb.png",
|
"homedecor_fence_chainlink_tb.png",
|
||||||
@ -342,7 +351,7 @@ minetest.register_node("homedecor:fence_chainlink", {
|
|||||||
|
|
||||||
minetest.register_node("homedecor:fence_picket_gate_closed", {
|
minetest.register_node("homedecor:fence_picket_gate_closed", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Unpainted Picket Fence Gate",
|
description = S("Unpainted Picket Fence Gate"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"homedecor_fence_picket_gate.png",
|
"homedecor_fence_picket_gate.png",
|
||||||
"homedecor_fence_picket_gate.png",
|
"homedecor_fence_picket_gate.png",
|
||||||
@ -371,7 +380,7 @@ minetest.register_node("homedecor:fence_picket_gate_closed", {
|
|||||||
|
|
||||||
minetest.register_node("homedecor:fence_picket_gate_open", {
|
minetest.register_node("homedecor:fence_picket_gate_open", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Unpainted Picket Fence Gate",
|
description = S("Unpainted Picket Fence Gate"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"homedecor_fence_picket_gate.png",
|
"homedecor_fence_picket_gate.png",
|
||||||
"homedecor_fence_picket_gate.png",
|
"homedecor_fence_picket_gate.png",
|
||||||
@ -401,7 +410,7 @@ minetest.register_node("homedecor:fence_picket_gate_open", {
|
|||||||
|
|
||||||
minetest.register_node("homedecor:fence_picket_gate_white_closed", {
|
minetest.register_node("homedecor:fence_picket_gate_white_closed", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "White Picket Fence Gate",
|
description = S("White Picket Fence Gate"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"homedecor_fence_picket_gate_white.png",
|
"homedecor_fence_picket_gate_white.png",
|
||||||
"homedecor_fence_picket_gate_white.png",
|
"homedecor_fence_picket_gate_white.png",
|
||||||
@ -430,7 +439,7 @@ minetest.register_node("homedecor:fence_picket_gate_white_closed", {
|
|||||||
|
|
||||||
minetest.register_node("homedecor:fence_picket_gate_white_open", {
|
minetest.register_node("homedecor:fence_picket_gate_white_open", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "White Picket Fence Gate",
|
description = S("White Picket Fence Gate"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"homedecor_fence_picket_gate_white.png",
|
"homedecor_fence_picket_gate_white.png",
|
||||||
"homedecor_fence_picket_gate_white.png",
|
"homedecor_fence_picket_gate_white.png",
|
||||||
@ -460,7 +469,7 @@ minetest.register_node("homedecor:fence_picket_gate_white_open", {
|
|||||||
|
|
||||||
minetest.register_node("homedecor:fence_barbed_wire_gate_closed", {
|
minetest.register_node("homedecor:fence_barbed_wire_gate_closed", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Barbed Wire Fence Gate",
|
description = S("Barbed Wire Fence Gate"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"homedecor_fence_barbed_wire_gate_edges.png",
|
"homedecor_fence_barbed_wire_gate_edges.png",
|
||||||
"homedecor_fence_barbed_wire_gate_edges.png",
|
"homedecor_fence_barbed_wire_gate_edges.png",
|
||||||
@ -493,7 +502,7 @@ minetest.register_node("homedecor:fence_barbed_wire_gate_closed", {
|
|||||||
|
|
||||||
minetest.register_node("homedecor:fence_barbed_wire_gate_open", {
|
minetest.register_node("homedecor:fence_barbed_wire_gate_open", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Barbed Wire Fence Gate",
|
description = S("Barbed Wire Fence Gate"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"homedecor_fence_barbed_wire_gate_edges.png",
|
"homedecor_fence_barbed_wire_gate_edges.png",
|
||||||
"homedecor_fence_barbed_wire_gate_edges.png",
|
"homedecor_fence_barbed_wire_gate_edges.png",
|
||||||
@ -527,7 +536,7 @@ minetest.register_node("homedecor:fence_barbed_wire_gate_open", {
|
|||||||
|
|
||||||
minetest.register_node("homedecor:fence_chainlink_gate_closed", {
|
minetest.register_node("homedecor:fence_chainlink_gate_closed", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Chainlink Fence Gate",
|
description = S("Chainlink Fence Gate"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"homedecor_fence_chainlink_gate_tb.png",
|
"homedecor_fence_chainlink_gate_tb.png",
|
||||||
"homedecor_fence_chainlink_gate_tb.png",
|
"homedecor_fence_chainlink_gate_tb.png",
|
||||||
@ -561,7 +570,7 @@ minetest.register_node("homedecor:fence_chainlink_gate_closed", {
|
|||||||
|
|
||||||
minetest.register_node("homedecor:fence_chainlink_gate_open", {
|
minetest.register_node("homedecor:fence_chainlink_gate_open", {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Chainlink Fence Gate (open)",
|
description = S("Chainlink Fence Gate (open)"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"homedecor_fence_chainlink_gate_tb.png",
|
"homedecor_fence_chainlink_gate_tb.png",
|
||||||
"homedecor_fence_chainlink_gate_tb.png",
|
"homedecor_fence_chainlink_gate_tb.png",
|
||||||
|
99
init.lua
99
init.lua
@ -13,6 +13,15 @@
|
|||||||
|
|
||||||
local DEBUG = 0
|
local DEBUG = 0
|
||||||
|
|
||||||
|
-- Boilerplate to support localized strings if intllib mod is installed.
|
||||||
|
local S
|
||||||
|
if (minetest.get_modpath("intllib")) then
|
||||||
|
dofile(minetest.get_modpath("intllib").."/intllib.lua")
|
||||||
|
S = intllib.Getter(minetest.get_current_modname())
|
||||||
|
else
|
||||||
|
S = function ( s ) return s end
|
||||||
|
end
|
||||||
|
|
||||||
-- Various Functions
|
-- Various Functions
|
||||||
|
|
||||||
local dbg = function(s)
|
local dbg = function(s)
|
||||||
@ -31,19 +40,19 @@ function homedecor_node_is_owned(pos, placer)
|
|||||||
elseif type(GetNodeOwnerName) == "function" then -- ...is a recent version
|
elseif type(GetNodeOwnerName) == "function" then -- ...is a recent version
|
||||||
ownername = GetNodeOwnerName(pos)
|
ownername = GetNodeOwnerName(pos)
|
||||||
else
|
else
|
||||||
ownername = "someone"
|
ownername = S("someone")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
elseif type(isprotect)=="function" then -- glomie's protection mod
|
elseif type(isprotect)=="function" then -- glomie's protection mod
|
||||||
if not isprotect(5, pos, placer) then
|
if not isprotect(5, pos, placer) then
|
||||||
ownername = "someone"
|
ownername = S("someone")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if ownername ~= false then
|
if ownername ~= false then
|
||||||
minetest.chat_send_player( placer:get_player_name(), "Sorry, "..ownername.." owns that spot." )
|
minetest.chat_send_player( placer:get_player_name(), S("Sorry, %s owns that spot."):format(ownername) )
|
||||||
return true
|
return true
|
||||||
else
|
else
|
||||||
return false
|
return false
|
||||||
@ -53,7 +62,7 @@ end
|
|||||||
-- Nodes
|
-- Nodes
|
||||||
|
|
||||||
minetest.register_node('homedecor:shingles_wood', {
|
minetest.register_node('homedecor:shingles_wood', {
|
||||||
description = "Wood Shingles",
|
description = S("Wood Shingles"),
|
||||||
drawtype = 'raillike',
|
drawtype = 'raillike',
|
||||||
tiles = { 'homedecor_shingles_wood.png' },
|
tiles = { 'homedecor_shingles_wood.png' },
|
||||||
wield_image = 'homedecor_shingles_wood.png',
|
wield_image = 'homedecor_shingles_wood.png',
|
||||||
@ -66,7 +75,7 @@ minetest.register_node('homedecor:shingles_wood', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:skylight', {
|
minetest.register_node('homedecor:skylight', {
|
||||||
description = "Glass Skylight",
|
description = S("Glass Skylight"),
|
||||||
drawtype = 'raillike',
|
drawtype = 'raillike',
|
||||||
tiles = { 'default_glass.png' },
|
tiles = { 'default_glass.png' },
|
||||||
wield_image = 'default_glass.png',
|
wield_image = 'default_glass.png',
|
||||||
@ -79,7 +88,7 @@ minetest.register_node('homedecor:skylight', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:shingles_asphalt', {
|
minetest.register_node('homedecor:shingles_asphalt', {
|
||||||
description = "Asphalt Shingles",
|
description = S("Asphalt Shingles"),
|
||||||
drawtype = 'raillike',
|
drawtype = 'raillike',
|
||||||
tiles = { 'homedecor_shingles_asphalt.png' },
|
tiles = { 'homedecor_shingles_asphalt.png' },
|
||||||
wield_image = 'homedecor_shingles_asphalt.png',
|
wield_image = 'homedecor_shingles_asphalt.png',
|
||||||
@ -92,7 +101,7 @@ minetest.register_node('homedecor:shingles_asphalt', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:shingles_terracotta', {
|
minetest.register_node('homedecor:shingles_terracotta', {
|
||||||
description = "Terracotta Roofing",
|
description = S("Terracotta Roofing"),
|
||||||
drawtype = 'raillike',
|
drawtype = 'raillike',
|
||||||
tiles = { 'homedecor_shingles_terracotta.png' },
|
tiles = { 'homedecor_shingles_terracotta.png' },
|
||||||
wield_image = 'homedecor_shingles_terracotta.png',
|
wield_image = 'homedecor_shingles_terracotta.png',
|
||||||
@ -107,7 +116,7 @@ minetest.register_node('homedecor:shingles_terracotta', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:projection_screen', {
|
minetest.register_node('homedecor:projection_screen', {
|
||||||
description = "Projection Screen Material",
|
description = S("Projection Screen Material"),
|
||||||
drawtype = 'signlike',
|
drawtype = 'signlike',
|
||||||
tiles = { 'homedecor_projection_screen.png' },
|
tiles = { 'homedecor_projection_screen.png' },
|
||||||
wield_image = 'homedecor_projection_screen_inv.png',
|
wield_image = 'homedecor_projection_screen_inv.png',
|
||||||
@ -125,7 +134,7 @@ minetest.register_node('homedecor:projection_screen', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:ceiling_paint', {
|
minetest.register_node('homedecor:ceiling_paint', {
|
||||||
description = "Textured Ceiling Paint",
|
description = S("Textured Ceiling Paint"),
|
||||||
drawtype = 'signlike',
|
drawtype = 'signlike',
|
||||||
tiles = { 'homedecor_ceiling_paint.png' },
|
tiles = { 'homedecor_ceiling_paint.png' },
|
||||||
inventory_image = 'homedecor_ceiling_paint_roller.png',
|
inventory_image = 'homedecor_ceiling_paint_roller.png',
|
||||||
@ -144,7 +153,7 @@ minetest.register_node('homedecor:ceiling_paint', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:ceiling_tile', {
|
minetest.register_node('homedecor:ceiling_tile', {
|
||||||
description = "Drop-Ceiling Tile",
|
description = S("Drop-Ceiling Tile"),
|
||||||
drawtype = 'signlike',
|
drawtype = 'signlike',
|
||||||
tiles = { 'homedecor_ceiling_tile.png' },
|
tiles = { 'homedecor_ceiling_tile.png' },
|
||||||
wield_image = 'homedecor_ceiling_tile.png',
|
wield_image = 'homedecor_ceiling_tile.png',
|
||||||
@ -163,7 +172,7 @@ minetest.register_node('homedecor:ceiling_tile', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:rug_small', {
|
minetest.register_node('homedecor:rug_small', {
|
||||||
description = "Small Throw Rug",
|
description = S("Small Throw Rug"),
|
||||||
drawtype = 'signlike',
|
drawtype = 'signlike',
|
||||||
tiles = { 'homedecor_rug_small.png' },
|
tiles = { 'homedecor_rug_small.png' },
|
||||||
wield_image = 'homedecor_rug_small.png',
|
wield_image = 'homedecor_rug_small.png',
|
||||||
@ -184,7 +193,7 @@ minetest.register_node('homedecor:rug_small', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:rug_large', {
|
minetest.register_node('homedecor:rug_large', {
|
||||||
description = "Large Area Rug",
|
description = S("Large Area Rug"),
|
||||||
drawtype = 'signlike',
|
drawtype = 'signlike',
|
||||||
tiles = { 'homedecor_rug_large.png' },
|
tiles = { 'homedecor_rug_large.png' },
|
||||||
wield_image = 'homedecor_rug_large.png',
|
wield_image = 'homedecor_rug_large.png',
|
||||||
@ -205,7 +214,7 @@ minetest.register_node('homedecor:rug_large', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:glass_table_large', {
|
minetest.register_node('homedecor:glass_table_large', {
|
||||||
description = "Large Glass Table Piece",
|
description = S("Large Glass Table Piece"),
|
||||||
drawtype = 'signlike',
|
drawtype = 'signlike',
|
||||||
tiles = { 'homedecor_glass_table_large.png' },
|
tiles = { 'homedecor_glass_table_large.png' },
|
||||||
wield_image = 'homedecor_glass_table_large.png',
|
wield_image = 'homedecor_glass_table_large.png',
|
||||||
@ -226,7 +235,7 @@ minetest.register_node('homedecor:glass_table_large', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:glass_table_small_round', {
|
minetest.register_node('homedecor:glass_table_small_round', {
|
||||||
description = "Glass Table (Small, Round)",
|
description = S("Glass Table (Small, Round)"),
|
||||||
drawtype = 'signlike',
|
drawtype = 'signlike',
|
||||||
tiles = { 'homedecor_glass_table_small_round.png' },
|
tiles = { 'homedecor_glass_table_small_round.png' },
|
||||||
wield_image = 'homedecor_glass_table_small_round.png',
|
wield_image = 'homedecor_glass_table_small_round.png',
|
||||||
@ -247,7 +256,7 @@ minetest.register_node('homedecor:glass_table_small_round', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:glass_table_small_square', {
|
minetest.register_node('homedecor:glass_table_small_square', {
|
||||||
description = "Glass Table (Small, Square)",
|
description = S("Glass Table (Small, Square)"),
|
||||||
drawtype = 'signlike',
|
drawtype = 'signlike',
|
||||||
tiles = { 'homedecor_glass_table_small_square.png' },
|
tiles = { 'homedecor_glass_table_small_square.png' },
|
||||||
wield_image = 'homedecor_glass_table_small_square.png',
|
wield_image = 'homedecor_glass_table_small_square.png',
|
||||||
@ -268,7 +277,7 @@ minetest.register_node('homedecor:glass_table_small_square', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("homedecor:table_legs_brass", {
|
minetest.register_node("homedecor:table_legs_brass", {
|
||||||
description = "Brass Table Legs",
|
description = S("Brass Table Legs"),
|
||||||
drawtype = "plantlike",
|
drawtype = "plantlike",
|
||||||
tiles = {"homedecor_table_legs_brass.png"},
|
tiles = {"homedecor_table_legs_brass.png"},
|
||||||
inventory_image = "homedecor_table_legs_brass.png",
|
inventory_image = "homedecor_table_legs_brass.png",
|
||||||
@ -282,7 +291,7 @@ minetest.register_node("homedecor:table_legs_brass", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("homedecor:table_legs_wrought_iron", {
|
minetest.register_node("homedecor:table_legs_wrought_iron", {
|
||||||
description = "Brass Table Legs",
|
description = S("Brass Table Legs"),
|
||||||
drawtype = "plantlike",
|
drawtype = "plantlike",
|
||||||
tiles = {"homedecor_table_legs_wrought_iron.png"},
|
tiles = {"homedecor_table_legs_wrought_iron.png"},
|
||||||
inventory_image = "homedecor_table_legs_wrought_iron.png",
|
inventory_image = "homedecor_table_legs_wrought_iron.png",
|
||||||
@ -296,7 +305,7 @@ minetest.register_node("homedecor:table_legs_wrought_iron", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:stereo', {
|
minetest.register_node('homedecor:stereo', {
|
||||||
description = "Stereo Receiver",
|
description = S("Stereo Receiver"),
|
||||||
tiles = { 'homedecor_stereo_top.png',
|
tiles = { 'homedecor_stereo_top.png',
|
||||||
'homedecor_stereo_bottom.png',
|
'homedecor_stereo_bottom.png',
|
||||||
'homedecor_stereo_right.png',
|
'homedecor_stereo_right.png',
|
||||||
@ -312,7 +321,7 @@ minetest.register_node('homedecor:stereo', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:utility_table_top', {
|
minetest.register_node('homedecor:utility_table_top', {
|
||||||
description = "Utility Table",
|
description = S("Utility Table"),
|
||||||
tiles = { 'homedecor_utility_table_top.png' },
|
tiles = { 'homedecor_utility_table_top.png' },
|
||||||
inventory_image = 'homedecor_utility_table_top.png',
|
inventory_image = 'homedecor_utility_table_top.png',
|
||||||
wield_image = 'homedecor_utility_table_top.png',
|
wield_image = 'homedecor_utility_table_top.png',
|
||||||
@ -335,7 +344,7 @@ minetest.register_node('homedecor:utility_table_top', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:utility_table_legs', {
|
minetest.register_node('homedecor:utility_table_legs', {
|
||||||
description = "Legs for Utility Table",
|
description = S("Legs for Utility Table"),
|
||||||
tiles = { 'homedecor_utility_table_legs.png' },
|
tiles = { 'homedecor_utility_table_legs.png' },
|
||||||
inventory_image = 'homedecor_utility_table_legs_inv.png',
|
inventory_image = 'homedecor_utility_table_legs_inv.png',
|
||||||
wield_image = 'homedecor_utility_table_legs.png',
|
wield_image = 'homedecor_utility_table_legs.png',
|
||||||
@ -350,7 +359,7 @@ minetest.register_node('homedecor:utility_table_legs', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:flower_pot_terracotta', {
|
minetest.register_node('homedecor:flower_pot_terracotta', {
|
||||||
description = "Terracotta Flower Pot",
|
description = S("Terracotta Flower Pot"),
|
||||||
tiles = { 'homedecor_flower_pot_terracotta_top.png',
|
tiles = { 'homedecor_flower_pot_terracotta_top.png',
|
||||||
'homedecor_flower_pot_terracotta_bottom.png',
|
'homedecor_flower_pot_terracotta_bottom.png',
|
||||||
'homedecor_flower_pot_terracotta_sides.png',
|
'homedecor_flower_pot_terracotta_sides.png',
|
||||||
@ -366,7 +375,7 @@ minetest.register_node('homedecor:flower_pot_terracotta', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:flower_pot_black', {
|
minetest.register_node('homedecor:flower_pot_black', {
|
||||||
description = "Black Plastic Flower Pot",
|
description = S("Black Plastic Flower Pot"),
|
||||||
tiles = { 'homedecor_flower_pot_black_top.png',
|
tiles = { 'homedecor_flower_pot_black_top.png',
|
||||||
'homedecor_flower_pot_black_bottom.png',
|
'homedecor_flower_pot_black_bottom.png',
|
||||||
'homedecor_flower_pot_black_sides.png',
|
'homedecor_flower_pot_black_sides.png',
|
||||||
@ -382,7 +391,7 @@ minetest.register_node('homedecor:flower_pot_black', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:flower_pot_green', {
|
minetest.register_node('homedecor:flower_pot_green', {
|
||||||
description = "Green Plastic Flower Pot",
|
description = S("Green Plastic Flower Pot"),
|
||||||
tiles = { 'homedecor_flower_pot_green_top.png',
|
tiles = { 'homedecor_flower_pot_green_top.png',
|
||||||
'homedecor_flower_pot_green_bottom.png',
|
'homedecor_flower_pot_green_bottom.png',
|
||||||
'homedecor_flower_pot_green_sides.png',
|
'homedecor_flower_pot_green_sides.png',
|
||||||
@ -398,7 +407,7 @@ minetest.register_node('homedecor:flower_pot_green', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:wood_table_large', {
|
minetest.register_node('homedecor:wood_table_large', {
|
||||||
description = "Wooden Tabletop piece",
|
description = S("Wooden Tabletop piece"),
|
||||||
tiles = { 'homedecor_wood_table_large.png' },
|
tiles = { 'homedecor_wood_table_large.png' },
|
||||||
inventory_image = 'homedecor_wood_table_large.png',
|
inventory_image = 'homedecor_wood_table_large.png',
|
||||||
wield_image = 'homedecor_wood_table_large.png',
|
wield_image = 'homedecor_wood_table_large.png',
|
||||||
@ -419,7 +428,7 @@ minetest.register_node('homedecor:wood_table_large', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:wood_table_small_round', {
|
minetest.register_node('homedecor:wood_table_small_round', {
|
||||||
description = "Wooden Tabletop (Small, Round)",
|
description = S("Wooden Tabletop (Small, Round)"),
|
||||||
tiles = { 'homedecor_wood_table_small_round.png' },
|
tiles = { 'homedecor_wood_table_small_round.png' },
|
||||||
inventory_image = 'homedecor_wood_table_small_round.png',
|
inventory_image = 'homedecor_wood_table_small_round.png',
|
||||||
wield_image = 'homedecor_wood_table_small_round.png',
|
wield_image = 'homedecor_wood_table_small_round.png',
|
||||||
@ -440,7 +449,7 @@ minetest.register_node('homedecor:wood_table_small_round', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:wood_table_small_square', {
|
minetest.register_node('homedecor:wood_table_small_square', {
|
||||||
description = "Wooden Tabletop (Small, Square)",
|
description = S("Wooden Tabletop (Small, Square)"),
|
||||||
tiles = { 'homedecor_wood_table_small_square.png' },
|
tiles = { 'homedecor_wood_table_small_square.png' },
|
||||||
inventory_image = 'homedecor_wood_table_small_square.png',
|
inventory_image = 'homedecor_wood_table_small_square.png',
|
||||||
wield_image = 'homedecor_wood_table_small_square.png',
|
wield_image = 'homedecor_wood_table_small_square.png',
|
||||||
@ -461,7 +470,7 @@ minetest.register_node('homedecor:wood_table_small_square', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:shutter_black', {
|
minetest.register_node('homedecor:shutter_black', {
|
||||||
description = "Wooden Shutter (Black)",
|
description = S("Wooden Shutter (Black)"),
|
||||||
tiles = { 'homedecor_window_shutter_black.png' },
|
tiles = { 'homedecor_window_shutter_black.png' },
|
||||||
inventory_image = 'homedecor_window_shutter_black.png',
|
inventory_image = 'homedecor_window_shutter_black.png',
|
||||||
wield_image = 'homedecor_window_shutter_black.png',
|
wield_image = 'homedecor_window_shutter_black.png',
|
||||||
@ -480,7 +489,7 @@ minetest.register_node('homedecor:shutter_black', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:shutter_mahogany', {
|
minetest.register_node('homedecor:shutter_mahogany', {
|
||||||
description = "Wooden Shutter (Unpainted Mahogany)",
|
description = S("Wooden Shutter (Unpainted Mahogany)"),
|
||||||
tiles = { 'homedecor_window_shutter_mahogany.png' },
|
tiles = { 'homedecor_window_shutter_mahogany.png' },
|
||||||
inventory_image = 'homedecor_window_shutter_mahogany.png',
|
inventory_image = 'homedecor_window_shutter_mahogany.png',
|
||||||
wield_image = 'homedecor_window_shutter_mahogany.png',
|
wield_image = 'homedecor_window_shutter_mahogany.png',
|
||||||
@ -499,7 +508,7 @@ minetest.register_node('homedecor:shutter_mahogany', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:shutter_oak', {
|
minetest.register_node('homedecor:shutter_oak', {
|
||||||
description = "Wooden Shutter (Unpainted Oak)",
|
description = S("Wooden Shutter (Unpainted Oak)"),
|
||||||
tiles = { 'homedecor_window_shutter_oak.png' },
|
tiles = { 'homedecor_window_shutter_oak.png' },
|
||||||
inventory_image = 'homedecor_window_shutter_oak.png',
|
inventory_image = 'homedecor_window_shutter_oak.png',
|
||||||
wield_image = 'homedecor_window_shutter_oak.png',
|
wield_image = 'homedecor_window_shutter_oak.png',
|
||||||
@ -518,7 +527,7 @@ minetest.register_node('homedecor:shutter_oak', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:shutter_dark_grey', {
|
minetest.register_node('homedecor:shutter_dark_grey', {
|
||||||
description = "Wooden Shutter (Dark Grey)",
|
description = S("Wooden Shutter (Dark Grey)"),
|
||||||
tiles = { 'homedecor_window_shutter_dark_grey.png' },
|
tiles = { 'homedecor_window_shutter_dark_grey.png' },
|
||||||
inventory_image = 'homedecor_window_shutter_dark_grey.png',
|
inventory_image = 'homedecor_window_shutter_dark_grey.png',
|
||||||
wield_image = 'homedecor_window_shutter_dark_grey.png',
|
wield_image = 'homedecor_window_shutter_dark_grey.png',
|
||||||
@ -537,7 +546,7 @@ minetest.register_node('homedecor:shutter_dark_grey', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:shutter_forest_green', {
|
minetest.register_node('homedecor:shutter_forest_green', {
|
||||||
description = "Wooden Shutter (Forest Green)",
|
description = S("Wooden Shutter (Forest Green)"),
|
||||||
tiles = { 'homedecor_window_shutter_forest_green.png' },
|
tiles = { 'homedecor_window_shutter_forest_green.png' },
|
||||||
inventory_image = 'homedecor_window_shutter_forest_green.png',
|
inventory_image = 'homedecor_window_shutter_forest_green.png',
|
||||||
wield_image = 'homedecor_window_shutter_forest_green.png',
|
wield_image = 'homedecor_window_shutter_forest_green.png',
|
||||||
@ -556,7 +565,7 @@ minetest.register_node('homedecor:shutter_forest_green', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:shutter_grey', {
|
minetest.register_node('homedecor:shutter_grey', {
|
||||||
description = "Wooden Shutter (Grey)",
|
description = S("Wooden Shutter (Grey)"),
|
||||||
tiles = { 'homedecor_window_shutter_grey.png' },
|
tiles = { 'homedecor_window_shutter_grey.png' },
|
||||||
inventory_image = 'homedecor_window_shutter_grey.png',
|
inventory_image = 'homedecor_window_shutter_grey.png',
|
||||||
wield_image = 'homedecor_window_shutter_grey.png',
|
wield_image = 'homedecor_window_shutter_grey.png',
|
||||||
@ -575,7 +584,7 @@ minetest.register_node('homedecor:shutter_grey', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:shutter_light_blue', {
|
minetest.register_node('homedecor:shutter_light_blue', {
|
||||||
description = "Wooden Shutter (Light Blue)",
|
description = S("Wooden Shutter (Light Blue)"),
|
||||||
tiles = { 'homedecor_window_shutter_light_blue.png' },
|
tiles = { 'homedecor_window_shutter_light_blue.png' },
|
||||||
inventory_image = 'homedecor_window_shutter_light_blue.png',
|
inventory_image = 'homedecor_window_shutter_light_blue.png',
|
||||||
wield_image = 'homedecor_window_shutter_light_blue.png',
|
wield_image = 'homedecor_window_shutter_light_blue.png',
|
||||||
@ -594,7 +603,7 @@ minetest.register_node('homedecor:shutter_light_blue', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:shutter_purple', {
|
minetest.register_node('homedecor:shutter_purple', {
|
||||||
description = "Wooden Shutter (Purple)",
|
description = S("Wooden Shutter (Purple)"),
|
||||||
tiles = { 'homedecor_window_shutter_purple.png' },
|
tiles = { 'homedecor_window_shutter_purple.png' },
|
||||||
inventory_image = 'homedecor_window_shutter_purple.png',
|
inventory_image = 'homedecor_window_shutter_purple.png',
|
||||||
wield_image = 'homedecor_window_shutter_purple.png',
|
wield_image = 'homedecor_window_shutter_purple.png',
|
||||||
@ -613,7 +622,7 @@ minetest.register_node('homedecor:shutter_purple', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:shutter_red', {
|
minetest.register_node('homedecor:shutter_red', {
|
||||||
description = "Wooden Shutter (Red)",
|
description = S("Wooden Shutter (Red)"),
|
||||||
tiles = { 'homedecor_window_shutter_red.png' },
|
tiles = { 'homedecor_window_shutter_red.png' },
|
||||||
inventory_image = 'homedecor_window_shutter_red.png',
|
inventory_image = 'homedecor_window_shutter_red.png',
|
||||||
wield_image = 'homedecor_window_shutter_red.png',
|
wield_image = 'homedecor_window_shutter_red.png',
|
||||||
@ -632,7 +641,7 @@ minetest.register_node('homedecor:shutter_red', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:shutter_white', {
|
minetest.register_node('homedecor:shutter_white', {
|
||||||
description = "Wooden Shutter (White)",
|
description = S("Wooden Shutter (White)"),
|
||||||
tiles = { 'homedecor_window_shutter_white.png' },
|
tiles = { 'homedecor_window_shutter_white.png' },
|
||||||
inventory_image = 'homedecor_window_shutter_white.png',
|
inventory_image = 'homedecor_window_shutter_white.png',
|
||||||
wield_image = 'homedecor_window_shutter_white.png',
|
wield_image = 'homedecor_window_shutter_white.png',
|
||||||
@ -651,7 +660,7 @@ minetest.register_node('homedecor:shutter_white', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:shutter_yellow', {
|
minetest.register_node('homedecor:shutter_yellow', {
|
||||||
description = "Wooden Shutter (Yellow)",
|
description = S("Wooden Shutter (Yellow)"),
|
||||||
tiles = { 'homedecor_window_shutter_yellow.png' },
|
tiles = { 'homedecor_window_shutter_yellow.png' },
|
||||||
inventory_image = 'homedecor_window_shutter_yellow.png',
|
inventory_image = 'homedecor_window_shutter_yellow.png',
|
||||||
wield_image = 'homedecor_window_shutter_yellow.png',
|
wield_image = 'homedecor_window_shutter_yellow.png',
|
||||||
@ -671,7 +680,7 @@ minetest.register_node('homedecor:shutter_yellow', {
|
|||||||
|
|
||||||
|
|
||||||
minetest.register_node('homedecor:utilitytable2', {
|
minetest.register_node('homedecor:utilitytable2', {
|
||||||
description = "Utility table mk2",
|
description = S("Utility table mk2"),
|
||||||
tiles = { 'homedecor_utility_table_top.png',
|
tiles = { 'homedecor_utility_table_top.png',
|
||||||
'homedecor_blanktile.png',
|
'homedecor_blanktile.png',
|
||||||
'homedecor_utility_table_legs.png',
|
'homedecor_utility_table_legs.png',
|
||||||
@ -699,7 +708,7 @@ for i = 1, detail-1 do
|
|||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_node("homedecor:pole_brass", {
|
minetest.register_node("homedecor:pole_brass", {
|
||||||
description = "Brass Pole",
|
description = S("Brass Pole"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {"homedecor_tile_brass2.png"},
|
tiles = {"homedecor_tile_brass2.png"},
|
||||||
inventory_image = "homedecor_pole_brass2.png",
|
inventory_image = "homedecor_pole_brass2.png",
|
||||||
@ -720,7 +729,7 @@ minetest.register_node("homedecor:pole_brass", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("homedecor:pole_wrought_iron", {
|
minetest.register_node("homedecor:pole_wrought_iron", {
|
||||||
description = "Wrought Iron Pole",
|
description = S("Wrought Iron Pole"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {"homedecor_tile_wrought_iron2.png"},
|
tiles = {"homedecor_tile_wrought_iron2.png"},
|
||||||
inventory_image = "homedecor_pole_wrought_iron.png",
|
inventory_image = "homedecor_pole_wrought_iron.png",
|
||||||
@ -741,7 +750,7 @@ minetest.register_node("homedecor:pole_wrought_iron", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:speaker', {
|
minetest.register_node('homedecor:speaker', {
|
||||||
description = "Large Stereo Speaker",
|
description = S("Large Stereo Speaker"),
|
||||||
tiles = { 'homedecor_speaker_top.png',
|
tiles = { 'homedecor_speaker_top.png',
|
||||||
'homedecor_speaker_bottom.png',
|
'homedecor_speaker_bottom.png',
|
||||||
'homedecor_speaker_right.png',
|
'homedecor_speaker_right.png',
|
||||||
@ -757,7 +766,7 @@ minetest.register_node('homedecor:speaker', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:speaker_small', {
|
minetest.register_node('homedecor:speaker_small', {
|
||||||
description = "Small Surround Speaker",
|
description = S("Small Surround Speaker"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
'homedecor_speaker_top.png',
|
'homedecor_speaker_top.png',
|
||||||
@ -796,10 +805,10 @@ local curtaincolors = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for c in ipairs(curtaincolors) do
|
for c in ipairs(curtaincolors) do
|
||||||
local color = curtaincolors[c]
|
local color = S(curtaincolors[c])
|
||||||
|
|
||||||
minetest.register_node("homedecor:curtain_"..color, {
|
minetest.register_node("homedecor:curtain_"..color, {
|
||||||
description = "Curtains ("..color..")",
|
description = S("Curtains (%s)"):format(color),
|
||||||
tiles = { "homedecor_curtain_"..color..".png" },
|
tiles = { "homedecor_curtain_"..color..".png" },
|
||||||
inventory_image = "homedecor_curtain_"..color..".png",
|
inventory_image = "homedecor_curtain_"..color..".png",
|
||||||
wield_image = "homedecor_curtain_"..color..".png",
|
wield_image = "homedecor_curtain_"..color..".png",
|
||||||
@ -836,4 +845,4 @@ dofile(minetest.get_modpath("homedecor").."/crafts.lua")
|
|||||||
|
|
||||||
dofile(minetest.get_modpath("homedecor").."/locked.lua")
|
dofile(minetest.get_modpath("homedecor").."/locked.lua")
|
||||||
|
|
||||||
print("[HomeDecor] Loaded!")
|
print("[HomeDecor] "..S("Loaded!"))
|
||||||
|
@ -1,7 +1,16 @@
|
|||||||
-- This file supplies Kitchen cabinets and kitchen sink
|
-- This file supplies Kitchen cabinets and kitchen sink
|
||||||
|
|
||||||
|
-- Boilerplate to support localized strings if intllib mod is installed.
|
||||||
|
local S
|
||||||
|
if (minetest.get_modpath("intllib")) then
|
||||||
|
dofile(minetest.get_modpath("intllib").."/intllib.lua")
|
||||||
|
S = intllib.Getter(minetest.get_current_modname())
|
||||||
|
else
|
||||||
|
S = function ( s ) return s end
|
||||||
|
end
|
||||||
|
|
||||||
minetest.register_node('homedecor:kitchen_cabinet', {
|
minetest.register_node('homedecor:kitchen_cabinet', {
|
||||||
description = "Kitchen Cabinet",
|
description = S("Kitchen Cabinet"),
|
||||||
tiles = { 'homedecor_kitchen_cabinet_top.png',
|
tiles = { 'homedecor_kitchen_cabinet_top.png',
|
||||||
'homedecor_kitchen_cabinet_bottom.png',
|
'homedecor_kitchen_cabinet_bottom.png',
|
||||||
'homedecor_kitchen_cabinet_sides.png',
|
'homedecor_kitchen_cabinet_sides.png',
|
||||||
@ -20,7 +29,7 @@ minetest.register_node('homedecor:kitchen_cabinet', {
|
|||||||
"size[8,8]"..
|
"size[8,8]"..
|
||||||
"list[current_name;main;0,0;8,3;]"..
|
"list[current_name;main;0,0;8,3;]"..
|
||||||
"list[current_player;main;0,4;8,4;]")
|
"list[current_player;main;0,4;8,4;]")
|
||||||
meta:set_string("infotext", "Kitchen cabinet")
|
meta:set_string("infotext", S("Kitchen Cabinet"))
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
inv:set_size("main", 24)
|
inv:set_size("main", 24)
|
||||||
end,
|
end,
|
||||||
@ -30,16 +39,22 @@ minetest.register_node('homedecor:kitchen_cabinet', {
|
|||||||
return inv:is_empty("main")
|
return inv:is_empty("main")
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s moves stuff in kitchen cabinet at %s"):format(
|
||||||
" moves stuff in kitchen cabinet at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s moves stuff to kitchen cabinet at %s"):format(
|
||||||
" moves stuff to kitchen cabinet at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s takes stuff from kitchen cabinet at %s"):format(
|
||||||
" takes stuff from kitchen cabinet at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -72,7 +87,7 @@ minetest.register_node('homedecor:kitchen_cabinet_half', {
|
|||||||
"size[8,7]"..
|
"size[8,7]"..
|
||||||
"list[current_name;main;1,0;6,2;]"..
|
"list[current_name;main;1,0;6,2;]"..
|
||||||
"list[current_player;main;0,3;8,4;]")
|
"list[current_player;main;0,3;8,4;]")
|
||||||
meta:set_string("infotext", "Kitchen cabinet")
|
meta:set_string("infotext", S("Kitchen Cabinet"))
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
inv:set_size("main", 12)
|
inv:set_size("main", 12)
|
||||||
end,
|
end,
|
||||||
@ -82,23 +97,28 @@ minetest.register_node('homedecor:kitchen_cabinet_half', {
|
|||||||
return inv:is_empty("main")
|
return inv:is_empty("main")
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s moves stuff in kitchen cabinet at %s"):format(
|
||||||
" moves stuff in kitchen cabinet at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s moves stuff to kitchen cabinet at %s"):format(
|
||||||
" moves stuff to kitchen cabinet at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s takes stuff from kitchen cabinet at %s"):format(
|
||||||
" takes stuff from kitchen cabinet at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
minetest.register_node('homedecor:kitchen_cabinet_with_sink', {
|
minetest.register_node('homedecor:kitchen_cabinet_with_sink', {
|
||||||
description = "Kitchen Cabinet with sink",
|
description = S("Kitchen Cabinet with sink"),
|
||||||
tiles = { 'homedecor_kitchen_cabinet_sinktop.png',
|
tiles = { 'homedecor_kitchen_cabinet_sinktop.png',
|
||||||
'homedecor_kitchen_cabinet_bottom.png',
|
'homedecor_kitchen_cabinet_bottom.png',
|
||||||
'homedecor_kitchen_cabinet_sides.png',
|
'homedecor_kitchen_cabinet_sides.png',
|
||||||
@ -117,7 +137,7 @@ minetest.register_node('homedecor:kitchen_cabinet_with_sink', {
|
|||||||
"size[8,7]"..
|
"size[8,7]"..
|
||||||
"list[current_name;main;0,0;8,2;]"..
|
"list[current_name;main;0,0;8,2;]"..
|
||||||
"list[current_player;main;0,3;8,4;]")
|
"list[current_player;main;0,3;8,4;]")
|
||||||
meta:set_string("infotext", "Under-sink cabinet")
|
meta:set_string("infotext", S("Under-sink cabinet"))
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
inv:set_size("main", 16)
|
inv:set_size("main", 16)
|
||||||
end,
|
end,
|
||||||
@ -127,16 +147,21 @@ minetest.register_node('homedecor:kitchen_cabinet_with_sink', {
|
|||||||
return inv:is_empty("main")
|
return inv:is_empty("main")
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s moves stuff in kitchen cabinet at %s"):format(
|
||||||
" moves stuff in under-sink cabinet at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s moves stuff to kitchen cabinet at %s"):format(
|
||||||
" moves stuff to under-sink cabinet at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s takes stuff from kitchen cabinet at %s"):format(
|
||||||
" takes stuff from under-sink cabinet at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
33
lighting.lua
33
lighting.lua
@ -1,10 +1,19 @@
|
|||||||
|
|
||||||
-- This file supplies glowlights
|
-- This file supplies glowlights
|
||||||
|
|
||||||
|
-- Boilerplate to support localized strings if intllib mod is installed.
|
||||||
|
local S
|
||||||
|
if (minetest.get_modpath("intllib")) then
|
||||||
|
dofile(minetest.get_modpath("intllib").."/intllib.lua")
|
||||||
|
S = intllib.Getter(minetest.get_current_modname())
|
||||||
|
else
|
||||||
|
S = function ( s ) return s end
|
||||||
|
end
|
||||||
|
|
||||||
-- Yellow
|
-- Yellow
|
||||||
|
|
||||||
minetest.register_node('homedecor:glowlight_thick_yellow', {
|
minetest.register_node('homedecor:glowlight_thick_yellow', {
|
||||||
description = "Yellow Glowlight (thick)",
|
description = S("Yellow Glowlight (thick)"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
'homedecor_glowlight_yellow_tb.png',
|
'homedecor_glowlight_yellow_tb.png',
|
||||||
@ -32,7 +41,7 @@ minetest.register_node('homedecor:glowlight_thick_yellow', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:glowlight_thick_yellow_wall', {
|
minetest.register_node('homedecor:glowlight_thick_yellow_wall', {
|
||||||
description = "Yellow Glowlight (thick, on wall)",
|
description = S("Yellow Glowlight (thick, on wall)"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
'homedecor_glowlight_thick_yellow_sides.png',
|
'homedecor_glowlight_thick_yellow_sides.png',
|
||||||
@ -60,7 +69,7 @@ minetest.register_node('homedecor:glowlight_thick_yellow_wall', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:glowlight_thin_yellow', {
|
minetest.register_node('homedecor:glowlight_thin_yellow', {
|
||||||
description = "Yellow Glowlight (thin)",
|
description = S("Yellow Glowlight (thin)"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
'homedecor_glowlight_yellow_tb.png',
|
'homedecor_glowlight_yellow_tb.png',
|
||||||
@ -88,7 +97,7 @@ minetest.register_node('homedecor:glowlight_thin_yellow', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:glowlight_thin_yellow_wall', {
|
minetest.register_node('homedecor:glowlight_thin_yellow_wall', {
|
||||||
description = "Yellow Glowlight (thin, on wall)",
|
description = S("Yellow Glowlight (thin, on wall)"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
'homedecor_glowlight_thin_yellow_sides.png',
|
'homedecor_glowlight_thin_yellow_sides.png',
|
||||||
@ -116,7 +125,7 @@ minetest.register_node('homedecor:glowlight_thin_yellow_wall', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:glowlight_small_cube_yellow', {
|
minetest.register_node('homedecor:glowlight_small_cube_yellow', {
|
||||||
description = "Yellow Glowlight (small cube)",
|
description = S("Yellow Glowlight (small cube)"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
'homedecor_glowlight_cube_yellow_tb.png',
|
'homedecor_glowlight_cube_yellow_tb.png',
|
||||||
@ -144,7 +153,7 @@ minetest.register_node('homedecor:glowlight_small_cube_yellow', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:glowlight_small_cube_yellow_ceiling', {
|
minetest.register_node('homedecor:glowlight_small_cube_yellow_ceiling', {
|
||||||
description = "Yellow Glowlight (small cube, on ceiling)",
|
description = S("Yellow Glowlight (small cube, on ceiling)"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
'homedecor_glowlight_cube_yellow_tb.png',
|
'homedecor_glowlight_cube_yellow_tb.png',
|
||||||
@ -174,7 +183,7 @@ minetest.register_node('homedecor:glowlight_small_cube_yellow_ceiling', {
|
|||||||
-- White
|
-- White
|
||||||
|
|
||||||
minetest.register_node('homedecor:glowlight_thick_white', {
|
minetest.register_node('homedecor:glowlight_thick_white', {
|
||||||
description = "White Glowlight (thick)",
|
description = S("White Glowlight (thick)"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
'homedecor_glowlight_white_tb.png',
|
'homedecor_glowlight_white_tb.png',
|
||||||
@ -202,7 +211,7 @@ minetest.register_node('homedecor:glowlight_thick_white', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:glowlight_thick_white_wall', {
|
minetest.register_node('homedecor:glowlight_thick_white_wall', {
|
||||||
description = "White Glowlight (thick, on wall)",
|
description = S("White Glowlight (thick, on wall)"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
'homedecor_glowlight_thick_white_sides.png',
|
'homedecor_glowlight_thick_white_sides.png',
|
||||||
@ -230,7 +239,7 @@ minetest.register_node('homedecor:glowlight_thick_white_wall', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:glowlight_thin_white', {
|
minetest.register_node('homedecor:glowlight_thin_white', {
|
||||||
description = "White Glowlight (thin)",
|
description = S("White Glowlight (thin)"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
'homedecor_glowlight_white_tb.png',
|
'homedecor_glowlight_white_tb.png',
|
||||||
@ -258,7 +267,7 @@ minetest.register_node('homedecor:glowlight_thin_white', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:glowlight_thin_white_wall', {
|
minetest.register_node('homedecor:glowlight_thin_white_wall', {
|
||||||
description = "White Glowlight (thin, on wall)",
|
description = S("White Glowlight (thin, on wall)"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
'homedecor_glowlight_thin_white_sides.png',
|
'homedecor_glowlight_thin_white_sides.png',
|
||||||
@ -286,7 +295,7 @@ minetest.register_node('homedecor:glowlight_thin_white_wall', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:glowlight_small_cube_white', {
|
minetest.register_node('homedecor:glowlight_small_cube_white', {
|
||||||
description = "White Glowlight (small cube)",
|
description = S("White Glowlight (small cube)"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
'homedecor_glowlight_cube_white_tb.png',
|
'homedecor_glowlight_cube_white_tb.png',
|
||||||
@ -314,7 +323,7 @@ minetest.register_node('homedecor:glowlight_small_cube_white', {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:glowlight_small_cube_white_ceiling', {
|
minetest.register_node('homedecor:glowlight_small_cube_white_ceiling', {
|
||||||
description = "White Glowlight (small cube, on ceiling)",
|
description = S("White Glowlight (small cube, on ceiling)"),
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
tiles = {
|
tiles = {
|
||||||
'homedecor_glowlight_cube_white_tb.png',
|
'homedecor_glowlight_cube_white_tb.png',
|
||||||
|
178
locale/es.txt
Normal file
178
locale/es.txt
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
|
||||||
|
#
|
||||||
|
# Language: Español
|
||||||
|
# Author: Diego Martínez <lkaezadl3@gmail.com>
|
||||||
|
#
|
||||||
|
|
||||||
|
### kitchen_cabinet.lua ###
|
||||||
|
Kitchen Cabinet = Gabinete de Cocina
|
||||||
|
## 1: Player name, 2: position
|
||||||
|
%s moves stuff in kitchen cabinet at %s = %s mueve cosas en gabinete de cocina en %s
|
||||||
|
%s moves stuff to kitchen cabinet at %s = %s mueve cosas al gabinete de cocina en %s
|
||||||
|
%s takes stuff from kitchen cabinet at %s = %s toma cosas del gabinete de cocina en %s
|
||||||
|
Half-height Kitchen Cabinet (on ceiling) = Gabinete de cocina de media altura (en techo)
|
||||||
|
Under-sink cabinet = Gabinete con Lavabo
|
||||||
|
Kitchen Cabinet with sink = Gabinete de cocina con lavabo
|
||||||
|
|
||||||
|
### door_models.lua ###
|
||||||
|
Mahogany Closet Door = Puerta de Armario de Caoba
|
||||||
|
Oak Closet Door = Puerta de Armario de Roble
|
||||||
|
Fancy Wood/Glass Door = Puerta de Madera y Cristal de Lujo
|
||||||
|
Glass Office Door = Puerta de Oficina de Cristal
|
||||||
|
Glass and Wood, Mahogany-colored = Cristal y Madera, color Caoba
|
||||||
|
Glass and Wood, Oak-colored = Cristal y Madera, color Roble
|
||||||
|
Glass and Wood, White = Cristal y Madera, color Blanco
|
||||||
|
Plain Wooden Door = Puerta Simple de Madera
|
||||||
|
left = izquierda
|
||||||
|
right = derecha
|
||||||
|
## 1: Side the doors opens to
|
||||||
|
(Top Half, %s-opening) = (Parte Superior, abre a la %s)
|
||||||
|
(%s-opening) = (abre a la %s)
|
||||||
|
|
||||||
|
### door_nodes.lua ###
|
||||||
|
Not enough vertical space to place a door! = ¡No hay suficiente espacio vertical para colocar una puerta!
|
||||||
|
|
||||||
|
### crafts.lua ###
|
||||||
|
Brass Ingot = Lingote de Latón
|
||||||
|
Bucket of white paint = Cubo de Pintura Blanca
|
||||||
|
Legs for Small Utility table = Patas de Mesa Utilitaria Pequeña
|
||||||
|
Plastic sheet = Lámina de Plástico
|
||||||
|
Silicon lump = Terrón de Silicio
|
||||||
|
Simple Integrated Circuit = Circuito Integrado Simple
|
||||||
|
Small Wooden Drawer = Cajón Pequeño de Madera
|
||||||
|
Terracotta Roof Tile = Teja de Terracota
|
||||||
|
Titanium Dioxide = Dióxido de Titanio
|
||||||
|
Uncooked Terracotta Base = Base de Terracota sin Cocer
|
||||||
|
Unprocessed Plastic base = Base de Plástico sin Procesar
|
||||||
|
|
||||||
|
### fences.lua ###
|
||||||
|
Barbed Wire Fence = Cerca de Alambre de Púas
|
||||||
|
Barbed Wire Fence Gate = Portón de Cerca de Alambre de Púas
|
||||||
|
Brass Fence/railing = Cerca/Barandilla de Latón
|
||||||
|
Brass Fence/railing with sign = Cerca/Barandilla de Latón con Letrero
|
||||||
|
Chainlink Fence = Cerca de Cadenas
|
||||||
|
Chainlink Fence Gate = Portón de Cerca de Cadenas
|
||||||
|
Chainlink Fence Gate (open) = Portón de Cerca de Cadenas (Abierto)
|
||||||
|
Unpainted Picket Fence = Cerca de Piquete sin pintar
|
||||||
|
Unpainted Picket Fence Gate = Portón de Cerca de Piquete sin pintar
|
||||||
|
White Picket Fence = Cerca de Piquete blanca
|
||||||
|
White Picket Fence Gate = Portón de Cerca de Piquete blanca
|
||||||
|
Wooden Privacy Fence = Cerca privada de madera
|
||||||
|
Wrought Iron Fence/railing = Cerca/Barandilla de Hierro Forjado
|
||||||
|
Wrought Iron Fence/railing with sign = Cerca/Barandilla de Hierro Forjado con Letrero
|
||||||
|
want to simply place the wielded item like usual. = solo se desea colocar el objeto empuñado normalmente.
|
||||||
|
|
||||||
|
### init.lua ###
|
||||||
|
Loaded! = ¡Cargado!
|
||||||
|
Asphalt Shingles = Tejas de Asfalto
|
||||||
|
Black Plastic Flower Pot = Florero de Plástico Negro
|
||||||
|
Brass Pole = Poste de Latón
|
||||||
|
Brass Table Legs = Patas de Mesa de Latón
|
||||||
|
red = rojas
|
||||||
|
green = verdes
|
||||||
|
blue = azules
|
||||||
|
white = blancas
|
||||||
|
pink = rosas
|
||||||
|
violet = violetas
|
||||||
|
## 1: Color name
|
||||||
|
Curtains (%s) = Cortinas (%s)
|
||||||
|
Drop-Ceiling Tile = Cielorraso
|
||||||
|
Glass Skylight = Claraboya de Cristal
|
||||||
|
Glass Table (Small, Round) = Mesa de Cristal (Pequeña, Redonda)
|
||||||
|
Glass Table (Small, Square) = Mesa de Cristal (Pequeña, Cuadrada)
|
||||||
|
Green Plastic Flower Pot = Florero de Plástico Negro
|
||||||
|
Large Area Rug = Manta Grande
|
||||||
|
Large Glass Table Piece = Pieza de Mesa de Cristal Grande
|
||||||
|
Large Stereo Speaker = Altavoz de Estéreo Grande
|
||||||
|
Legs for Utility Table = Patas de Mesa Utilitaria
|
||||||
|
Projection Screen Material = Material de Pantalla de Proyección
|
||||||
|
Small Surround Speaker = Pequeño Altavoz Envolvente
|
||||||
|
Small Throw Rug = Manta Pequeña
|
||||||
|
Stereo Receiver = Receptor Estéreo
|
||||||
|
Terracotta Flower Pot = Florero de Terracota
|
||||||
|
Terracotta Roofing = Tejado de Terracota
|
||||||
|
Textured Ceiling Paint = Pintura Texturada para Techo
|
||||||
|
Utility Table = Mesa Utilitaria
|
||||||
|
Utility table mk2 = Mesa Utilitaria mk2
|
||||||
|
Wooden Shutter (Black) = Obturador de Madera (Negro)
|
||||||
|
Wooden Shutter (Dark Grey) = Obturador de Madera (Gris Oscuro)
|
||||||
|
Wooden Shutter (Forest Green) = Obturador de Madera (Verde Bosque)
|
||||||
|
Wooden Shutter (Grey) = Obturador de Madera (Gris)
|
||||||
|
Wooden Shutter (Light Blue) = Obturador de Madera (Azul Claro)
|
||||||
|
Wooden Shutter (Purple) = Obturador de Madera (Púrpura)
|
||||||
|
Wooden Shutter (Red) = Obturador de Madera (Rojo)
|
||||||
|
Wooden Shutter (Unpainted Mahogany) = Obturador de Madera (Caoba sin Pintar)
|
||||||
|
Wooden Shutter (Unpainted Oak) = Obturador de Madera (Roble sin Pintar)
|
||||||
|
Wooden Shutter (White) = Obturador de Madera (Blanco)
|
||||||
|
Wooden Shutter (Yellow) = Obturador de Madera (Amarillo)
|
||||||
|
Wooden Tabletop piece = Pieza de Mesa de Madera
|
||||||
|
Wooden Tabletop (Small, Round) = Pieza de Mesa de Madera (Pequeña, Redonda)
|
||||||
|
Wooden Tabletop (Small, Square) = Pieza de Mesa de Madera (Pequeña, Cuadrada)
|
||||||
|
Wood Shingles = Tejas de Madera
|
||||||
|
Wrought Iron Pole = Poste de Hierro Forjado
|
||||||
|
someone = alguien
|
||||||
|
## 1: Player name
|
||||||
|
Sorry, %s owns that spot. = Lo siento, %s es dueño de ése lugar.
|
||||||
|
|
||||||
|
### lighting.lua ###
|
||||||
|
White Glowlight (small cube) = Luz Blanca (cubo pequeño)
|
||||||
|
White Glowlight (small cube, on ceiling) = Luz Blanca (cubo pequeño, en techo)
|
||||||
|
White Glowlight (thick) = Luz Blanca (Gruesa)
|
||||||
|
White Glowlight (thick, on wall) = Luz Blanca (Gruesa, en pared)
|
||||||
|
White Glowlight (thin) = Luz Blanca (Fina)
|
||||||
|
White Glowlight (thin, on wall) = Luz Blanca (Fina, en pared)
|
||||||
|
Yellow Glowlight (small cube) = Luz Amarilla (cubo pequeño)
|
||||||
|
Yellow Glowlight (small cube, on ceiling) = Luz Amarilla (cubo pequeño, en techo)
|
||||||
|
Yellow Glowlight (thick) = Luz Amarilla (Gruesa)
|
||||||
|
Yellow Glowlight (thick, on wall) = Luz Amarilla (Gruesa, en pared)
|
||||||
|
Yellow Glowlight (thin) = Luz Amarilla (Fina)
|
||||||
|
Yellow Glowlight (thin, on wall) = Luz Amarilla (Fina, en pared)
|
||||||
|
|
||||||
|
### locked.lua ###
|
||||||
|
## 1: Item description, 2: Owner name
|
||||||
|
%s (owned by %s) = %s (propiedad de %s)
|
||||||
|
## 1: Player name, 2: Item description, 3: Owner name, 4: Position
|
||||||
|
%s tried to access a %s belonging to %s at %s = %s ha intentado acceder un(a) %s propiedad de %s en %s
|
||||||
|
## 1: Item description
|
||||||
|
%s (Locked) = %s (Cerrado)
|
||||||
|
Locked Cabinet = Gabinete Cerrado
|
||||||
|
Locked Nightstand = Mesa de Noche Cerrada
|
||||||
|
Locked Fridge = Refri Cerrado
|
||||||
|
Locked Oven = Estufa Cerrada
|
||||||
|
|
||||||
|
### nightstands.lua ###
|
||||||
|
Mahogany Nightstand with One Drawer = Mesa de Noche de Caoba, un Cajón
|
||||||
|
Mahogany Nightstand with Two Drawers = Mesa de Noche de Caoba, dos Cajones
|
||||||
|
Oak Nightstand with One Drawer = Mesa de Noche de Roble, un Cajón
|
||||||
|
Oak Nightstand with Two Drawers = Mesa de Noche de Roble, dos Cajones
|
||||||
|
## 1: Player name, 2: position
|
||||||
|
%s moves stuff in nightstand at %s = %s mueve cosas en mesa de noche en %s
|
||||||
|
%s moves stuff to nightstand at %s = %s mueve cosas hacia mesa de noche en %s
|
||||||
|
%s takes stuff from nightstand at %s = %s mueve cosas desde mesa de noche en %s
|
||||||
|
One-drawer Nightstand = Mesa de Noche de un Cajón
|
||||||
|
Two-drawer Nightstand = Mesa de Noche de dos Cajones
|
||||||
|
|
||||||
|
### oven.lua ###
|
||||||
|
Oven = Estufa
|
||||||
|
## 1: Item name
|
||||||
|
Could not insert '%s' = No se pudo insertar '%s'
|
||||||
|
## 1: Percentage
|
||||||
|
Oven active: %d%% = Estufa activa: %d%%
|
||||||
|
Oven out of fuel = Estufa sin combustible
|
||||||
|
Oven is empty = Estufavacía
|
||||||
|
|
||||||
|
### refrigerator.lua ###
|
||||||
|
Refrigerator = Refrigerador
|
||||||
|
## 1: Player name, 2: position
|
||||||
|
%s moves stuff in refrigerator at %s = %s mueve cosas en refrigerador en %s
|
||||||
|
%s moves stuff to refrigerator at %s = %s mueve cosas hacia refrigerador en %s
|
||||||
|
%s takes stuff from refrigerator at %s = %s mueve cosas desde refrigerador en %s
|
||||||
|
Not enough vertical space to place a refrigerator! = ¡No hay suficiente espacio vertical para colocar un refrigerador!
|
||||||
|
|
||||||
|
### television.lua ###
|
||||||
|
Small CRT Television = Pequeña Televisión CRT
|
||||||
|
|
||||||
|
### signs_lib.lua ###
|
||||||
|
E: character map file not found = E: archivo de mapa de caracteres no encontrado
|
||||||
|
## 1: Full String, 2: pos in string, 3: current char at pos
|
||||||
|
W: unknown symbol in '%s' at %d (probably %s) = A: símbolo desconocido en '%s' posición %d (probablemente %s)
|
182
locale/template.txt
Normal file
182
locale/template.txt
Normal file
@ -0,0 +1,182 @@
|
|||||||
|
|
||||||
|
##########################
|
||||||
|
# Template language file #
|
||||||
|
##########################
|
||||||
|
|
||||||
|
### Special strings ###
|
||||||
|
|
||||||
|
### kitchen_cabinet.lua ###
|
||||||
|
Kitchen Cabinet =
|
||||||
|
## 1: Player name, 2: position
|
||||||
|
%s moves stuff in kitchen cabinet at %s =
|
||||||
|
%s moves stuff to kitchen cabinet at %s =
|
||||||
|
%s takes stuff from kitchen cabinet at %s =
|
||||||
|
Half-height Kitchen Cabinet (on ceiling) =
|
||||||
|
Under-sink cabinet =
|
||||||
|
Kitchen Cabinet with sink =
|
||||||
|
|
||||||
|
### door_models.lua ###
|
||||||
|
Mahogany Closet Door =
|
||||||
|
Oak Closet Door =
|
||||||
|
Fancy Wood/Glass Door =
|
||||||
|
Glass Office Door =
|
||||||
|
Glass and Wood, Mahogany-colored =
|
||||||
|
Glass and Wood, Oak-colored =
|
||||||
|
Glass and Wood, White =
|
||||||
|
Plain Wooden Door =
|
||||||
|
left =
|
||||||
|
right =
|
||||||
|
## 1: Side the doors opens to
|
||||||
|
(Top Half, %s-opening) =
|
||||||
|
(%s-opening) =
|
||||||
|
|
||||||
|
|
||||||
|
### door_nodes.lua ###
|
||||||
|
Not enough vertical space to place a door! =
|
||||||
|
|
||||||
|
### crafts.lua ###
|
||||||
|
Brass Ingot =
|
||||||
|
Bucket of white paint =
|
||||||
|
Legs for Small Utility table =
|
||||||
|
Plastic sheet =
|
||||||
|
Silicon lump =
|
||||||
|
Simple Integrated Circuit =
|
||||||
|
Small Wooden Drawer =
|
||||||
|
Terracotta Roof Tile =
|
||||||
|
Titanium Dioxide =
|
||||||
|
Uncooked Terracotta Base =
|
||||||
|
Unprocessed Plastic base =
|
||||||
|
|
||||||
|
### door_models.lua ###
|
||||||
|
|
||||||
|
### door_nodes.lua ###
|
||||||
|
|
||||||
|
### fences.lua ###
|
||||||
|
Barbed Wire Fence =
|
||||||
|
Barbed Wire Fence Gate =
|
||||||
|
Brass Fence/railing =
|
||||||
|
Brass Fence/railing with sign =
|
||||||
|
Chainlink Fence =
|
||||||
|
Chainlink Fence Gate =
|
||||||
|
Chainlink Fence Gate (open) =
|
||||||
|
Unpainted Picket Fence =
|
||||||
|
Unpainted Picket Fence Gate =
|
||||||
|
White Picket Fence =
|
||||||
|
White Picket Fence Gate =
|
||||||
|
Wooden Privacy Fence =
|
||||||
|
Wrought Iron Fence/railing =
|
||||||
|
Wrought Iron Fence/railing with sign =
|
||||||
|
want to simply place the wielded item like usual. =
|
||||||
|
|
||||||
|
### init.lua ###
|
||||||
|
Loaded! =
|
||||||
|
Asphalt Shingles =
|
||||||
|
Black Plastic Flower Pot =
|
||||||
|
Brass Pole =
|
||||||
|
Brass Table Legs =
|
||||||
|
red =
|
||||||
|
green =
|
||||||
|
blue =
|
||||||
|
white =
|
||||||
|
pink =
|
||||||
|
violet =
|
||||||
|
## 1: Color name
|
||||||
|
Curtains (%s) =
|
||||||
|
Drop-Ceiling Tile =
|
||||||
|
Glass Skylight =
|
||||||
|
Glass Table (Small, Round) =
|
||||||
|
Glass Table (Small, Square) =
|
||||||
|
Green Plastic Flower Pot =
|
||||||
|
Large Area Rug =
|
||||||
|
Large Glass Table Piece =
|
||||||
|
Large Stereo Speaker =
|
||||||
|
Legs for Utility Table =
|
||||||
|
Projection Screen Material =
|
||||||
|
Small Surround Speaker =
|
||||||
|
Small Throw Rug =
|
||||||
|
Stereo Receiver =
|
||||||
|
Terracotta Flower Pot =
|
||||||
|
Terracotta Roofing =
|
||||||
|
Textured Ceiling Paint =
|
||||||
|
Utility Table =
|
||||||
|
Utility table mk2 =
|
||||||
|
Wooden Shutter (Black) =
|
||||||
|
Wooden Shutter (Dark Grey) =
|
||||||
|
Wooden Shutter (Forest Green) =
|
||||||
|
Wooden Shutter (Grey) =
|
||||||
|
Wooden Shutter (Light Blue) =
|
||||||
|
Wooden Shutter (Purple) =
|
||||||
|
Wooden Shutter (Red) =
|
||||||
|
Wooden Shutter (Unpainted Mahogany) =
|
||||||
|
Wooden Shutter (Unpainted Oak) =
|
||||||
|
Wooden Shutter (White) =
|
||||||
|
Wooden Shutter (Yellow) =
|
||||||
|
Wooden Tabletop piece =
|
||||||
|
Wooden Tabletop (Small, Round) =
|
||||||
|
Wooden Tabletop (Small, Square) =
|
||||||
|
Wood Shingles =
|
||||||
|
Wrought Iron Pole =
|
||||||
|
someone =
|
||||||
|
## 1: Player name
|
||||||
|
Sorry, %s owns that spot. =
|
||||||
|
|
||||||
|
### lighting.lua ###
|
||||||
|
White Glowlight (small cube) =
|
||||||
|
White Glowlight (small cube, on ceiling) =
|
||||||
|
White Glowlight (thick) =
|
||||||
|
White Glowlight (thick, on wall) =
|
||||||
|
White Glowlight (thin) =
|
||||||
|
White Glowlight (thin, on wall) =
|
||||||
|
Yellow Glowlight (small cube) =
|
||||||
|
Yellow Glowlight (small cube, on ceiling) =
|
||||||
|
Yellow Glowlight (thick) =
|
||||||
|
Yellow Glowlight (thick, on wall) =
|
||||||
|
Yellow Glowlight (thin) =
|
||||||
|
Yellow Glowlight (thin, on wall) =
|
||||||
|
|
||||||
|
### locked.lua ###
|
||||||
|
## 1: Item description, 2: Owner name
|
||||||
|
%s (owned by %s) =
|
||||||
|
## 1: Player name, 2: Item description, 3: Owner name, 4: Position
|
||||||
|
%s tried to access a %s belonging to %s at %s =
|
||||||
|
## 1: Item description
|
||||||
|
%s (Locked) =
|
||||||
|
Locked Cabinet =
|
||||||
|
Locked Nightstand =
|
||||||
|
|
||||||
|
### nightstands.lua ###
|
||||||
|
Mahogany Nightstand with One Drawer =
|
||||||
|
Mahogany Nightstand with Two Drawers =
|
||||||
|
Oak Nightstand with One Drawer =
|
||||||
|
Oak Nightstand with Two Drawers =
|
||||||
|
## 1: Player name, 2: position
|
||||||
|
%s moves stuff in nightstand at %s =
|
||||||
|
%s moves stuff to nightstand at %s =
|
||||||
|
%s takes stuff from nightstand at %s =
|
||||||
|
One-drawer Nightstand =
|
||||||
|
Two-drawer Nightstand =
|
||||||
|
|
||||||
|
### oven.lua ###
|
||||||
|
Oven =
|
||||||
|
## 1: Item name
|
||||||
|
Could not insert '%s' =
|
||||||
|
## 1: Percentage
|
||||||
|
Oven active: %d%% =
|
||||||
|
Oven out of fuel =
|
||||||
|
Oven is empty =
|
||||||
|
|
||||||
|
### refrigerator.lua ###
|
||||||
|
Refrigerator =
|
||||||
|
## 1: Player name, 2: position
|
||||||
|
%s moves stuff in refrigerator at %s =
|
||||||
|
%s moves stuff to refrigerator at %s =
|
||||||
|
%s takes stuff from refrigerator at %s =
|
||||||
|
Not enough vertical space to place a refrigerator! =
|
||||||
|
|
||||||
|
### television.lua ###
|
||||||
|
Small CRT Television =
|
||||||
|
|
||||||
|
### signs_lib.lua ###
|
||||||
|
E: character map file not found =
|
||||||
|
## 1: Full String, 2: pos in string, 3: current char at pos
|
||||||
|
W: unknown symbol in '%s' at %d (probably %s) =
|
76
locked.lua
76
locked.lua
@ -7,6 +7,15 @@
|
|||||||
-- License: LGPL
|
-- License: LGPL
|
||||||
--
|
--
|
||||||
|
|
||||||
|
-- Boilerplate to support localized strings if intllib mod is installed.
|
||||||
|
local S
|
||||||
|
if (minetest.get_modpath("intllib")) then
|
||||||
|
dofile(minetest.get_modpath("intllib").."/intllib.lua")
|
||||||
|
S = intllib.Getter(minetest.get_current_modname())
|
||||||
|
else
|
||||||
|
S = function ( s ) return s end
|
||||||
|
end
|
||||||
|
|
||||||
--[[
|
--[[
|
||||||
| create_locked ( name, infotext )
|
| create_locked ( name, infotext )
|
||||||
|
|
|
|
||||||
@ -40,14 +49,12 @@ local function create_locked ( name, infotext )
|
|||||||
end
|
end
|
||||||
def.type = nil
|
def.type = nil
|
||||||
def.name = nil
|
def.name = nil
|
||||||
local desc = "Locked "..def.description
|
def.description = S("%s (Locked)"):format(def.description)
|
||||||
def.description = desc
|
|
||||||
local after_place_node = def.after_place_node
|
local after_place_node = def.after_place_node
|
||||||
def.after_place_node = function(pos, placer)
|
def.after_place_node = function(pos, placer)
|
||||||
local meta = minetest.env:get_meta(pos)
|
local meta = minetest.env:get_meta(pos)
|
||||||
meta:set_string("owner", placer:get_player_name() or "")
|
meta:set_string("owner", placer:get_player_name() or "")
|
||||||
meta:set_string("infotext", (infotext or desc).." (owned by "..
|
meta:set_string("infotext", S("%s (owned by %s)"):format(infotext,meta:get_string("owner")))
|
||||||
meta:get_string("owner")..")")
|
|
||||||
if (after_place_node) then
|
if (after_place_node) then
|
||||||
return after_place_node(pos, placer)
|
return after_place_node(pos, placer)
|
||||||
end
|
end
|
||||||
@ -56,10 +63,12 @@ local function create_locked ( name, infotext )
|
|||||||
def.allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
def.allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||||
local meta = minetest.env:get_meta(pos)
|
local meta = minetest.env:get_meta(pos)
|
||||||
if (player:get_player_name() ~= meta:get_string("owner")) then
|
if (player:get_player_name() ~= meta:get_string("owner")) then
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s tried to access a %s belonging to %s at %s"):format(
|
||||||
" tried to access a "..desc.." belonging to "..
|
player:get_player_name(),
|
||||||
meta:get_string("owner").." at "..
|
infotext,
|
||||||
minetest.pos_to_string(pos))
|
meta:get_string("owner"),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
return 0
|
return 0
|
||||||
end
|
end
|
||||||
if (allow_metadata_inventory_move) then
|
if (allow_metadata_inventory_move) then
|
||||||
@ -72,10 +81,12 @@ local function create_locked ( name, infotext )
|
|||||||
def.allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
def.allow_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||||
local meta = minetest.env:get_meta(pos)
|
local meta = minetest.env:get_meta(pos)
|
||||||
if (player:get_player_name() ~= meta:get_string("owner")) then
|
if (player:get_player_name() ~= meta:get_string("owner")) then
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s tried to access a %s belonging to %s at %s"):format(
|
||||||
" tried to access a "..desc.." belonging to "..
|
player:get_player_name(),
|
||||||
meta:get_string("owner").." at "..
|
infotext,
|
||||||
minetest.pos_to_string(pos))
|
meta:get_string("owner"),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
return 0
|
return 0
|
||||||
end
|
end
|
||||||
if (allow_metadata_inventory_put) then
|
if (allow_metadata_inventory_put) then
|
||||||
@ -88,10 +99,12 @@ local function create_locked ( name, infotext )
|
|||||||
def.allow_metadata_inventory_take = function(pos, listname, index, stack, player)
|
def.allow_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||||
local meta = minetest.env:get_meta(pos)
|
local meta = minetest.env:get_meta(pos)
|
||||||
if (player:get_player_name() ~= meta:get_string("owner")) then
|
if (player:get_player_name() ~= meta:get_string("owner")) then
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s tried to access a %s belonging to %s at %s"):format(
|
||||||
" tried to access a "..desc.." belonging to "..
|
player:get_player_name(),
|
||||||
meta:get_string("owner").." at "..
|
infotext,
|
||||||
minetest.pos_to_string(pos))
|
meta:get_string("owner"),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
return 0
|
return 0
|
||||||
end
|
end
|
||||||
if (allow_metadata_inventory_take) then
|
if (allow_metadata_inventory_take) then
|
||||||
@ -112,18 +125,27 @@ local function create_locked ( name, infotext )
|
|||||||
end
|
end
|
||||||
|
|
||||||
local items = {
|
local items = {
|
||||||
{ "refrigerator", "Fridge" },
|
{ "refrigerator",
|
||||||
{ "kitchen_cabinet", "Cabinet" },
|
"Cabinet" },
|
||||||
{ "kitchen_cabinet_half", "Cabinet" },
|
{ "kitchen_cabinet",
|
||||||
{ "kitchen_cabinet_with_sink", "Cabinet" },
|
"Cabinet" },
|
||||||
{ "nightstand_oak_one_drawer", "Nightstand" },
|
{ "kitchen_cabinet_half",
|
||||||
{ "nightstand_oak_two_drawers", "Nightstand" },
|
"Cabinet" },
|
||||||
{ "nightstand_mahogany_one_drawer", "Nightstand" },
|
{ "kitchen_cabinet_with_sink",
|
||||||
{ "nightstand_mahogany_two_drawers", "Nightstand" },
|
"Cabinet" },
|
||||||
{ "oven", "Oven" },
|
{ "nightstand_oak_one_drawer",
|
||||||
|
"Nightstand" },
|
||||||
|
{ "nightstand_oak_two_drawers",
|
||||||
|
"Nightstand" },
|
||||||
|
{ "nightstand_mahogany_one_drawer",
|
||||||
|
"Nightstand" },
|
||||||
|
{ "nightstand_mahogany_two_drawers",
|
||||||
|
"Nightstand" },
|
||||||
|
{ "oven",
|
||||||
|
"Oven" },
|
||||||
}
|
}
|
||||||
|
|
||||||
for _,item in ipairs(items) do
|
for _,item in ipairs(items) do
|
||||||
local info = (item[2] and "Locked "..item[2]);
|
local name, info = item[1], item[2];
|
||||||
create_locked("homedecor:"..item[1], info);
|
create_locked("homedecor:"..name, S("Locked "..info));
|
||||||
end
|
end
|
||||||
|
@ -1,8 +1,17 @@
|
|||||||
-- This file supplies nightstands
|
-- This file supplies nightstands
|
||||||
|
|
||||||
|
-- Boilerplate to support localized strings if intllib mod is installed.
|
||||||
|
local S
|
||||||
|
if (minetest.get_modpath("intllib")) then
|
||||||
|
dofile(minetest.get_modpath("intllib").."/intllib.lua")
|
||||||
|
S = intllib.Getter(minetest.get_current_modname())
|
||||||
|
else
|
||||||
|
S = function ( s ) return s end
|
||||||
|
end
|
||||||
|
|
||||||
minetest.register_node('homedecor:nightstand_oak_one_drawer', {
|
minetest.register_node('homedecor:nightstand_oak_one_drawer', {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Oak Nightstand with One Drawer",
|
description = S("Oak Nightstand with One Drawer"),
|
||||||
tiles = { 'homedecor_nightstand_oak_top.png',
|
tiles = { 'homedecor_nightstand_oak_top.png',
|
||||||
'homedecor_nightstand_oak_bottom.png',
|
'homedecor_nightstand_oak_bottom.png',
|
||||||
'homedecor_nightstand_oak_right.png',
|
'homedecor_nightstand_oak_right.png',
|
||||||
@ -37,7 +46,7 @@ minetest.register_node('homedecor:nightstand_oak_one_drawer', {
|
|||||||
"size[8,6]"..
|
"size[8,6]"..
|
||||||
"list[current_name;main;0,0;8,1;]"..
|
"list[current_name;main;0,0;8,1;]"..
|
||||||
"list[current_player;main;0,2;8,4;]")
|
"list[current_player;main;0,2;8,4;]")
|
||||||
meta:set_string("infotext", "One-drawer Nightstand")
|
meta:set_string("infotext", S("One-drawer Nightstand"))
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
inv:set_size("main", 8)
|
inv:set_size("main", 8)
|
||||||
end,
|
end,
|
||||||
@ -47,22 +56,28 @@ minetest.register_node('homedecor:nightstand_oak_one_drawer', {
|
|||||||
return inv:is_empty("main")
|
return inv:is_empty("main")
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s moves stuff in nightstand at %s"):format(
|
||||||
" moves stuff in nightstand at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s moves stuff to nightstand at %s"):format(
|
||||||
" moves stuff to nightstand at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s takes stuff from nightstand at %s"):format(
|
||||||
" takes stuff from nightstand at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:nightstand_oak_two_drawers', {
|
minetest.register_node('homedecor:nightstand_oak_two_drawers', {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Oak Nightstand with One Drawer",
|
description = S("Oak Nightstand with Two Drawers"),
|
||||||
tiles = { 'homedecor_nightstand_oak_top.png',
|
tiles = { 'homedecor_nightstand_oak_top.png',
|
||||||
'homedecor_nightstand_oak_bottom.png',
|
'homedecor_nightstand_oak_bottom.png',
|
||||||
'homedecor_nightstand_oak_right.png',
|
'homedecor_nightstand_oak_right.png',
|
||||||
@ -94,7 +109,7 @@ minetest.register_node('homedecor:nightstand_oak_two_drawers', {
|
|||||||
"size[8,7]"..
|
"size[8,7]"..
|
||||||
"list[current_name;main;0,0;8,2;]"..
|
"list[current_name;main;0,0;8,2;]"..
|
||||||
"list[current_player;main;0,3;8,4;]")
|
"list[current_player;main;0,3;8,4;]")
|
||||||
meta:set_string("infotext", "Two-drawer Nightstand")
|
meta:set_string("infotext", S("Two-drawer Nightstand"))
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
inv:set_size("main", 16)
|
inv:set_size("main", 16)
|
||||||
end,
|
end,
|
||||||
@ -104,22 +119,28 @@ minetest.register_node('homedecor:nightstand_oak_two_drawers', {
|
|||||||
return inv:is_empty("main")
|
return inv:is_empty("main")
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s moves stuff in nightstand at %s"):format(
|
||||||
" moves stuff in nightstand at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s moves stuff to nightstand at %s"):format(
|
||||||
" moves stuff to nightstand at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s takes stuff from nightstand at %s"):format(
|
||||||
" takes stuff from nightstand at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:nightstand_mahogany_one_drawer', {
|
minetest.register_node('homedecor:nightstand_mahogany_one_drawer', {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Mahogany Nightstand with One Drawer",
|
description = S("Mahogany Nightstand with One Drawer"),
|
||||||
tiles = { 'homedecor_nightstand_mahogany_top.png',
|
tiles = { 'homedecor_nightstand_mahogany_top.png',
|
||||||
'homedecor_nightstand_mahogany_bottom.png',
|
'homedecor_nightstand_mahogany_bottom.png',
|
||||||
'homedecor_nightstand_mahogany_right.png',
|
'homedecor_nightstand_mahogany_right.png',
|
||||||
@ -154,7 +175,7 @@ minetest.register_node('homedecor:nightstand_mahogany_one_drawer', {
|
|||||||
"size[8,6]"..
|
"size[8,6]"..
|
||||||
"list[current_name;main;0,0;8,1;]"..
|
"list[current_name;main;0,0;8,1;]"..
|
||||||
"list[current_player;main;0,2;8,4;]")
|
"list[current_player;main;0,2;8,4;]")
|
||||||
meta:set_string("infotext", "One-drawer Nightstand")
|
meta:set_string("infotext", S("One-drawer Nightstand"))
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
inv:set_size("main", 8)
|
inv:set_size("main", 8)
|
||||||
end,
|
end,
|
||||||
@ -164,22 +185,28 @@ minetest.register_node('homedecor:nightstand_mahogany_one_drawer', {
|
|||||||
return inv:is_empty("main")
|
return inv:is_empty("main")
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s moves stuff in nightstand at %s"):format(
|
||||||
" moves stuff in nightstand at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s moves stuff to nightstand at %s"):format(
|
||||||
" moves stuff to nightstand at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s takes stuff from nightstand at %s"):format(
|
||||||
" takes stuff from nightstand at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node('homedecor:nightstand_mahogany_two_drawers', {
|
minetest.register_node('homedecor:nightstand_mahogany_two_drawers', {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Mahogany Nightstand with Two Drawers",
|
description = S("Mahogany Nightstand with Two Drawers"),
|
||||||
tiles = { 'homedecor_nightstand_mahogany_top.png',
|
tiles = { 'homedecor_nightstand_mahogany_top.png',
|
||||||
'homedecor_nightstand_mahogany_bottom.png',
|
'homedecor_nightstand_mahogany_bottom.png',
|
||||||
'homedecor_nightstand_mahogany_right.png',
|
'homedecor_nightstand_mahogany_right.png',
|
||||||
@ -211,7 +238,7 @@ minetest.register_node('homedecor:nightstand_mahogany_two_drawers', {
|
|||||||
"size[8,7]"..
|
"size[8,7]"..
|
||||||
"list[current_name;main;0,0;8,2;]"..
|
"list[current_name;main;0,0;8,2;]"..
|
||||||
"list[current_player;main;0,3;8,4;]")
|
"list[current_player;main;0,3;8,4;]")
|
||||||
meta:set_string("infotext", "Two-drawer Nightstand")
|
meta:set_string("infotext", S("Two-drawer Nightstand"))
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
inv:set_size("main", 16)
|
inv:set_size("main", 16)
|
||||||
end,
|
end,
|
||||||
@ -221,15 +248,21 @@ minetest.register_node('homedecor:nightstand_mahogany_two_drawers', {
|
|||||||
return inv:is_empty("main")
|
return inv:is_empty("main")
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s moves stuff in nightstand at %s"):format(
|
||||||
" moves stuff in nightstand at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s moves stuff to nightstand at %s"):format(
|
||||||
" moves stuff to nightstand at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s takes stuff from nightstand at %s"):format(
|
||||||
" takes stuff from nightstand at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
23
oven.lua
23
oven.lua
@ -1,5 +1,14 @@
|
|||||||
-- This code supplies an oven/stove. Basically it's just a copy of the default furnace with different textures.
|
-- This code supplies an oven/stove. Basically it's just a copy of the default furnace with different textures.
|
||||||
|
|
||||||
|
-- Boilerplate to support localized strings if intllib mod is installed.
|
||||||
|
local S
|
||||||
|
if (minetest.get_modpath("intllib")) then
|
||||||
|
dofile(minetest.get_modpath("intllib").."/intllib.lua")
|
||||||
|
S = intllib.Getter(minetest.get_current_modname())
|
||||||
|
else
|
||||||
|
S = function ( s ) return s end
|
||||||
|
end
|
||||||
|
|
||||||
default.oven_inactive_formspec =
|
default.oven_inactive_formspec =
|
||||||
"size[8,9]"..
|
"size[8,9]"..
|
||||||
"image[2,2;1,1;default_furnace_fire_bg.png]"..
|
"image[2,2;1,1;default_furnace_fire_bg.png]"..
|
||||||
@ -9,7 +18,7 @@ default.oven_inactive_formspec =
|
|||||||
"list[current_player;main;0,5;8,4;]"
|
"list[current_player;main;0,5;8,4;]"
|
||||||
|
|
||||||
minetest.register_node("homedecor:oven", {
|
minetest.register_node("homedecor:oven", {
|
||||||
description = "Oven",
|
description = S("Oven"),
|
||||||
tiles = {"homedecor_oven_top.png", "homedecor_oven_bottom.png", "homedecor_oven_side.png",
|
tiles = {"homedecor_oven_top.png", "homedecor_oven_bottom.png", "homedecor_oven_side.png",
|
||||||
"homedecor_oven_side.png", "homedecor_oven_side.png", "homedecor_oven_front.png"},
|
"homedecor_oven_side.png", "homedecor_oven_side.png", "homedecor_oven_front.png"},
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
@ -40,7 +49,7 @@ minetest.register_node("homedecor:oven", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("homedecor:oven_active", {
|
minetest.register_node("homedecor:oven_active", {
|
||||||
description = "Oven",
|
description = S("Oven"),
|
||||||
tiles = {"homedecor_oven_top.png", "homedecor_oven_bottom.png", "homedecor_oven_side.png",
|
tiles = {"homedecor_oven_top.png", "homedecor_oven_bottom.png", "homedecor_oven_side.png",
|
||||||
"homedecor_oven_side.png", "homedecor_oven_side.png", "homedecor_oven_front_active.png"},
|
"homedecor_oven_side.png", "homedecor_oven_side.png", "homedecor_oven_front_active.png"},
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
@ -52,7 +61,7 @@ minetest.register_node("homedecor:oven_active", {
|
|||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
local meta = minetest.env:get_meta(pos)
|
local meta = minetest.env:get_meta(pos)
|
||||||
meta:set_string("formspec", default.oven_inactive_formspec)
|
meta:set_string("formspec", default.oven_inactive_formspec)
|
||||||
meta:set_string("infotext", "Oven");
|
meta:set_string("infotext", S("Oven"))
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
inv:set_size("fuel", 1)
|
inv:set_size("fuel", 1)
|
||||||
inv:set_size("src", 1)
|
inv:set_size("src", 1)
|
||||||
@ -128,7 +137,7 @@ minetest.register_abm({
|
|||||||
srcstack:take_item()
|
srcstack:take_item()
|
||||||
inv:set_stack("src", 1, srcstack)
|
inv:set_stack("src", 1, srcstack)
|
||||||
else
|
else
|
||||||
print("Could not insert '"..cooked.item:to_string().."'")
|
print(S("Could not insert '%s'"):format(cooked.item:to_string()))
|
||||||
end
|
end
|
||||||
meta:set_string("src_time", 0)
|
meta:set_string("src_time", 0)
|
||||||
end
|
end
|
||||||
@ -137,7 +146,7 @@ minetest.register_abm({
|
|||||||
if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then
|
if meta:get_float("fuel_time") < meta:get_float("fuel_totaltime") then
|
||||||
local percent = math.floor(meta:get_float("fuel_time") /
|
local percent = math.floor(meta:get_float("fuel_time") /
|
||||||
meta:get_float("fuel_totaltime") * 100)
|
meta:get_float("fuel_totaltime") * 100)
|
||||||
meta:set_string("infotext","Oven active: "..percent.."%")
|
meta:set_string("infotext",S("Oven active: %d%%"):format(percent))
|
||||||
hacky_swap_node(pos,"homedecor:oven_active")
|
hacky_swap_node(pos,"homedecor:oven_active")
|
||||||
meta:set_string("formspec",
|
meta:set_string("formspec",
|
||||||
"size[8,9]"..
|
"size[8,9]"..
|
||||||
@ -163,7 +172,7 @@ minetest.register_abm({
|
|||||||
end
|
end
|
||||||
|
|
||||||
if fuel.time <= 0 then
|
if fuel.time <= 0 then
|
||||||
meta:set_string("infotext","Oven out of fuel")
|
meta:set_string("infotext",S("Oven out of fuel"))
|
||||||
hacky_swap_node(pos,"homedecor:oven")
|
hacky_swap_node(pos,"homedecor:oven")
|
||||||
meta:set_string("formspec", default.oven_inactive_formspec)
|
meta:set_string("formspec", default.oven_inactive_formspec)
|
||||||
return
|
return
|
||||||
@ -171,7 +180,7 @@ minetest.register_abm({
|
|||||||
|
|
||||||
if cooked.item:is_empty() then
|
if cooked.item:is_empty() then
|
||||||
if was_active then
|
if was_active then
|
||||||
meta:set_string("infotext","Oven is empty")
|
meta:set_string("infotext",S("Oven is empty"))
|
||||||
hacky_swap_node(pos,"homedecor:oven")
|
hacky_swap_node(pos,"homedecor:oven")
|
||||||
meta:set_string("formspec", default.oven_inactive_formspec)
|
meta:set_string("formspec", default.oven_inactive_formspec)
|
||||||
end
|
end
|
||||||
|
116
refrigerator.lua
116
refrigerator.lua
@ -1,22 +1,31 @@
|
|||||||
-- This file supplies refrigerators
|
-- This file supplies refrigerators
|
||||||
|
|
||||||
|
-- Boilerplate to support localized strings if intllib mod is installed.
|
||||||
|
local S
|
||||||
|
if (minetest.get_modpath("intllib")) then
|
||||||
|
dofile(minetest.get_modpath("intllib").."/intllib.lua")
|
||||||
|
S = intllib.Getter(minetest.get_current_modname())
|
||||||
|
else
|
||||||
|
S = function ( s ) return s end
|
||||||
|
end
|
||||||
|
|
||||||
minetest.register_node('homedecor:refrigerator', {
|
minetest.register_node('homedecor:refrigerator', {
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
description = "Refrigerator",
|
description = S("Refrigerator"),
|
||||||
tiles = {
|
tiles = {
|
||||||
'homedecor_refrigerator_top.png',
|
'homedecor_refrigerator_top.png',
|
||||||
'homedecor_refrigerator_bottom.png',
|
'homedecor_refrigerator_bottom.png',
|
||||||
'homedecor_refrigerator_right.png',
|
'homedecor_refrigerator_right.png',
|
||||||
'homedecor_refrigerator_left.png',
|
'homedecor_refrigerator_left.png',
|
||||||
'homedecor_refrigerator_back.png',
|
'homedecor_refrigerator_back.png',
|
||||||
'homedecor_refrigerator_front.png'
|
'homedecor_refrigerator_front.png'
|
||||||
},
|
},
|
||||||
inventory_image = "homedecor_refrigerator_inv.png",
|
inventory_image = "homedecor_refrigerator_inv.png",
|
||||||
sunlight_propagates = false,
|
sunlight_propagates = false,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
walkable = true,
|
walkable = true,
|
||||||
groups = { snappy = 3 },
|
groups = { snappy = 3 },
|
||||||
|
|
||||||
selection_box = {
|
selection_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
@ -27,43 +36,48 @@ minetest.register_node('homedecor:refrigerator', {
|
|||||||
fixed = { -0.5, -0.5, -0.5, 0.5, 1.5, 0.5 }
|
fixed = { -0.5, -0.5, -0.5, 0.5, 1.5, 0.5 }
|
||||||
},
|
},
|
||||||
|
|
||||||
sounds = default.node_sound_leaves_defaults(),
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
local meta = minetest.env:get_meta(pos)
|
local meta = minetest.env:get_meta(pos)
|
||||||
meta:set_string("formspec",
|
meta:set_string("formspec",
|
||||||
"size[10,10]"..
|
"size[10,10]"..
|
||||||
"list[current_name;main;0,0;10,5;]"..
|
"list[current_name;main;0,0;10,5;]"..
|
||||||
"list[current_player;main;1,6;8,4;]")
|
"list[current_player;main;1,6;8,4;]")
|
||||||
meta:set_string("infotext", "Refrigerator")
|
meta:set_string("infotext", S("Refrigerator"))
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
inv:set_size("main",50)
|
inv:set_size("main",50)
|
||||||
end,
|
end,
|
||||||
|
|
||||||
on_place = function(itemstack, placer, pointed_thing)
|
on_place = function(itemstack, placer, pointed_thing)
|
||||||
local pos = pointed_thing.above
|
local pos = pointed_thing.above
|
||||||
if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
|
if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
|
||||||
minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a refrigerator!' )
|
minetest.chat_send_player( placer:get_player_name(), S('Not enough vertical space to place a refrigerator!') )
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
return minetest.item_place(itemstack, placer, pointed_thing)
|
return minetest.item_place(itemstack, placer, pointed_thing)
|
||||||
end,
|
end,
|
||||||
|
|
||||||
can_dig = function(pos,player)
|
can_dig = function(pos,player)
|
||||||
local meta = minetest.env:get_meta(pos);
|
local meta = minetest.env:get_meta(pos);
|
||||||
local inv = meta:get_inventory()
|
local inv = meta:get_inventory()
|
||||||
return inv:is_empty("main")
|
return inv:is_empty("main")
|
||||||
end,
|
end,
|
||||||
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s moves stuff in refrigerator at %s"):format(
|
||||||
" moves stuff in refrigerator at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
end,
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
|
end,
|
||||||
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s moves stuff to refrigerator at %s"):format(
|
||||||
" moves stuff to refrigerator at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
end,
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
|
end,
|
||||||
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||||
minetest.log("action", player:get_player_name()..
|
minetest.log("action", S("%s takes stuff from refrigerator at %s"):format(
|
||||||
" takes stuff from refrigerator at "..minetest.pos_to_string(pos))
|
player:get_player_name(),
|
||||||
end,
|
minetest.pos_to_string(pos)
|
||||||
|
))
|
||||||
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -2,12 +2,21 @@
|
|||||||
|
|
||||||
-- Font: 04.jp.org
|
-- Font: 04.jp.org
|
||||||
|
|
||||||
|
-- Boilerplate to support localized strings if intllib mod is installed.
|
||||||
|
local S
|
||||||
|
if (minetest.get_modpath("intllib")) then
|
||||||
|
dofile(minetest.get_modpath("intllib").."/intllib.lua")
|
||||||
|
S = intllib.Getter(minetest.get_current_modname())
|
||||||
|
else
|
||||||
|
S = function ( s ) return s end
|
||||||
|
end
|
||||||
|
|
||||||
-- load characters map
|
-- load characters map
|
||||||
local chars_file = io.open(minetest.get_modpath("homedecor").."/characters", "r")
|
local chars_file = io.open(minetest.get_modpath("homedecor").."/characters", "r")
|
||||||
local charmap = {}
|
local charmap = {}
|
||||||
local max_chars = 16
|
local max_chars = 16
|
||||||
if not chars_file then
|
if not chars_file then
|
||||||
print("[homedecor] E: character map file not found")
|
print("[homedecor] "..S("E: character map file not found"))
|
||||||
else
|
else
|
||||||
while true do
|
while true do
|
||||||
local char = chars_file:read("*l")
|
local char = chars_file:read("*l")
|
||||||
@ -169,7 +178,7 @@ homedecor_generate_line = function(s, ypos)
|
|||||||
file = charmap[s:sub(i, i + 1)]
|
file = charmap[s:sub(i, i + 1)]
|
||||||
i = i + 2
|
i = i + 2
|
||||||
else
|
else
|
||||||
print("[homedecor] W: unknown symbol in '"..s.."' at "..i.." (probably "..s:sub(i, i)..")")
|
print("[homedecor] "..S("W: unknown symbol in '%s' at %d (probably %s)"):format(s, i, s:sub(i, i)))
|
||||||
i = i + 1
|
i = i + 1
|
||||||
end
|
end
|
||||||
if file ~= nil then
|
if file ~= nil then
|
||||||
|
@ -1,7 +1,16 @@
|
|||||||
-- This file provides a semi-animated television.
|
-- This file provides a semi-animated television.
|
||||||
|
|
||||||
|
-- Boilerplate to support localized strings if intllib mod is installed.
|
||||||
|
local S
|
||||||
|
if (minetest.get_modpath("intllib")) then
|
||||||
|
dofile(minetest.get_modpath("intllib").."/intllib.lua")
|
||||||
|
S = intllib.Getter(minetest.get_current_modname())
|
||||||
|
else
|
||||||
|
S = function ( s ) return s end
|
||||||
|
end
|
||||||
|
|
||||||
minetest.register_node('homedecor:television', {
|
minetest.register_node('homedecor:television', {
|
||||||
description = "Small CRT Television",
|
description = S("Small CRT Television"),
|
||||||
tiles = { 'homedecor_television_top.png',
|
tiles = { 'homedecor_television_top.png',
|
||||||
'homedecor_television_bottom.png',
|
'homedecor_television_bottom.png',
|
||||||
'homedecor_television_right.png',
|
'homedecor_television_right.png',
|
||||||
|
Loading…
Reference in New Issue
Block a user