Convert the modpack into a standalone game for the Minetest engine

Integrated into the game is most of minetest_game as the stable base
This commit is contained in:
VanessaE
2021-02-23 23:40:11 -05:00
committed by Vanessa Dannenberg
parent 11adf56b75
commit 4394beec6a
8861 changed files with 37424 additions and 4811 deletions

View File

@@ -0,0 +1,20 @@
unused_args = false
allow_defined_top = true
max_comment_line_length = 999
read_globals = {
"DIR_DELIM",
"minetest", "core",
"unpack",
"dump",
table = { fields = { "copy", "getn" } },
"vector", "nodeupdate",
"VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack",
"default",
"homedecor",
}
globals = {
}

View File

@@ -0,0 +1,126 @@
-- formerly lrfurn coffee table component
local S = minetest.get_translator("homedecor_tables")
local fdir_to_right = {
{ 1, 0 },
{ 0, -1 },
{ -1, 0 },
{ 0, 1 },
}
local function check_right(pos, fdir, long, placer)
if not fdir or fdir > 3 then fdir = 0 end
local pos2 = { x = pos.x + fdir_to_right[fdir+1][1], y=pos.y, z = pos.z + fdir_to_right[fdir+1][2] }
local pos3 = { x = pos.x + fdir_to_right[fdir+1][1] * 2, y=pos.y, z = pos.z + fdir_to_right[fdir+1][2] * 2 }
local node2 = minetest.get_node(pos2)
if node2 and node2.name ~= "air" then
return false
elseif minetest.is_protected(pos2, placer:get_player_name()) then
if not long then
minetest.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where the other end goes!"))
else
minetest.chat_send_player(placer:get_player_name(),
S("Someone else owns the spot where the middle or far end goes!"))
end
return false
end
if long then
local node3 = minetest.get_node(pos3)
if node3 and node3.name ~= "air" then
return false
elseif minetest.is_protected(pos3, placer:get_player_name()) then
minetest.chat_send_player(placer:get_player_name(), S("Someone else owns the spot where the other end goes!"))
return false
end
end
return true
end
minetest.register_alias("lrfurn:coffeetable_back", "lrfurn:coffeetable")
minetest.register_alias("lrfurn:coffeetable_front", "air")
minetest.register_node(":lrfurn:coffeetable", {
description = S("Coffee Table"),
drawtype = "nodebox",
tiles = {
"lrfurn_coffeetable_back.png",
"lrfurn_coffeetable_back.png",
"lrfurn_coffeetable_back.png",
"lrfurn_coffeetable_back.png",
"lrfurn_coffeetable_back.png",
"lrfurn_coffeetable_back.png"
},
paramtype = "light",
paramtype2 = "facedir",
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
sounds = default.node_sound_wood_defaults(),
node_box = {
type = "fixed",
fixed = {
--legs
{ -0.375, -0.5, -0.375, -0.3125, -0.0625, -0.3125 },
{ 0.3125, -0.5, -0.375, 0.375, -0.0625, -0.3125 },
{ -0.375, -0.5, 1.3125, -0.3125, -0.0625, 1.375 },
{ 0.3125, -0.5, 1.3125, 0.375, -0.0625, 1.375 },
--tabletop
{-0.4375, -0.0625, -0.4375, 0.4375, 0, 1.4375},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.4375, -0.5, -0.4375, 0.4375, 0.0, 1.4375},
}
},
after_place_node = function(pos, placer, itemstack, pointed_thing)
if minetest.is_protected(pos, placer:get_player_name()) then return true end
local node = minetest.get_node(pos)
local fdir = node.param2
if check_right(pos, fdir, false, placer) then
minetest.set_node(pos, { name = node.name, param2 = (fdir + 1) % 4 })
else
minetest.chat_send_player(placer:get_player_name(),
S("No room to place the coffee table!"))
minetest.set_node(pos, {name = "air"})
return true
end
end,
})
minetest.register_craft({
output = "lrfurn:coffeetable",
type = "shapeless",
recipe = {
"lrfurn:endtable",
"lrfurn:endtable"
}
})
minetest.register_craft({
output = "lrfurn:coffeetable",
recipe = {
{"", "", "", },
{"stairs:slab_wood", "stairs:slab_wood", "stairs:slab_wood", },
{"group:stick", "", "group:stick", }
}
})
minetest.register_craft({
output = "lrfurn:coffeetable",
recipe = {
{"", "", "", },
{"moreblocks:slab_wood", "moreblocks:slab_wood", "moreblocks:slab_wood", },
{"group:stick", "", "group:stick", }
}
})
if minetest.settings:get("log_mods") then
minetest.log("action", "[lrfurn/coffeetable] Loaded!")
end

View File

@@ -0,0 +1,61 @@
-- formerly lrfurn endtable component
local S = minetest.get_translator("homedecor_tables")
minetest.register_node(":lrfurn:endtable", {
description = S("End Table"),
drawtype = "nodebox",
tiles = {
"lrfurn_coffeetable_back.png",
"lrfurn_coffeetable_back.png",
"lrfurn_coffeetable_back.png",
"lrfurn_coffeetable_back.png",
"lrfurn_coffeetable_back.png",
"lrfurn_coffeetable_back.png"
},
paramtype = "light",
paramtype2 = "facedir",
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
sounds = default.node_sound_wood_defaults(),
node_box = {
type = "fixed",
fixed = {
--legs
{-0.375, -0.5, -0.375, -0.3125, -0.0625, -0.3125},
{0.3125, -0.5, -0.375, 0.375, -0.0625, -0.3125},
{-0.375, -0.5, 0.3125, -0.3125, -0.0625, 0.375},
{0.3125, -0.5, 0.3125, 0.375, -0.0625, 0.375},
--tabletop
{-0.4375, -0.0625, -0.4375, 0.4375, 0, 0.4375},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.4375, -0.5, -0.4375, 0.4375, 0.0, 0.4375},
}
},
})
minetest.register_craft({
output = "lrfurn:endtable",
recipe = {
{"", "", "", },
{"stairs:slab_wood", "stairs:slab_wood", "", },
{"group:stick", "group:stick", "", }
}
})
minetest.register_craft({
output = "lrfurn:endtable",
recipe = {
{"", "", "", },
{"moreblocks:slab_wood", "moreblocks:slab_wood", "", },
{"group:stick", "group:stick", "", }
}
})
if minetest.settings:get("log_mods") then
minetest.log("action", "[lrfurn/endtable] Loaded!")
end

View File

@@ -0,0 +1,6 @@
local modpath = minetest.get_modpath("homedecor_tables")
dofile(modpath.."/misc.lua")
dofile(modpath.."/endtable.lua")
dofile(modpath.."/coffeetable.lua")

View File

@@ -0,0 +1,27 @@
# textdomain: homedecor_tables
### coffeetable.lua ###
Coffee Table=Kaffeetisch
No room to place the coffee table!=Kein Platz, um den Kaffeetisch zu platzieren!
Someone else owns the spot where the middle or far end goes!=Jemanden gehört schon die Stelle, wo das mittlere oder ferne Stück hingehen würde.
Someone else owns the spot where the other end goes!=Jemanden gehört schon die Stelle, wo das andere Ende hingehen würde.
### endtable.lua ###
End Table=Beitisch
### misc.lua ###
Large glass table piece=Großes Glastischteil
Large wooden table piece=Großes Holztischteil
Legs for Utility Table=Tischbeine für Werkzeugtisch
Small round glass table=Kleiner runder Glastisch
Small round wooden table=Kleiner runder Holztisch
Small square glass table=Kleiner quadratischer Glastisch
Small square wooden table=Kleiner quadratischer Holztisch
Table Legs (@1)=Tischbeine (@1)
Utility Table=Werkzeugtisch
brass=Messing
wrought iron=Schmiedeeisen

View File

@@ -0,0 +1,27 @@
# textdomain: homedecor_tables
### coffeetable.lua ###
Coffee Table=Mesa de café
No room to place the coffee table!=¡No hay lugar para colocar la mesa de café!
Someone else owns the spot where the middle or far end goes!=Alguien ya es dueño del lugar donde va la cabecera.
Someone else owns the spot where the other end goes!=Alguien ya es dueño del lugar donde va la cabecera.
### endtable.lua ###
End Table=Mesa final
### misc.lua ###
Large glass table piece=Mesa grande de vídrio
Large wooden table piece=Mesa grande de madera
Legs for Utility Table=Patas para mesa utilitaria
Small round glass table=Mesa redonda pequeña de vídrio
Small round wooden table=Mesa redonda pequeña de madera
Small square glass table=Mesa cuadrada pequeña de vídrio
Small square wooden table=Mesa cuadrada pequeña de madera
Table Legs (@1)=Patas de mesa (@1)
Utility Table=Mesa utilitaria
brass=latón
wrought iron=hierro forjado

View File

@@ -0,0 +1,27 @@
# textdomain: homedecor_tables
### coffeetable.lua ###
Coffee Table=Table basse
No room to place the coffee table!=Pas assez de place pour poser la table basse !
Someone else owns the spot where the middle or far end goes!=Quelqu'un d'autre est propriétaire de l'endroit où va le milieu ou l'autre bout !
Someone else owns the spot where the other end goes!=Quelqu'un d'autre est propriétaire de l'endroit où va l'autre bout !
### endtable.lua ###
End Table=Extrémité de table
### misc.lua ###
Large glass table piece=Élément de grande table en verre
Large wooden table piece=Élément de grande table en bois
Legs for Utility Table=Pieds pour plan de travail
Small round glass table=Petite table ronde en verre
Small round wooden table=Petite table ronde en bois
Small square glass table=Petite table carrée en verre
Small square wooden table=Petite table carrée en bois
Table Legs (@1)=Pieds de table (@1)
Utility Table=Plan de travail
brass=laiton
wrought iron=fer forgé

View File

@@ -0,0 +1,27 @@
# textdomain: homedecor_tables
### coffeetable.lua ###
Coffee Table=Tavolo
No room to place the coffee table!=
Someone else owns the spot where the middle or far end goes!=
Someone else owns the spot where the other end goes!=
### endtable.lua ###
End Table=Tavolo
### misc.lua ###
Large glass table piece=
Large wooden table piece=
Legs for Utility Table=Gambe per il tavolo da lavoro
Small round glass table=Altoparlante audio surround piccolo
Small round wooden table=Altoparlante audio surround piccolo
Small square glass table=
Small square wooden table=Bauletto in legno
Table Legs (@1)=Gambe in ottone del tavolo
Utility Table=Tavolo di lavoro
brass=
wrought iron=Palo di ferro battuto

View File

@@ -0,0 +1,27 @@
# textdomain: homedecor_tables
### coffeetable.lua ###
Coffee Table=Meja Kopi
No room to place the coffee table!=Tiada ruang untuk letak meja kopi!
Someone else owns the spot where the middle or far end goes!=Tempat untuk letak pertengahan atau hujung objek itu kawasan kepunyaan orang lain!
Someone else owns the spot where the other end goes!=Tempat untuk letak hujung objek itu kawasan kepunyaan orang lain!
### endtable.lua ###
End Table=Meja Hujung
### misc.lua ###
Large glass table piece=Kepingan Kaca Meja Besar
Large wooden table piece=Kepingan Meja Kayu Besar
Legs for Utility Table=Kaki untuk Meja Utiliti
Small round glass table=Kaca Meja Bulat Kecil
Small round wooden table=Kepingan Meja Kayu Bulat Kecil
Small square glass table=Kaca Meja Segi Empat Kecil
Small square wooden table=Kepingan Meja Kayu Segi Empat Kecil
Table Legs (@1)=Kaki Meja (@1)
Utility Table=Kepingan Meja Utiliti
brass=Loyang
wrought iron=Besi Tempaan

View File

@@ -0,0 +1,27 @@
# textdomain: homedecor_tables
### coffeetable.lua ###
Coffee Table=Mesa de Café
No room to place the coffee table!=Sem espaço para colocar a mesa de café
Someone else owns the spot where the middle or far end goes!=Alguém já é proprietário do local onde a cabeceira vai.
Someone else owns the spot where the other end goes!=Alguém já é proprietário do local onde a cabeceira vai.
### endtable.lua ###
End Table=Mesa
### misc.lua ###
Large glass table piece=Mesa grande de vidro
Large wooden table piece=Mesa grande de madeira
Legs for Utility Table=Pernas para Mesa de Trabalho
Small round glass table=Mesa pequena circular de vidro
Small round wooden table=Mesa pequena circular de madeira
Small square glass table=Mesa pequena quadrada de vidro
Small square wooden table=Mesa pequena quadrada de madeira
Table Legs (@1)=Pernas de Mesa (@1)
Utility Table=Mesa de Trabalho
brass=latão
wrought iron=ferro forjado

View File

@@ -0,0 +1,27 @@
# textdomain: homedecor_tables
### coffeetable.lua ###
Coffee Table=Mesa de Café
No room to place the coffee table!=Sem espaço para colocar a mesa de café
Someone else owns the spot where the middle or far end goes!=Alguém já é proprietário do local onde a cabeceira vai.
Someone else owns the spot where the other end goes!=Alguém já é proprietário do local onde a cabeceira vai.
### endtable.lua ###
End Table=Mesa
### misc.lua ###
Large glass table piece=Mesa grande de vidro
Large wooden table piece=Mesa grande de madeira
Legs for Utility Table=Pernas para Mesa de Trabalho
Small round glass table=Mesa pequena circular de vidro
Small round wooden table=Mesa pequena circular de madeira
Small square glass table=Mesa pequena quadrada de vidro
Small square wooden table=Mesa pequena quadrada de madeira
Table Legs (@1)=Pernas de Mesa (@1)
Utility Table=Mesa de Trabalho
brass=latão
wrought iron=ferro forjado

View File

@@ -0,0 +1,27 @@
# textdomain: homedecor_tables
### coffeetable.lua ###
Coffee Table=Кофейный столик
No room to place the coffee table!=Нет места для установки кофейного столика!
Someone else owns the spot where the middle or far end goes!=Кому-то другому принадлежит точка, куда выходит средний или дальний конец!
Someone else owns the spot where the other end goes!=Кому-то другому принадлежит точка, где выходит другой конец!
### endtable.lua ###
End Table=Оконечный стол
### misc.lua ###
Large glass table piece=Большая стеклянная столешница
Large wooden table piece=Большая деревянная столешница
Legs for Utility Table=Ножки вспомогательного стола
Small round glass table=Маленький круглый стеклянный столик
Small round wooden table=Маленький круглый деревянный столик
Small square glass table=Маленький квадратный стеклянный столик
Small square wooden table=Маленький квадратный деревянный столик
Table Legs (@1)=Ножки стола (@1)
Utility Table=Вспомогательный стол
brass=латунь
wrought iron=кованное железо

View File

@@ -0,0 +1,27 @@
# textdomain: homedecor_tables
### coffeetable.lua ###
Coffee Table=咖啡桌
No room to place the coffee table!=没有地方放咖啡桌!
Someone else owns the spot where the middle or far end goes!=中间或远端去的地方是别人的!
Someone else owns the spot where the other end goes!=另一端去的地方是别人的!
### endtable.lua ###
End Table=结束表
### misc.lua ###
Large glass table piece=大玻璃桌片
Large wooden table piece=大木桌片
Legs for Utility Table=通用桌腿
Small round glass table=小圆形玻璃桌
Small round wooden table=小圆桌
Small square glass table=小方形玻璃桌
Small square wooden table=小方木桌
Table Legs (@1)=桌腿(@1
Utility Table=效用表
brass=黄铜
wrought iron=锻铁

View File

@@ -0,0 +1,27 @@
# textdomain: homedecor_tables
### coffeetable.lua ###
Coffee Table=
No room to place the coffee table!=
Someone else owns the spot where the middle or far end goes!=
Someone else owns the spot where the other end goes!=
### endtable.lua ###
End Table=
### misc.lua ###
Large glass table piece=
Large wooden table piece=
Legs for Utility Table=
Small round glass table=
Small round wooden table=
Small square glass table=
Small square wooden table=
Table Legs (@1)=
Utility Table=
brass=
wrought iron=

View File

@@ -0,0 +1,370 @@
-- formerly homedecor's misc tables component
local S = minetest.get_translator("homedecor_tables")
local materials = {
{ "glass",
S("Small square glass table"),
S("Small round glass table"),
S("Large glass table piece"),
},
{ "wood",
S("Small square wooden table"),
S("Small round wooden table"),
S("Large wooden table piece"),
}
}
local tables_cbox = {
type = "fixed",
fixed = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
}
for i, mat in ipairs(materials) do
local m, small_s, small_r, large = unpack(mat)
local s
if m == "glass" then
s = default.node_sound_glass_defaults()
else
s = default.node_sound_wood_defaults()
end
-- small square tables
homedecor.register(m.."_table_small_square", {
description = small_s,
mesh = "homedecor_table_small_square.obj",
tiles = { 'homedecor_'..m..'_table_small_square.png' },
wield_image = 'homedecor_'..m..'_table_small_square_inv.png',
inventory_image = 'homedecor_'..m..'_table_small_square_inv.png',
groups = { snappy = 3 },
sounds = s,
selection_box = tables_cbox,
collision_box = tables_cbox,
on_place = minetest.rotate_node
})
-- small round tables
homedecor.register(m..'_table_small_round', {
description = small_r,
mesh = "homedecor_table_small_round.obj",
tiles = { "homedecor_"..m.."_table_small_round.png" },
wield_image = 'homedecor_'..m..'_table_small_round_inv.png',
inventory_image = 'homedecor_'..m..'_table_small_round_inv.png',
groups = { snappy = 3 },
sounds = s,
selection_box = tables_cbox,
collision_box = tables_cbox,
on_place = minetest.rotate_node
})
-- Large square table pieces
homedecor.register(m..'_table_large', {
description = large,
tiles = {
'homedecor_'..m..'_table_large_tb.png',
'homedecor_'..m..'_table_large_tb.png',
'homedecor_'..m..'_table_large_edges.png',
'homedecor_'..m..'_table_large_edges.png',
'homedecor_'..m..'_table_large_edges.png',
'homedecor_'..m..'_table_large_edges.png'
},
wield_image = 'homedecor_'..m..'_table_large_inv.png',
inventory_image = 'homedecor_'..m..'_table_large_inv.png',
groups = { snappy = 3 },
sounds = s,
node_box = {
type = "fixed",
fixed = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
},
selection_box = tables_cbox,
on_place = minetest.rotate_node
})
minetest.register_alias('homedecor:'..m..'_table_large_b', 'homedecor:'..m..'_table_large')
minetest.register_alias('homedecor:'..m..'_table_small_square_b', 'homedecor:'..m..'_table_small_square')
minetest.register_alias('homedecor:'..m..'_table_small_round_b', 'homedecor:'..m..'_table_small_round')
end
-- conversion routines for old non-6dfacedir tables
local tlist_s = {}
local tlist_t = {}
local dirs2 = { 9, 18, 7, 12 }
for i in ipairs(materials) do
local m = materials[i][1]
table.insert(tlist_s, "homedecor:"..m.."_table_large_s")
table.insert(tlist_s, "homedecor:"..m.."_table_small_square_s")
table.insert(tlist_s, "homedecor:"..m.."_table_small_round_s")
table.insert(tlist_t, "homedecor:"..m.."_table_large_t")
table.insert(tlist_t, "homedecor:"..m.."_table_small_square_t")
table.insert(tlist_t, "homedecor:"..m.."_table_small_round_t")
end
minetest.register_abm({
nodenames = tlist_s,
interval = 1,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local newnode = string.sub(node.name, 1, -3) -- strip the "_s" from the name
local fdir = node.param2 or 0
minetest.set_node(pos, {name = newnode, param2 = dirs2[fdir+1]})
end
})
minetest.register_abm({
nodenames = tlist_t,
interval = 1,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local newnode = string.sub(node.name, 1, -3) -- strip the "_t" from the name
minetest.set_node(pos, { name = newnode, param2 = 20 })
end
})
-- other tables
homedecor.register("utility_table_top", {
description = S("Utility Table"),
tiles = {
'homedecor_utility_table_tb.png',
'homedecor_utility_table_tb.png',
'homedecor_utility_table_edges.png',
'homedecor_utility_table_edges.png',
'homedecor_utility_table_edges.png',
'homedecor_utility_table_edges.png'
},
wield_image = 'homedecor_utility_table_tb.png',
inventory_image = 'homedecor_utility_table_tb.png',
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
paramtype2 = "wallmounted",
node_box = {
type = "wallmounted",
wall_bottom = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
wall_top = { -0.5, 0.4375, -0.5, 0.5, 0.5, 0.5 },
wall_side = { -0.5, -0.5, -0.5, -0.4375, 0.5, 0.5 },
},
selection_box = {
type = "wallmounted",
wall_bottom = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
wall_top = { -0.5, 0.4375, -0.5, 0.5, 0.5, 0.5 },
wall_side = { -0.5, -0.5, -0.5, -0.4375, 0.5, 0.5 },
},
})
-- Various kinds of table legs
-- local above
materials = {
{ "brass", S("brass") },
{ "wrought_iron", S("wrought iron") },
}
for _, t in ipairs(materials) do
local name, desc = unpack(t)
homedecor.register("table_legs_"..name, {
description = S("Table Legs (@1)", desc),
drawtype = "plantlike",
tiles = {"homedecor_table_legs_"..name..".png"},
inventory_image = "homedecor_table_legs_"..name..".png",
wield_image = "homedecor_table_legs_"..name..".png",
walkable = false,
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
selection_box = {
type = "fixed",
fixed = { -0.37, -0.5, -0.37, 0.37, 0.5, 0.37 }
},
})
end
homedecor.register("utility_table_legs", {
description = S("Legs for Utility Table"),
drawtype = "plantlike",
tiles = { 'homedecor_utility_table_legs.png' },
inventory_image = 'homedecor_utility_table_legs_inv.png',
wield_image = 'homedecor_utility_table_legs.png',
walkable = false,
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
selection_box = {
type = "fixed",
fixed = { -0.37, -0.5, -0.37, 0.37, 0.5, 0.37 }
},
})
-- crafting
minetest.register_craft( {
output = "homedecor:glass_table_small_round_b 15",
recipe = {
{ "", "default:glass", "" },
{ "default:glass", "default:glass", "default:glass" },
{ "", "default:glass", "" },
},
})
minetest.register_craft( {
output = "homedecor:glass_table_small_square_b 2",
recipe = {
{"homedecor:glass_table_small_round", "homedecor:glass_table_small_round" },
}
})
minetest.register_craft( {
output = "homedecor:glass_table_large_b 2",
recipe = {
{ "homedecor:glass_table_small_square", "homedecor:glass_table_small_square" },
}
})
--
minetest.register_craft( {
output = "homedecor:wood_table_small_round_b 15",
recipe = {
{ "", "group:wood", "" },
{ "group:wood", "group:wood", "group:wood" },
{ "", "group:wood", "" },
},
})
minetest.register_craft( {
output = "homedecor:wood_table_small_square_b 2",
recipe = {
{ "homedecor:wood_table_small_round","homedecor:wood_table_small_round" },
}
})
minetest.register_craft( {
output = "homedecor:wood_table_large_b 2",
recipe = {
{ "homedecor:wood_table_small_square", "homedecor:wood_table_small_square" },
}
})
--
minetest.register_craft({
type = "fuel",
recipe = "homedecor:wood_table_small_round_b",
burntime = 30,
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:wood_table_small_square_b",
burntime = 30,
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:wood_table_large_b",
burntime = 30,
})
minetest.register_craft( {
output = "homedecor:table_legs_wrought_iron 3",
recipe = {
{ "", "default:iron_lump", "" },
{ "", "default:iron_lump", "" },
{ "default:iron_lump", "default:iron_lump", "default:iron_lump" },
},
})
minetest.register_craft( {
output = "homedecor:table_legs_brass 3",
recipe = {
{ "", "basic_materials:brass_ingot", "" },
{ "", "basic_materials:brass_ingot", "" },
{ "basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot" }
},
})
minetest.register_craft( {
output = "homedecor:utility_table_legs",
recipe = {
{ "group:stick", "group:stick", "group:stick" },
{ "group:stick", "", "group:stick" },
{ "group:stick", "", "group:stick" },
},
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:utility_table_legs",
burntime = 30,
})
-- recycling
minetest.register_craft({
type = "shapeless",
output = "vessels:glass_fragments",
recipe = {
"homedecor:glass_table_small_round",
"homedecor:glass_table_small_round",
"homedecor:glass_table_small_round"
}
})
minetest.register_craft({
type = "shapeless",
output = "vessels:glass_fragments",
recipe = {
"homedecor:glass_table_small_square",
"homedecor:glass_table_small_square",
"homedecor:glass_table_small_square"
}
})
minetest.register_craft({
type = "shapeless",
output = "vessels:glass_fragments",
recipe = {
"homedecor:glass_table_large",
"homedecor:glass_table_large",
"homedecor:glass_table_large"
}
})
minetest.register_craft({
type = "shapeless",
output = "default:stick 4",
recipe = {
"homedecor:wood_table_small_round",
"homedecor:wood_table_small_round",
"homedecor:wood_table_small_round"
}
})
minetest.register_craft({
type = "shapeless",
output = "default:stick 4",
recipe = {
"homedecor:wood_table_small_square",
"homedecor:wood_table_small_square",
"homedecor:wood_table_small_square"
}
})
minetest.register_craft({
type = "shapeless",
output = "default:stick 4",
recipe = {
"homedecor:wood_table_large",
"homedecor:wood_table_large",
"homedecor:wood_table_large"
}
})

View File

@@ -0,0 +1,3 @@
name = homedecor_tables
description = Homedecor mod: tables
depends = homedecor_common, default, basic_materials

View File

@@ -0,0 +1,300 @@
v 0.049 -0.499 -0.498
v 0.049 -0.453 -0.498
v 0.145 -0.499 -0.478
v 0.145 -0.453 -0.478
v 0.236 -0.499 -0.441
v 0.236 -0.453 -0.441
v 0.317 -0.499 -0.387
v 0.317 -0.453 -0.387
v 0.387 -0.499 -0.317
v 0.387 -0.453 -0.317
v 0.441 -0.499 -0.236
v 0.441 -0.453 -0.236
v 0.478 -0.499 -0.145
v 0.478 -0.453 -0.145
v 0.498 -0.499 -0.049
v 0.498 -0.453 -0.049
v 0.498 -0.499 0.049
v 0.498 -0.453 0.049
v 0.478 -0.499 0.145
v 0.478 -0.453 0.145
v 0.441 -0.499 0.236
v 0.441 -0.453 0.236
v 0.387 -0.499 0.317
v 0.387 -0.453 0.317
v 0.317 -0.499 0.387
v 0.317 -0.453 0.387
v 0.236 -0.499 0.441
v 0.236 -0.453 0.441
v 0.145 -0.499 0.478
v 0.145 -0.453 0.478
v 0.049 -0.499 0.498
v 0.049 -0.453 0.498
v -0.049 -0.499 0.498
v -0.049 -0.453 0.498
v -0.145 -0.499 0.478
v -0.145 -0.453 0.478
v -0.236 -0.499 0.441
v -0.236 -0.453 0.441
v -0.317 -0.499 0.387
v -0.317 -0.453 0.387
v -0.387 -0.499 0.317
v -0.387 -0.453 0.317
v -0.441 -0.499 0.236
v -0.441 -0.453 0.236
v -0.478 -0.499 0.145
v -0.478 -0.453 0.145
v -0.498 -0.499 0.049
v -0.498 -0.453 0.049
v -0.498 -0.499 -0.049
v -0.498 -0.453 -0.049
v -0.478 -0.499 -0.145
v -0.478 -0.453 -0.145
v -0.441 -0.499 -0.236
v -0.441 -0.453 -0.236
v -0.387 -0.499 -0.317
v -0.387 -0.453 -0.317
v -0.317 -0.499 -0.387
v -0.317 -0.453 -0.387
v -0.236 -0.499 -0.441
v -0.236 -0.453 -0.441
v -0.145 -0.499 -0.478
v -0.145 -0.453 -0.478
v -0.049 -0.499 -0.498
v -0.049 -0.453 -0.498
v 0.046 -0.437 -0.469
v 0.137 -0.437 -0.451
v 0.222 -0.437 -0.416
v 0.299 -0.437 -0.364
v 0.364 -0.437 -0.299
v 0.416 -0.437 -0.222
v 0.451 -0.437 -0.137
v 0.469 -0.437 -0.046
v 0.469 -0.437 0.046
v 0.451 -0.437 0.137
v 0.416 -0.437 0.222
v 0.364 -0.437 0.299
v 0.299 -0.437 0.364
v 0.222 -0.437 0.416
v 0.137 -0.437 0.451
v 0.046 -0.437 0.469
v -0.046 -0.437 0.469
v -0.137 -0.437 0.451
v -0.222 -0.437 0.416
v -0.299 -0.437 0.364
v -0.364 -0.437 0.299
v -0.416 -0.437 0.222
v -0.451 -0.437 0.137
v -0.469 -0.437 0.046
v -0.469 -0.437 -0.046
v -0.451 -0.437 -0.137
v -0.416 -0.437 -0.222
v -0.364 -0.437 -0.299
v -0.299 -0.437 -0.364
v -0.222 -0.437 -0.416
v -0.137 -0.437 -0.451
v -0.046 -0.437 -0.469
vt 0.277 0.123
vt 0.277 0.096
vt 0.333 0.096
vt 0.333 0.123
vt 0.389 0.096
vt 0.389 0.123
vt 0.444 0.096
vt 0.444 0.123
vt 0.5 0.096
vt 0.5 0.123
vt 0.556 0.096
vt 0.556 0.123
vt 0.611 0.096
vt 0.611 0.123
vt 0.667 0.096
vt 0.667 0.123
vt 0.723 0.096
vt 0.723 0.123
vt 0.277 0.404
vt 0.277 0.377
vt 0.333 0.377
vt 0.333 0.404
vt 0.389 0.377
vt 0.389 0.404
vt 0.444 0.377
vt 0.444 0.404
vt 0.5 0.377
vt 0.5 0.404
vt 0.556 0.377
vt 0.556 0.404
vt 0.611 0.377
vt 0.611 0.404
vt 0.667 0.377
vt 0.667 0.404
vt 0.723 0.377
vt 0.723 0.404
vt 0.277 0.311
vt 0.277 0.283
vt 0.333 0.283
vt 0.333 0.311
vt 0.389 0.283
vt 0.389 0.311
vt 0.444 0.283
vt 0.444 0.311
vt 0.5 0.283
vt 0.5 0.311
vt 0.556 0.283
vt 0.556 0.311
vt 0.611 0.283
vt 0.611 0.311
vt 0.667 0.283
vt 0.667 0.311
vt 0.723 0.283
vt 0.723 0.311
vt 0.277 0.217
vt 0.277 0.189
vt 0.333 0.189
vt 0.333 0.217
vt 0.389 0.189
vt 0.389 0.217
vt 0.444 0.189
vt 0.444 0.217
vt 0.5 0.189
vt 0.5 0.217
vt 0.556 0.189
vt 0.556 0.217
vt 0.611 0.189
vt 0.611 0.217
vt 0.667 0.217
vt 0.667 0.189
vt 0.723 0.189
vt 0.723 0.217
vt 0.728 0.526
vt 0.685 0.535
vt 0.644 0.552
vt 0.607 0.576
vt 0.576 0.607
vt 0.552 0.644
vt 0.535 0.685
vt 0.526 0.728
vt 0.526 0.772
vt 0.535 0.815
vt 0.552 0.856
vt 0.576 0.893
vt 0.607 0.924
vt 0.644 0.948
vt 0.685 0.965
vt 0.728 0.974
vt 0.772 0.974
vt 0.815 0.965
vt 0.856 0.948
vt 0.893 0.924
vt 0.924 0.893
vt 0.948 0.856
vt 0.965 0.815
vt 0.974 0.772
vt 0.974 0.728
vt 0.965 0.685
vt 0.948 0.644
vt 0.924 0.607
vt 0.893 0.576
vt 0.856 0.552
vt 0.815 0.535
vt 0.772 0.526
vt 0.192 0.558
vt 0.23 0.551
vt 0.27 0.551
vt 0.308 0.558
vt 0.344 0.573
vt 0.377 0.595
vt 0.405 0.623
vt 0.427 0.656
vt 0.442 0.692
vt 0.449 0.73
vt 0.449 0.77
vt 0.442 0.808
vt 0.427 0.844
vt 0.405 0.877
vt 0.377 0.905
vt 0.344 0.927
vt 0.308 0.942
vt 0.27 0.949
vt 0.23 0.949
vt 0.192 0.942
vt 0.156 0.927
vt 0.123 0.905
vt 0.095 0.877
vt 0.073 0.844
vt 0.058 0.808
vt 0.051 0.77
vt 0.051 0.73
vt 0.058 0.692
vt 0.073 0.656
vt 0.095 0.623
vt 0.123 0.595
vt 0.156 0.573
g 1
s off
f 1/1 2/2 4/3 3/4
f 3/4 4/3 6/5 5/6
f 5/6 6/5 8/7 7/8
f 7/8 8/7 10/9 9/10
f 9/10 10/9 12/11 11/12
f 11/12 12/11 14/13 13/14
f 13/14 14/13 16/15 15/16
f 15/16 16/15 18/17 17/18
f 17/19 18/20 20/21 19/22
f 19/22 20/21 22/23 21/24
f 21/24 22/23 24/25 23/26
f 23/26 24/25 26/27 25/28
f 25/28 26/27 28/29 27/30
f 27/30 28/29 30/31 29/32
f 29/32 30/31 32/33 31/34
f 31/34 32/33 34/35 33/36
f 33/37 34/38 36/39 35/40
f 35/40 36/39 38/41 37/42
f 37/42 38/41 40/43 39/44
f 39/44 40/43 42/45 41/46
f 41/46 42/45 44/47 43/48
f 43/48 44/47 46/49 45/50
f 45/50 46/49 48/51 47/52
f 47/52 48/51 50/53 49/54
f 49/55 50/56 52/57 51/58
f 51/58 52/57 54/59 53/60
f 53/60 54/59 56/61 55/62
f 55/62 56/61 58/63 57/64
f 57/64 58/63 60/65 59/66
f 59/66 60/65 62/67 61/68
f 54/59 52/57 90/57 91/59
f 63/69 64/70 2/71 1/72
f 61/68 62/67 64/70 63/69
f 1/73 3/74 5/75 7/76 9/77 11/78 13/79 15/80 17/81 19/82 21/83 23/84 25/85 27/86 29/87 31/88 33/89 35/90 37/91 39/92 41/93 43/94 45/95 47/96 49/97 51/98 53/99 55/100 57/101 59/102 61/103 63/104
f 66/105 65/106 96/107 95/108 94/109 93/110 92/111 91/112 90/113 89/114 88/115 87/116 86/117 85/118 84/119 83/120 82/121 81/122 80/123 79/124 78/125 77/126 76/127 75/128 74/129 73/130 72/131 71/132 70/133 69/134 68/135 67/136
f 10/9 8/7 68/7 69/9
f 32/33 30/31 79/31 80/33
f 60/65 58/63 93/63 94/65
f 38/41 36/39 82/39 83/41
f 16/15 14/13 71/13 72/15
f 2/71 64/70 96/70 65/71
f 44/47 42/45 85/45 86/47
f 22/23 20/21 74/21 75/23
f 50/53 48/51 88/51 89/53
f 6/5 4/3 66/3 67/5
f 28/29 26/27 77/27 78/29
f 56/61 54/59 91/59 92/61
f 12/11 10/9 69/9 70/11
f 34/35 32/33 80/33 81/35
f 62/67 60/65 94/65 95/67
f 40/43 38/41 83/41 84/43
f 4/3 2/2 65/2 66/3
f 18/17 16/15 72/15 73/17
f 46/49 44/47 86/47 87/49
f 24/25 22/23 75/23 76/25
f 52/57 50/56 89/56 90/57
f 8/7 6/5 67/5 68/7
f 30/31 28/29 78/29 79/31
f 58/63 56/61 92/61 93/63
f 36/39 34/38 81/38 82/39
f 14/13 12/11 70/11 71/13
f 64/70 62/67 95/67 96/70
f 42/45 40/43 84/43 85/45
f 20/21 18/20 73/20 74/21
f 48/51 46/49 87/49 88/51
f 26/27 24/25 76/25 77/27

View File

@@ -0,0 +1,43 @@
v 0.499 -0.499 -0.499
v 0.499 -0.499 0.499
v -0.499 -0.499 0.499
v -0.499 -0.499 -0.499
v 0.499 -0.469 -0.499
v 0.499 -0.469 0.499
v -0.499 -0.469 0.499
v -0.499 -0.469 -0.499
v 0.469 -0.437 -0.469
v 0.469 -0.437 0.469
v -0.469 -0.437 0.469
v -0.469 -0.437 -0.469
vt 0.5 0.029
vt 0.971 0.029
vt 0.971 0.5
vt 0.5 0.5
vt 0.015 0.985
vt 0.015 0.515
vt 0.029 0.529
vt 0.029 0.971
vt 0.985 0.5
vt 0.985 0.029
vt 0.5 0.515
vt 0.971 0.515
vt 0.485 0.029
vt 0.485 0.5
vt 0.971 0.015
vt 0.5 0.015
vt 0.471 0.971
vt 0.471 0.529
vt 0.485 0.515
vt 0.485 0.985
s off
f 1/1 2/2 3/3 4/4
f 8/5 7/6 11/7 12/8
f 1/9 5/3 6/2 2/10
f 2/11 6/4 7/3 3/12
f 3/13 7/1 8/4 4/14
f 5/15 1/2 4/1 8/16
f 9/17 12/8 11/7 10/18
f 7/6 6/19 10/18 11/7
f 5/20 8/5 12/8 9/17
f 6/19 5/20 9/17 10/18

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 573 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 982 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 472 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 469 B