Compare commits
114 Commits
2018-11-09
...
nalc-1.2.0
Author | SHA1 | Date | |
---|---|---|---|
5612f4c884 | |||
5aecf5f2c7 | |||
9be79ec6d0 | |||
4c0f068909 | |||
ce3c77564c | |||
43333687bd | |||
9ec3eab6f4 | |||
9f5cc15e62 | |||
7bcfbbca3a | |||
ed41161554 | |||
77933d9dc3 | |||
e372ccb4d8 | |||
c118b43711 | |||
f6da0f7329 | |||
e84a184946 | |||
0c9d883f28 | |||
97e7a31830 | |||
d897e6d97c | |||
8532dee8ed | |||
356f872327 | |||
6c07a31857 | |||
daef49a255 | |||
1072598701 | |||
60be4a6320 | |||
67f2065408 | |||
f90834ff06 | |||
c871e0d388 | |||
d17ec1d978 | |||
9dcc6c2b4d | |||
80352d69e1 | |||
1d59c2258d | |||
11e6b5d92a | |||
7e7b2bcabb | |||
b28f1314da | |||
17ea2040e2 | |||
ed9fb6a34d | |||
13862c1a48 | |||
e289e79aea | |||
80ab12710b | |||
1b94c940d7 | |||
df44dd3dad | |||
bff90189fc | |||
b407f06dc4 | |||
e6dc2c5508 | |||
bde2bf2bf6 | |||
ea160a6519 | |||
631813bb2d | |||
f33636d473 | |||
cbb41f7d98 | |||
c98ec41ba7 | |||
84c3933fd4 | |||
968cdfd549 | |||
c457874d03 | |||
67acbd6d59 | |||
fdb37bdaf5 | |||
ab8bf5586f | |||
2f3c12eb2a | |||
4174737a1a | |||
11771e12cb | |||
b3337921a1 | |||
301ae2ee1d | |||
9b77ba1c28 | |||
bb1a2c9314 | |||
6181f9c400 | |||
c13c3a1c8c | |||
a129cf177f | |||
7be5e15263 | |||
0f2c4f94de | |||
c28df63aae | |||
e767b08011 | |||
c645964dd5 | |||
603eeba810 | |||
960f4c4200 | |||
5c6a994698 | |||
1eec6e3615 | |||
7cdfc3b49c | |||
bf7e47342f | |||
b85278fbaa | |||
cacf04e2d1 | |||
07141bff47 | |||
542f688c09 | |||
fee09943e3 | |||
bed4d1e6f8 | |||
798ff29b0a | |||
7491fd4aa8 | |||
0753606eb0 | |||
7ab149275b | |||
c6ef999591 | |||
a9cfef8fba | |||
9d64af85ca | |||
712ca909ca | |||
778b5493c7 | |||
fb0ca9a15c | |||
1520d27a73 | |||
32fc5dc49b | |||
854e96d4c0 | |||
6e61cc4ad8 | |||
2ee1cd6887 | |||
0cd8bd7780 | |||
8b78caf7c6 | |||
18d74e2f09 | |||
b94139c9df | |||
bb808a944c | |||
b08c0905c0 | |||
95590f23c5 | |||
5d4c64d3b2 | |||
554ec8028d | |||
0ab1040760 | |||
52375443ed | |||
4eb9ffb088 | |||
ac71c0f189 | |||
37c6b99ac1 | |||
bcf9238e47 | |||
04cb59401b |
@ -1,4 +1,4 @@
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
|
||||
if minetest.get_modpath("moreblocks") or minetest.get_modpath("stairs") then
|
||||
minetest.register_alias("building_blocks:slab_tar", "stairs:slab_Tar")
|
||||
|
@ -1,5 +1,5 @@
|
||||
default
|
||||
homedecor_i18n
|
||||
homedecor_common
|
||||
moreblocks?
|
||||
gloopblocks?
|
||||
stairs?
|
||||
|
@ -1,7 +1,10 @@
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
local modpath = minetest.get_modpath("building_blocks")
|
||||
|
||||
dofile(modpath.."/alias.lua")
|
||||
dofile(modpath.."/node_stairs.lua")
|
||||
dofile(modpath.."/others.lua")
|
||||
dofile(modpath.."/recipes.lua")
|
||||
dofile(modpath.."/recipes.lua")
|
||||
|
||||
minetest.log("action", "[building_blocks] loaded.")
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
|
||||
local stairs_groups_names = {"cracky","choppy","flammable","crumbly","snappy"}
|
||||
|
||||
@ -33,7 +33,7 @@ local function building_blocks_stairs(nodename, def)
|
||||
("%s Slab"):format(def.description),
|
||||
def.sounds
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
|
||||
minetest.register_craftitem("building_blocks:sticks", {
|
||||
description = S("Small bundle of sticks"),
|
||||
@ -20,4 +20,4 @@ minetest.register_tool("building_blocks:knife", {
|
||||
fleshy={times={[2]=5.50, [3]=2.80}, uses=100, maxlevel=1}
|
||||
}
|
||||
},
|
||||
})
|
||||
})
|
||||
|
@ -1,4 +1,4 @@
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
minetest.register_craft({
|
||||
|
Before Width: | Height: | Size: 499 B After Width: | Height: | Size: 450 B |
@ -1,5 +1,5 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
|
||||
-- Amiga 500 lookalike
|
||||
computer.register("computer:shefriendSOO", {
|
||||
@ -258,33 +258,6 @@ minetest.register_node("computer:tower", {
|
||||
|
||||
minetest.register_alias("computer:tower_on", "computer:tower")
|
||||
|
||||
-- Printer/scaner combo
|
||||
minetest.register_node("computer:printer", {
|
||||
description = S("Printer-Scanner Combo"),
|
||||
inventory_image = "computer_printer_inv.png",
|
||||
tiles = {"computer_printer_t.png","computer_printer_bt.png","computer_printer_l.png",
|
||||
"computer_printer_r.png","computer_printer_b.png","computer_printer_f.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = true,
|
||||
groups = {snappy=3},
|
||||
sound = default.node_sound_wood_defaults(),
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4375, -0.3125, -0.125, 0.4375, -0.0625, 0.375},
|
||||
{-0.4375, -0.5, -0.125, 0.4375, -0.4375, 0.375},
|
||||
{-0.4375, -0.5, -0.125, -0.25, -0.0625, 0.375},
|
||||
{0.25, -0.5, -0.125, 0.4375, -0.0625, 0.375},
|
||||
{-0.4375, -0.5, -0.0625, 0.4375, -0.0625, 0.375},
|
||||
{-0.375, -0.4375, 0.25, 0.375, -0.0625, 0.4375},
|
||||
{-0.25, -0.25, 0.4375, 0.25, 0.0625, 0.5},
|
||||
{-0.25, -0.481132, -0.3125, 0.25, -0.4375, 0}
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
--Rack Server
|
||||
minetest.register_node("computer:server", {
|
||||
drawtype = "nodebox",
|
||||
|
@ -1,2 +1,4 @@
|
||||
default
|
||||
homedecor_i18n
|
||||
homedecor_common
|
||||
basic_materials
|
||||
unifieddyes
|
||||
|
@ -94,6 +94,8 @@ end
|
||||
|
||||
local MODPATH = minetest.get_modpath("computer")
|
||||
dofile(MODPATH.."/computers.lua")
|
||||
dofile(MODPATH.."/miscitems.lua")
|
||||
dofile(MODPATH.."/printers.lua")
|
||||
dofile(MODPATH.."/recipes.lua")
|
||||
dofile(MODPATH.."/tetris.lua")
|
||||
|
||||
minetest.log("action", "[computer] loaded.")
|
||||
|
@ -1,68 +0,0 @@
|
||||
-- Copyright (C) 2012-2013 Diego Martínez <kaeza@users.sf.net>
|
||||
|
||||
-- This file defines some items in order to not have to depend on other mods.
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
if (not minetest.get_modpath("homedecor")) then
|
||||
|
||||
minetest.register_craftitem(":basic_materials:plastic_sheet", {
|
||||
description = S("Plastic sheet"),
|
||||
inventory_image = "homedecor_plastic_sheeting.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem(":homedecor:plastic_base", {
|
||||
description = S("Unprocessed Plastic base"),
|
||||
wield_image = "homedecor_plastic_base.png",
|
||||
inventory_image = "homedecor_plastic_base_inv.png",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = 'homedecor:plastic_base 6',
|
||||
recipe = { "default:junglegrass",
|
||||
"default:junglegrass",
|
||||
"default:junglegrass"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = 'homedecor:plastic_base 3',
|
||||
recipe = { "default:dry_shrub",
|
||||
"default:dry_shrub",
|
||||
"default:dry_shrub"
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = 'homedecor:plastic_base 4',
|
||||
recipe = { "default:leaves",
|
||||
"default:leaves",
|
||||
"default:leaves",
|
||||
"default:leaves",
|
||||
"default:leaves",
|
||||
"default:leaves"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "basic_materials:plastic_sheet",
|
||||
recipe = "homedecor:plastic_base",
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'fuel',
|
||||
recipe = 'homedecor:plastic_base',
|
||||
burntime = 30,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = 'fuel',
|
||||
recipe = 'basic_materials:plastic_sheet',
|
||||
burntime = 30,
|
||||
})
|
||||
|
||||
end -- not homedecor
|
9835
computer/models/computer_3dprinter_bedflinger.obj
Normal file
61
computer/printers.lua
Normal file
@ -0,0 +1,61 @@
|
||||
-- Printers of some kind or another
|
||||
|
||||
local S = homedecor.gettext
|
||||
|
||||
minetest.register_node("computer:printer", {
|
||||
description = S("Printer-Scanner Combo"),
|
||||
inventory_image = "computer_printer_inv.png",
|
||||
tiles = {"computer_printer_t.png","computer_printer_bt.png","computer_printer_l.png",
|
||||
"computer_printer_r.png","computer_printer_b.png","computer_printer_f.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = true,
|
||||
groups = {snappy=3},
|
||||
sound = default.node_sound_wood_defaults(),
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4375, -0.3125, -0.125, 0.4375, -0.0625, 0.375},
|
||||
{-0.4375, -0.5, -0.125, 0.4375, -0.4375, 0.375},
|
||||
{-0.4375, -0.5, -0.125, -0.25, -0.0625, 0.375},
|
||||
{0.25, -0.5, -0.125, 0.4375, -0.0625, 0.375},
|
||||
{-0.4375, -0.5, -0.0625, 0.4375, -0.0625, 0.375},
|
||||
{-0.375, -0.4375, 0.25, 0.375, -0.0625, 0.4375},
|
||||
{-0.25, -0.25, 0.4375, 0.25, 0.0625, 0.5},
|
||||
{-0.25, -0.481132, -0.3125, 0.25, -0.4375, 0}
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- "bedflinger" style 3D Printer (Prusa i3 or equivalent)
|
||||
|
||||
local cbox = {
|
||||
type = "fixed",
|
||||
fixed = {-0.25, -0.25, -0.5, 0.3, 0.3, 0.25 }
|
||||
}
|
||||
|
||||
minetest.register_node("computer:3dprinter_bedflinger", {
|
||||
description = S('3D Printer ("bedflinger")'),
|
||||
inventory_image = "computer_3dprinter_bedflinger_inv.png",
|
||||
tiles = {
|
||||
{ name = "computer_3dprinter_bedflinger.png", color = 0xffffffff },
|
||||
"computer_3dprinter_filament.png"
|
||||
},
|
||||
paramtype = "light",
|
||||
walkable = true,
|
||||
groups = {snappy=3, ud_param2_colorable = 1},
|
||||
sound = default.node_sound_wood_defaults(),
|
||||
drawtype = "mesh",
|
||||
mesh = "computer_3dprinter_bedflinger.obj",
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
selection_box = cbox,
|
||||
collision_box = cbox,
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
|
||||
end,
|
||||
on_dig = unifieddyes.on_dig,
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
||||
})
|
||||
|
@ -1,5 +1,4 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
|
||||
local shapes = {
|
||||
{ { x = {0, 1, 0, 1}, y = {0, 0, 1, 1} } },
|
||||
@ -220,10 +219,10 @@ local function step(pos, fields)
|
||||
if fields then
|
||||
if fields.new then
|
||||
new_game(pos)
|
||||
else
|
||||
elseif t then
|
||||
key(fields)
|
||||
end
|
||||
else
|
||||
elseif t then
|
||||
run = tick()
|
||||
end
|
||||
|
||||
@ -231,7 +230,7 @@ local function step(pos, fields)
|
||||
local scr = { formsize, background,
|
||||
t.boardstring, t.previewstring,
|
||||
draw_shape(t.cur, t.x, t.y, t.rot, boardx, boardy),
|
||||
"label[3.8,0.1;"..S("Next...").."]label[3.8,2.7;"..S("Score: "),
|
||||
"label[3.8,0.1;"..S("Next...").."]label[3.8,2.7;"..S("Score: "),
|
||||
t.score, close, buttons }
|
||||
|
||||
|
||||
|
BIN
computer/textures/computer_3dprinter_bedflinger.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
computer/textures/computer_3dprinter_bedflinger_inv.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
computer/textures/computer_3dprinter_filament.png
Normal file
After Width: | Height: | Size: 216 B |
@ -1,8 +1,11 @@
|
||||
Most code and all textures by Vanessa Ezekowitz.
|
||||
Most code and textures by Vanessa Ezekowitz.
|
||||
|
||||
Some code copied and modified from the game's default mods (especially
|
||||
doors) and ironzorg's flowers mod.
|
||||
|
||||
Whatever is stated here applies to all homedecor modpack components, as
|
||||
appropriate.
|
||||
|
||||
Licenses:
|
||||
* Door open/close sound by Slanesh on freesound.org
|
||||
http://freesound.org/people/Slanesh/sounds/31768/
|
||||
@ -14,3 +17,4 @@ Licenses:
|
||||
http://www.freesfx.co.uk/sfx/book?p=3
|
||||
* Phone ringing sound by andyt's on http://www.freesfx.co.uk/
|
||||
http://www.freesfx.co.uk/sfx/phone?p=5
|
||||
|
@ -1,2 +1,2 @@
|
||||
default
|
||||
homedecor
|
||||
default
|
||||
homedecor_common
|
||||
|
@ -1,9 +1,82 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
local S = homedecor.gettext
|
||||
|
||||
screwdriver = screwdriver or {}
|
||||
|
||||
local function start_smoke(pos, node, clicker, chimney)
|
||||
local function fire_particles_on(pos) -- 3 layers of fire
|
||||
local meta = minetest.get_meta(pos)
|
||||
local id = minetest.add_particlespawner({ -- 1 layer big particles fire
|
||||
amount = 9,
|
||||
time = 0,
|
||||
minpos = {x = pos.x - 0.2, y = pos.y - 0.4, z = pos.z - 0.2},
|
||||
maxpos = {x = pos.x + 0.2, y = pos.y - 0.1, z = pos.z + 0.2},
|
||||
minvel = {x= 0, y= 0, z= 0},
|
||||
maxvel = {x= 0, y= 0.1, z= 0},
|
||||
minacc = {x= 0, y= 0, z= 0},
|
||||
maxacc = {x= 0, y= 0.7, z= 0},
|
||||
minexptime = 0.5,
|
||||
maxexptime = 0.7,
|
||||
minsize = 2,
|
||||
maxsize = 5,
|
||||
collisiondetection = false,
|
||||
vertical = true,
|
||||
texture = "fake_fire_particle_anim_fire.png",
|
||||
animation = {type="vertical_frames", aspect_w=16, aspect_h=16, length = 0.8,},
|
||||
})
|
||||
meta:set_int("layer_1", id)
|
||||
|
||||
local id = minetest.add_particlespawner({ -- 2 layer smol particles fire
|
||||
amount = 1,
|
||||
time = 0,
|
||||
minpos = {x = pos.x - 0.1, y = pos.y, z = pos.z - 0.1},
|
||||
maxpos = {x = pos.x + 0.1, y = pos.y + 0.4, z = pos.z + 0.1},
|
||||
minvel = {x= 0, y= 0, z= 0},
|
||||
maxvel = {x= 0, y= 0.1, z= 0},
|
||||
minacc = {x= 0, y= 0, z= 0},
|
||||
maxacc = {x= 0, y= 1, z= 0},
|
||||
minexptime = 0.4,
|
||||
maxexptime = 0.6,
|
||||
minsize = 0.5,
|
||||
maxsize = 0.7,
|
||||
collisiondetection = false,
|
||||
vertical = true,
|
||||
texture = "fake_fire_particle_anim_fire.png",
|
||||
animation = {type="vertical_frames", aspect_w=16, aspect_h=16, length = 0.7,},
|
||||
})
|
||||
meta:set_int("layer_2", id)
|
||||
|
||||
local id = minetest.add_particlespawner({ --3 layer smoke
|
||||
amount = 1,
|
||||
time = 0,
|
||||
minpos = {x = pos.x - 0.1, y = pos.y - 0.2, z = pos.z - 0.1},
|
||||
maxpos = {x = pos.x + 0.2, y = pos.y + 0.4, z = pos.z + 0.2},
|
||||
minvel = {x= 0, y= 0, z= 0},
|
||||
maxvel = {x= 0, y= 0.1, z= 0},
|
||||
minacc = {x= 0, y= 0, z= 0},
|
||||
maxacc = {x= 0, y= 1, z= 0},
|
||||
minexptime = 0.6,
|
||||
maxexptime = 0.8,
|
||||
minsize = 2,
|
||||
maxsize = 4,
|
||||
collisiondetection = true,
|
||||
vertical = true,
|
||||
texture = "fake_fire_particle_anim_smoke.png",
|
||||
animation = {type="vertical_frames", aspect_w=16, aspect_h=16, length = 0.9,},
|
||||
})
|
||||
meta:set_int("layer_3", id)
|
||||
end
|
||||
|
||||
local function fire_particles_off(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local id_1 = meta:get_int("layer_1");
|
||||
local id_2 = meta:get_int("layer_2");
|
||||
local id_3 = meta:get_int("layer_3");
|
||||
minetest.delete_particlespawner(id_1)
|
||||
minetest.delete_particlespawner(id_2)
|
||||
minetest.delete_particlespawner(id_3)
|
||||
end
|
||||
|
||||
local function start_fire_effects(pos, node, clicker, chimney)
|
||||
local this_spawner_meta = minetest.get_meta(pos)
|
||||
local id = this_spawner_meta:get_int("smoky")
|
||||
local s_handle = this_spawner_meta:get_int("sound")
|
||||
@ -41,7 +114,7 @@ local function start_smoke(pos, node, clicker, chimney)
|
||||
max_hear_distance = 5,
|
||||
loop = true
|
||||
})
|
||||
this_spawner_meta:set_int("smoky", id)
|
||||
fire_particles_on(pos)
|
||||
this_spawner_meta:set_int("sound", s_handle)
|
||||
end
|
||||
end
|
||||
@ -83,7 +156,7 @@ minetest.register_node("fake_fire:ice_fire", {
|
||||
aspect_w=16, aspect_h=16, length=1.5}},
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
start_smoke(pos, node, clicker)
|
||||
start_fire_effects(pos, node, clicker)
|
||||
return itemstack
|
||||
end,
|
||||
on_destruct = function (pos)
|
||||
@ -97,42 +170,54 @@ minetest.register_node("fake_fire:ice_fire", {
|
||||
|
||||
minetest.register_alias("fake_fire:fake_fire", "fire:permanent_flame")
|
||||
|
||||
local sbox = {
|
||||
type = 'fixed',
|
||||
fixed = { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16},
|
||||
}
|
||||
|
||||
minetest.register_node("fake_fire:fancy_fire", {
|
||||
inventory_image = "fancy_fire_inv.png",
|
||||
description = S("Fancy Fire"),
|
||||
drawtype = "mesh",
|
||||
mesh = "fancy_fire.obj",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {dig_immediate=3},
|
||||
sunlight_propagates = true,
|
||||
light_source = 14,
|
||||
walkable = false,
|
||||
damage_per_second = 4,
|
||||
on_rotate = screwdriver.rotate_simple,
|
||||
tiles = {
|
||||
{name="fake_fire_animated.png",
|
||||
animation={type='vertical_frames', aspect_w=16, aspect_h=16, length=1}}, {name='fake_fire_logs.png'}},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
start_smoke(pos, node, clicker)
|
||||
return itemstack
|
||||
end,
|
||||
on_destruct = function (pos)
|
||||
stop_smoke(pos)
|
||||
minetest.sound_play("fire_extinguish", {
|
||||
pos = pos, max_hear_distance = 5
|
||||
})
|
||||
end,
|
||||
drop = {
|
||||
max_items = 3,
|
||||
items = {
|
||||
{
|
||||
items = { "default:torch", "default:torch", "building_blocks:sticks" },
|
||||
rarity = 1,
|
||||
}
|
||||
inventory_image = "fancy_fire_inv.png",
|
||||
description = S("Fancy Fire"),
|
||||
drawtype = "mesh",
|
||||
mesh = "fancy_fire.obj",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {oddly_breakable_by_hand=3, flammable=0},
|
||||
sunlight_propagates = true,
|
||||
light_source = 13,
|
||||
walkable = false,
|
||||
buildable_to = false,
|
||||
damage_per_second = 3,
|
||||
selection_box = sbox,
|
||||
tiles = {
|
||||
"basic_materials_concrete_block.png",
|
||||
"default_junglewood.png",
|
||||
"fake_fire_empty_tile.png"
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
fire_particles_on(pos)
|
||||
return itemstack
|
||||
end,
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
fire_particles_on(pos)
|
||||
end,
|
||||
on_destruct = function(pos, oldnode, oldmetadata, digger)
|
||||
fire_particles_off(pos)
|
||||
minetest.sound_play("fire_extinguish", {
|
||||
pos = pos, max_hear_distance = 5
|
||||
})
|
||||
end,
|
||||
drop = {
|
||||
max_items = 3,
|
||||
items = {
|
||||
{
|
||||
items = { "default:torch", "default:torch", "building_blocks:sticks" },
|
||||
rarity = 1,
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
-- EMBERS
|
||||
minetest.register_node("fake_fire:embers", {
|
||||
@ -168,7 +253,7 @@ for _, mat in ipairs(materials) do
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local chimney = 1
|
||||
start_smoke(pos, node, clicker, chimney)
|
||||
start_fire_effects(pos, node, clicker, chimney)
|
||||
return itemstack
|
||||
end,
|
||||
on_destruct = function (pos)
|
||||
@ -209,8 +294,24 @@ minetest.register_craft({
|
||||
})
|
||||
|
||||
-- ALIASES
|
||||
|
||||
minetest.register_alias("fake_fire:smokeless_fire", "fake_fire:fake_fire")
|
||||
minetest.register_alias("fake_fire:smokeless_ice_fire", "fake_fire:ice_fire")
|
||||
minetest.register_alias("fake_fire:smokeless_chimney_top_stone", "fake_fire:chimney_top_stone")
|
||||
minetest.register_alias("fake_fire:smokeless_chimney_top_sandstone", "fake_fire:chimney_top_sandstone")
|
||||
minetest.register_alias("fake_fire:flint", "fake_fire:flint_and_steel")
|
||||
|
||||
-- OTHER
|
||||
|
||||
minetest.register_lbm({
|
||||
name = "fake_fire:reload_particles",
|
||||
label = "restart fire particles on reload",
|
||||
nodenames = {"fake_fire:fancy_fire"},
|
||||
run_at_every_load = true,
|
||||
action = function(pos, node)
|
||||
fire_particles_off(pos)
|
||||
fire_particles_on(pos)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.log("action", "[fake_fire] loaded.")
|
||||
|
BIN
fake_fire/textures/fake_fire_empty_tile.png
Normal file
After Width: | Height: | Size: 68 B |
Before Width: | Height: | Size: 2.0 KiB |
BIN
fake_fire/textures/fake_fire_particle_anim_fire.png
Normal file
After Width: | Height: | Size: 251 B |
BIN
fake_fire/textures/fake_fire_particle_anim_smoke.png
Normal file
After Width: | Height: | Size: 275 B |
@ -1,166 +0,0 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
minetest.register_node("homedecor:bathroom_tiles_dark", {
|
||||
description = S("Bathroom/kitchen tiles (dark)"),
|
||||
tiles = {
|
||||
"homedecor_bathroom_tiles_bg.png"
|
||||
},
|
||||
overlay_tiles = {
|
||||
{ name = "homedecor_bathroom_tiles_fg.png", color = 0xff606060 },
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "color",
|
||||
palette = "unifieddyes_palette_extended.png",
|
||||
groups = {cracky=3, ud_param2_colorable = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_construct = unifieddyes.on_construct,
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:bathroom_tiles_medium", {
|
||||
description = S("Bathroom/kitchen tiles (medium)"),
|
||||
tiles = {
|
||||
"homedecor_bathroom_tiles_bg.png"
|
||||
},
|
||||
overlay_tiles = {
|
||||
{ name = "homedecor_bathroom_tiles_fg.png", color = 0xffc0c0c0 },
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "color",
|
||||
palette = "unifieddyes_palette_extended.png",
|
||||
groups = {cracky=3, ud_param2_colorable = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_construct = unifieddyes.on_construct,
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:bathroom_tiles_light", {
|
||||
description = S("Bathroom/kitchen tiles (light)"),
|
||||
tiles = {
|
||||
"homedecor_bathroom_tiles_bg.png"
|
||||
},
|
||||
overlay_tiles = {
|
||||
{ name = "homedecor_bathroom_tiles_fg.png", color = 0xffffffff },
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "color",
|
||||
palette = "unifieddyes_palette_extended.png",
|
||||
groups = {cracky=3, ud_param2_colorable = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_construct = unifieddyes.on_construct,
|
||||
})
|
||||
|
||||
local tr_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.375, -0.3125, 0.25, 0.375, 0.375, 0.5 }
|
||||
}
|
||||
|
||||
homedecor.register("towel_rod", {
|
||||
description = S("Towel rod with towel"),
|
||||
mesh = "homedecor_towel_rod.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_terrycloth.png",
|
||||
"default_wood.png",
|
||||
},
|
||||
inventory_image = "homedecor_towel_rod_inv.png",
|
||||
selection_box = tr_cbox,
|
||||
walkable = false,
|
||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3,flammable=3},
|
||||
sounds = default.node_sound_defaults(),
|
||||
})
|
||||
|
||||
homedecor.register("medicine_cabinet", {
|
||||
description = S("Medicine cabinet"),
|
||||
mesh = "homedecor_medicine_cabinet.obj",
|
||||
tiles = {
|
||||
'default_wood.png',
|
||||
'homedecor_medicine_cabinet_mirror.png'
|
||||
},
|
||||
inventory_image = "homedecor_medicine_cabinet_inv.png",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3125, -0.1875, 0.3125, 0.3125, 0.5, 0.5}
|
||||
},
|
||||
walkable = false,
|
||||
groups = { snappy = 3 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
node.name = "homedecor:medicine_cabinet_open"
|
||||
minetest.swap_node(pos, node)
|
||||
end,
|
||||
infotext=S("Medicine cabinet"),
|
||||
inventory = {
|
||||
size=6,
|
||||
},
|
||||
})
|
||||
|
||||
homedecor.register("medicine_cabinet_open", {
|
||||
mesh = "homedecor_medicine_cabinet_open.obj",
|
||||
tiles = {
|
||||
'default_wood.png',
|
||||
'homedecor_medicine_cabinet_mirror.png',
|
||||
'homedecor_medicine_cabinet_inside.png'
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.3125, -0.1875, -0.25, 0.3125, 0.5, 0.5}
|
||||
},
|
||||
walkable = false,
|
||||
groups = { snappy = 3, not_in_creative_inventory=1 },
|
||||
drop = "homedecor:medicine_cabinet",
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
node.name = "homedecor:medicine_cabinet"
|
||||
minetest.swap_node(pos, node)
|
||||
end,
|
||||
})
|
||||
|
||||
-- convert old static nodes
|
||||
|
||||
homedecor.old_static_bathroom_tiles = {
|
||||
"homedecor:tiles_1",
|
||||
"homedecor:tiles_2",
|
||||
"homedecor:tiles_3",
|
||||
"homedecor:tiles_4",
|
||||
"homedecor:tiles_red",
|
||||
"homedecor:tiles_tan",
|
||||
"homedecor:tiles_yellow",
|
||||
"homedecor:tiles_green",
|
||||
"homedecor:tiles_blue"
|
||||
}
|
||||
|
||||
local old_to_color = {
|
||||
"light_grey",
|
||||
"grey",
|
||||
"black",
|
||||
"black"
|
||||
}
|
||||
|
||||
minetest.register_lbm({
|
||||
name = "homedecor:convert_bathroom_tiles",
|
||||
label = "Convert bathroom tiles to use param2 color",
|
||||
run_at_every_load = false,
|
||||
nodenames = homedecor.old_static_bathroom_tiles,
|
||||
action = function(pos, node)
|
||||
local name = node.name
|
||||
local newname = "homedecor:bathroom_tiles_light"
|
||||
local a = string.find(name, "_")
|
||||
local color = string.sub(name, a + 1)
|
||||
|
||||
if color == "tan" then
|
||||
color = "yellow_s50"
|
||||
elseif color == "1" or color == "2" or color == "3" or color == "4" then
|
||||
if color == "4" then
|
||||
newname = "homedecor:bathroom_tiles_medium"
|
||||
end
|
||||
color = old_to_color[tonumber(color)]
|
||||
elseif color ~= "yellow" then
|
||||
color = color.."_s50"
|
||||
end
|
||||
|
||||
local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "extended")
|
||||
|
||||
minetest.set_node(pos, { name = newname, param2 = paletteidx })
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("dye", "unifieddyes:"..color)
|
||||
meta:set_string("palette", "ext")
|
||||
end
|
||||
})
|
@ -1,326 +0,0 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
local toilet_sbox = {
|
||||
type = "fixed",
|
||||
fixed = { -6/16, -8/16, -8/16, 6/16, 9/16, 8/16 },
|
||||
}
|
||||
|
||||
local toilet_cbox = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-6/16, -8/16, -8/16, 6/16, 1/16, 8/16 },
|
||||
{-6/16, -8/16, 4/16, 6/16, 9/16, 8/16 }
|
||||
}
|
||||
}
|
||||
|
||||
homedecor.register("toilet", {
|
||||
description = S("Toilet"),
|
||||
mesh = "homedecor_toilet_closed.obj",
|
||||
tiles = {
|
||||
"homedecor_marble.png",
|
||||
"homedecor_marble.png",
|
||||
"homedecor_marble.png",
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }
|
||||
},
|
||||
selection_box = toilet_sbox,
|
||||
node_box = toilet_cbox,
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
node.name = "homedecor:toilet_open"
|
||||
minetest.set_node(pos, node)
|
||||
end
|
||||
})
|
||||
|
||||
homedecor.register("toilet_open", {
|
||||
mesh = "homedecor_toilet_open.obj",
|
||||
tiles = {
|
||||
"homedecor_marble.png",
|
||||
"homedecor_marble.png",
|
||||
"homedecor_marble.png",
|
||||
"default_water.png",
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }
|
||||
},
|
||||
selection_box = toilet_sbox,
|
||||
collision_box = toilet_cbox,
|
||||
drop = "homedecor:toilet",
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
node.name = "homedecor:toilet"
|
||||
minetest.set_node(pos, node)
|
||||
minetest.sound_play("homedecor_toilet_flush", {
|
||||
pos=pos,
|
||||
max_hear_distance = 5,
|
||||
gain = 1,
|
||||
})
|
||||
end
|
||||
})
|
||||
|
||||
-- toilet paper :-)
|
||||
|
||||
local tp_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.25, 0.125, 0.0625, 0.1875, 0.4375, 0.5 }
|
||||
}
|
||||
|
||||
homedecor.register("toilet_paper", {
|
||||
description = S("Toilet paper"),
|
||||
mesh = "homedecor_toilet_paper.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_quilted_paper.png",
|
||||
"default_wood.png"
|
||||
},
|
||||
inventory_image = "homedecor_toilet_paper_inv.png",
|
||||
selection_box = tp_cbox,
|
||||
walkable = false,
|
||||
groups = {snappy=3,oddly_breakable_by_hand=3},
|
||||
sounds = default.node_sound_defaults(),
|
||||
})
|
||||
|
||||
--Sink
|
||||
|
||||
local sink_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -5/16, -8/16, 1/16, 5/16, 8/16, 8/16 }
|
||||
}
|
||||
|
||||
homedecor.register("sink", {
|
||||
description = S("Bathroom Sink"),
|
||||
mesh = "homedecor_bathroom_sink.obj",
|
||||
tiles = {
|
||||
"homedecor_marble.png",
|
||||
"homedecor_marble.png",
|
||||
"default_water.png"
|
||||
},
|
||||
inventory_image="homedecor_bathroom_sink_inv.png",
|
||||
selection_box = sink_cbox,
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -5/16, 5/16, 1/16, -4/16, 8/16, 8/16 },
|
||||
{ 5/16, 5/16, 1/16, 4/16, 8/16, 8/16 },
|
||||
{ -5/16, 5/16, 1/16, 5/16, 8/16, 2/16 },
|
||||
{ -5/16, 5/16, 6/16, 5/16, 8/16, 8/16 },
|
||||
{ -4/16, -8/16, 1/16, 4/16, 5/16, 6/16 }
|
||||
}
|
||||
},
|
||||
on_destruct = function(pos)
|
||||
homedecor.stop_particle_spawner({x=pos.x, y=pos.y+1, z=pos.z})
|
||||
end
|
||||
})
|
||||
|
||||
--Taps
|
||||
|
||||
local function taps_on_rightclick(pos, node, clicker, itemstack, pointed_thing)
|
||||
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
|
||||
if below and
|
||||
below.name == "homedecor:shower_tray" or
|
||||
below.name == "homedecor:sink" or
|
||||
below.name == "homedecor:kitchen_cabinet_with_sink" or
|
||||
below.name == "homedecor:kitchen_cabinet_with_sink_locked" then
|
||||
local particledef = {
|
||||
outlet = { x = 0, y = -0.44, z = 0.28 },
|
||||
velocity_x = { min = -0.1, max = 0.1 },
|
||||
velocity_y = -0.3,
|
||||
velocity_z = { min = -0.1, max = 0 },
|
||||
spread = 0
|
||||
}
|
||||
homedecor.start_particle_spawner(pos, node, particledef, "homedecor_faucet")
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
|
||||
homedecor.register("taps", {
|
||||
description = S("Bathroom taps/faucet"),
|
||||
mesh = "homedecor_bathroom_faucet.obj",
|
||||
tiles = {
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
|
||||
"homedecor_generic_metal_bright.png",
|
||||
"homedecor_generic_metal.png",
|
||||
"homedecor_generic_metal_bright.png"
|
||||
},
|
||||
inventory_image = "3dforniture_taps_inv.png",
|
||||
wield_image = "3dforniture_taps_inv.png",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -4/16, -7/16, 4/16, 4/16, -4/16, 8/16 },
|
||||
},
|
||||
walkable = false,
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_rightclick = taps_on_rightclick,
|
||||
on_destruct = homedecor.stop_particle_spawner,
|
||||
on_rotate = screwdriver.disallow
|
||||
})
|
||||
|
||||
homedecor.register("taps_brass", {
|
||||
description = S("Bathroom taps/faucet (brass)"),
|
||||
mesh = "homedecor_bathroom_faucet.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_metal_brass.png",
|
||||
"homedecor_generic_metal_brass.png",
|
||||
"homedecor_generic_metal.png",
|
||||
"homedecor_generic_metal_brass.png"
|
||||
},
|
||||
inventory_image = "3dforniture_taps_brass_inv.png",
|
||||
wield_image = "3dforniture_taps_brass_inv.png",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -4/16, -7/16, 4/16, 4/16, -4/16, 8/16 },
|
||||
},
|
||||
walkable = false,
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_rightclick = taps_on_rightclick,
|
||||
on_destruct = homedecor.stop_particle_spawner,
|
||||
on_rotate = screwdriver.disallow
|
||||
})
|
||||
|
||||
--Shower Tray
|
||||
|
||||
homedecor.register("shower_tray", {
|
||||
description = S("Shower Tray"),
|
||||
tiles = {
|
||||
"forniture_marble_base_ducha_top.png",
|
||||
"homedecor_marble.png"
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.5, -0.5, -0.5, 0.5, -0.45, 0.5 },
|
||||
{ -0.5, -0.45, -0.5, 0.5, -0.4, -0.45 },
|
||||
{ -0.5, -0.45, 0.45, 0.5, -0.4, 0.5 },
|
||||
{ -0.5, -0.45, -0.45, -0.45, -0.4, 0.45 },
|
||||
{ 0.45, -0.45, -0.45, 0.5, -0.4, 0.45 }
|
||||
},
|
||||
},
|
||||
selection_box = homedecor.nodebox.slab_y(0.1),
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_destruct = function(pos)
|
||||
homedecor.stop_particle_spawner({x=pos.x, y=pos.y+2, z=pos.z}) -- the showerhead
|
||||
homedecor.stop_particle_spawner({x=pos.x, y=pos.y+1, z=pos.z}) -- the taps, if any
|
||||
end
|
||||
})
|
||||
|
||||
--Shower Head
|
||||
|
||||
|
||||
local sh_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.2, -0.4, -0.05, 0.2, 0.1, 0.5 }
|
||||
}
|
||||
|
||||
homedecor.register("shower_head", {
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_shower_head.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_metal.png",
|
||||
"homedecor_shower_head.png"
|
||||
},
|
||||
inventory_image = "homedecor_shower_head_inv.png",
|
||||
description = S("Shower Head"),
|
||||
groups = {snappy=3},
|
||||
selection_box = sh_cbox,
|
||||
walkable = false,
|
||||
on_rotate = screwdriver.disallow,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-2.0, z=pos.z})
|
||||
if below and below.name == "homedecor:shower_tray" then
|
||||
local particledef = {
|
||||
outlet = { x = 0, y = -0.42, z = 0.1 },
|
||||
velocity_x = { min = -0.15, max = 0.15 },
|
||||
velocity_y = -2,
|
||||
velocity_z = { min = -0.3, max = 0.1 },
|
||||
spread = 0.12
|
||||
}
|
||||
homedecor.start_particle_spawner(pos, node, particledef, "homedecor_shower")
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_destruct = function(pos)
|
||||
homedecor.stop_particle_spawner(pos)
|
||||
end
|
||||
})
|
||||
|
||||
homedecor.register("bathtub_clawfoot_brass_taps", {
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_bathtub_clawfoot.obj",
|
||||
tiles = {
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
|
||||
"homedecor_generic_metal_bright.png",
|
||||
"homedecor_generic_metal_bright.png",
|
||||
"homedecor_generic_metal_brass.png",
|
||||
"homedecor_marble.png",
|
||||
"homedecor_bathtub_clawfoot_bottom_inside.png",
|
||||
},
|
||||
description = S("Bathtub, clawfoot, with brass taps"),
|
||||
groups = {cracky=3},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, -0.5, 1.5, 0.3125, 0.5 },
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
homedecor.register("bathtub_clawfoot_chrome_taps", {
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_bathtub_clawfoot.obj",
|
||||
tiles = {
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
|
||||
"homedecor_generic_metal_bright.png",
|
||||
"homedecor_generic_metal_bright.png",
|
||||
"homedecor_generic_metal_bright.png",
|
||||
"homedecor_marble.png",
|
||||
"homedecor_bathtub_clawfoot_bottom_inside.png",
|
||||
},
|
||||
description = S("Bathtub, clawfoot, with chrome taps"),
|
||||
groups = {cracky=3},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, -0.5, 1.5, 0.3125, 0.5 },
|
||||
},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
local bs_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -8/16, -8/16, 1/16, 8/16, 8/16, 8/16 }
|
||||
}
|
||||
|
||||
homedecor.register("bathroom_set", {
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_bathroom_set.obj",
|
||||
tiles = {
|
||||
"homedecor_bathroom_set_mirror.png",
|
||||
"homedecor_bathroom_set_tray.png",
|
||||
"homedecor_bathroom_set_toothbrush.png",
|
||||
"homedecor_bathroom_set_cup.png",
|
||||
"homedecor_bathroom_set_toothpaste.png",
|
||||
},
|
||||
inventory_image = "homedecor_bathroom_set_inv.png",
|
||||
description = S("Bathroom sundries set"),
|
||||
groups = {snappy=3},
|
||||
selection_box = bs_cbox,
|
||||
walkable = false,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_alias("3dforniture:toilet", "homedecor:toilet")
|
||||
minetest.register_alias("3dforniture:toilet_open", "homedecor:toilet_open")
|
||||
minetest.register_alias("3dforniture:sink", "homedecor:sink")
|
||||
minetest.register_alias("3dforniture:taps", "homedecor:taps")
|
||||
minetest.register_alias("3dforniture:shower_tray", "homedecor:shower_tray")
|
||||
minetest.register_alias("3dforniture:shower_head", "homedecor:shower_head")
|
||||
minetest.register_alias("3dforniture:table_lamp", "homedecor:table_lamp_off")
|
||||
|
||||
minetest.register_alias("toilet", "homedecor:toilet")
|
||||
minetest.register_alias("sink", "homedecor:sink")
|
||||
minetest.register_alias("taps", "homedecor:taps")
|
||||
minetest.register_alias("shower_tray", "homedecor:shower_tray")
|
||||
minetest.register_alias("shower_head", "homedecor:shower_head")
|
||||
minetest.register_alias("table_lamp", "homedecor:table_lamp_off")
|
3038
homedecor/crafts.lua
@ -1,662 +0,0 @@
|
||||
-- Node definitions for Homedecor doors
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
local function N_(x) return x end
|
||||
|
||||
local m_rules = mesecon and mesecon.rules and mesecon.rules.pplate
|
||||
|
||||
-- doors
|
||||
|
||||
local function isSolid(pos, adjust)
|
||||
local adj = {x = adjust[1], y = adjust[2], z = adjust[3]}
|
||||
local node = minetest.get_node(vector.add(pos,adj))
|
||||
if node then
|
||||
local idef = minetest.registered_nodes[minetest.get_node(vector.add(pos,adj)).name]
|
||||
if idef then
|
||||
return idef.walkable
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
local function countSolids(pos,node,level)
|
||||
local solids = 0
|
||||
for x = -1, 1 do
|
||||
for z = -1, 1 do
|
||||
local y = (node.param2 == 5) and -level or level
|
||||
-- special cases when x == z == 0
|
||||
if x == 0 and z == 0 then
|
||||
if level == 1 then
|
||||
-- when looking past the trap door, cannot be solid in center
|
||||
if isSolid(pos,{x,y,z}) then
|
||||
return false
|
||||
end
|
||||
-- no else. it doesn't matter if x == y == z is solid, that's us.
|
||||
end
|
||||
elseif isSolid(pos,{x,y,z}) then
|
||||
solids = solids + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
return solids
|
||||
end
|
||||
|
||||
local function calculateClosed(pos)
|
||||
local node = minetest.get_node(pos)
|
||||
-- the door is considered closed if it is closing off something.
|
||||
|
||||
local direction = node.param2 % 6
|
||||
local isTrap = direction == 0 or direction == 5
|
||||
if isTrap then
|
||||
-- the trap door is considered closed when all nodes on its sides are solid
|
||||
-- or all nodes in the 3x3 above/below it are solid except the center
|
||||
for level = 0, 1 do
|
||||
local solids = countSolids(pos,node,level)
|
||||
if solids == 8 then
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
else
|
||||
-- the door is considered closed when the nodes on its sides are solid
|
||||
-- or the 3 nodes in its facing direction are solid nonsolid solid
|
||||
-- if the door has two levels (i.e. not a gate) then this must
|
||||
-- be true for the top node as well.
|
||||
|
||||
-- sorry I dunno the math to figure whether to x or z
|
||||
if direction == 1 or direction == 2 then
|
||||
if isSolid(pos,{0,0,-1}) and isSolid(pos,{0,0,1}) then
|
||||
if string.find(node.name,'_bottom_') then
|
||||
return calculateClosed({x=pos.x,y=pos.y+1,z=pos.z})
|
||||
else
|
||||
return true
|
||||
end
|
||||
end
|
||||
local x = (direction == 1) and 1 or -1
|
||||
if isSolid(pos,{x,0,-1}) and not isSolid(pos,{x,0,0}) and isSolid(pos,{x,0,1}) then
|
||||
if string.find(node.name,'_bottom_') then
|
||||
return calculateClosed({x=pos.x,y=pos.y+1,z=pos.z})
|
||||
else
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
else
|
||||
-- direction == 3 or 4
|
||||
if isSolid(pos,{-1,0,0}) and isSolid(pos,{1,0,0}) then
|
||||
if string.find(node.name,'_bottom_') then
|
||||
return calculateClosed({x=pos.x,y=pos.y+1,z=pos.z})
|
||||
else
|
||||
return true
|
||||
end
|
||||
end
|
||||
local z = (direction == 3) and 1 or -1
|
||||
if isSolid(pos,{-1,0,z}) and not isSolid(pos,{0,0,z}) and isSolid(pos,{1,0,z}) then
|
||||
if string.find(node.name,'_bottom_') then
|
||||
return calculateClosed({x=pos.x,y=pos.y+1,z=pos.z})
|
||||
else
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- isClosed flag, is 0 or 1 0 = open, 1 = closed
|
||||
local function getClosed(pos)
|
||||
local isClosed = minetest.get_meta(pos):get_string('closed')
|
||||
if isClosed=='' then
|
||||
return calculateClosed(pos)
|
||||
else
|
||||
isClosed = tonumber(isClosed)
|
||||
-- may be closed or open (1 or 0)
|
||||
return isClosed == 1
|
||||
end
|
||||
end
|
||||
|
||||
local function addDoorNode(pos,def,isClosed)
|
||||
minetest.set_node(pos, def)
|
||||
minetest.get_meta(pos):set_int('closed', isClosed and 1 or 0)
|
||||
end
|
||||
|
||||
local door_model_list = {
|
||||
{ name = "closet_mahogany",
|
||||
description = N_("Mahogany Closet Door (@1 opening)"),
|
||||
mesh = "homedecor_door_closet.obj"
|
||||
},
|
||||
|
||||
{ name = "closet_oak",
|
||||
description = N_("Oak Closet Door (@1 opening)"),
|
||||
mesh = "homedecor_door_closet.obj"
|
||||
},
|
||||
|
||||
{ name = "exterior_fancy",
|
||||
description = N_("Fancy Wood/Glass Door (@1 opening)"),
|
||||
mesh = "homedecor_door_fancy.obj",
|
||||
tiles = {
|
||||
"homedecor_door_exterior_fancy.png",
|
||||
"homedecor_door_exterior_fancy_insert.png"
|
||||
},
|
||||
usealpha = true
|
||||
},
|
||||
|
||||
{ name = "wood_glass_oak",
|
||||
description = N_("Glass and Wood, Oak-colored (@1 opening)"),
|
||||
mesh = "homedecor_door_wood_glass.obj",
|
||||
tiles = {
|
||||
"homedecor_door_wood_glass_oak.png",
|
||||
"homedecor_door_wood_glass_insert.png",
|
||||
}
|
||||
},
|
||||
|
||||
{ name = "wood_glass_mahogany",
|
||||
description = N_("Glass and Wood, Mahogany-colored (@1 opening)"),
|
||||
mesh = "homedecor_door_wood_glass.obj",
|
||||
tiles = {
|
||||
"homedecor_door_wood_glass_mahogany.png",
|
||||
"homedecor_door_wood_glass_insert.png",
|
||||
}
|
||||
},
|
||||
|
||||
{ name = "wood_glass_white",
|
||||
description = N_("Glass and Wood, White (@1 opening)"),
|
||||
mesh = "homedecor_door_wood_glass.obj",
|
||||
tiles = {
|
||||
"homedecor_door_wood_glass_white.png",
|
||||
"homedecor_door_wood_glass_insert.png",
|
||||
}
|
||||
},
|
||||
|
||||
{ name = "wood_plain",
|
||||
description = N_("Plain Wooden Door (@1 opening)"),
|
||||
mesh = "homedecor_door_plain.obj"
|
||||
},
|
||||
|
||||
{ name = "bedroom",
|
||||
description = N_("White Bedroom Door (@1 opening)"),
|
||||
mesh = "homedecor_door_plain.obj"
|
||||
},
|
||||
|
||||
{ name = "wrought_iron",
|
||||
description = N_("Wrought Iron Gate/Door (@1 opening)"),
|
||||
mesh = "homedecor_door_wrought_iron.obj"
|
||||
},
|
||||
|
||||
{ name = "woodglass",
|
||||
description = N_("Wooden door with glass insert (@1 opening)"),
|
||||
mesh = "homedecor_door_woodglass_typea.obj",
|
||||
tiles = {
|
||||
"homedecor_door_woodglass_typea.png",
|
||||
"homedecor_door_woodglass_typea_insert.png",
|
||||
},
|
||||
usealpha = true
|
||||
},
|
||||
|
||||
{ name = "woodglass2",
|
||||
description = N_("Wooden door with glass insert, type 2 (@1 opening)"),
|
||||
mesh = "homedecor_door_plain.obj",
|
||||
usealpha = true
|
||||
},
|
||||
}
|
||||
|
||||
local def_selbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, 0.375, 0.5, 1.5, 0.5 }
|
||||
}
|
||||
|
||||
local sides = { N_("left"), N_("right") }
|
||||
|
||||
for i, side in ipairs(sides) do
|
||||
|
||||
for _, door_model in ipairs(door_model_list) do
|
||||
|
||||
local doorname = door_model.name
|
||||
|
||||
local selbox = door_model.selectbox or def_selbox
|
||||
local colbox = door_model.collisionbox or door_model.selectbox or def_selbox
|
||||
local mesh = door_model.mesh
|
||||
local groups = {snappy = 3}
|
||||
|
||||
if side == "right" then
|
||||
mesh = string.gsub(door_model.mesh, ".obj", "_right.obj")
|
||||
groups = {snappy = 3, not_in_creative_inventory = 1}
|
||||
end
|
||||
|
||||
minetest.register_node("homedecor:door_"..doorname.."_"..side, {
|
||||
description = S(door_model.description, S(side)),
|
||||
drawtype = "mesh",
|
||||
mesh = mesh,
|
||||
tiles = door_model.tiles or { "homedecor_door_"..doorname..".png" },
|
||||
inventory_image = "homedecor_door_"..doorname.."_inv.png",
|
||||
wield_image = "homedecor_door_"..doorname.."_inv.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = groups,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
use_texture_alpha = door_model.usealpha,
|
||||
selection_box = selbox,
|
||||
collision_box = colbox,
|
||||
on_rotate = screwdriver.rotate_simple,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return homedecor.stack_wing(itemstack, placer, pointed_thing,
|
||||
"homedecor:door_"..doorname.."_left", "air",
|
||||
"homedecor:door_"..doorname.."_right", "air")
|
||||
end,
|
||||
on_construct = function(pos)
|
||||
minetest.get_meta(pos):set_int("closed", 1)
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
homedecor.flip_door(pos, node, clicker, doorname, side)
|
||||
return itemstack
|
||||
end,
|
||||
-- both left and right doors may be used for open or closed doors
|
||||
-- so they have to have both action_on and action_off and just
|
||||
-- check when that action is invoked if to continue
|
||||
|
||||
on_punch = function(pos, node, puncher)
|
||||
minetest.get_meta(pos):set_string('closed',nil)
|
||||
end,
|
||||
drop = "homedecor:door_"..doorname.."_left",
|
||||
mesecons = {
|
||||
effector = {
|
||||
rules = m_rules,
|
||||
action_on = function(pos,node)
|
||||
local isClosed = getClosed(pos)
|
||||
if isClosed then
|
||||
homedecor.flip_door(pos,node,nil,doorname,side,isClosed)
|
||||
end
|
||||
end,
|
||||
action_off = function(pos,node)
|
||||
local isClosed = getClosed(pos)
|
||||
if not isClosed then
|
||||
homedecor.flip_door(pos,node,nil,doorname,side,isClosed)
|
||||
end
|
||||
end
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_alias("homedecor:door_"..doorname.."_top_"..side, "air")
|
||||
minetest.register_alias("homedecor:door_"..doorname.."_bottom_"..side, "homedecor:door_"..doorname.."_"..side)
|
||||
|
||||
end
|
||||
|
||||
minetest.register_alias("homedecor:door_wood_glass_top_"..side, "air")
|
||||
minetest.register_alias("homedecor:door_wood_glass_bottom_"..side, "homedecor:door_wood_glass_oak_"..side)
|
||||
|
||||
end
|
||||
|
||||
-- Gates
|
||||
|
||||
local gate_list = {
|
||||
{ "picket", S("Unpainted Picket Fence Gate") },
|
||||
{ "picket_white", S("White Picket Fence Gate") },
|
||||
{ "barbed_wire", S("Barbed Wire Fence Gate") },
|
||||
{ "chainlink", S("Chainlink Fence Gate") },
|
||||
{ "half_door", S("\"Half\" Door") },
|
||||
{ "half_door_white", S("\"Half\" Door (white)") }
|
||||
}
|
||||
|
||||
local gate_models_closed = {
|
||||
{{ -0.5, -0.5, 0.498, 0.5, 0.5, 0.498 }},
|
||||
|
||||
{{ -0.5, -0.5, 0.498, 0.5, 0.5, 0.498 }},
|
||||
|
||||
{{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, -- left post
|
||||
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
||||
{ -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece
|
||||
{ -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece
|
||||
{ -6/16, -8/16, 7/16, 6/16, 8/16, 7/16 }}, -- the wire
|
||||
|
||||
{{ -8/16, -8/16, 6/16, -7/16, 8/16, 8/16 }, -- left post
|
||||
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
||||
{ -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece
|
||||
{ -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece
|
||||
{ -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }, -- the chainlink itself
|
||||
{ -8/16, -3/16, 6/16, -6/16, 3/16, 8/16 }}, -- the lump representing the lock
|
||||
|
||||
{{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, -- the whole door :P
|
||||
|
||||
{{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, -- the whole door :P
|
||||
|
||||
}
|
||||
|
||||
local gate_models_open = {
|
||||
{{ 0.498, -0.5, -0.5, 0.498, 0.5, 0.5 }},
|
||||
|
||||
{{ 0.498, -0.5, -0.5, 0.498, 0.5, 0.5 }},
|
||||
|
||||
{{ 6/16, -8/16, -8/16, 8/16, 8/16, -6/16 }, -- left post
|
||||
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
||||
{ 13/32, 7/16, -8/16, 15/32, 8/16, 8/16 }, -- top piece
|
||||
{ 13/32, -8/16, -8/16, 15/32, -7/16, 8/16 }, -- bottom piece
|
||||
{ 7/16, -8/16, -6/16, 7/16, 8/16, 6/16 }}, -- the wire
|
||||
|
||||
{{ 6/16, -8/16, -8/16, 8/16, 8/16, -7/16 }, -- left post
|
||||
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
||||
{ 13/32, 7/16, -8/16, 15/32, 8/16, 8/16 }, -- top piece
|
||||
{ 13/32, -8/16, -8/16, 15/32, -7/16, 8/16 }, -- bottom piece
|
||||
{ 7/16, -8/16, -8/16, 7/16, 8/16, 8/16 }, -- the chainlink itself
|
||||
{ 6/16, -3/16, -8/16, 8/16, 3/16, -6/16 }}, -- the lump representing the lock
|
||||
|
||||
{{ 6/16, -8/16, -8/16, 8/16, 8/16, 8/16 }}, -- the whole door :P
|
||||
|
||||
{{ 6/16, -8/16, -8/16, 8/16, 8/16, 8/16 }}, -- the whole door :P
|
||||
}
|
||||
|
||||
for i, g in ipairs(gate_list) do
|
||||
|
||||
local gate, gatedesc = unpack(g)
|
||||
|
||||
local tiles = {
|
||||
"homedecor_gate_"..gate.."_tb.png",
|
||||
"homedecor_gate_"..gate.."_tb.png",
|
||||
"homedecor_gate_"..gate.."_lr.png",
|
||||
"homedecor_gate_"..gate.."_lr.png",
|
||||
"homedecor_gate_"..gate.."_fb.png^[transformFX",
|
||||
"homedecor_gate_"..gate.."_fb.png"
|
||||
}
|
||||
|
||||
if gate == "barbed_wire" then
|
||||
tiles = {
|
||||
"homedecor_gate_barbed_wire_edges.png",
|
||||
"homedecor_gate_barbed_wire_edges.png",
|
||||
"homedecor_gate_barbed_wire_edges.png",
|
||||
"homedecor_gate_barbed_wire_edges.png",
|
||||
"homedecor_gate_barbed_wire_fb.png^[transformFX",
|
||||
"homedecor_gate_barbed_wire_fb.png"
|
||||
}
|
||||
end
|
||||
|
||||
if gate == "picket" or gate == "picket_white" then
|
||||
tiles = {
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_gate_"..gate.."_back.png",
|
||||
"homedecor_gate_"..gate.."_front.png"
|
||||
}
|
||||
end
|
||||
|
||||
local def = {
|
||||
drawtype = "nodebox",
|
||||
description = gatedesc,
|
||||
tiles = tiles,
|
||||
paramtype = "light",
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
paramtype2 = "facedir",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 }
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = gate_models_closed[i]
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
homedecor.flip_gate(pos, node, clicker, gate, "closed")
|
||||
return itemstack
|
||||
end,
|
||||
mesecons = {
|
||||
effector = {
|
||||
rules = m_rules,
|
||||
action_on = function(pos,node) homedecor.flip_gate(pos,node,nil,gate, "closed") end
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
-- gates when placed default to closed, closed.
|
||||
|
||||
minetest.register_node("homedecor:gate_"..gate.."_closed", def)
|
||||
|
||||
-- this is either a terrible idea or a great one
|
||||
def = table.copy(def)
|
||||
def.groups.not_in_creative_inventory = 1
|
||||
def.selection_box.fixed = { 0.4, -0.5, -0.5, 0.5, 0.5, 0.5 }
|
||||
def.node_box.fixed = gate_models_open[i]
|
||||
def.tiles = {
|
||||
tiles[1].."^[transformR90",
|
||||
tiles[2].."^[transformR270",
|
||||
tiles[6],
|
||||
tiles[5],
|
||||
tiles[4],
|
||||
tiles[3]
|
||||
}
|
||||
def.drop = "homedecor:gate_"..gate.."_closed"
|
||||
def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
homedecor.flip_gate(pos, node, clicker, gate, "open")
|
||||
return itemstack
|
||||
end
|
||||
def.mesecons.effector = {
|
||||
rules = m_rules,
|
||||
action_off = function(pos,node) homedecor.flip_gate(pos,node,nil,gate, "open") end
|
||||
}
|
||||
|
||||
minetest.register_node("homedecor:gate_"..gate.."_open", def)
|
||||
end
|
||||
|
||||
minetest.register_alias("homedecor:fence_barbed_wire_gate_open", "homedecor:gate_barbed_wire_open")
|
||||
minetest.register_alias("homedecor:fence_barbed_wire_gate_closed", "homedecor:gate_barbed_wire_closed")
|
||||
minetest.register_alias("homedecor:fence_chainlink_gate_open", "homedecor:gate_chainlink_open")
|
||||
minetest.register_alias("homedecor:fence_chainlink_gate_closed", "homedecor:gate_chainlink_closed")
|
||||
minetest.register_alias("homedecor:fence_picket_gate_open", "homedecor:gate_picket_open")
|
||||
minetest.register_alias("homedecor:fence_picket_gate_closed", "homedecor:gate_picket_closed")
|
||||
minetest.register_alias("homedecor:fence_picket_gate_white_open", "homedecor:gate_picket_white_open")
|
||||
minetest.register_alias("homedecor:fence_picket_gate_white_closed", "homedecor:gate_picket_white_closed")
|
||||
|
||||
-- to open a door, you switch left for right and subtract from param2, or vice versa right for left
|
||||
-- that is to say open "right" doors become left door nodes, and open left doors right door nodes.
|
||||
-- also adjusting param2 so the node is at 90 degrees.
|
||||
|
||||
function homedecor.flip_door(pos, node, player, name, side, isClosed)
|
||||
if isClosed == nil then
|
||||
isClosed = getClosed(pos)
|
||||
end
|
||||
-- this is where we swap the isClosed status!
|
||||
-- i.e. if isClosed, we're adding an open door
|
||||
-- and if not isClosed, a closed door
|
||||
isClosed = not isClosed
|
||||
|
||||
local rside
|
||||
local nfdir
|
||||
local ofdir = node.param2 or 0
|
||||
if side == "left" then
|
||||
rside = "right"
|
||||
nfdir=ofdir - 1
|
||||
if nfdir < 0 then nfdir = 3 end
|
||||
else
|
||||
rside = "left"
|
||||
nfdir=ofdir + 1
|
||||
if nfdir > 3 then nfdir = 0 end
|
||||
end
|
||||
local sound = isClosed and 'close' or 'open'
|
||||
minetest.sound_play("homedecor_door_"..sound, {
|
||||
pos=pos,
|
||||
max_hear_distance = 5,
|
||||
gain = 2,
|
||||
})
|
||||
-- XXX: does the top half have to remember open/closed too?
|
||||
minetest.set_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_"..name.."_top_"..rside, param2=nfdir})
|
||||
|
||||
addDoorNode(pos,{ name = "homedecor:door_"..name.."_bottom_"..rside, param2=nfdir },isClosed)
|
||||
end
|
||||
|
||||
function homedecor.flip_gate(pos, node, player, gate, oc)
|
||||
local isClosed = getClosed(pos);
|
||||
minetest.sound_play("homedecor_gate_open_close", {
|
||||
pos=pos,
|
||||
max_hear_distance = 5,
|
||||
gain = 2,
|
||||
})
|
||||
|
||||
local fdir = node.param2 or 0
|
||||
|
||||
-- since right facing gates use "open" nodes for closed, we need an
|
||||
-- isClosed flag to tell if it's "really" closed.
|
||||
|
||||
local gateresult
|
||||
if oc == "closed" then
|
||||
gateresult = "homedecor:gate_"..gate.."_open"
|
||||
else
|
||||
gateresult = "homedecor:gate_"..gate.."_closed"
|
||||
end
|
||||
|
||||
local def = {name=gateresult, param2=fdir}
|
||||
|
||||
addDoorNode(pos, def, isClosed)
|
||||
|
||||
-- the following opens and closes gates below and above in sync with this one
|
||||
-- (without three gate open/close sounds)
|
||||
|
||||
local above = {x=pos.x, y=pos.y+1, z=pos.z}
|
||||
local below = {x=pos.x, y=pos.y-1, z=pos.z}
|
||||
local nodeabove = minetest.get_node(above)
|
||||
local nodebelow = minetest.get_node(below)
|
||||
|
||||
if string.find(nodeabove.name, "homedecor:gate_"..gate) then
|
||||
addDoorNode(above, def, isClosed)
|
||||
end
|
||||
|
||||
if string.find(nodebelow.name, "homedecor:gate_"..gate) then
|
||||
addDoorNode(below, def, isClosed)
|
||||
end
|
||||
end
|
||||
|
||||
-- Japanese-style wood/paper wall pieces and door
|
||||
|
||||
local jp_cbox = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, 0, 0.5, 0.5, 0.0625},
|
||||
}
|
||||
|
||||
minetest.register_node("homedecor:japanese_wall_top", {
|
||||
description = S("Japanese wall (top)"),
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_wall_japanese_top.obj",
|
||||
tiles = {
|
||||
homedecor.lux_wood,
|
||||
"homedecor_japanese_paper.png"
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {snappy=3},
|
||||
selection_box = jp_cbox,
|
||||
collision_box = jp_cbox,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:japanese_wall_middle", {
|
||||
description = S("Japanese wall"),
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_wall_japanese_middle.obj",
|
||||
tiles = {
|
||||
homedecor.lux_wood,
|
||||
"homedecor_japanese_paper.png"
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {snappy=3},
|
||||
selection_box = jp_cbox,
|
||||
collision_box = jp_cbox,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:japanese_wall_bottom", {
|
||||
description = S("Japanese wall (bottom)"),
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_wall_japanese_bottom.obj",
|
||||
tiles = {
|
||||
homedecor.lux_wood,
|
||||
"homedecor_japanese_paper.png"
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {snappy=3},
|
||||
selection_box = jp_cbox,
|
||||
collision_box = jp_cbox,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:tatami_mat", {
|
||||
tiles = {
|
||||
"homedecor_tatami.png",
|
||||
"homedecor_tatami.png",
|
||||
"homedecor_tatami.png",
|
||||
"homedecor_tatami.png",
|
||||
"homedecor_tatami.png",
|
||||
"homedecor_tatami.png"
|
||||
},
|
||||
description = S("Japanese tatami"),
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
groups = {snappy=3},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
homedecor.register("door_japanese_closed", {
|
||||
description = S("Japanese-style door"),
|
||||
inventory_image = "homedecor_door_japanese_inv.png",
|
||||
tiles = {
|
||||
homedecor.lux_wood,
|
||||
"homedecor_japanese_paper.png"
|
||||
},
|
||||
mesh = "homedecor_door_japanese_closed.obj",
|
||||
groups = { snappy = 3 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, 0, 0.5, 1.5, 0.0625},
|
||||
},
|
||||
collision_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.0625, 0.5, 1.5, 0},
|
||||
},
|
||||
expand = { top = "placeholder" },
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
minetest.set_node(pos, {name = "homedecor:door_japanese_open", param2 = node.param2})
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
homedecor.register("door_japanese_open", {
|
||||
tiles = {
|
||||
homedecor.lux_wood,
|
||||
"homedecor_japanese_paper.png"
|
||||
},
|
||||
mesh = "homedecor_door_japanese_open.obj",
|
||||
groups = { snappy = 3, not_in_creative_inventory = 1 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_rotate = screwdriver.disallow,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-1.5, -0.5, -0.0625, 0.5, 1.5, 0},
|
||||
},
|
||||
collision_box = {
|
||||
type = "fixed",
|
||||
fixed = {-1.5, -0.5, -0.0625, -0.5, 1.5, 0},
|
||||
},
|
||||
expand = { top = "placeholder" },
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
minetest.set_node(pos, {name = "homedecor:door_japanese_closed", param2 = node.param2})
|
||||
return itemstack
|
||||
end,
|
||||
drop = "homedecor:door_japanese_closed",
|
||||
})
|
||||
|
||||
minetest.register_alias("homedecor:jpn_door_top", "air")
|
||||
minetest.register_alias("homedecor:jpn_door_bottom", "homedecor:door_japanese_closed")
|
||||
|
||||
minetest.register_alias("homedecor:jpn_door_top_open", "air")
|
||||
minetest.register_alias("homedecor:jpn_door_bottom_open", "homedecor:door_japanese_open")
|
||||
|
||||
minetest.register_alias("homedecor:door_glass_right", "doors:door_glass_b")
|
||||
minetest.register_alias("homedecor:door_glass_left", "doors:door_glass_a")
|
@ -1,81 +0,0 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
homedecor.register("power_outlet", {
|
||||
description = S("Power Outlet"),
|
||||
tiles = {
|
||||
"homedecor_outlet_edges.png",
|
||||
"homedecor_outlet_edges.png",
|
||||
"homedecor_outlet_edges.png",
|
||||
"homedecor_outlet_edges.png",
|
||||
"homedecor_outlet_back.png",
|
||||
"homedecor_outlet_edges.png"
|
||||
},
|
||||
inventory_image = "homedecor_outlet_inv.png",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.125, -0.3125, 0.4375, 0.125, 0, 0.5},
|
||||
}
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.1875, -0.375, 0.375, 0.1875, 0.0625, 0.5},
|
||||
}
|
||||
},
|
||||
groups = {cracky=3,dig_immediate=2},
|
||||
walkable = false
|
||||
})
|
||||
|
||||
homedecor.register("light_switch", {
|
||||
description = S("Light switch"),
|
||||
tiles = {
|
||||
"homedecor_light_switch_edges.png",
|
||||
"homedecor_light_switch_edges.png",
|
||||
"homedecor_light_switch_edges.png",
|
||||
"homedecor_light_switch_edges.png",
|
||||
"homedecor_light_switch_back.png",
|
||||
"homedecor_light_switch_front.png"
|
||||
},
|
||||
inventory_image = "homedecor_light_switch_inv.png",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.125, -0.5, 0.4375, 0.125, -0.1875, 0.5 },
|
||||
{ -0.03125, -0.3125, 0.40625, 0.03125, -0.25, 0.5 },
|
||||
|
||||
}
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.1875, -0.5625, 0.375, 0.1875, -0.1250, 0.5 },
|
||||
}
|
||||
},
|
||||
groups = {cracky=3,dig_immediate=2},
|
||||
walkable = false
|
||||
})
|
||||
|
||||
|
||||
homedecor.register("doorbell", {
|
||||
tiles = { "homedecor_doorbell.png" },
|
||||
inventory_image = "homedecor_doorbell_inv.png",
|
||||
description = S("Doorbell"),
|
||||
groups = {snappy=3},
|
||||
walkable = false,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.0625, 0, 0.46875, 0.0625, 0.1875, 0.5}, -- NodeBox1
|
||||
{-0.03125, 0.0625, 0.45, 0.03125, 0.125, 0.4675}, -- NodeBox2
|
||||
}
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
minetest.sound_play("homedecor_doorbell", {
|
||||
pos = pos,
|
||||
gain = 1.0,
|
||||
max_hear_distance = 15
|
||||
})
|
||||
end
|
||||
})
|
@ -1,143 +0,0 @@
|
||||
-- Various home electronics
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
homedecor.register("speaker", {
|
||||
description = S("Large Stereo Speaker"),
|
||||
mesh="homedecor_speaker_large.obj",
|
||||
tiles = {
|
||||
"homedecor_speaker_sides.png",
|
||||
"homedecor_speaker_front.png"
|
||||
},
|
||||
groups = { snappy = 3 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
minetest.set_node(pos, {name = "homedecor:speaker_open", param2 = node.param2})
|
||||
end
|
||||
})
|
||||
|
||||
homedecor.register("speaker_open", {
|
||||
description = S("Large Stereo Speaker, open front"),
|
||||
mesh="homedecor_speaker_large_open.obj",
|
||||
tiles = {
|
||||
"homedecor_speaker_sides.png",
|
||||
"homedecor_speaker_driver.png",
|
||||
"homedecor_speaker_open_front.png",
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_black }
|
||||
},
|
||||
groups = { snappy = 3, not_in_creative_inventory=1 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
minetest.set_node(pos, {name = "homedecor:speaker", param2 = node.param2})
|
||||
end
|
||||
})
|
||||
|
||||
local spk_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -3/16, -8/16, 1/16, 3/16, -2/16, 7/16 }
|
||||
}
|
||||
|
||||
homedecor.register("speaker_small", {
|
||||
description = S("Small Surround Speaker"),
|
||||
mesh="homedecor_speaker_small.obj",
|
||||
tiles = {
|
||||
"homedecor_speaker_sides.png",
|
||||
"homedecor_speaker_front.png"
|
||||
},
|
||||
selection_box = spk_cbox,
|
||||
walkable = false,
|
||||
groups = { snappy = 3 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
homedecor.register("stereo", {
|
||||
description = S("Stereo Receiver"),
|
||||
tiles = { 'homedecor_stereo_top.png',
|
||||
'homedecor_stereo_bottom.png',
|
||||
'homedecor_stereo_left.png^[transformFX',
|
||||
'homedecor_stereo_left.png',
|
||||
'homedecor_stereo_back.png',
|
||||
'homedecor_stereo_front.png'},
|
||||
groups = { snappy = 3 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
homedecor.register("projection_screen", {
|
||||
description = S("Projection Screen Material"),
|
||||
drawtype = 'signlike',
|
||||
tiles = { 'homedecor_projection_screen.png' },
|
||||
wield_image = 'homedecor_projection_screen_inv.png',
|
||||
inventory_image = 'homedecor_projection_screen_inv.png',
|
||||
walkable = false,
|
||||
groups = { snappy = 3 },
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
paramtype2 = 'wallmounted',
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
--wall_side = = <default>
|
||||
},
|
||||
})
|
||||
|
||||
homedecor.register("television", {
|
||||
description = S("Small CRT Television"),
|
||||
tiles = { 'homedecor_television_top.png',
|
||||
'homedecor_television_bottom.png',
|
||||
'homedecor_television_left.png^[transformFX',
|
||||
'homedecor_television_left.png',
|
||||
'homedecor_television_back.png',
|
||||
{ name="homedecor_television_front_animated.png",
|
||||
animation={
|
||||
type="vertical_frames",
|
||||
aspect_w=16,
|
||||
aspect_h=16,
|
||||
length=80.0
|
||||
}
|
||||
}
|
||||
},
|
||||
light_source = default.LIGHT_MAX - 1,
|
||||
groups = { snappy = 3 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
homedecor.register("dvd_vcr", {
|
||||
description = S("DVD and VCR"),
|
||||
tiles = {
|
||||
"homedecor_dvdvcr_top.png",
|
||||
"homedecor_dvdvcr_bottom.png",
|
||||
"homedecor_dvdvcr_sides.png",
|
||||
"homedecor_dvdvcr_sides.png^[transformFX",
|
||||
"homedecor_dvdvcr_back.png",
|
||||
"homedecor_dvdvcr_front.png",
|
||||
},
|
||||
inventory_image = "homedecor_dvdvcr_inv.png",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.3125, -0.5, -0.25, 0.3125, -0.375, 0.1875},
|
||||
{-0.25, -0.5, -0.25, 0.25, -0.1875, 0.125},
|
||||
}
|
||||
},
|
||||
groups = { snappy = 3 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
local tel_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.25, -0.5, -0.1875, 0.25, -0.21, 0.15 }
|
||||
}
|
||||
|
||||
homedecor.register("telephone", {
|
||||
mesh = "homedecor_telephone.obj",
|
||||
tiles = {
|
||||
"homedecor_telephone_dial.png",
|
||||
"homedecor_telephone_base.png",
|
||||
"homedecor_telephone_handset.png",
|
||||
"homedecor_telephone_cord.png",
|
||||
},
|
||||
inventory_image = "homedecor_telephone_inv.png",
|
||||
description = S("Telephone"),
|
||||
groups = {snappy=3},
|
||||
selection_box = tel_cbox,
|
||||
walkable = false,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
@ -1,246 +0,0 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
local table_colors = {
|
||||
{ "", S("Table"), homedecor.plain_wood },
|
||||
{ "_mahogany", S("Mahogany Table"), homedecor.mahogany_wood },
|
||||
{ "_white", S("White Table"), homedecor.white_wood }
|
||||
}
|
||||
|
||||
for _, t in ipairs(table_colors) do
|
||||
local suffix, desc, texture = unpack(t)
|
||||
|
||||
homedecor.register("table"..suffix, {
|
||||
description = desc,
|
||||
tiles = { texture },
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.4, -0.5, -0.4, -0.3, 0.4, -0.3 },
|
||||
{ 0.3, -0.5, -0.4, 0.4, 0.4, -0.3 },
|
||||
{ -0.4, -0.5, 0.3, -0.3, 0.4, 0.4 },
|
||||
{ 0.3, -0.5, 0.3, 0.4, 0.4, 0.4 },
|
||||
{ -0.5, 0.4, -0.5, 0.5, 0.5, 0.5 },
|
||||
{ -0.4, -0.2, -0.3, -0.3, -0.1, 0.3 },
|
||||
{ 0.3, -0.2, -0.4, 0.4, -0.1, 0.3 },
|
||||
{ -0.3, -0.2, -0.4, 0.4, -0.1, -0.3 },
|
||||
{ -0.3, -0.2, 0.3, 0.3, -0.1, 0.4 },
|
||||
},
|
||||
},
|
||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
end
|
||||
|
||||
local kc_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.3125, -0.5, -0.3125, 0.3125, 0.5, 0.3125 },
|
||||
}
|
||||
|
||||
local ac_cbox = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0, 0.5 },
|
||||
{-0.5, -0.5, 0.4, 0.5, 0.5, 0.5 }
|
||||
}
|
||||
}
|
||||
|
||||
homedecor.register("kitchen_chair_wood", {
|
||||
description = S("Kitchen chair"),
|
||||
mesh = "homedecor_kitchen_chair.obj",
|
||||
tiles = {
|
||||
homedecor.plain_wood,
|
||||
homedecor.plain_wood
|
||||
},
|
||||
inventory_image = "homedecor_chair_wood_inv.png",
|
||||
paramtype2 = "wallmounted",
|
||||
selection_box = kc_cbox,
|
||||
collision_box = kc_cbox,
|
||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
after_place_node = unifieddyes.fix_rotation_nsew,
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
pos.y = pos.y+0 -- where do I put my ass ?
|
||||
homedecor.sit(pos, node, clicker)
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
homedecor.register("kitchen_chair_padded", {
|
||||
description = S("Kitchen chair"),
|
||||
mesh = "homedecor_kitchen_chair.obj",
|
||||
tiles = {
|
||||
homedecor.plain_wood,
|
||||
"wool_white.png",
|
||||
},
|
||||
inventory_image = "homedecor_chair_padded_inv.png",
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
selection_box = kc_cbox,
|
||||
collision_box = kc_cbox,
|
||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, ud_param2_colorable = 1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
|
||||
end,
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
pos.y = pos.y+0 -- where do I put my ass ?
|
||||
homedecor.sit(pos, node, clicker)
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
homedecor.register("armchair", {
|
||||
description = S("Armchair"),
|
||||
mesh = "forniture_armchair.obj",
|
||||
tiles = {
|
||||
"wool_white.png",
|
||||
{ name = "wool_dark_grey.png", color = 0xffffffff },
|
||||
{ name = "default_wood.png", color = 0xffffffff }
|
||||
},
|
||||
inventory_image = "homedecor_armchair_inv.png",
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
groups = {snappy=3, ud_param2_colorable = 1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
node_box = ac_cbox,
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
|
||||
end,
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
||||
})
|
||||
|
||||
local ob_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, 0, 0.5, 0.5, 0.5 }
|
||||
}
|
||||
|
||||
minetest.register_node(":homedecor:openframe_bookshelf", {
|
||||
description = S("Bookshelf (open-frame)"),
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_openframe_bookshelf.obj",
|
||||
tiles = {
|
||||
"homedecor_openframe_bookshelf_books.png",
|
||||
"default_wood.png"
|
||||
},
|
||||
groups = {choppy=3,oddly_breakable_by_hand=2,flammable=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
selection_box = ob_cbox,
|
||||
collision_box = ob_cbox,
|
||||
})
|
||||
|
||||
homedecor.register("wall_shelf", {
|
||||
description = S("Wall Shelf"),
|
||||
tiles = {
|
||||
"homedecor_wood_table_large_edges.png",
|
||||
},
|
||||
groups = { snappy = 3 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, 0.4, 0.47, 0.5, 0.47, 0.5},
|
||||
{-0.5, 0.47, -0.1875, 0.5, 0.5, 0.5}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
-- Aliases for 3dforniture mod.
|
||||
|
||||
minetest.register_alias("3dforniture:table", "homedecor:table")
|
||||
minetest.register_alias("3dforniture:chair", "homedecor:chair")
|
||||
minetest.register_alias("3dforniture:armchair", "homedecor:armchair_black")
|
||||
minetest.register_alias("homedecor:armchair", "homedecor:armchair_black")
|
||||
|
||||
minetest.register_alias('table', 'homedecor:table')
|
||||
minetest.register_alias('chair', 'homedecor:chair')
|
||||
minetest.register_alias('armchair', 'homedecor:armchair')
|
||||
|
||||
-- conversion to param2 colorization
|
||||
|
||||
homedecor.old_static_chairs = {}
|
||||
|
||||
local chair_colors = {
|
||||
"black",
|
||||
"brown",
|
||||
"blue",
|
||||
"cyan",
|
||||
"dark_grey",
|
||||
"dark_green",
|
||||
"green",
|
||||
"grey",
|
||||
"magenta",
|
||||
"orange",
|
||||
"pink",
|
||||
"red",
|
||||
"violet",
|
||||
"white",
|
||||
"yellow",
|
||||
}
|
||||
|
||||
for _, color in ipairs(chair_colors) do
|
||||
table.insert(homedecor.old_static_chairs, "homedecor:chair_"..color)
|
||||
table.insert(homedecor.old_static_chairs, "homedecor:armchair_"..color)
|
||||
end
|
||||
table.insert(homedecor.old_static_chairs, "homedecor:chair")
|
||||
|
||||
minetest.register_lbm({
|
||||
name = "homedecor:convert_chairs",
|
||||
label = "Convert homedecor chairs to use param2 color",
|
||||
run_at_every_load = false,
|
||||
nodenames = homedecor.old_static_chairs,
|
||||
action = function(pos, node)
|
||||
local name = node.name
|
||||
local paletteidx = 0
|
||||
local color
|
||||
local a,b = string.find(name, "_")
|
||||
|
||||
if a then
|
||||
color = string.sub(name, a+1)
|
||||
|
||||
if color == "blue" then
|
||||
color = "medium_blue"
|
||||
elseif color == "violet" then
|
||||
color = "medium_violet"
|
||||
elseif color == "red" then
|
||||
color = "medium_red"
|
||||
elseif color == "black" then
|
||||
color = "dark_grey"
|
||||
end
|
||||
|
||||
paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted")
|
||||
end
|
||||
|
||||
local old_fdir = math.floor(node.param2 % 32)
|
||||
local new_fdir = 3
|
||||
|
||||
if old_fdir == 0 then
|
||||
new_fdir = 3
|
||||
elseif old_fdir == 1 then
|
||||
new_fdir = 4
|
||||
elseif old_fdir == 2 then
|
||||
new_fdir = 2
|
||||
elseif old_fdir == 3 then
|
||||
new_fdir = 5
|
||||
end
|
||||
|
||||
local param2 = paletteidx + new_fdir
|
||||
local newname = "homedecor:armchair"
|
||||
|
||||
if node.name == "homedecor:chair" then
|
||||
newname = "homedecor:kitchen_chair_wood"
|
||||
elseif string.find(node.name, "homedecor:chair_") then
|
||||
newname = "homedecor:kitchen_chair_padded"
|
||||
end
|
||||
|
||||
minetest.set_node(pos, { name = newname, param2 = param2 })
|
||||
local meta = minetest.get_meta(pos)
|
||||
if color then
|
||||
meta:set_string("dye", "unifieddyes:"..color)
|
||||
end
|
||||
end
|
||||
})
|
@ -1,236 +0,0 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
local cutlery_cbox = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -5/16, -8/16, -6/16, 5/16, -7/16, 2/16 },
|
||||
{ -2/16, -8/16, 2/16, 2/16, -4/16, 6/16 }
|
||||
}
|
||||
}
|
||||
|
||||
homedecor.register("cutlery_set", {
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_cutlery_set.obj",
|
||||
tiles = { "homedecor_cutlery_set.png" },
|
||||
inventory_image = "homedecor_cutlery_set_inv.png",
|
||||
description = S("Cutlery set"),
|
||||
groups = {snappy=3},
|
||||
selection_box = cutlery_cbox,
|
||||
walkable = false,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
local bottle_cbox = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.125, -0.5, -0.125, 0.125, 0, 0.125}
|
||||
}
|
||||
}
|
||||
|
||||
local fbottle_cbox = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.375, -0.5, -0.3125, 0.375, 0, 0.3125 }
|
||||
}
|
||||
}
|
||||
|
||||
local bottle_colors = {
|
||||
{ "brown", S("Brown bottle"), S("Four brown bottles") },
|
||||
{ "green", S("Green bottle"), S("Four green bottles") },
|
||||
}
|
||||
|
||||
for _, b in ipairs(bottle_colors) do
|
||||
|
||||
local name, desc, desc4 = unpack(b)
|
||||
|
||||
homedecor.register("bottle_"..name, {
|
||||
tiles = { "homedecor_bottle_"..name..".png" },
|
||||
inventory_image = "homedecor_bottle_"..name.."_inv.png",
|
||||
description = desc,
|
||||
mesh = "homedecor_bottle.obj",
|
||||
walkable = false,
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
selection_box = bottle_cbox
|
||||
})
|
||||
|
||||
-- 4-bottle sets
|
||||
|
||||
homedecor.register("4_bottles_"..name, {
|
||||
tiles = {
|
||||
"homedecor_bottle_"..name..".png",
|
||||
"homedecor_bottle_"..name..".png"
|
||||
},
|
||||
inventory_image = "homedecor_4_bottles_"..name.."_inv.png",
|
||||
description = desc4,
|
||||
mesh = "homedecor_4_bottles.obj",
|
||||
walkable = false,
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
selection_box = fbottle_cbox
|
||||
})
|
||||
end
|
||||
|
||||
homedecor.register("4_bottles_multi", {
|
||||
tiles = {
|
||||
"homedecor_bottle_brown.png",
|
||||
"homedecor_bottle_green.png"
|
||||
},
|
||||
inventory_image = "homedecor_4_bottles_multi_inv.png",
|
||||
description = S("Four misc brown/green bottles"),
|
||||
mesh = "homedecor_4_bottles.obj",
|
||||
groups = {snappy=3},
|
||||
walkable = false,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
selection_box = fbottle_cbox
|
||||
})
|
||||
|
||||
local wine_cbox = homedecor.nodebox.slab_z(-0.75)
|
||||
homedecor.register("wine_rack", {
|
||||
description = S("Wine rack"),
|
||||
mesh = "homedecor_wine_rack.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_wood_red.png",
|
||||
"homedecor_bottle_brown.png",
|
||||
"homedecor_bottle_brown2.png",
|
||||
"homedecor_bottle_brown3.png",
|
||||
"homedecor_bottle_brown4.png"
|
||||
},
|
||||
inventory_image = "homedecor_wine_rack_inv.png",
|
||||
groups = {choppy=2},
|
||||
selection_box = wine_cbox,
|
||||
collision_box = wine_cbox,
|
||||
sounds = default.node_sound_defaults(),
|
||||
})
|
||||
|
||||
homedecor.register("dartboard", {
|
||||
description = S("Dartboard"),
|
||||
mesh = "homedecor_dartboard.obj",
|
||||
tiles = { "homedecor_dartboard.png" },
|
||||
inventory_image = "homedecor_dartboard_inv.png",
|
||||
wield_image = "homedecor_dartboard_inv.png",
|
||||
paramtype2 = "wallmounted",
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
},
|
||||
groups = {choppy=2,dig_immediate=2,attached_node=1},
|
||||
legacy_wallmounted = true,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
homedecor.register("beer_tap", {
|
||||
description = S("Beer tap"),
|
||||
mesh = "homedecor_beer_taps.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_metal_bright.png",
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_black }
|
||||
},
|
||||
inventory_image = "homedecor_beertap_inv.png",
|
||||
groups = { snappy=3 },
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.25, -0.5, -0.4375, 0.25, 0.235, 0 }
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local inv = clicker:get_inventory()
|
||||
|
||||
local wieldname = itemstack:get_name()
|
||||
if wieldname == "vessels:drinking_glass" then
|
||||
if inv:room_for_item("main", "homedecor:beer_mug 1") then
|
||||
itemstack:take_item()
|
||||
clicker:set_wielded_item(itemstack)
|
||||
inv:add_item("main", "homedecor:beer_mug 1")
|
||||
minetest.chat_send_player(clicker:get_player_name(),
|
||||
S("Ahh, a frosty cold beer - look in your inventory for it!"))
|
||||
else
|
||||
minetest.chat_send_player(clicker:get_player_name(),
|
||||
S("No room in your inventory to add a beer mug!"))
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:beer_tap",
|
||||
recipe = {
|
||||
{ "group:stick","default:steel_ingot","group:stick" },
|
||||
{ "homedecor:kitchen_faucet","default:steel_ingot","homedecor:kitchen_faucet" },
|
||||
{ "default:steel_ingot","default:steel_ingot","default:steel_ingot" }
|
||||
},
|
||||
})
|
||||
|
||||
local beer_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -5/32, -8/16, -9/32 , 7/32, -2/16, 1/32 }
|
||||
}
|
||||
|
||||
homedecor.register("beer_mug", {
|
||||
description = S("Beer mug"),
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_beer_mug.obj",
|
||||
tiles = { "homedecor_beer_mug.png" },
|
||||
inventory_image = "homedecor_beer_mug_inv.png",
|
||||
groups = { snappy=3, oddly_breakable_by_hand=3 },
|
||||
walkable = false,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
selection_box = beer_cbox,
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
local inv = user:get_inventory()
|
||||
if not creative.is_enabled_for(user:get_player_name()) then
|
||||
if inv:room_for_item("main", "vessels:drinking_glass 1") then
|
||||
inv:add_item("main", "vessels:drinking_glass 1")
|
||||
else
|
||||
local pos = user:get_pos()
|
||||
local dir = user:get_look_dir()
|
||||
local fdir = minetest.dir_to_facedir(dir)
|
||||
local pos_fwd = { x = pos.x + homedecor.fdir_to_fwd[fdir+1][1],
|
||||
y = pos.y + 1,
|
||||
z = pos.z + homedecor.fdir_to_fwd[fdir+1][2] }
|
||||
minetest.add_item(pos_fwd, "vessels:drinking_glass 1")
|
||||
end
|
||||
minetest.do_item_eat(2, nil, itemstack, user, pointed_thing)
|
||||
return itemstack
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
local svm_cbox = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5}
|
||||
}
|
||||
|
||||
homedecor.register("soda_machine", {
|
||||
description = S("Soda vending machine"),
|
||||
mesh = "homedecor_soda_machine.obj",
|
||||
tiles = {"homedecor_soda_machine.png"},
|
||||
groups = {snappy=3},
|
||||
selection_box = svm_cbox,
|
||||
collision_box = svm_cbox,
|
||||
expand = { top="placeholder" },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_rotate = screwdriver.rotate_simple,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local playername = clicker:get_player_name()
|
||||
local wielditem = clicker:get_wielded_item()
|
||||
local wieldname = wielditem:get_name()
|
||||
local fdir_to_fwd = { {0, -1}, {-1, 0}, {0, 1}, {1, 0} }
|
||||
local fdir = node.param2
|
||||
local pos_drop = { x=pos.x+fdir_to_fwd[fdir+1][1], y=pos.y, z=pos.z+fdir_to_fwd[fdir+1][2] }
|
||||
if wieldname == "homedecor:coin" then
|
||||
minetest.spawn_item(pos_drop, "homedecor:soda_can")
|
||||
minetest.sound_play("insert_coin", {
|
||||
pos=pos, max_hear_distance = 5
|
||||
})
|
||||
if not creative.is_enabled_for(playername) then
|
||||
wielditem:take_item()
|
||||
clicker:set_wielded_item(wielditem)
|
||||
return wielditem
|
||||
end
|
||||
else
|
||||
minetest.chat_send_player(playername, S("Please insert a coin in the machine."))
|
||||
end
|
||||
end
|
||||
})
|
@ -1,24 +0,0 @@
|
||||
local handlerpath = homedecor.modpath .. "/handlers/"
|
||||
|
||||
-- nodebox arithmetics and helpers
|
||||
-- (please keep non-generic nodeboxes with their node definition)
|
||||
dofile(handlerpath.."nodeboxes.lua")
|
||||
|
||||
-- expand and unexpand decor
|
||||
dofile(handlerpath.."expansion.lua")
|
||||
|
||||
-- register nodes that cook stuff
|
||||
dofile(handlerpath.."furnaces.lua")
|
||||
|
||||
-- inventory related functionality, like initialization, ownership and spawning locked versions
|
||||
dofile(handlerpath.."inventory.lua")
|
||||
|
||||
-- glue it all together into a registration function
|
||||
dofile(handlerpath.."registration.lua")
|
||||
|
||||
-- some nodes have particle spawners
|
||||
dofile(handlerpath.."water_particles.lua")
|
||||
|
||||
|
||||
dofile(handlerpath.."mt_game_beds_functions.lua")
|
||||
dofile(handlerpath.."sit.lua")
|
@ -1,256 +0,0 @@
|
||||
-- This file supplies refrigerators
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
local function N_(x) return x end
|
||||
|
||||
-- steel-textured fridge
|
||||
homedecor.register("refrigerator_steel", {
|
||||
mesh = "homedecor_refrigerator.obj",
|
||||
tiles = { "homedecor_refrigerator_steel.png" },
|
||||
inventory_image = "homedecor_refrigerator_steel_inv.png",
|
||||
description = S("Refrigerator (stainless steel)"),
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
selection_box = homedecor.nodebox.slab_y(2),
|
||||
collision_box = homedecor.nodebox.slab_y(2),
|
||||
expand = { top="placeholder" },
|
||||
infotext=S("Refrigerator"),
|
||||
inventory = {
|
||||
size=50,
|
||||
lockable=true,
|
||||
},
|
||||
on_rotate = screwdriver.rotate_simple
|
||||
})
|
||||
|
||||
-- white, enameled fridge
|
||||
homedecor.register("refrigerator_white", {
|
||||
mesh = "homedecor_refrigerator.obj",
|
||||
tiles = { "homedecor_refrigerator_white.png" },
|
||||
inventory_image = "homedecor_refrigerator_white_inv.png",
|
||||
description = S("Refrigerator"),
|
||||
groups = {snappy=3},
|
||||
selection_box = homedecor.nodebox.slab_y(2),
|
||||
collision_box = homedecor.nodebox.slab_y(2),
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
expand = { top="placeholder" },
|
||||
infotext=S("Refrigerator"),
|
||||
inventory = {
|
||||
size=50,
|
||||
lockable=true,
|
||||
},
|
||||
on_rotate = screwdriver.rotate_simple
|
||||
})
|
||||
|
||||
minetest.register_alias("homedecor:refrigerator_white_bottom", "homedecor:refrigerator_white")
|
||||
minetest.register_alias("homedecor:refrigerator_white_top", "air")
|
||||
|
||||
minetest.register_alias("homedecor:refrigerator_steel_bottom", "homedecor:refrigerator_steel")
|
||||
minetest.register_alias("homedecor:refrigerator_steel_top", "air")
|
||||
|
||||
minetest.register_alias("homedecor:refrigerator_white_bottom_locked", "homedecor:refrigerator_white_locked")
|
||||
minetest.register_alias("homedecor:refrigerator_white_top_locked", "air")
|
||||
minetest.register_alias("homedecor:refrigerator_locked", "homedecor:refrigerator_white_locked")
|
||||
|
||||
minetest.register_alias("homedecor:refrigerator_steel_bottom_locked", "homedecor:refrigerator_steel_locked")
|
||||
minetest.register_alias("homedecor:refrigerator_steel_top_locked", "air")
|
||||
|
||||
-- kitchen "furnaces"
|
||||
homedecor.register_furnace("oven", {
|
||||
description = S("Oven"),
|
||||
tile_format = "homedecor_oven_%s%s.png",
|
||||
output_slots = 4,
|
||||
output_width = 2,
|
||||
cook_speed = 1.25,
|
||||
})
|
||||
|
||||
homedecor.register_furnace("oven_steel", {
|
||||
description = S("Oven (stainless steel)"),
|
||||
tile_format = "homedecor_oven_steel_%s%s.png",
|
||||
output_slots = 4,
|
||||
output_width = 2,
|
||||
cook_speed = 1.25,
|
||||
})
|
||||
|
||||
homedecor.register_furnace("microwave_oven", {
|
||||
description = S("Microwave Oven"),
|
||||
tiles = {
|
||||
"homedecor_microwave_top.png", "homedecor_microwave_top.png^[transformR180",
|
||||
"homedecor_microwave_top.png^[transformR270", "homedecor_microwave_top.png^[transformR90",
|
||||
"homedecor_microwave_top.png^[transformR180", "homedecor_microwave_front.png"
|
||||
},
|
||||
tiles_active = {
|
||||
"homedecor_microwave_top.png", "homedecor_microwave_top.png^[transformR180",
|
||||
"homedecor_microwave_top.png^[transformR270", "homedecor_microwave_top.png^[transformR90",
|
||||
"homedecor_microwave_top.png^[transformR180", "homedecor_microwave_front_active.png"
|
||||
},
|
||||
output_slots = 2,
|
||||
output_width = 2,
|
||||
cook_speed = 1.5,
|
||||
extra_nodedef_fields = {
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, -0.125, 0.5, 0.125, 0.5 },
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- coffee!
|
||||
-- coffee!
|
||||
-- coffee!
|
||||
|
||||
local cm_cbox = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ 0, -8/16, 0, 7/16, 3/16, 8/16 },
|
||||
{ -4/16, -8/16, -6/16, -1/16, -5/16, -3/16 }
|
||||
}
|
||||
}
|
||||
|
||||
homedecor.register("coffee_maker", {
|
||||
mesh = "homedecor_coffeemaker.obj",
|
||||
tiles = {
|
||||
"homedecor_coffeemaker_decanter.png",
|
||||
"homedecor_coffeemaker_cup.png",
|
||||
"homedecor_coffeemaker_case.png",
|
||||
},
|
||||
description = S("Coffee Maker"),
|
||||
inventory_image = "homedecor_coffeemaker_inv.png",
|
||||
walkable = false,
|
||||
groups = {snappy=3},
|
||||
selection_box = cm_cbox,
|
||||
node_box = cm_cbox,
|
||||
on_rotate = screwdriver.disallow
|
||||
})
|
||||
|
||||
local fdir_to_steampos = {
|
||||
x = { 0.15, 0.275, -0.15, -0.275 },
|
||||
z = { 0.275, -0.15, -0.275, 0.15 }
|
||||
}
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = "homedecor:coffee_maker",
|
||||
label = "sfx",
|
||||
interval = 2,
|
||||
chance = 1,
|
||||
action = function(pos, node)
|
||||
local fdir = node.param2
|
||||
if fdir and fdir < 4 then
|
||||
|
||||
local steamx = fdir_to_steampos.x[fdir + 1]
|
||||
local steamz = fdir_to_steampos.z[fdir + 1]
|
||||
|
||||
minetest.add_particlespawner({
|
||||
amount = 1,
|
||||
time = 1,
|
||||
minpos = {x=pos.x - steamx, y=pos.y - 0.35, z=pos.z - steamz},
|
||||
maxpos = {x=pos.x - steamx, y=pos.y - 0.35, z=pos.z - steamz},
|
||||
minvel = {x=-0.003, y=0.01, z=-0.003},
|
||||
maxvel = {x=0.003, y=0.01, z=-0.003},
|
||||
minacc = {x=0.0,y=-0.0,z=-0.0},
|
||||
maxacc = {x=0.0,y=0.003,z=-0.0},
|
||||
minexptime = 2,
|
||||
maxexptime = 5,
|
||||
minsize = 1,
|
||||
maxsize = 1.2,
|
||||
collisiondetection = false,
|
||||
texture = "homedecor_steam.png",
|
||||
})
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
homedecor.register("toaster", {
|
||||
description = S("Toaster"),
|
||||
tiles = { "homedecor_toaster_sides.png" },
|
||||
inventory_image = "homedecor_toaster_inv.png",
|
||||
walkable = false,
|
||||
groups = { snappy=3 },
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.0625, -0.5, -0.125, 0.125, -0.3125, 0.125}, -- NodeBox1
|
||||
},
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local fdir = node.param2
|
||||
minetest.set_node(pos, { name = "homedecor:toaster_loaf", param2 = fdir })
|
||||
minetest.sound_play("toaster", {
|
||||
pos = pos,
|
||||
gain = 1.0,
|
||||
max_hear_distance = 5
|
||||
})
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
homedecor.register("toaster_loaf", {
|
||||
tiles = {
|
||||
"homedecor_toaster_toploaf.png",
|
||||
"homedecor_toaster_sides.png",
|
||||
"homedecor_toaster_sides.png",
|
||||
"homedecor_toaster_sides.png",
|
||||
"homedecor_toaster_sides.png",
|
||||
"homedecor_toaster_sides.png"
|
||||
},
|
||||
walkable = false,
|
||||
groups = { snappy=3, not_in_creative_inventory=1 },
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.0625, -0.5, -0.125, 0.125, -0.3125, 0.125}, -- NodeBox1
|
||||
{-0.03125, -0.3125, -0.0935, 0, -0.25, 0.0935}, -- NodeBox2
|
||||
{0.0625, -0.3125, -0.0935, 0.0935, -0.25, 0.0935}, -- NodeBox3
|
||||
},
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local fdir = node.param2
|
||||
minetest.set_node(pos, { name = "homedecor:toaster", param2 = fdir })
|
||||
return itemstack
|
||||
end,
|
||||
drop = "homedecor:toaster"
|
||||
})
|
||||
|
||||
|
||||
homedecor.register("dishwasher", {
|
||||
description = S("Dishwasher"),
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
"homedecor_dishwasher_top.png",
|
||||
"homedecor_dishwasher_bottom.png",
|
||||
"homedecor_dishwasher_sides.png",
|
||||
"homedecor_dishwasher_sides.png^[transformFX",
|
||||
"homedecor_dishwasher_back.png",
|
||||
"homedecor_dishwasher_front.png"
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, -0.4375},
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.1875, 0.1875},
|
||||
{-0.4375, -0.5, -0.5, 0.4375, 0.4375, 0.4375},
|
||||
}
|
||||
},
|
||||
selection_box = { type = "regular" },
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
groups = { snappy = 3 },
|
||||
})
|
||||
|
||||
local materials = { N_("granite"), N_("marble"), N_("steel"), N_("wood") }
|
||||
|
||||
for _, m in ipairs(materials) do
|
||||
homedecor.register("dishwasher_"..m, {
|
||||
description = S("Dishwasher (@1)", S(m)),
|
||||
tiles = {
|
||||
"homedecor_kitchen_cabinet_top_"..m..".png",
|
||||
"homedecor_dishwasher_bottom.png",
|
||||
"homedecor_dishwasher_sides.png",
|
||||
"homedecor_dishwasher_sides.png^[transformFX",
|
||||
"homedecor_dishwasher_back.png",
|
||||
"homedecor_dishwasher_front.png"
|
||||
},
|
||||
groups = { snappy = 3 },
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
end
|
@ -1,157 +0,0 @@
|
||||
-- This file supplies Kitchen cabinets and kitchen sink
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
local cabinet_sides = "(default_wood.png^[transformR90)^homedecor_kitchen_cabinet_bevel.png"
|
||||
local cabinet_bottom = "(default_wood.png^[colorize:#000000:100)^(homedecor_kitchen_cabinet_bevel.png^[colorize:#46321580)"
|
||||
|
||||
local function N_(x) return x end
|
||||
|
||||
local counter_materials = { "", N_("granite"), N_("marble"), N_("steel") }
|
||||
|
||||
for _, mat in ipairs(counter_materials) do
|
||||
|
||||
local desc = S("Kitchen Cabinet")
|
||||
local material = ""
|
||||
|
||||
if mat ~= "" then
|
||||
desc = S("Kitchen Cabinet (@1 top)", S(mat))
|
||||
material = "_"..mat
|
||||
end
|
||||
|
||||
homedecor.register("kitchen_cabinet"..material, {
|
||||
description = desc,
|
||||
tiles = { 'homedecor_kitchen_cabinet_top'..material..'.png',
|
||||
cabinet_bottom,
|
||||
cabinet_sides,
|
||||
cabinet_sides,
|
||||
cabinet_sides,
|
||||
'homedecor_kitchen_cabinet_front.png'},
|
||||
groups = { snappy = 3 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
infotext=S("Kitchen Cabinet"),
|
||||
inventory = {
|
||||
size=24,
|
||||
lockable=true,
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
local kitchen_cabinet_half_box = homedecor.nodebox.slab_y(0.5, 0.5)
|
||||
homedecor.register("kitchen_cabinet_half", {
|
||||
description = S('Half-height Kitchen Cabinet (on ceiling)'),
|
||||
tiles = {
|
||||
cabinet_sides,
|
||||
cabinet_bottom,
|
||||
cabinet_sides,
|
||||
cabinet_sides,
|
||||
cabinet_sides,
|
||||
'homedecor_kitchen_cabinet_front_half.png'
|
||||
},
|
||||
selection_box = kitchen_cabinet_half_box,
|
||||
node_box = kitchen_cabinet_half_box,
|
||||
groups = { snappy = 3 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
infotext=S("Kitchen Cabinet"),
|
||||
inventory = {
|
||||
size=12,
|
||||
lockable=true,
|
||||
},
|
||||
})
|
||||
|
||||
homedecor.register("kitchen_cabinet_with_sink", {
|
||||
description = S("Kitchen Cabinet with sink"),
|
||||
mesh = "homedecor_kitchen_sink.obj",
|
||||
tiles = {
|
||||
"homedecor_kitchen_sink_top.png",
|
||||
"homedecor_kitchen_cabinet_front.png",
|
||||
cabinet_sides,
|
||||
cabinet_bottom
|
||||
},
|
||||
groups = { snappy = 3 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
infotext=S("Under-sink cabinet"),
|
||||
inventory = {
|
||||
size=16,
|
||||
lockable=true,
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -8/16, -8/16, -8/16, 8/16, 6/16, 8/16 },
|
||||
{ -8/16, 6/16, -8/16, -6/16, 8/16, 8/16 },
|
||||
{ 6/16, 6/16, -8/16, 8/16, 8/16, 8/16 },
|
||||
{ -8/16, 6/16, -8/16, 8/16, 8/16, -6/16 },
|
||||
{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 },
|
||||
}
|
||||
},
|
||||
on_destruct = function(pos)
|
||||
homedecor.stop_particle_spawner({x=pos.x, y=pos.y+1, z=pos.z})
|
||||
end
|
||||
})
|
||||
|
||||
local cp_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.375, -0.5, -0.5, 0.375, -0.3125, 0.3125 }
|
||||
}
|
||||
|
||||
homedecor.register("copper_pans", {
|
||||
description = S("Copper pans"),
|
||||
mesh = "homedecor_copper_pans.obj",
|
||||
tiles = { "homedecor_polished_copper.png" },
|
||||
inventory_image = "homedecor_copper_pans_inv.png",
|
||||
groups = { snappy=3 },
|
||||
selection_box = cp_cbox,
|
||||
walkable = false,
|
||||
on_place = minetest.rotate_node
|
||||
})
|
||||
|
||||
local kf_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -2/16, -8/16, 1/16, 2/16, -1/16, 8/16 }
|
||||
}
|
||||
|
||||
homedecor.register("kitchen_faucet", {
|
||||
mesh = "homedecor_kitchen_faucet.obj",
|
||||
tiles = { "homedecor_generic_metal_bright.png" },
|
||||
inventory_image = "homedecor_kitchen_faucet_inv.png",
|
||||
description = S("Kitchen Faucet"),
|
||||
groups = {snappy=3},
|
||||
selection_box = kf_cbox,
|
||||
walkable = false,
|
||||
on_rotate = screwdriver.disallow,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
|
||||
if below and
|
||||
below.name == "homedecor:sink" or
|
||||
below.name == "homedecor:kitchen_cabinet_with_sink" or
|
||||
below.name == "homedecor:kitchen_cabinet_with_sink_locked" then
|
||||
local particledef = {
|
||||
outlet = { x = 0, y = -0.19, z = 0.13 },
|
||||
velocity_x = { min = -0.05, max = 0.05 },
|
||||
velocity_y = -0.3,
|
||||
velocity_z = { min = -0.1, max = 0 },
|
||||
spread = 0
|
||||
}
|
||||
homedecor.start_particle_spawner(pos, node, particledef, "homedecor_faucet")
|
||||
end
|
||||
return itemstack
|
||||
end,
|
||||
on_destruct = homedecor.stop_particle_spawner
|
||||
})
|
||||
|
||||
homedecor.register("paper_towel", {
|
||||
mesh = "homedecor_paper_towel.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_quilted_paper.png",
|
||||
"default_wood.png"
|
||||
},
|
||||
inventory_image = "homedecor_paper_towel_inv.png",
|
||||
description = S("Paper towels"),
|
||||
groups = { snappy=3 },
|
||||
walkable = false,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.4375, 0.125, 0.0625, 0.4375, 0.4375, 0.5 }
|
||||
},
|
||||
})
|
@ -1,61 +0,0 @@
|
||||
-- laundry devices
|
||||
|
||||
homedecor.register("washing_machine", {
|
||||
description = "Washing Machine",
|
||||
tiles = {
|
||||
"homedecor_washing_machine_top.png",
|
||||
"homedecor_washing_machine_bottom.png",
|
||||
"homedecor_washing_machine_sides.png",
|
||||
"homedecor_washing_machine_sides.png^[transformFX",
|
||||
"homedecor_washing_machine_back.png",
|
||||
"homedecor_washing_machine_front.png"
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.375, 0.375},
|
||||
{-0.5, -0.5, 0.3125, 0.5, 0.5, 0.5},
|
||||
}
|
||||
},
|
||||
selection_box = { type = "regular" },
|
||||
groups = { snappy = 3 },
|
||||
})
|
||||
|
||||
homedecor.register("dryer", {
|
||||
description = "Tumble dryer",
|
||||
tiles = {
|
||||
"homedecor_dryer_top.png",
|
||||
"homedecor_dryer_bottom.png",
|
||||
"homedecor_dryer_sides.png",
|
||||
"homedecor_dryer_sides.png^[transformFX",
|
||||
"homedecor_dryer_back.png",
|
||||
"homedecor_dryer_front.png"
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.375, 0.375},
|
||||
{-0.5, -0.5, 0.3125, 0.5, 0.5, 0.5},
|
||||
}
|
||||
},
|
||||
selection_box = { type = "regular" },
|
||||
groups = { snappy = 3 },
|
||||
})
|
||||
|
||||
local ib_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -6/16, -8/16, -4/16, 17/16, 4/16, 4/16 }
|
||||
}
|
||||
|
||||
homedecor.register("ironing_board", {
|
||||
description = "Ironing board",
|
||||
mesh = "homedecor_ironing_board.obj",
|
||||
tiles = {
|
||||
"wool_grey.png",
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
|
||||
},
|
||||
expand = {right = "placeholder"},
|
||||
groups = { snappy = 3 },
|
||||
selection_box = ib_cbox,
|
||||
collision_box = ib_cbox
|
||||
})
|
@ -1,882 +0,0 @@
|
||||
-- This file supplies glowlights
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
local glowlight_nodebox = {
|
||||
half = homedecor.nodebox.slab_y(1/2),
|
||||
quarter = homedecor.nodebox.slab_y(1/4),
|
||||
small_cube = {
|
||||
type = "fixed",
|
||||
fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
|
||||
},
|
||||
}
|
||||
|
||||
minetest.register_node("homedecor:glowlight_half", {
|
||||
description = S("Thick Glowlight"),
|
||||
tiles = {
|
||||
"homedecor_glowlight_top.png",
|
||||
"homedecor_glowlight_bottom.png",
|
||||
"homedecor_glowlight_thick_sides.png",
|
||||
"homedecor_glowlight_thick_sides.png",
|
||||
"homedecor_glowlight_thick_sides.png",
|
||||
"homedecor_glowlight_thick_sides.png"
|
||||
},
|
||||
overlay_tiles = {
|
||||
{ name = "homedecor_glowlight_top_overlay.png", color = "white"},
|
||||
"",
|
||||
{ name = "homedecor_glowlight_thick_sides_overlay.png", color = "white"},
|
||||
{ name = "homedecor_glowlight_thick_sides_overlay.png", color = "white"},
|
||||
{ name = "homedecor_glowlight_thick_sides_overlay.png", color = "white"},
|
||||
{ name = "homedecor_glowlight_thick_sides_overlay.png", color = "white"},
|
||||
},
|
||||
use_texture_alpha = true,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
wall_top = { -0.5, 0, -0.5, 0.5, 0.5, 0.5 },
|
||||
wall_bottom = { -0.5, -0.5, -0.5, 0.5, 0, 0.5 },
|
||||
wall_side = { -0.5, -0.5, -0.5, 0, 0.5, 0.5 }
|
||||
},
|
||||
node_box = glowlight_nodebox.half,
|
||||
groups = { snappy = 3, ud_param2_colorable = 1 },
|
||||
light_source = default.LIGHT_MAX,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:glowlight_quarter", {
|
||||
description = S("Thin Glowlight"),
|
||||
tiles = {
|
||||
"homedecor_glowlight_top.png",
|
||||
"homedecor_glowlight_bottom.png",
|
||||
"homedecor_glowlight_thin_sides.png",
|
||||
"homedecor_glowlight_thin_sides.png",
|
||||
"homedecor_glowlight_thin_sides.png",
|
||||
"homedecor_glowlight_thin_sides.png"
|
||||
},
|
||||
overlay_tiles = {
|
||||
{ name = "homedecor_glowlight_top_overlay.png", color = "white"},
|
||||
"",
|
||||
{ name = "homedecor_glowlight_thin_sides_overlay.png", color = "white"},
|
||||
{ name = "homedecor_glowlight_thin_sides_overlay.png", color = "white"},
|
||||
{ name = "homedecor_glowlight_thin_sides_overlay.png", color = "white"},
|
||||
{ name = "homedecor_glowlight_thin_sides_overlay.png", color = "white"},
|
||||
},
|
||||
use_texture_alpha = true,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
wall_top = { -0.5, 0.25, -0.5, 0.5, 0.5, 0.5 },
|
||||
wall_bottom = { -0.5, -0.5, -0.5, 0.5, -0.25, 0.5 },
|
||||
wall_side = { -0.5, -0.5, -0.5, -0.25, 0.5, 0.5 }
|
||||
},
|
||||
node_box = glowlight_nodebox.quarter,
|
||||
groups = { snappy = 3, ud_param2_colorable = 1 },
|
||||
light_source = default.LIGHT_MAX-1,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:glowlight_small_cube", {
|
||||
description = S("Small Glowlight Cube"),
|
||||
tiles = {
|
||||
"homedecor_glowlight_cube_tb.png",
|
||||
"homedecor_glowlight_cube_tb.png",
|
||||
"homedecor_glowlight_cube_sides.png",
|
||||
"homedecor_glowlight_cube_sides.png",
|
||||
"homedecor_glowlight_cube_sides.png",
|
||||
"homedecor_glowlight_cube_sides.png"
|
||||
},
|
||||
overlay_tiles = {
|
||||
{ name = "homedecor_glowlight_cube_tb_overlay.png", color = "white"},
|
||||
{ name = "homedecor_glowlight_cube_tb_overlay.png", color = "white"},
|
||||
{ name = "homedecor_glowlight_cube_sides_overlay.png", color = "white"},
|
||||
{ name = "homedecor_glowlight_cube_sides_overlay.png", color = "white"},
|
||||
{ name = "homedecor_glowlight_cube_sides_overlay.png", color = "white"},
|
||||
{ name = "homedecor_glowlight_cube_sides_overlay.png", color = "white"},
|
||||
},
|
||||
use_texture_alpha = true,
|
||||
paramtype = "light",
|
||||
paramtype2 = "colorwallmounted",
|
||||
drawtype = "nodebox",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
wall_top = { -0.25, 0, -0.25, 0.25, 0.5, 0.25 },
|
||||
wall_bottom = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 },
|
||||
wall_side = { -0.5, -0.25, -0.25, 0, 0.25, 0.25 }
|
||||
},
|
||||
node_box = glowlight_nodebox.small_cube,
|
||||
groups = { snappy = 3, ud_param2_colorable = 1 },
|
||||
light_source = default.LIGHT_MAX-1,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
|
||||
end,
|
||||
})
|
||||
|
||||
homedecor.register("plasma_lamp", {
|
||||
description = S("Plasma Lamp"),
|
||||
drawtype = "mesh",
|
||||
mesh = "plasma_lamp.obj",
|
||||
tiles = {
|
||||
"default_gold_block.png",
|
||||
{
|
||||
name="homedecor_plasma_storm.png",
|
||||
animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0},
|
||||
}
|
||||
},
|
||||
use_texture_alpha = true,
|
||||
light_source = default.LIGHT_MAX - 1,
|
||||
sunlight_propagates = true,
|
||||
groups = {cracky=3,oddly_breakable_by_hand=3},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
homedecor.register("plasma_ball", {
|
||||
description = S("Plasma Ball"),
|
||||
mesh = "homedecor_plasma_ball.obj",
|
||||
tiles = {
|
||||
{ name = "homedecor_generic_plastic.png", color = homedecor.color_black },
|
||||
{
|
||||
name = "homedecor_plasma_ball_streamers.png",
|
||||
animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0},
|
||||
},
|
||||
"homedecor_plasma_ball_glass.png"
|
||||
},
|
||||
inventory_image = "homedecor_plasma_ball_inv.png",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.1875, -0.5, -0.1875, 0.1875, 0, 0.1875 }
|
||||
},
|
||||
walkable = false,
|
||||
use_texture_alpha = true,
|
||||
light_source = default.LIGHT_MAX - 5,
|
||||
sunlight_propagates = true,
|
||||
groups = {cracky=3,oddly_breakable_by_hand=3},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
local tc_cbox = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.1875, -0.5, -0.1875, 0.1875, 0.375, 0.1875 },
|
||||
}
|
||||
}
|
||||
|
||||
homedecor.register("candle", {
|
||||
description = S("Thick Candle"),
|
||||
mesh = "homedecor_candle_thick.obj",
|
||||
tiles = {
|
||||
'homedecor_candle_sides.png',
|
||||
{name="homedecor_candle_flame.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}},
|
||||
},
|
||||
inventory_image = "homedecor_candle_inv.png",
|
||||
selection_box = tc_cbox,
|
||||
walkable = false,
|
||||
groups = { snappy = 3 },
|
||||
light_source = default.LIGHT_MAX-4,
|
||||
})
|
||||
|
||||
local c_cbox = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.125, -0.5, -0.125, 0.125, 0.05, 0.125 },
|
||||
}
|
||||
}
|
||||
|
||||
homedecor.register("candle_thin", {
|
||||
description = S("Thin Candle"),
|
||||
mesh = "homedecor_candle_thin.obj",
|
||||
tiles = {
|
||||
'homedecor_candle_sides.png',
|
||||
{name="homedecor_candle_flame.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}},
|
||||
},
|
||||
inventory_image = "homedecor_candle_thin_inv.png",
|
||||
selection_box = c_cbox,
|
||||
walkable = false,
|
||||
groups = { snappy = 3 },
|
||||
light_source = default.LIGHT_MAX-4,
|
||||
})
|
||||
|
||||
local cs_cbox = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.15625, -0.5, -0.15625, 0.15625, 0.3125, 0.15625 },
|
||||
}
|
||||
}
|
||||
|
||||
homedecor.register("candlestick_wrought_iron", {
|
||||
description = S("Candlestick (wrought iron)"),
|
||||
mesh = "homedecor_candlestick.obj",
|
||||
tiles = {
|
||||
"homedecor_candle_sides.png",
|
||||
{name="homedecor_candle_flame.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}},
|
||||
"homedecor_generic_metal_wrought_iron.png",
|
||||
},
|
||||
inventory_image = "homedecor_candlestick_wrought_iron_inv.png",
|
||||
selection_box = cs_cbox,
|
||||
walkable = false,
|
||||
groups = { snappy = 3 },
|
||||
light_source = default.LIGHT_MAX-4,
|
||||
})
|
||||
|
||||
homedecor.register("candlestick_brass", {
|
||||
description = S("Candlestick (brass)"),
|
||||
mesh = "homedecor_candlestick.obj",
|
||||
tiles = {
|
||||
"homedecor_candle_sides.png",
|
||||
{name="homedecor_candle_flame.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}},
|
||||
"homedecor_generic_metal_brass.png",
|
||||
},
|
||||
inventory_image = "homedecor_candlestick_brass_inv.png",
|
||||
selection_box = cs_cbox,
|
||||
walkable = false,
|
||||
groups = { snappy = 3 },
|
||||
light_source = default.LIGHT_MAX-4,
|
||||
})
|
||||
|
||||
homedecor.register("wall_sconce", {
|
||||
description = S("Wall sconce"),
|
||||
mesh = "homedecor_wall_sconce.obj",
|
||||
tiles = {
|
||||
'homedecor_candle_sides.png',
|
||||
{name="homedecor_candle_flame.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}},
|
||||
'homedecor_wall_sconce_back.png',
|
||||
'homedecor_generic_metal_wrought_iron.png',
|
||||
},
|
||||
inventory_image = "homedecor_wall_sconce_inv.png",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.1875, -0.25, 0.3125, 0.1875, 0.25, 0.5 }
|
||||
},
|
||||
walkable = false,
|
||||
groups = { snappy = 3 },
|
||||
light_source = default.LIGHT_MAX-4,
|
||||
})
|
||||
|
||||
local ol_cbox = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -5/16, -8/16, -3/16, 5/16, 4/16, 3/16 },
|
||||
}
|
||||
}
|
||||
|
||||
homedecor.register("oil_lamp", {
|
||||
description = S("Oil lamp (hurricane)"),
|
||||
mesh = "homedecor_oil_lamp.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_metal_brass.png",
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_black },
|
||||
{ name = "homedecor_generic_metal.png", color = 0xffa00000 },
|
||||
"homedecor_oil_lamp_wick.png",
|
||||
{ name = "homedecor_generic_metal.png", color = 0xffa00000 },
|
||||
"homedecor_oil_lamp_glass.png",
|
||||
},
|
||||
use_texture_alpha = true,
|
||||
inventory_image = "homedecor_oil_lamp_inv.png",
|
||||
selection_box = ol_cbox,
|
||||
walkable = false,
|
||||
groups = { snappy = 3 },
|
||||
light_source = default.LIGHT_MAX-3,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
homedecor.register("oil_lamp_tabletop", {
|
||||
description = S("Oil Lamp (tabletop)"),
|
||||
mesh = "homedecor_oil_lamp_tabletop.obj",
|
||||
tiles = {"homedecor_oil_lamp_tabletop.png"},
|
||||
inventory_image = "homedecor_oil_lamp_tabletop_inv.png",
|
||||
selection_box = ol_cbox,
|
||||
collision_box = ol_cbox,
|
||||
groups = { snappy = 3 },
|
||||
light_source = default.LIGHT_MAX-3,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
local gl_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.25, -0.5, -0.25, 0.25, 0.45, 0.25 },
|
||||
}
|
||||
|
||||
minetest.register_alias("homedecor:wall_lantern", "homedecor:ground_lantern")
|
||||
|
||||
homedecor.register("ground_lantern", {
|
||||
description = S("Ground Lantern"),
|
||||
mesh = "homedecor_ground_lantern.obj",
|
||||
tiles = { "homedecor_light.png", "homedecor_generic_metal_wrought_iron.png" },
|
||||
use_texture_alpha = true,
|
||||
inventory_image = "homedecor_ground_lantern_inv.png",
|
||||
wield_image = "homedecor_ground_lantern_inv.png",
|
||||
groups = {snappy=3},
|
||||
light_source = 11,
|
||||
selection_box = gl_cbox,
|
||||
walkable = false
|
||||
})
|
||||
|
||||
local hl_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.25, -0.5, -0.2, 0.25, 0.5, 0.5 },
|
||||
}
|
||||
|
||||
homedecor.register("hanging_lantern", {
|
||||
description = S("Hanging Lantern"),
|
||||
mesh = "homedecor_hanging_lantern.obj",
|
||||
tiles = { "homedecor_generic_metal_wrought_iron.png", "homedecor_light.png" },
|
||||
use_texture_alpha = true,
|
||||
inventory_image = "homedecor_hanging_lantern_inv.png",
|
||||
wield_image = "homedecor_hanging_lantern_inv.png",
|
||||
groups = {snappy=3},
|
||||
light_source = 11,
|
||||
selection_box = hl_cbox,
|
||||
walkable = false
|
||||
})
|
||||
|
||||
local cl_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.35, -0.45, -0.35, 0.35, 0.5, 0.35 }
|
||||
}
|
||||
|
||||
homedecor.register("ceiling_lantern", {
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_ceiling_lantern.obj",
|
||||
tiles = { "homedecor_light.png", "homedecor_generic_metal_wrought_iron.png" },
|
||||
use_texture_alpha = true,
|
||||
inventory_image = "homedecor_ceiling_lantern_inv.png",
|
||||
description = S("Ceiling Lantern"),
|
||||
groups = {snappy=3},
|
||||
light_source = 11,
|
||||
selection_box = cl_cbox,
|
||||
walkable = false
|
||||
})
|
||||
|
||||
local sm_light = default.LIGHT_MAX-2
|
||||
|
||||
if minetest.get_modpath("darkage") then
|
||||
minetest.register_alias("homedecor:lattice_lantern_large", "darkage:lamp")
|
||||
sm_light = default.LIGHT_MAX-5
|
||||
else
|
||||
homedecor.register("lattice_lantern_large", {
|
||||
description = S("Lattice lantern (large)"),
|
||||
tiles = { 'homedecor_lattice_lantern_large.png' },
|
||||
groups = { snappy = 3 },
|
||||
light_source = default.LIGHT_MAX,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
end
|
||||
|
||||
homedecor.register("lattice_lantern_small", {
|
||||
description = S("Lattice lantern (small)"),
|
||||
tiles = {
|
||||
'homedecor_lattice_lantern_small_tb.png',
|
||||
'homedecor_lattice_lantern_small_tb.png',
|
||||
'homedecor_lattice_lantern_small_sides.png'
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
|
||||
},
|
||||
groups = { snappy = 3 },
|
||||
light_source = sm_light,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
on_place = minetest.rotate_node
|
||||
})
|
||||
|
||||
local brightness_tab = {
|
||||
0xffd0d0d0,
|
||||
0xffd8d8d8,
|
||||
0xffe0e0e0,
|
||||
0xffe8e8e8,
|
||||
0xffffffff,
|
||||
}
|
||||
|
||||
-- table lamps and standing lamps
|
||||
|
||||
local repl = {
|
||||
["off"] ="low",
|
||||
["low"] ="med",
|
||||
["med"] ="hi",
|
||||
["hi"] ="max",
|
||||
["max"] ="off",
|
||||
}
|
||||
|
||||
local lamp_colors = {
|
||||
"white",
|
||||
"blue",
|
||||
"green",
|
||||
"pink",
|
||||
"red",
|
||||
"violet",
|
||||
}
|
||||
|
||||
local tlamp_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.25, -0.5, -0.25, 0.25, 0.5, 0.25 }
|
||||
}
|
||||
|
||||
local slamp_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.25, -0.5, -0.25, 0.25, 1.5, 0.25 }
|
||||
}
|
||||
|
||||
local function reg_lamp(suffix, nxt, light, brightness)
|
||||
|
||||
local wool_brighten = (light or 0) * 15
|
||||
|
||||
homedecor.register("table_lamp_"..suffix, {
|
||||
description = S("Table Lamp"),
|
||||
mesh = "homedecor_table_lamp.obj",
|
||||
tiles = {
|
||||
"wool_grey.png^[colorize:#ffffff:"..wool_brighten,
|
||||
{ name = "homedecor_table_standing_lamp_lightbulb.png", color = brightness_tab[brightness] },
|
||||
{ name = "homedecor_generic_wood_red.png", color = 0xffffffff },
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_black },
|
||||
},
|
||||
inventory_image = "homedecor_table_lamp_foot_inv.png^homedecor_table_lamp_top_inv.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "color",
|
||||
palette = "unifieddyes_palette_extended.png",
|
||||
walkable = false,
|
||||
light_source = light,
|
||||
selection_box = tlamp_cbox,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
groups = {cracky=2,oddly_breakable_by_hand=1, ud_param2_colorable = 1,
|
||||
not_in_creative_inventory=((light ~= nil) and 1) or nil,
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
node.name = "homedecor:table_lamp_"..repl[suffix]
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
on_construct = unifieddyes.on_construct,
|
||||
drop = {
|
||||
items = {
|
||||
{items = {"homedecor:table_lamp_off"}, inherit_color = true },
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
homedecor.register("standing_lamp_"..suffix, {
|
||||
description = S("Standing Lamp"),
|
||||
mesh = "homedecor_standing_lamp.obj",
|
||||
tiles = {
|
||||
"wool_grey.png^[colorize:#ffffff:"..wool_brighten,
|
||||
{ name = "homedecor_table_standing_lamp_lightbulb.png", color = brightness_tab[brightness] },
|
||||
{ name = "homedecor_generic_wood_red.png", color = 0xffffffff },
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_black },
|
||||
},
|
||||
inventory_image = "homedecor_standing_lamp_foot_inv.png^homedecor_standing_lamp_top_inv.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "color",
|
||||
palette = "unifieddyes_palette_extended.png",
|
||||
walkable = false,
|
||||
light_source = light,
|
||||
groups = {cracky=2,oddly_breakable_by_hand=1, ud_param2_colorable = 1,
|
||||
not_in_creative_inventory=((light ~= nil) and 1) or nil,
|
||||
},
|
||||
selection_box = slamp_cbox,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_rotate = screwdriver.rotate_simple,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
node.name = "homedecor:standing_lamp_"..repl[suffix]
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
on_construct = unifieddyes.on_construct,
|
||||
--expand = { top="air" },
|
||||
drop = {
|
||||
items = {
|
||||
{items = {"homedecor:standing_lamp_off"}, inherit_color = true },
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
-- for old maps that had the original 3dforniture mod
|
||||
minetest.register_alias("3dforniture:table_lamp_"..suffix, "homedecor:table_lamp_"..suffix)
|
||||
end
|
||||
|
||||
reg_lamp("off", "low", nil, 1 )
|
||||
reg_lamp("low", "med", 3, 2 )
|
||||
reg_lamp("med", "hi", 7, 3 )
|
||||
reg_lamp("hi", "max", 11, 4 )
|
||||
reg_lamp("max", "off", 14, 5 )
|
||||
|
||||
-- "gooseneck" style desk lamps
|
||||
|
||||
local dlamp_cbox = {
|
||||
type = "wallmounted",
|
||||
wall_side = { -0.2, -0.5, -0.15, 0.32, 0.12, 0.15 },
|
||||
}
|
||||
|
||||
homedecor.register("desk_lamp", {
|
||||
description = S("Desk Lamp"),
|
||||
mesh = "homedecor_desk_lamp.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_metal.png",
|
||||
"homedecor_generic_metal.png",
|
||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
|
||||
{ name = "homedecor_table_standing_lamp_lightbulb.png", color = brightness_tab[5] },
|
||||
},
|
||||
inventory_image = "homedecor_desk_lamp_inv.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
selection_box = dlamp_cbox,
|
||||
node_box = dlamp_cbox,
|
||||
walkable = false,
|
||||
groups = {snappy=3, ud_param2_colorable = 1},
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
|
||||
end,
|
||||
on_rotate = unifieddyes.fix_after_screwdriver_nsew
|
||||
})
|
||||
|
||||
-- "kitchen"/"dining room" ceiling lamp
|
||||
|
||||
homedecor.register("ceiling_lamp", {
|
||||
description = S("Ceiling Lamp"),
|
||||
mesh = "homedecor_ceiling_lamp.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_metal_brass.png",
|
||||
"homedecor_ceiling_lamp_glass.png",
|
||||
"homedecor_table_standing_lamp_lightbulb.png",
|
||||
{ name = "homedecor_generic_plastic.png", color = 0xff442d04 },
|
||||
},
|
||||
inventory_image = "homedecor_ceiling_lamp_inv.png",
|
||||
light_source = default.LIGHT_MAX,
|
||||
groups = {snappy=3},
|
||||
walkable = false,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
minetest.set_node(pos, {name = "homedecor:ceiling_lamp_off"})
|
||||
end,
|
||||
})
|
||||
|
||||
homedecor.register("ceiling_lamp_off", {
|
||||
description = S("Ceiling Lamp (off)"),
|
||||
mesh = "homedecor_ceiling_lamp.obj",
|
||||
tiles = {
|
||||
"homedecor_generic_metal_brass.png",
|
||||
"homedecor_ceiling_lamp_glass.png",
|
||||
{ "homedecor_table_standing_lamp_lightbulb.png", color = 0xffd0d0d0 },
|
||||
{ name = "homedecor_generic_plastic.png", color = 0xff442d04 },
|
||||
},
|
||||
groups = {snappy=3, not_in_creative_inventory=1},
|
||||
walkable = false,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
minetest.set_node(pos, {name = "homedecor:ceiling_lamp"})
|
||||
end,
|
||||
drop = "homedecor:ceiling_lamp"
|
||||
})
|
||||
|
||||
-- conversion LBM for param2 coloring
|
||||
|
||||
homedecor.old_static_nodes = {
|
||||
"homedecor:glowlight_quarter_white",
|
||||
"homedecor:glowlight_quarter_yellow",
|
||||
"homedecor:glowlight_half_white",
|
||||
"homedecor:glowlight_half_yellow",
|
||||
"homedecor:glowlight_small_cube_white",
|
||||
"homedecor:glowlight_small_cube_yellow"
|
||||
}
|
||||
|
||||
local lamp_power = {"off", "low", "med", "hi", "max"}
|
||||
|
||||
for _, power in ipairs(lamp_power) do
|
||||
for _, color in ipairs(lamp_colors) do
|
||||
table.insert(homedecor.old_static_nodes, "homedecor:table_lamp_"..color.."_"..power)
|
||||
table.insert(homedecor.old_static_nodes, "homedecor:standing_lamp_"..color.."_"..power)
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_lbm({
|
||||
name = "homedecor:convert_lighting",
|
||||
label = "Convert homedecor glowlights, table lamps, and standing lamps to use param2 color",
|
||||
run_at_every_load = false,
|
||||
nodenames = homedecor.old_static_nodes,
|
||||
action = function(pos, node)
|
||||
local name = node.name
|
||||
local newname
|
||||
local color
|
||||
|
||||
if string.find(name, "small_cube") then
|
||||
newname = "homedecor:glowlight_small_cube"
|
||||
elseif string.find(name, "glowlight_half") then
|
||||
newname = "homedecor:glowlight_half"
|
||||
elseif string.find(name, "glowlight_quarter") then
|
||||
newname = "homedecor:glowlight_quarter"
|
||||
end
|
||||
|
||||
local lampname
|
||||
if string.find(name, "standing_lamp") then
|
||||
lampname = "homedecor:standing_lamp"
|
||||
elseif string.find(name, "table_lamp") then
|
||||
lampname = "homedecor:table_lamp"
|
||||
end
|
||||
if lampname then
|
||||
newname = lampname
|
||||
if string.find(name, "_off") then
|
||||
newname = newname.."_off"
|
||||
elseif string.find(name, "_low") then
|
||||
newname = newname.."_low"
|
||||
elseif string.find(name, "_med") then
|
||||
newname = newname.."_med"
|
||||
elseif string.find(name, "_hi") then
|
||||
newname = newname.."_hi"
|
||||
elseif string.find(name, "_max") then
|
||||
newname = newname.."_max"
|
||||
end
|
||||
end
|
||||
|
||||
if string.find(name, "red") then
|
||||
color = "red"
|
||||
elseif string.find(name, "pink") then
|
||||
color = "pink"
|
||||
elseif string.find(name, "green") then
|
||||
color = "green"
|
||||
elseif string.find(name, "blue") then
|
||||
color = "blue"
|
||||
elseif string.find(name, "yellow") then
|
||||
color = "yellow"
|
||||
elseif string.find(name, "violet") then
|
||||
color = "violet"
|
||||
else
|
||||
color = "white"
|
||||
end
|
||||
|
||||
local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color, "extended")
|
||||
|
||||
local old_fdir
|
||||
local new_node = newname
|
||||
local new_fdir = 1
|
||||
local param2
|
||||
|
||||
if string.find(name, "glowlight") then
|
||||
paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted")
|
||||
|
||||
old_fdir = math.floor(node.param2 / 4)
|
||||
|
||||
if old_fdir == 5 then
|
||||
new_fdir = 0
|
||||
elseif old_fdir == 1 then
|
||||
new_fdir = 5
|
||||
elseif old_fdir == 2 then
|
||||
new_fdir = 4
|
||||
elseif old_fdir == 3 then
|
||||
new_fdir = 3
|
||||
elseif old_fdir == 4 then
|
||||
new_fdir = 2
|
||||
elseif old_fdir == 0 then
|
||||
new_fdir = 1
|
||||
end
|
||||
param2 = paletteidx + new_fdir
|
||||
else
|
||||
param2 = paletteidx
|
||||
end
|
||||
|
||||
local meta = minetest.get_meta(pos)
|
||||
|
||||
if string.find(name, "table_lamp") or string.find(name, "standing_lamp") then
|
||||
meta:set_string("palette", "ext")
|
||||
end
|
||||
|
||||
minetest.set_node(pos, { name = new_node, param2 = param2 })
|
||||
meta:set_string("dye", "unifieddyes:"..color)
|
||||
end
|
||||
})
|
||||
|
||||
-- this one's for the small "gooseneck" desk lamps
|
||||
|
||||
homedecor.old_static_desk_lamps = {
|
||||
"homedecor:desk_lamp_red",
|
||||
"homedecor:desk_lamp_blue",
|
||||
"homedecor:desk_lamp_green",
|
||||
"homedecor:desk_lamp_violet",
|
||||
}
|
||||
|
||||
minetest.register_lbm({
|
||||
name = "homedecor:convert_desk_lamps",
|
||||
label = "Convert homedecor desk lamps to use param2 color",
|
||||
run_at_every_load = false,
|
||||
nodenames = homedecor.old_static_desk_lamps,
|
||||
action = function(pos, node)
|
||||
local name = node.name
|
||||
local color = string.sub(name, string.find(name, "_", -8) + 1)
|
||||
|
||||
if color == "green" then
|
||||
color = "medium_green"
|
||||
elseif color == "violet" then
|
||||
color = "magenta"
|
||||
end
|
||||
|
||||
local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted")
|
||||
local old_fdir = math.floor(node.param2 % 32)
|
||||
local new_fdir = 3
|
||||
|
||||
if old_fdir == 0 then
|
||||
new_fdir = 3
|
||||
elseif old_fdir == 1 then
|
||||
new_fdir = 4
|
||||
elseif old_fdir == 2 then
|
||||
new_fdir = 2
|
||||
elseif old_fdir == 3 then
|
||||
new_fdir = 5
|
||||
end
|
||||
|
||||
local param2 = paletteidx + new_fdir
|
||||
|
||||
minetest.set_node(pos, { name = "homedecor:desk_lamp", param2 = param2 })
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("dye", "unifieddyes:"..color)
|
||||
end
|
||||
})
|
||||
|
||||
local chains_sbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.1, -0.5, -0.1, 0.1, 0.5, 0.1 }
|
||||
}
|
||||
|
||||
local topchains_sbox = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.25, 0.35, -0.25, 0.25, 0.5, 0.25 },
|
||||
{ -0.1, -0.5, -0.1, 0.1, 0.4, 0.1 }
|
||||
}
|
||||
}
|
||||
|
||||
minetest.register_node("homedecor:chain_steel_top", {
|
||||
description = S("Hanging chain (ceiling mount, steel)"),
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_chains_top.obj",
|
||||
tiles = {"basic_materials_chain_steel.png"},
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
sunlight_propagates = true,
|
||||
paramtype = "light",
|
||||
inventory_image = "basic_materials_chain_steel_inv.png",
|
||||
groups = {cracky=3},
|
||||
selection_box = topchains_sbox,
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:chain_brass_top", {
|
||||
description = S("Hanging chain (ceiling mount, brass)"),
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_chains_top.obj",
|
||||
tiles = {"basic_materials_chain_brass.png"},
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
sunlight_propagates = true,
|
||||
paramtype = "light",
|
||||
inventory_image = "basic_materials_chain_brass_inv.png",
|
||||
groups = {cracky=3},
|
||||
selection_box = topchains_sbox,
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:chandelier_steel", {
|
||||
description = S("Chandelier (steel)"),
|
||||
paramtype = "light",
|
||||
light_source = 12,
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
sunlight_propagates = true,
|
||||
tiles = {
|
||||
"basic_materials_chain_steel.png",
|
||||
"homedecor_candle_flat.png",
|
||||
{
|
||||
name="homedecor_candle_flame.png",
|
||||
animation={
|
||||
type="vertical_frames",
|
||||
aspect_w=16,
|
||||
aspect_h=16,
|
||||
length=3.0
|
||||
}
|
||||
}
|
||||
},
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_chandelier.obj",
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:chandelier_brass", {
|
||||
description = S("Chandelier (brass)"),
|
||||
paramtype = "light",
|
||||
light_source = 12,
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
sunlight_propagates = true,
|
||||
tiles = {
|
||||
"basic_materials_chain_brass.png",
|
||||
"homedecor_candle_flat.png",
|
||||
{
|
||||
name="homedecor_candle_flame.png",
|
||||
animation={
|
||||
type="vertical_frames",
|
||||
aspect_w=16,
|
||||
aspect_h=16,
|
||||
length=3.0
|
||||
}
|
||||
}
|
||||
},
|
||||
drawtype = "mesh",
|
||||
mesh = "homedecor_chandelier.obj",
|
||||
groups = {cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
-- crafts
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'homedecor:chain_steel_top',
|
||||
recipe = {
|
||||
{'default:steel_ingot'},
|
||||
{'basic_materials:chainlink_steel'},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'homedecor:chandelier_steel',
|
||||
recipe = {
|
||||
{'', 'basic_materials:chainlink_steel', ''},
|
||||
{'default:torch', 'basic_materials:chainlink_steel', 'default:torch'},
|
||||
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
|
||||
}
|
||||
})
|
||||
|
||||
-- brass versions
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'homedecor:chain_brass_top',
|
||||
recipe = {
|
||||
{'basic_materials:brass_ingot'},
|
||||
{'basic_materials:chainlink_brass'},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'homedecor:chandelier_brass',
|
||||
recipe = {
|
||||
{'', 'basic_materials:chainlink_brass', ''},
|
||||
{'default:torch', 'basic_materials:chainlink_brass', 'default:torch'},
|
||||
{'basic_materials:brass_ingot', 'basic_materials:brass_ingot', 'basic_materials:brass_ingot'},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_alias("chains:chain_top", "homedecor:chain_steel_top")
|
||||
minetest.register_alias("chains:chain_top_brass", "homedecor:chain_brass_top")
|
||||
|
||||
minetest.register_alias("chains:chandelier_steel", "homedecor:chandelier_steel")
|
||||
minetest.register_alias("chains:chandelier_brass", "homedecor:chandelier_brass")
|
||||
|
@ -1,518 +0,0 @@
|
||||
# Blender v2.73 (sub 0) OBJ File: 'door-closet.blend'
|
||||
# www.blender.org
|
||||
o Cylinder
|
||||
v 0.499750 1.499500 0.499969
|
||||
v -0.499750 1.499500 0.499969
|
||||
v 0.499750 -0.499500 0.499969
|
||||
v -0.499750 -0.499500 0.499969
|
||||
v -0.499750 1.499500 0.375031
|
||||
v 0.499750 1.499500 0.375031
|
||||
v -0.499750 -0.499500 0.375031
|
||||
v 0.499750 -0.499500 0.375031
|
||||
v -0.499750 -0.374531 0.499969
|
||||
v 0.499750 1.374531 0.499969
|
||||
v 0.499750 -0.374531 0.375031
|
||||
v -0.499750 1.374531 0.375031
|
||||
v 0.374875 0.437531 0.499969
|
||||
v -0.374875 0.437531 0.499969
|
||||
v -0.374875 1.374531 0.499969
|
||||
v -0.374875 0.437531 0.375031
|
||||
v 0.374875 0.437531 0.375031
|
||||
v 0.374875 1.374531 0.375031
|
||||
v -0.374875 1.374531 0.375031
|
||||
v 0.374875 1.374531 0.499969
|
||||
v -0.499750 1.374531 0.499969
|
||||
v 0.499750 -0.374531 0.499969
|
||||
v 0.499750 1.374531 0.375031
|
||||
v -0.499750 -0.374531 0.375031
|
||||
v 0.374875 -0.374531 0.499969
|
||||
v -0.374875 -0.374531 0.499969
|
||||
v -0.374875 0.562469 0.499969
|
||||
v -0.374875 -0.374531 0.375031
|
||||
v 0.374875 -0.374531 0.375031
|
||||
v 0.374875 0.562469 0.375031
|
||||
v -0.374875 0.562469 0.375031
|
||||
v 0.374875 0.562469 0.499969
|
||||
v 0.375000 1.365847 0.454073
|
||||
v 0.375000 1.360323 0.459597
|
||||
v -0.375000 1.360323 0.459597
|
||||
v -0.375000 1.365847 0.454073
|
||||
v 0.375000 1.327177 0.415403
|
||||
v 0.375000 1.321653 0.420927
|
||||
v -0.375000 1.321653 0.420927
|
||||
v -0.375000 1.327177 0.415403
|
||||
v 0.375000 1.303347 0.454073
|
||||
v 0.375000 1.297823 0.459597
|
||||
v -0.375000 1.297823 0.459597
|
||||
v -0.375000 1.303347 0.454073
|
||||
v 0.375000 1.264677 0.415403
|
||||
v 0.375000 1.259153 0.420927
|
||||
v -0.375000 1.259153 0.420927
|
||||
v -0.375000 1.264677 0.415403
|
||||
v 0.375000 1.240847 0.454073
|
||||
v 0.375000 1.235323 0.459597
|
||||
v -0.375000 1.235323 0.459597
|
||||
v -0.375000 1.240847 0.454073
|
||||
v 0.375000 1.202177 0.415403
|
||||
v 0.375000 1.196653 0.420927
|
||||
v -0.375000 1.196653 0.420927
|
||||
v -0.375000 1.202177 0.415403
|
||||
v 0.375000 1.178347 0.454073
|
||||
v 0.375000 1.172823 0.459597
|
||||
v -0.375000 1.172823 0.459597
|
||||
v -0.375000 1.178347 0.454073
|
||||
v 0.375000 1.139677 0.415403
|
||||
v 0.375000 1.134153 0.420927
|
||||
v -0.375000 1.134153 0.420927
|
||||
v -0.375000 1.139677 0.415403
|
||||
v 0.375000 1.115847 0.454073
|
||||
v 0.375000 1.110323 0.459597
|
||||
v -0.375000 1.110323 0.459597
|
||||
v -0.375000 1.115847 0.454073
|
||||
v 0.375000 1.077177 0.415403
|
||||
v 0.375000 1.071653 0.420927
|
||||
v -0.375000 1.071653 0.420927
|
||||
v -0.375000 1.077177 0.415403
|
||||
v 0.375000 1.053347 0.454073
|
||||
v 0.375000 1.047823 0.459597
|
||||
v -0.375000 1.047823 0.459597
|
||||
v -0.375000 1.053347 0.454073
|
||||
v 0.375000 1.014677 0.415403
|
||||
v 0.375000 1.009153 0.420927
|
||||
v -0.375000 1.009153 0.420927
|
||||
v -0.375000 1.014677 0.415403
|
||||
v 0.375000 0.928347 0.454073
|
||||
v 0.375000 0.922823 0.459597
|
||||
v -0.375000 0.922823 0.459597
|
||||
v -0.375000 0.928347 0.454073
|
||||
v 0.375000 0.889677 0.415403
|
||||
v 0.375000 0.884153 0.420927
|
||||
v -0.375000 0.884153 0.420927
|
||||
v -0.375000 0.889677 0.415403
|
||||
v 0.375000 0.990847 0.454073
|
||||
v 0.375000 0.985323 0.459597
|
||||
v -0.375000 0.985323 0.459597
|
||||
v -0.375000 0.990847 0.454073
|
||||
v 0.375000 0.952177 0.415403
|
||||
v 0.375000 0.946653 0.420927
|
||||
v -0.375000 0.946653 0.420927
|
||||
v -0.375000 0.952177 0.415403
|
||||
v 0.375000 0.865847 0.454073
|
||||
v 0.375000 0.860323 0.459597
|
||||
v -0.375000 0.860323 0.459597
|
||||
v -0.375000 0.865847 0.454073
|
||||
v 0.375000 0.827177 0.415403
|
||||
v 0.375000 0.821653 0.420927
|
||||
v -0.375000 0.821653 0.420927
|
||||
v -0.375000 0.827177 0.415403
|
||||
v 0.375000 0.803347 0.454073
|
||||
v 0.375000 0.797823 0.459597
|
||||
v -0.375000 0.797823 0.459597
|
||||
v -0.375000 0.803347 0.454073
|
||||
v 0.375000 0.764677 0.415403
|
||||
v 0.375000 0.759153 0.420927
|
||||
v -0.375000 0.759153 0.420927
|
||||
v -0.375000 0.764677 0.415403
|
||||
v 0.375000 0.740847 0.454073
|
||||
v 0.375000 0.735323 0.459597
|
||||
v -0.375000 0.735323 0.459597
|
||||
v -0.375000 0.740847 0.454073
|
||||
v 0.375000 0.702177 0.415403
|
||||
v 0.375000 0.696653 0.420927
|
||||
v -0.375000 0.696653 0.420927
|
||||
v -0.375000 0.702177 0.415403
|
||||
v 0.375000 0.678347 0.454073
|
||||
v 0.375000 0.672823 0.459597
|
||||
v -0.375000 0.672823 0.459597
|
||||
v -0.375000 0.678347 0.454073
|
||||
v 0.375000 0.639677 0.415403
|
||||
v 0.375000 0.634153 0.420927
|
||||
v -0.375000 0.634153 0.420927
|
||||
v -0.375000 0.639677 0.415403
|
||||
v 0.375000 0.615847 0.454073
|
||||
v 0.375000 0.610323 0.459597
|
||||
v -0.375000 0.610323 0.459597
|
||||
v -0.375000 0.615847 0.454073
|
||||
v 0.375000 0.577177 0.415403
|
||||
v 0.375000 0.571653 0.420927
|
||||
v -0.375000 0.571653 0.420927
|
||||
v -0.375000 0.577177 0.415403
|
||||
v 0.375000 0.428347 0.454073
|
||||
v 0.375000 0.422823 0.459597
|
||||
v -0.375000 0.422823 0.459597
|
||||
v -0.375000 0.428347 0.454073
|
||||
v 0.375000 0.389677 0.415403
|
||||
v 0.375000 0.384153 0.420927
|
||||
v -0.375000 0.384153 0.420927
|
||||
v -0.375000 0.389677 0.415403
|
||||
v 0.375000 0.365847 0.454073
|
||||
v 0.375000 0.360323 0.459597
|
||||
v -0.375000 0.360323 0.459597
|
||||
v -0.375000 0.365847 0.454073
|
||||
v 0.375000 0.327177 0.415403
|
||||
v 0.375000 0.321653 0.420927
|
||||
v -0.375000 0.321653 0.420927
|
||||
v -0.375000 0.327177 0.415403
|
||||
v 0.375000 0.303347 0.454073
|
||||
v 0.375000 0.297823 0.459597
|
||||
v -0.375000 0.297823 0.459597
|
||||
v -0.375000 0.303347 0.454073
|
||||
v 0.375000 0.264677 0.415403
|
||||
v 0.375000 0.259153 0.420927
|
||||
v -0.375000 0.259153 0.420927
|
||||
v -0.375000 0.264677 0.415403
|
||||
v 0.375000 0.240847 0.454073
|
||||
v 0.375000 0.235323 0.459597
|
||||
v -0.375000 0.235323 0.459597
|
||||
v -0.375000 0.240847 0.454073
|
||||
v 0.375000 0.202177 0.415403
|
||||
v 0.375000 0.196653 0.420927
|
||||
v -0.375000 0.196653 0.420927
|
||||
v -0.375000 0.202177 0.415403
|
||||
v 0.375000 0.178347 0.454073
|
||||
v 0.375000 0.172823 0.459597
|
||||
v -0.375000 0.172823 0.459597
|
||||
v -0.375000 0.178347 0.454073
|
||||
v 0.375000 0.139677 0.415403
|
||||
v 0.375000 0.134153 0.420927
|
||||
v -0.375000 0.134153 0.420927
|
||||
v -0.375000 0.139677 0.415403
|
||||
v 0.375000 0.115847 0.454073
|
||||
v 0.375000 0.110323 0.459597
|
||||
v -0.375000 0.110323 0.459597
|
||||
v -0.375000 0.115847 0.454073
|
||||
v 0.375000 0.077177 0.415403
|
||||
v 0.375000 0.071653 0.420927
|
||||
v -0.375000 0.071653 0.420927
|
||||
v -0.375000 0.077177 0.415403
|
||||
v 0.375000 -0.009153 0.454073
|
||||
v 0.375000 -0.014677 0.459597
|
||||
v -0.375000 -0.014677 0.459597
|
||||
v -0.375000 -0.009153 0.454073
|
||||
v 0.375000 -0.047823 0.415403
|
||||
v 0.375000 -0.053347 0.420927
|
||||
v -0.375000 -0.053347 0.420927
|
||||
v -0.375000 -0.047823 0.415403
|
||||
v 0.375000 0.053347 0.454073
|
||||
v 0.375000 0.047823 0.459597
|
||||
v -0.375000 0.047823 0.459597
|
||||
v -0.375000 0.053347 0.454073
|
||||
v 0.375000 0.014677 0.415403
|
||||
v 0.375000 0.009153 0.420927
|
||||
v -0.375000 0.009153 0.420927
|
||||
v -0.375000 0.014677 0.415403
|
||||
v 0.375000 -0.071653 0.454073
|
||||
v 0.375000 -0.077177 0.459597
|
||||
v -0.375000 -0.077177 0.459597
|
||||
v -0.375000 -0.071653 0.454073
|
||||
v 0.375000 -0.110323 0.415403
|
||||
v 0.375000 -0.115847 0.420927
|
||||
v -0.375000 -0.115847 0.420927
|
||||
v -0.375000 -0.110323 0.415403
|
||||
v 0.375000 -0.134153 0.454073
|
||||
v 0.375000 -0.139677 0.459597
|
||||
v -0.375000 -0.139677 0.459597
|
||||
v -0.375000 -0.134153 0.454073
|
||||
v 0.375000 -0.172823 0.415403
|
||||
v 0.375000 -0.178347 0.420927
|
||||
v -0.375000 -0.178347 0.420927
|
||||
v -0.375000 -0.172823 0.415403
|
||||
v 0.375000 -0.196653 0.454073
|
||||
v 0.375000 -0.202177 0.459597
|
||||
v -0.375000 -0.202177 0.459597
|
||||
v -0.375000 -0.196653 0.454073
|
||||
v 0.375000 -0.235323 0.415403
|
||||
v 0.375000 -0.240847 0.420927
|
||||
v -0.375000 -0.240847 0.420927
|
||||
v -0.375000 -0.235323 0.415403
|
||||
v 0.375000 -0.259153 0.454073
|
||||
v 0.375000 -0.264677 0.459597
|
||||
v -0.375000 -0.264677 0.459597
|
||||
v -0.375000 -0.259153 0.454073
|
||||
v 0.375000 -0.297823 0.415403
|
||||
v 0.375000 -0.303347 0.420927
|
||||
v -0.375000 -0.303347 0.420927
|
||||
v -0.375000 -0.297823 0.415403
|
||||
v 0.375000 -0.321653 0.454073
|
||||
v 0.375000 -0.327177 0.459597
|
||||
v -0.375000 -0.327177 0.459597
|
||||
v -0.375000 -0.321653 0.454073
|
||||
v 0.375000 -0.360323 0.415403
|
||||
v 0.375000 -0.365847 0.420927
|
||||
v -0.375000 -0.365847 0.420927
|
||||
v -0.375000 -0.360323 0.415403
|
||||
vt 0.515625 0.937500
|
||||
vt 0.140625 0.937500
|
||||
vt 0.078125 0.937500
|
||||
vt 0.078125 1.000000
|
||||
vt 0.578125 1.000000
|
||||
vt 0.578125 0.937500
|
||||
vt 0.515625 0.468750
|
||||
vt 0.515625 0.531250
|
||||
vt 0.140625 0.531250
|
||||
vt 0.140625 0.468750
|
||||
vt 0.015625 1.000000
|
||||
vt 0.015625 0.937500
|
||||
vt 0.015625 0.062500
|
||||
vt 0.015625 -0.000000
|
||||
vt 0.078125 -0.000000
|
||||
vt 0.078125 0.062500
|
||||
vt 0.734375 0.250000
|
||||
vt 0.734375 0.750000
|
||||
vt 0.671875 0.750000
|
||||
vt 0.671875 0.250000
|
||||
vt 0.765625 0.750000
|
||||
vt 0.765625 0.250000
|
||||
vt 0.828125 0.250000
|
||||
vt 0.828125 0.750000
|
||||
vt 0.578125 0.062500
|
||||
vt 0.515625 0.062500
|
||||
vt 0.140625 0.062500
|
||||
vt 0.578125 0.000000
|
||||
vt 0.640625 0.000000
|
||||
vt 0.640625 0.062500
|
||||
vt 0.640625 0.937500
|
||||
vt 0.640625 1.000000
|
||||
vt 0.140625 0.906250
|
||||
vt 0.515625 0.906250
|
||||
vt 0.015625 0.531250
|
||||
vt 0.078125 0.531250
|
||||
vt 0.671875 0.687500
|
||||
vt 0.671875 0.312500
|
||||
vt 0.734375 0.312500
|
||||
vt 0.734375 0.687500
|
||||
vt 0.578125 0.531250
|
||||
vt 0.640625 0.531250
|
||||
vt 0.828125 0.687500
|
||||
vt 0.765625 0.687500
|
||||
vt 0.765625 0.312500
|
||||
vt 0.828125 0.312500
|
||||
vt 0.015625 0.468750
|
||||
vt 0.078125 0.468750
|
||||
vt 0.640625 0.468750
|
||||
vt 0.578125 0.468750
|
||||
vt 0.515625 0.921875
|
||||
vt 0.140625 0.921875
|
||||
vt 0.140625 0.875000
|
||||
vt 0.515625 0.875000
|
||||
vt 0.515625 0.890625
|
||||
vt 0.140625 0.890625
|
||||
vt 0.140625 0.843750
|
||||
vt 0.515625 0.843750
|
||||
vt 0.515625 0.859375
|
||||
vt 0.140625 0.859375
|
||||
vt 0.140625 0.812500
|
||||
vt 0.515625 0.812500
|
||||
vt 0.515625 0.828125
|
||||
vt 0.140625 0.828125
|
||||
vt 0.140625 0.781250
|
||||
vt 0.515625 0.781250
|
||||
vt 0.515625 0.796875
|
||||
vt 0.140625 0.796875
|
||||
vt 0.140625 0.750000
|
||||
vt 0.515625 0.750000
|
||||
vt 0.515625 0.765625
|
||||
vt 0.140625 0.765625
|
||||
vt 0.140625 0.687500
|
||||
vt 0.140625 0.718750
|
||||
vt 0.515625 0.718750
|
||||
vt 0.515625 0.687500
|
||||
vt 0.515625 0.703125
|
||||
vt 0.140625 0.703125
|
||||
vt 0.515625 0.734375
|
||||
vt 0.140625 0.734375
|
||||
vt 0.140625 0.656250
|
||||
vt 0.515625 0.656250
|
||||
vt 0.515625 0.671875
|
||||
vt 0.140625 0.671875
|
||||
vt 0.140625 0.625000
|
||||
vt 0.515625 0.625000
|
||||
vt 0.515625 0.640625
|
||||
vt 0.140625 0.640625
|
||||
vt 0.140625 0.609375
|
||||
vt 0.515625 0.609375
|
||||
vt 0.140625 0.578125
|
||||
vt 0.515625 0.578125
|
||||
vt 0.515625 0.593750
|
||||
vt 0.140625 0.593750
|
||||
vt 0.140625 0.546875
|
||||
vt 0.515625 0.546875
|
||||
vt 0.515625 0.562500
|
||||
vt 0.140625 0.562500
|
||||
vt 0.140625 0.421875
|
||||
vt 0.140625 0.453125
|
||||
vt 0.515625 0.453125
|
||||
vt 0.515625 0.421875
|
||||
vt 0.515625 0.437500
|
||||
vt 0.140625 0.437500
|
||||
vt 0.140625 0.390625
|
||||
vt 0.515625 0.390625
|
||||
vt 0.515625 0.406250
|
||||
vt 0.140625 0.406250
|
||||
vt 0.140625 0.359375
|
||||
vt 0.515625 0.359375
|
||||
vt 0.515625 0.375000
|
||||
vt 0.140625 0.375000
|
||||
vt 0.140625 0.328125
|
||||
vt 0.515625 0.328125
|
||||
vt 0.515625 0.343750
|
||||
vt 0.140625 0.343750
|
||||
vt 0.140625 0.296875
|
||||
vt 0.515625 0.296875
|
||||
vt 0.515625 0.312500
|
||||
vt 0.140625 0.312500
|
||||
vt 0.140625 0.265625
|
||||
vt 0.515625 0.265625
|
||||
vt 0.515625 0.281250
|
||||
vt 0.140625 0.281250
|
||||
vt 0.140625 0.203125
|
||||
vt 0.140625 0.234375
|
||||
vt 0.515625 0.234375
|
||||
vt 0.515625 0.203125
|
||||
vt 0.515625 0.218750
|
||||
vt 0.140625 0.218750
|
||||
vt 0.515625 0.250000
|
||||
vt 0.140625 0.250000
|
||||
vt 0.140625 0.171875
|
||||
vt 0.515625 0.171875
|
||||
vt 0.515625 0.187500
|
||||
vt 0.140625 0.187500
|
||||
vt 0.140625 0.140625
|
||||
vt 0.515625 0.140625
|
||||
vt 0.515625 0.156250
|
||||
vt 0.140625 0.156250
|
||||
vt 0.140625 0.125000
|
||||
vt 0.515625 0.125000
|
||||
vt 0.140625 0.093750
|
||||
vt 0.515625 0.093750
|
||||
vt 0.515625 0.109375
|
||||
vt 0.140625 0.109375
|
||||
vt 0.515625 0.078125
|
||||
vt 0.140625 0.078125
|
||||
s off
|
||||
f 15/1 20/2 10/3 1/4 2/5 21/6
|
||||
f 16/7 31/8 30/9 17/10
|
||||
f 23/3 6/4 1/11 10/12 22/13 3/14 8/15 11/16
|
||||
f 18/2 19/1 12/6 5/5 6/4 23/3
|
||||
f 2/17 1/18 6/19 5/20
|
||||
f 3/21 4/22 7/23 8/24
|
||||
f 13/10 32/9 27/8 14/7
|
||||
f 24/25 12/6 19/1 31/8 16/7 28/26
|
||||
f 22/16 10/3 20/2 32/9 13/10 25/27
|
||||
f 24/25 7/28 4/29 9/30 21/31 2/32 5/5 12/6
|
||||
f 26/26 14/7 27/8 15/1 21/6 9/25
|
||||
f 29/27 17/10 30/9 18/2 23/3 11/16
|
||||
f 8/15 7/28 24/25 28/26 29/27 11/16
|
||||
f 4/28 3/15 22/16 25/27 26/26 9/25
|
||||
f 33/33 37/2 40/1 36/34
|
||||
f 35/1 39/34 38/33 34/2
|
||||
f 15/12 27/35 31/36 19/3
|
||||
f 30/37 31/38 27/39 32/40
|
||||
f 18/6 30/41 32/42 20/31
|
||||
f 18/43 20/44 15/45 19/46
|
||||
f 14/47 26/13 28/16 16/48
|
||||
f 29/37 28/38 26/39 25/40
|
||||
f 13/49 17/50 29/25 25/30
|
||||
f 17/43 13/44 14/45 16/46
|
||||
f 40/51 37/52 38/2 39/1
|
||||
f 33/52 36/51 35/34 34/33
|
||||
f 41/53 45/33 48/34 44/54
|
||||
f 43/34 47/54 46/53 42/33
|
||||
f 48/55 45/56 46/33 47/34
|
||||
f 41/56 44/55 43/54 42/53
|
||||
f 49/57 53/53 56/54 52/58
|
||||
f 51/54 55/58 54/57 50/53
|
||||
f 56/59 53/60 54/53 55/54
|
||||
f 49/60 52/59 51/58 50/57
|
||||
f 57/61 61/57 64/58 60/62
|
||||
f 59/58 63/62 62/61 58/57
|
||||
f 64/63 61/64 62/57 63/58
|
||||
f 57/64 60/63 59/62 58/61
|
||||
f 65/65 69/61 72/62 68/66
|
||||
f 67/62 71/66 70/65 66/61
|
||||
f 72/67 69/68 70/61 71/62
|
||||
f 65/68 68/67 67/66 66/65
|
||||
f 73/69 77/65 80/66 76/70
|
||||
f 75/66 79/70 78/69 74/65
|
||||
f 80/71 77/72 78/65 79/66
|
||||
f 73/72 76/71 75/70 74/69
|
||||
f 81/73 85/74 88/75 84/76
|
||||
f 83/75 87/76 86/73 82/74
|
||||
f 88/77 85/78 86/74 87/75
|
||||
f 81/78 84/77 83/76 82/73
|
||||
f 89/74 93/69 96/70 92/75
|
||||
f 91/70 95/75 94/74 90/69
|
||||
f 96/79 93/80 94/69 95/70
|
||||
f 89/80 92/79 91/75 90/74
|
||||
f 97/81 101/73 104/76 100/82
|
||||
f 99/76 103/82 102/81 98/73
|
||||
f 104/83 101/84 102/73 103/76
|
||||
f 97/84 100/83 99/82 98/81
|
||||
f 105/85 109/81 112/82 108/86
|
||||
f 107/82 111/86 110/85 106/81
|
||||
f 112/87 109/88 110/81 111/82
|
||||
f 105/88 108/87 107/86 106/85
|
||||
f 113/89 117/88 120/87 116/90
|
||||
f 115/87 119/90 118/89 114/88
|
||||
f 120/86 117/85 118/88 119/87
|
||||
f 113/85 116/86 115/90 114/89
|
||||
f 121/91 125/89 128/90 124/92
|
||||
f 123/90 127/92 126/91 122/89
|
||||
f 128/93 125/94 126/89 127/90
|
||||
f 121/94 124/93 123/92 122/91
|
||||
f 129/95 133/91 136/92 132/96
|
||||
f 131/92 135/96 134/95 130/91
|
||||
f 136/97 133/98 134/91 135/92
|
||||
f 129/98 132/97 131/96 130/95
|
||||
f 137/99 141/100 144/101 140/102
|
||||
f 139/101 143/102 142/99 138/100
|
||||
f 144/103 141/104 142/100 143/101
|
||||
f 137/104 140/103 139/102 138/99
|
||||
f 145/105 149/99 152/102 148/106
|
||||
f 147/102 151/106 150/105 146/99
|
||||
f 152/107 149/108 150/99 151/102
|
||||
f 145/108 148/107 147/106 146/105
|
||||
f 153/109 157/105 160/106 156/110
|
||||
f 155/106 159/110 158/109 154/105
|
||||
f 160/111 157/112 158/105 159/106
|
||||
f 153/112 156/111 155/110 154/109
|
||||
f 161/113 165/109 168/110 164/114
|
||||
f 163/110 167/114 166/113 162/109
|
||||
f 168/115 165/116 166/109 167/110
|
||||
f 161/116 164/115 163/114 162/113
|
||||
f 169/117 173/113 176/114 172/118
|
||||
f 171/114 175/118 174/117 170/113
|
||||
f 176/119 173/120 174/113 175/114
|
||||
f 169/120 172/119 171/118 170/117
|
||||
f 177/121 181/117 184/118 180/122
|
||||
f 179/118 183/122 182/121 178/117
|
||||
f 184/123 181/124 182/117 183/118
|
||||
f 177/124 180/123 179/122 178/121
|
||||
f 185/125 189/126 192/127 188/128
|
||||
f 187/127 191/128 190/125 186/126
|
||||
f 192/129 189/130 190/126 191/127
|
||||
f 185/130 188/129 187/128 186/125
|
||||
f 193/126 197/121 200/122 196/127
|
||||
f 195/122 199/127 198/126 194/121
|
||||
f 200/131 197/132 198/121 199/122
|
||||
f 193/132 196/131 195/127 194/126
|
||||
f 201/133 205/125 208/128 204/134
|
||||
f 203/128 207/134 206/133 202/125
|
||||
f 208/135 205/136 206/125 207/128
|
||||
f 201/136 204/135 203/134 202/133
|
||||
f 209/137 213/133 216/134 212/138
|
||||
f 211/134 215/138 214/137 210/133
|
||||
f 216/139 213/140 214/133 215/134
|
||||
f 209/140 212/139 211/138 210/137
|
||||
f 217/141 221/140 224/139 220/142
|
||||
f 219/139 223/142 222/141 218/140
|
||||
f 224/138 221/137 222/140 223/139
|
||||
f 217/137 220/138 219/142 218/141
|
||||
f 225/143 229/141 232/142 228/144
|
||||
f 227/142 231/144 230/143 226/141
|
||||
f 232/145 229/146 230/141 231/142
|
||||
f 225/146 228/145 227/144 226/143
|
||||
f 233/27 237/143 240/144 236/26
|
||||
f 235/144 239/26 238/27 234/143
|
||||
f 240/147 237/148 238/143 239/144
|
||||
f 233/148 236/147 235/26 234/27
|
@ -1,518 +0,0 @@
|
||||
# Blender v2.73 (sub 0) OBJ File: 'door-closet-right.blend'
|
||||
# www.blender.org
|
||||
o Cylinder
|
||||
v 0.499750 1.499500 0.499969
|
||||
v -0.499750 1.499500 0.499969
|
||||
v 0.499750 -0.499500 0.499969
|
||||
v -0.499750 -0.499500 0.499969
|
||||
v -0.499750 1.499500 0.375031
|
||||
v 0.499750 1.499500 0.375031
|
||||
v -0.499750 -0.499500 0.375031
|
||||
v 0.499750 -0.499500 0.375031
|
||||
v -0.499750 -0.374531 0.499969
|
||||
v 0.499750 1.374531 0.499969
|
||||
v 0.499750 -0.374531 0.375031
|
||||
v -0.499750 1.374531 0.375031
|
||||
v 0.374875 0.437531 0.499969
|
||||
v -0.374875 0.437531 0.499969
|
||||
v -0.374875 1.374531 0.499969
|
||||
v -0.374875 0.437531 0.375031
|
||||
v 0.374875 0.437531 0.375031
|
||||
v 0.374875 1.374531 0.375031
|
||||
v -0.374875 1.374531 0.375031
|
||||
v 0.374875 1.374531 0.499969
|
||||
v -0.499750 1.374531 0.499969
|
||||
v 0.499750 -0.374531 0.499969
|
||||
v 0.499750 1.374531 0.375031
|
||||
v -0.499750 -0.374531 0.375031
|
||||
v 0.374875 -0.374531 0.499969
|
||||
v -0.374875 -0.374531 0.499969
|
||||
v -0.374875 0.562469 0.499969
|
||||
v -0.374875 -0.374531 0.375031
|
||||
v 0.374875 -0.374531 0.375031
|
||||
v 0.374875 0.562469 0.375031
|
||||
v -0.374875 0.562469 0.375031
|
||||
v 0.374875 0.562469 0.499969
|
||||
v 0.375000 1.365847 0.454073
|
||||
v 0.375000 1.360323 0.459597
|
||||
v -0.375000 1.360323 0.459597
|
||||
v -0.375000 1.365847 0.454073
|
||||
v 0.375000 1.327177 0.415403
|
||||
v 0.375000 1.321653 0.420927
|
||||
v -0.375000 1.321653 0.420927
|
||||
v -0.375000 1.327177 0.415403
|
||||
v 0.375000 1.303347 0.454073
|
||||
v 0.375000 1.297823 0.459597
|
||||
v -0.375000 1.297823 0.459597
|
||||
v -0.375000 1.303347 0.454073
|
||||
v 0.375000 1.264677 0.415403
|
||||
v 0.375000 1.259153 0.420927
|
||||
v -0.375000 1.259153 0.420927
|
||||
v -0.375000 1.264677 0.415403
|
||||
v 0.375000 1.240847 0.454073
|
||||
v 0.375000 1.235323 0.459597
|
||||
v -0.375000 1.235323 0.459597
|
||||
v -0.375000 1.240847 0.454073
|
||||
v 0.375000 1.202177 0.415403
|
||||
v 0.375000 1.196653 0.420927
|
||||
v -0.375000 1.196653 0.420927
|
||||
v -0.375000 1.202177 0.415403
|
||||
v 0.375000 1.178347 0.454073
|
||||
v 0.375000 1.172823 0.459597
|
||||
v -0.375000 1.172823 0.459597
|
||||
v -0.375000 1.178347 0.454073
|
||||
v 0.375000 1.139677 0.415403
|
||||
v 0.375000 1.134153 0.420927
|
||||
v -0.375000 1.134153 0.420927
|
||||
v -0.375000 1.139677 0.415403
|
||||
v 0.375000 1.115847 0.454073
|
||||
v 0.375000 1.110323 0.459597
|
||||
v -0.375000 1.110323 0.459597
|
||||
v -0.375000 1.115847 0.454073
|
||||
v 0.375000 1.077177 0.415403
|
||||
v 0.375000 1.071653 0.420927
|
||||
v -0.375000 1.071653 0.420927
|
||||
v -0.375000 1.077177 0.415403
|
||||
v 0.375000 1.053347 0.454073
|
||||
v 0.375000 1.047823 0.459597
|
||||
v -0.375000 1.047823 0.459597
|
||||
v -0.375000 1.053347 0.454073
|
||||
v 0.375000 1.014677 0.415403
|
||||
v 0.375000 1.009153 0.420927
|
||||
v -0.375000 1.009153 0.420927
|
||||
v -0.375000 1.014677 0.415403
|
||||
v 0.375000 0.928347 0.454073
|
||||
v 0.375000 0.922823 0.459597
|
||||
v -0.375000 0.922823 0.459597
|
||||
v -0.375000 0.928347 0.454073
|
||||
v 0.375000 0.889677 0.415403
|
||||
v 0.375000 0.884153 0.420927
|
||||
v -0.375000 0.884153 0.420927
|
||||
v -0.375000 0.889677 0.415403
|
||||
v 0.375000 0.990847 0.454073
|
||||
v 0.375000 0.985323 0.459597
|
||||
v -0.375000 0.985323 0.459597
|
||||
v -0.375000 0.990847 0.454073
|
||||
v 0.375000 0.952177 0.415403
|
||||
v 0.375000 0.946653 0.420927
|
||||
v -0.375000 0.946653 0.420927
|
||||
v -0.375000 0.952177 0.415403
|
||||
v 0.375000 0.865847 0.454073
|
||||
v 0.375000 0.860323 0.459597
|
||||
v -0.375000 0.860323 0.459597
|
||||
v -0.375000 0.865847 0.454073
|
||||
v 0.375000 0.827177 0.415403
|
||||
v 0.375000 0.821653 0.420927
|
||||
v -0.375000 0.821653 0.420927
|
||||
v -0.375000 0.827177 0.415403
|
||||
v 0.375000 0.803347 0.454073
|
||||
v 0.375000 0.797823 0.459597
|
||||
v -0.375000 0.797823 0.459597
|
||||
v -0.375000 0.803347 0.454073
|
||||
v 0.375000 0.764677 0.415403
|
||||
v 0.375000 0.759153 0.420927
|
||||
v -0.375000 0.759153 0.420927
|
||||
v -0.375000 0.764677 0.415403
|
||||
v 0.375000 0.740847 0.454073
|
||||
v 0.375000 0.735323 0.459597
|
||||
v -0.375000 0.735323 0.459597
|
||||
v -0.375000 0.740847 0.454073
|
||||
v 0.375000 0.702177 0.415403
|
||||
v 0.375000 0.696653 0.420927
|
||||
v -0.375000 0.696653 0.420927
|
||||
v -0.375000 0.702177 0.415403
|
||||
v 0.375000 0.678347 0.454073
|
||||
v 0.375000 0.672823 0.459597
|
||||
v -0.375000 0.672823 0.459597
|
||||
v -0.375000 0.678347 0.454073
|
||||
v 0.375000 0.639677 0.415403
|
||||
v 0.375000 0.634153 0.420927
|
||||
v -0.375000 0.634153 0.420927
|
||||
v -0.375000 0.639677 0.415403
|
||||
v 0.375000 0.615847 0.454073
|
||||
v 0.375000 0.610323 0.459597
|
||||
v -0.375000 0.610323 0.459597
|
||||
v -0.375000 0.615847 0.454073
|
||||
v 0.375000 0.577177 0.415403
|
||||
v 0.375000 0.571653 0.420927
|
||||
v -0.375000 0.571653 0.420927
|
||||
v -0.375000 0.577177 0.415403
|
||||
v 0.375000 0.428347 0.454073
|
||||
v 0.375000 0.422823 0.459597
|
||||
v -0.375000 0.422823 0.459597
|
||||
v -0.375000 0.428347 0.454073
|
||||
v 0.375000 0.389677 0.415403
|
||||
v 0.375000 0.384153 0.420927
|
||||
v -0.375000 0.384153 0.420927
|
||||
v -0.375000 0.389677 0.415403
|
||||
v 0.375000 0.365847 0.454073
|
||||
v 0.375000 0.360323 0.459597
|
||||
v -0.375000 0.360323 0.459597
|
||||
v -0.375000 0.365847 0.454073
|
||||
v 0.375000 0.327177 0.415403
|
||||
v 0.375000 0.321653 0.420927
|
||||
v -0.375000 0.321653 0.420927
|
||||
v -0.375000 0.327177 0.415403
|
||||
v 0.375000 0.303347 0.454073
|
||||
v 0.375000 0.297823 0.459597
|
||||
v -0.375000 0.297823 0.459597
|
||||
v -0.375000 0.303347 0.454073
|
||||
v 0.375000 0.264677 0.415403
|
||||
v 0.375000 0.259153 0.420927
|
||||
v -0.375000 0.259153 0.420927
|
||||
v -0.375000 0.264677 0.415403
|
||||
v 0.375000 0.240847 0.454073
|
||||
v 0.375000 0.235323 0.459597
|
||||
v -0.375000 0.235323 0.459597
|
||||
v -0.375000 0.240847 0.454073
|
||||
v 0.375000 0.202177 0.415403
|
||||
v 0.375000 0.196653 0.420927
|
||||
v -0.375000 0.196653 0.420927
|
||||
v -0.375000 0.202177 0.415403
|
||||
v 0.375000 0.178347 0.454073
|
||||
v 0.375000 0.172823 0.459597
|
||||
v -0.375000 0.172823 0.459597
|
||||
v -0.375000 0.178347 0.454073
|
||||
v 0.375000 0.139677 0.415403
|
||||
v 0.375000 0.134153 0.420927
|
||||
v -0.375000 0.134153 0.420927
|
||||
v -0.375000 0.139677 0.415403
|
||||
v 0.375000 0.115847 0.454073
|
||||
v 0.375000 0.110323 0.459597
|
||||
v -0.375000 0.110323 0.459597
|
||||
v -0.375000 0.115847 0.454073
|
||||
v 0.375000 0.077177 0.415403
|
||||
v 0.375000 0.071653 0.420927
|
||||
v -0.375000 0.071653 0.420927
|
||||
v -0.375000 0.077177 0.415403
|
||||
v 0.375000 -0.009153 0.454073
|
||||
v 0.375000 -0.014677 0.459597
|
||||
v -0.375000 -0.014677 0.459597
|
||||
v -0.375000 -0.009153 0.454073
|
||||
v 0.375000 -0.047823 0.415403
|
||||
v 0.375000 -0.053347 0.420927
|
||||
v -0.375000 -0.053347 0.420927
|
||||
v -0.375000 -0.047823 0.415403
|
||||
v 0.375000 0.053347 0.454073
|
||||
v 0.375000 0.047823 0.459597
|
||||
v -0.375000 0.047823 0.459597
|
||||
v -0.375000 0.053347 0.454073
|
||||
v 0.375000 0.014677 0.415403
|
||||
v 0.375000 0.009153 0.420927
|
||||
v -0.375000 0.009153 0.420927
|
||||
v -0.375000 0.014677 0.415403
|
||||
v 0.375000 -0.071653 0.454073
|
||||
v 0.375000 -0.077177 0.459597
|
||||
v -0.375000 -0.077177 0.459597
|
||||
v -0.375000 -0.071653 0.454073
|
||||
v 0.375000 -0.110323 0.415403
|
||||
v 0.375000 -0.115847 0.420927
|
||||
v -0.375000 -0.115847 0.420927
|
||||
v -0.375000 -0.110323 0.415403
|
||||
v 0.375000 -0.134153 0.454073
|
||||
v 0.375000 -0.139677 0.459597
|
||||
v -0.375000 -0.139677 0.459597
|
||||
v -0.375000 -0.134153 0.454073
|
||||
v 0.375000 -0.172823 0.415403
|
||||
v 0.375000 -0.178347 0.420927
|
||||
v -0.375000 -0.178347 0.420927
|
||||
v -0.375000 -0.172823 0.415403
|
||||
v 0.375000 -0.196653 0.454073
|
||||
v 0.375000 -0.202177 0.459597
|
||||
v -0.375000 -0.202177 0.459597
|
||||
v -0.375000 -0.196653 0.454073
|
||||
v 0.375000 -0.235323 0.415403
|
||||
v 0.375000 -0.240847 0.420927
|
||||
v -0.375000 -0.240847 0.420927
|
||||
v -0.375000 -0.235323 0.415403
|
||||
v 0.375000 -0.259153 0.454073
|
||||
v 0.375000 -0.264677 0.459597
|
||||
v -0.375000 -0.264677 0.459597
|
||||
v -0.375000 -0.259153 0.454073
|
||||
v 0.375000 -0.297823 0.415403
|
||||
v 0.375000 -0.303347 0.420927
|
||||
v -0.375000 -0.303347 0.420927
|
||||
v -0.375000 -0.297823 0.415403
|
||||
v 0.375000 -0.321653 0.454073
|
||||
v 0.375000 -0.327177 0.459597
|
||||
v -0.375000 -0.327177 0.459597
|
||||
v -0.375000 -0.321653 0.454073
|
||||
v 0.375000 -0.360323 0.415403
|
||||
v 0.375000 -0.365847 0.420927
|
||||
v -0.375000 -0.365847 0.420927
|
||||
v -0.375000 -0.360323 0.415403
|
||||
vt 0.140625 0.937500
|
||||
vt 0.515625 0.937500
|
||||
vt 0.578125 0.937500
|
||||
vt 0.578125 1.000000
|
||||
vt 0.078125 1.000000
|
||||
vt 0.078125 0.937500
|
||||
vt 0.140625 0.468750
|
||||
vt 0.140625 0.531250
|
||||
vt 0.515625 0.531250
|
||||
vt 0.515625 0.468750
|
||||
vt 0.640625 1.000000
|
||||
vt 0.640625 0.937500
|
||||
vt 0.640625 0.062500
|
||||
vt 0.640625 0.000000
|
||||
vt 0.578125 0.000000
|
||||
vt 0.578125 0.062500
|
||||
vt 0.671875 0.750000
|
||||
vt 0.671875 0.250000
|
||||
vt 0.734375 0.250000
|
||||
vt 0.734375 0.750000
|
||||
vt 0.828125 0.250000
|
||||
vt 0.828125 0.750000
|
||||
vt 0.765625 0.750000
|
||||
vt 0.765625 0.250000
|
||||
vt 0.078125 0.062500
|
||||
vt 0.140625 0.062500
|
||||
vt 0.515625 0.062500
|
||||
vt 0.078125 0.000000
|
||||
vt 0.015625 0.000000
|
||||
vt 0.015625 0.062500
|
||||
vt 0.015625 0.937500
|
||||
vt 0.015625 1.000000
|
||||
vt 0.515625 0.906250
|
||||
vt 0.140625 0.906250
|
||||
vt 0.640625 0.531250
|
||||
vt 0.578125 0.531250
|
||||
vt 0.734375 0.312500
|
||||
vt 0.734375 0.687500
|
||||
vt 0.671875 0.687500
|
||||
vt 0.671875 0.312500
|
||||
vt 0.078125 0.531250
|
||||
vt 0.015625 0.531250
|
||||
vt 0.765625 0.312500
|
||||
vt 0.828125 0.312500
|
||||
vt 0.828125 0.687500
|
||||
vt 0.765625 0.687500
|
||||
vt 0.640625 0.468750
|
||||
vt 0.578125 0.468750
|
||||
vt 0.015625 0.468750
|
||||
vt 0.078125 0.468750
|
||||
vt 0.140625 0.921875
|
||||
vt 0.515625 0.921875
|
||||
vt 0.515625 0.875000
|
||||
vt 0.140625 0.875000
|
||||
vt 0.140625 0.890625
|
||||
vt 0.515625 0.890625
|
||||
vt 0.515625 0.843750
|
||||
vt 0.140625 0.843750
|
||||
vt 0.140625 0.859375
|
||||
vt 0.515625 0.859375
|
||||
vt 0.515625 0.812500
|
||||
vt 0.140625 0.812500
|
||||
vt 0.140625 0.828125
|
||||
vt 0.515625 0.828125
|
||||
vt 0.515625 0.781250
|
||||
vt 0.140625 0.781250
|
||||
vt 0.140625 0.796875
|
||||
vt 0.515625 0.796875
|
||||
vt 0.515625 0.750000
|
||||
vt 0.140625 0.750000
|
||||
vt 0.140625 0.765625
|
||||
vt 0.515625 0.765625
|
||||
vt 0.515625 0.687500
|
||||
vt 0.515625 0.718750
|
||||
vt 0.140625 0.718750
|
||||
vt 0.140625 0.687500
|
||||
vt 0.140625 0.703125
|
||||
vt 0.515625 0.703125
|
||||
vt 0.140625 0.734375
|
||||
vt 0.515625 0.734375
|
||||
vt 0.515625 0.656250
|
||||
vt 0.140625 0.656250
|
||||
vt 0.140625 0.671875
|
||||
vt 0.515625 0.671875
|
||||
vt 0.515625 0.625000
|
||||
vt 0.140625 0.625000
|
||||
vt 0.140625 0.640625
|
||||
vt 0.515625 0.640625
|
||||
vt 0.515625 0.609375
|
||||
vt 0.140625 0.609375
|
||||
vt 0.515625 0.578125
|
||||
vt 0.140625 0.578125
|
||||
vt 0.140625 0.593750
|
||||
vt 0.515625 0.593750
|
||||
vt 0.515625 0.546875
|
||||
vt 0.140625 0.546875
|
||||
vt 0.140625 0.562500
|
||||
vt 0.515625 0.562500
|
||||
vt 0.515625 0.421875
|
||||
vt 0.515625 0.453125
|
||||
vt 0.140625 0.453125
|
||||
vt 0.140625 0.421875
|
||||
vt 0.140625 0.437500
|
||||
vt 0.515625 0.437500
|
||||
vt 0.515625 0.390625
|
||||
vt 0.140625 0.390625
|
||||
vt 0.140625 0.406250
|
||||
vt 0.515625 0.406250
|
||||
vt 0.515625 0.359375
|
||||
vt 0.140625 0.359375
|
||||
vt 0.140625 0.375000
|
||||
vt 0.515625 0.375000
|
||||
vt 0.515625 0.328125
|
||||
vt 0.140625 0.328125
|
||||
vt 0.140625 0.343750
|
||||
vt 0.515625 0.343750
|
||||
vt 0.515625 0.296875
|
||||
vt 0.140625 0.296875
|
||||
vt 0.140625 0.312500
|
||||
vt 0.515625 0.312500
|
||||
vt 0.515625 0.265625
|
||||
vt 0.140625 0.265625
|
||||
vt 0.140625 0.281250
|
||||
vt 0.515625 0.281250
|
||||
vt 0.515625 0.203125
|
||||
vt 0.515625 0.234375
|
||||
vt 0.140625 0.234375
|
||||
vt 0.140625 0.203125
|
||||
vt 0.140625 0.218750
|
||||
vt 0.515625 0.218750
|
||||
vt 0.140625 0.250000
|
||||
vt 0.515625 0.250000
|
||||
vt 0.515625 0.171875
|
||||
vt 0.140625 0.171875
|
||||
vt 0.140625 0.187500
|
||||
vt 0.515625 0.187500
|
||||
vt 0.515625 0.140625
|
||||
vt 0.140625 0.140625
|
||||
vt 0.140625 0.156250
|
||||
vt 0.515625 0.156250
|
||||
vt 0.515625 0.125000
|
||||
vt 0.140625 0.125000
|
||||
vt 0.515625 0.093750
|
||||
vt 0.140625 0.093750
|
||||
vt 0.140625 0.109375
|
||||
vt 0.515625 0.109375
|
||||
vt 0.140625 0.078125
|
||||
vt 0.515625 0.078125
|
||||
s off
|
||||
f 15/1 20/2 10/3 1/4 2/5 21/6
|
||||
f 16/7 31/8 30/9 17/10
|
||||
f 23/3 6/4 1/11 10/12 22/13 3/14 8/15 11/16
|
||||
f 18/2 19/1 12/6 5/5 6/4 23/3
|
||||
f 2/17 1/18 6/19 5/20
|
||||
f 3/21 4/22 7/23 8/24
|
||||
f 13/10 32/9 27/8 14/7
|
||||
f 24/25 12/6 19/1 31/8 16/7 28/26
|
||||
f 22/16 10/3 20/2 32/9 13/10 25/27
|
||||
f 24/25 7/28 4/29 9/30 21/31 2/32 5/5 12/6
|
||||
f 26/26 14/7 27/8 15/1 21/6 9/25
|
||||
f 29/27 17/10 30/9 18/2 23/3 11/16
|
||||
f 8/15 7/28 24/25 28/26 29/27 11/16
|
||||
f 4/28 3/15 22/16 25/27 26/26 9/25
|
||||
f 33/33 37/2 40/1 36/34
|
||||
f 35/1 39/34 38/33 34/2
|
||||
f 15/12 27/35 31/36 19/3
|
||||
f 30/37 31/38 27/39 32/40
|
||||
f 18/6 30/41 32/42 20/31
|
||||
f 18/43 20/44 15/45 19/46
|
||||
f 14/47 26/13 28/16 16/48
|
||||
f 29/37 28/38 26/39 25/40
|
||||
f 13/49 17/50 29/25 25/30
|
||||
f 17/43 13/44 14/45 16/46
|
||||
f 40/51 37/52 38/2 39/1
|
||||
f 33/52 36/51 35/34 34/33
|
||||
f 41/53 45/33 48/34 44/54
|
||||
f 43/34 47/54 46/53 42/33
|
||||
f 48/55 45/56 46/33 47/34
|
||||
f 41/56 44/55 43/54 42/53
|
||||
f 49/57 53/53 56/54 52/58
|
||||
f 51/54 55/58 54/57 50/53
|
||||
f 56/59 53/60 54/53 55/54
|
||||
f 49/60 52/59 51/58 50/57
|
||||
f 57/61 61/57 64/58 60/62
|
||||
f 59/58 63/62 62/61 58/57
|
||||
f 64/63 61/64 62/57 63/58
|
||||
f 57/64 60/63 59/62 58/61
|
||||
f 65/65 69/61 72/62 68/66
|
||||
f 67/62 71/66 70/65 66/61
|
||||
f 72/67 69/68 70/61 71/62
|
||||
f 65/68 68/67 67/66 66/65
|
||||
f 73/69 77/65 80/66 76/70
|
||||
f 75/66 79/70 78/69 74/65
|
||||
f 80/71 77/72 78/65 79/66
|
||||
f 73/72 76/71 75/70 74/69
|
||||
f 81/73 85/74 88/75 84/76
|
||||
f 83/75 87/76 86/73 82/74
|
||||
f 88/77 85/78 86/74 87/75
|
||||
f 81/78 84/77 83/76 82/73
|
||||
f 89/74 93/69 96/70 92/75
|
||||
f 91/70 95/75 94/74 90/69
|
||||
f 96/79 93/80 94/69 95/70
|
||||
f 89/80 92/79 91/75 90/74
|
||||
f 97/81 101/73 104/76 100/82
|
||||
f 99/76 103/82 102/81 98/73
|
||||
f 104/83 101/84 102/73 103/76
|
||||
f 97/84 100/83 99/82 98/81
|
||||
f 105/85 109/81 112/82 108/86
|
||||
f 107/82 111/86 110/85 106/81
|
||||
f 112/87 109/88 110/81 111/82
|
||||
f 105/88 108/87 107/86 106/85
|
||||
f 113/89 117/88 120/87 116/90
|
||||
f 115/87 119/90 118/89 114/88
|
||||
f 120/86 117/85 118/88 119/87
|
||||
f 113/85 116/86 115/90 114/89
|
||||
f 121/91 125/89 128/90 124/92
|
||||
f 123/90 127/92 126/91 122/89
|
||||
f 128/93 125/94 126/89 127/90
|
||||
f 121/94 124/93 123/92 122/91
|
||||
f 129/95 133/91 136/92 132/96
|
||||
f 131/92 135/96 134/95 130/91
|
||||
f 136/97 133/98 134/91 135/92
|
||||
f 129/98 132/97 131/96 130/95
|
||||
f 137/99 141/100 144/101 140/102
|
||||
f 139/101 143/102 142/99 138/100
|
||||
f 144/103 141/104 142/100 143/101
|
||||
f 137/104 140/103 139/102 138/99
|
||||
f 145/105 149/99 152/102 148/106
|
||||
f 147/102 151/106 150/105 146/99
|
||||
f 152/107 149/108 150/99 151/102
|
||||
f 145/108 148/107 147/106 146/105
|
||||
f 153/109 157/105 160/106 156/110
|
||||
f 155/106 159/110 158/109 154/105
|
||||
f 160/111 157/112 158/105 159/106
|
||||
f 153/112 156/111 155/110 154/109
|
||||
f 161/113 165/109 168/110 164/114
|
||||
f 163/110 167/114 166/113 162/109
|
||||
f 168/115 165/116 166/109 167/110
|
||||
f 161/116 164/115 163/114 162/113
|
||||
f 169/117 173/113 176/114 172/118
|
||||
f 171/114 175/118 174/117 170/113
|
||||
f 176/119 173/120 174/113 175/114
|
||||
f 169/120 172/119 171/118 170/117
|
||||
f 177/121 181/117 184/118 180/122
|
||||
f 179/118 183/122 182/121 178/117
|
||||
f 184/123 181/124 182/117 183/118
|
||||
f 177/124 180/123 179/122 178/121
|
||||
f 185/125 189/126 192/127 188/128
|
||||
f 187/127 191/128 190/125 186/126
|
||||
f 192/129 189/130 190/126 191/127
|
||||
f 185/130 188/129 187/128 186/125
|
||||
f 193/126 197/121 200/122 196/127
|
||||
f 195/122 199/127 198/126 194/121
|
||||
f 200/131 197/132 198/121 199/122
|
||||
f 193/132 196/131 195/127 194/126
|
||||
f 201/133 205/125 208/128 204/134
|
||||
f 203/128 207/134 206/133 202/125
|
||||
f 208/135 205/136 206/125 207/128
|
||||
f 201/136 204/135 203/134 202/133
|
||||
f 209/137 213/133 216/134 212/138
|
||||
f 211/134 215/138 214/137 210/133
|
||||
f 216/139 213/140 214/133 215/134
|
||||
f 209/140 212/139 211/138 210/137
|
||||
f 217/141 221/140 224/139 220/142
|
||||
f 219/139 223/142 222/141 218/140
|
||||
f 224/138 221/137 222/140 223/139
|
||||
f 217/137 220/138 219/142 218/141
|
||||
f 225/143 229/141 232/142 228/144
|
||||
f 227/142 231/144 230/143 226/141
|
||||
f 232/145 229/146 230/141 231/142
|
||||
f 225/146 228/145 227/144 226/143
|
||||
f 233/27 237/143 240/144 236/26
|
||||
f 235/144 239/26 238/27 234/143
|
||||
f 240/147 237/148 238/143 239/144
|
||||
f 233/148 236/147 235/26 234/27
|
@ -1,112 +0,0 @@
|
||||
# Blender v2.73 (sub 0) OBJ File: 'door-fancy.blend'
|
||||
# www.blender.org
|
||||
o Cylinder
|
||||
v 0.499750 1.499500 0.499969
|
||||
v -0.499750 1.499500 0.499969
|
||||
v 0.499750 -0.499500 0.499969
|
||||
v -0.499750 -0.499500 0.499969
|
||||
v -0.499750 1.499500 0.375031
|
||||
v 0.499750 1.499500 0.375031
|
||||
v -0.499750 -0.499500 0.375031
|
||||
v 0.499750 -0.499500 0.375031
|
||||
v -0.499750 -0.374531 0.499969
|
||||
v 0.499750 1.374531 0.499969
|
||||
v 0.499750 -0.374531 0.375031
|
||||
v -0.499750 1.374531 0.375031
|
||||
v -0.374875 1.374531 0.499969
|
||||
v 0.374875 1.374531 0.375031
|
||||
v -0.374875 1.374531 0.375031
|
||||
v 0.374875 1.374531 0.499969
|
||||
v -0.499750 1.374531 0.499969
|
||||
v 0.499750 -0.374531 0.499969
|
||||
v 0.499750 1.374531 0.375031
|
||||
v -0.499750 -0.374531 0.375031
|
||||
v 0.374875 -0.374531 0.499969
|
||||
v -0.374875 -0.374531 0.499969
|
||||
v -0.374875 0.374969 0.499969
|
||||
v -0.374875 -0.374531 0.375031
|
||||
v 0.374875 -0.374531 0.375031
|
||||
v 0.374875 0.374969 0.375031
|
||||
v -0.374875 0.374969 0.375031
|
||||
v 0.374875 0.374969 0.499969
|
||||
v -0.375000 0.375000 0.438458
|
||||
v 0.375000 0.375000 0.438458
|
||||
v -0.375000 1.375000 0.438458
|
||||
v 0.375000 1.375000 0.438458
|
||||
v 0.375000 0.375000 0.436542
|
||||
v -0.375000 0.375000 0.436542
|
||||
v 0.375000 1.375000 0.436542
|
||||
v -0.375000 1.375000 0.436542
|
||||
vt 0.765625 0.312500
|
||||
vt 0.828125 0.312500
|
||||
vt 0.828125 0.687500
|
||||
vt 0.765625 0.687500
|
||||
vt 0.078125 0.062500
|
||||
vt 0.078125 0.000000
|
||||
vt 0.578125 0.000000
|
||||
vt 0.578125 0.062500
|
||||
vt 0.515625 0.937500
|
||||
vt 0.515625 0.062500
|
||||
vt 0.578125 0.937500
|
||||
vt 0.140625 0.437500
|
||||
vt 0.140625 0.062500
|
||||
vt 0.515625 0.437500
|
||||
vt 0.140625 0.937500
|
||||
vt 0.078125 0.937500
|
||||
vt 0.578125 1.000000
|
||||
vt 0.078125 1.000000
|
||||
vt 0.765625 0.250000
|
||||
vt 0.828125 0.250000
|
||||
vt 0.828125 0.750000
|
||||
vt 0.765625 0.750000
|
||||
vt 0.734375 0.250000
|
||||
vt 0.734375 0.750000
|
||||
vt 0.671875 0.750000
|
||||
vt 0.671875 0.250000
|
||||
vt 0.640625 0.000000
|
||||
vt 0.640625 1.000000
|
||||
vt 0.015625 1.000000
|
||||
vt 0.015625 0.000000
|
||||
vt 0.734375 0.312500
|
||||
vt 0.734375 0.687500
|
||||
vt 0.671875 0.687500
|
||||
vt 0.671875 0.312500
|
||||
vt 0.640625 0.937500
|
||||
vt 0.578125 0.437500
|
||||
vt 0.640625 0.437500
|
||||
vt 0.015625 0.937500
|
||||
vt 0.015625 0.437500
|
||||
vt 0.078125 0.437500
|
||||
vt 0.125000 1.000000
|
||||
vt 0.875000 1.000000
|
||||
vt 0.875000 0.000000
|
||||
vt 0.125000 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn -0.000000 0.000000 -1.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
g Cylinder_Cylinder_door
|
||||
s off
|
||||
f 14/1/1 16/2/1 13/3/1 15/4/1
|
||||
f 11/5/2 8/6/2 7/7/2 20/8/2
|
||||
f 15/9/2 24/10/2 20/8/2 12/11/2
|
||||
f 26/12/2 25/13/2 24/10/2 27/14/2
|
||||
f 11/5/2 25/13/2 14/15/2 19/16/2
|
||||
f 19/16/2 12/11/2 5/17/2 6/18/2
|
||||
f 9/8/3 4/7/3 3/6/3 18/5/3
|
||||
f 9/8/3 22/10/3 13/9/3 17/11/3
|
||||
f 17/11/3 10/16/3 1/18/3 2/17/3
|
||||
f 16/15/3 21/13/3 18/5/3 10/16/3
|
||||
f 23/14/3 22/10/3 21/13/3 28/12/3
|
||||
f 8/19/1 3/20/1 4/21/1 7/22/1
|
||||
f 6/23/4 5/24/4 2/25/4 1/26/4
|
||||
f 5/17/5 7/7/5 4/27/5 2/28/5
|
||||
f 8/6/6 6/18/6 1/29/6 3/30/6
|
||||
f 26/31/4 27/32/4 23/33/4 28/34/4
|
||||
f 16/35/5 14/11/5 26/36/5 28/37/5
|
||||
f 15/16/6 13/38/6 23/39/6 27/40/6
|
||||
g Cylinder_Cylinder_glass
|
||||
f 32/41/3 31/42/3 29/43/3 30/44/3
|
||||
f 36/42/2 35/41/2 33/44/2 34/43/2
|
@ -1,112 +0,0 @@
|
||||
# Blender v2.73 (sub 0) OBJ File: 'door-fancy-right.blend'
|
||||
# www.blender.org
|
||||
o Cylinder
|
||||
v 0.499750 1.499500 0.499969
|
||||
v -0.499750 1.499500 0.499969
|
||||
v 0.499750 -0.499500 0.499969
|
||||
v -0.499750 -0.499500 0.499969
|
||||
v -0.499750 1.499500 0.375031
|
||||
v 0.499750 1.499500 0.375031
|
||||
v -0.499750 -0.499500 0.375031
|
||||
v 0.499750 -0.499500 0.375031
|
||||
v -0.499750 -0.374531 0.499969
|
||||
v 0.499750 1.374531 0.499969
|
||||
v 0.499750 -0.374531 0.375031
|
||||
v -0.499750 1.374531 0.375031
|
||||
v -0.374875 1.374531 0.499969
|
||||
v 0.374875 1.374531 0.375031
|
||||
v -0.374875 1.374531 0.375031
|
||||
v 0.374875 1.374531 0.499969
|
||||
v -0.499750 1.374531 0.499969
|
||||
v 0.499750 -0.374531 0.499969
|
||||
v 0.499750 1.374531 0.375031
|
||||
v -0.499750 -0.374531 0.375031
|
||||
v 0.374875 -0.374531 0.499969
|
||||
v -0.374875 -0.374531 0.499969
|
||||
v -0.374875 0.374969 0.499969
|
||||
v -0.374875 -0.374531 0.375031
|
||||
v 0.374875 -0.374531 0.375031
|
||||
v 0.374875 0.374969 0.375031
|
||||
v -0.374875 0.374969 0.375031
|
||||
v 0.374875 0.374969 0.499969
|
||||
v -0.375000 0.375000 0.438458
|
||||
v 0.375000 0.375000 0.438458
|
||||
v -0.375000 1.375000 0.438458
|
||||
v 0.375000 1.375000 0.438458
|
||||
v 0.375000 0.375000 0.436542
|
||||
v -0.375000 0.375000 0.436542
|
||||
v 0.375000 1.375000 0.436542
|
||||
v -0.375000 1.375000 0.436542
|
||||
vt 0.765625 0.312500
|
||||
vt 0.828125 0.312500
|
||||
vt 0.828125 0.687500
|
||||
vt 0.765625 0.687500
|
||||
vt 0.578125 0.062500
|
||||
vt 0.578125 0.000000
|
||||
vt 0.078125 0.000000
|
||||
vt 0.078125 0.062500
|
||||
vt 0.140625 0.937500
|
||||
vt 0.140625 0.062500
|
||||
vt 0.078125 0.937500
|
||||
vt 0.515625 0.437500
|
||||
vt 0.515625 0.062500
|
||||
vt 0.140625 0.437500
|
||||
vt 0.515625 0.937500
|
||||
vt 0.578125 0.937500
|
||||
vt 0.078125 1.000000
|
||||
vt 0.578125 1.000000
|
||||
vt 0.765625 0.250000
|
||||
vt 0.828125 0.250000
|
||||
vt 0.828125 0.750000
|
||||
vt 0.765625 0.750000
|
||||
vt 0.734375 0.250000
|
||||
vt 0.734375 0.750000
|
||||
vt 0.671875 0.750000
|
||||
vt 0.671875 0.250000
|
||||
vt 0.015625 0.000000
|
||||
vt 0.015625 1.000000
|
||||
vt 0.640625 1.000000
|
||||
vt 0.640625 0.000000
|
||||
vt 0.734375 0.312500
|
||||
vt 0.734375 0.687500
|
||||
vt 0.671875 0.687500
|
||||
vt 0.671875 0.312500
|
||||
vt 0.015625 0.937500
|
||||
vt 0.078125 0.437500
|
||||
vt 0.015625 0.437500
|
||||
vt 0.640625 0.937500
|
||||
vt 0.640625 0.437500
|
||||
vt 0.578125 0.437500
|
||||
vt 0.875000 1.000000
|
||||
vt 0.125000 1.000000
|
||||
vt 0.125000 0.000000
|
||||
vt 0.875000 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn -0.000000 0.000000 -1.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
g Cylinder_Cylinder_door
|
||||
s off
|
||||
f 14/1/1 16/2/1 13/3/1 15/4/1
|
||||
f 11/5/2 8/6/2 7/7/2 20/8/2
|
||||
f 15/9/2 24/10/2 20/8/2 12/11/2
|
||||
f 26/12/2 25/13/2 24/10/2 27/14/2
|
||||
f 11/5/2 25/13/2 14/15/2 19/16/2
|
||||
f 19/16/2 12/11/2 5/17/2 6/18/2
|
||||
f 9/8/3 4/7/3 3/6/3 18/5/3
|
||||
f 9/8/3 22/10/3 13/9/3 17/11/3
|
||||
f 17/11/3 10/16/3 1/18/3 2/17/3
|
||||
f 16/15/3 21/13/3 18/5/3 10/16/3
|
||||
f 23/14/3 22/10/3 21/13/3 28/12/3
|
||||
f 8/19/1 3/20/1 4/21/1 7/22/1
|
||||
f 6/23/4 5/24/4 2/25/4 1/26/4
|
||||
f 5/17/5 7/7/5 4/27/5 2/28/5
|
||||
f 8/6/6 6/18/6 1/29/6 3/30/6
|
||||
f 26/31/4 27/32/4 23/33/4 28/34/4
|
||||
f 16/35/5 14/11/5 26/36/5 28/37/5
|
||||
f 15/16/6 13/38/6 23/39/6 27/40/6
|
||||
g Cylinder_Cylinder_glass
|
||||
f 32/41/3 31/42/3 29/43/3 30/44/3
|
||||
f 36/42/2 35/41/2 33/44/2 34/43/2
|
@ -1,35 +0,0 @@
|
||||
# Blender v2.73 (sub 0) OBJ File: 'door-plain.blend'
|
||||
# www.blender.org
|
||||
o Cylinder
|
||||
v 0.497500 1.495000 0.496875
|
||||
v -0.497500 1.495000 0.496875
|
||||
v 0.497500 -0.495000 0.496875
|
||||
v -0.497500 -0.495000 0.496875
|
||||
v -0.497500 1.495000 0.378125
|
||||
v 0.497500 1.495000 0.378125
|
||||
v -0.497500 -0.495000 0.378125
|
||||
v 0.497500 -0.495000 0.378125
|
||||
vt 0.578125 0.000000
|
||||
vt 0.078125 0.000000
|
||||
vt 0.078125 1.000000
|
||||
vt 0.578125 1.000000
|
||||
vt 0.015625 -0.000000
|
||||
vt 0.015625 1.000000
|
||||
vt 0.640625 1.000000
|
||||
vt 0.640625 0.000000
|
||||
vt 0.671875 0.250000
|
||||
vt 0.734375 0.250000
|
||||
vt 0.734375 0.750000
|
||||
vt 0.671875 0.750000
|
||||
vt 0.765625 0.750000
|
||||
vt 0.828125 0.750000
|
||||
vt 0.828125 0.250000
|
||||
vt 0.765625 0.250000
|
||||
g Cylinder_Cylinder_None
|
||||
s off
|
||||
f 4/1 3/2 1/3 2/4
|
||||
f 8/2 7/1 5/4 6/3
|
||||
f 3/5 8/2 6/3 1/6
|
||||
f 2/4 5/7 7/8 4/1
|
||||
f 1/9 6/10 5/11 2/12
|
||||
f 4/13 7/14 8/15 3/16
|
@ -1,35 +0,0 @@
|
||||
# Blender v2.73 (sub 0) OBJ File: 'door-plain-right.blend'
|
||||
# www.blender.org
|
||||
o Cylinder
|
||||
v 0.497500 1.495000 0.496875
|
||||
v -0.497500 1.495000 0.496875
|
||||
v 0.497500 -0.495000 0.496875
|
||||
v -0.497500 -0.495000 0.496875
|
||||
v -0.497500 1.495000 0.378125
|
||||
v 0.497500 1.495000 0.378125
|
||||
v -0.497500 -0.495000 0.378125
|
||||
v 0.497500 -0.495000 0.378125
|
||||
vt 0.078125 0.000000
|
||||
vt 0.578125 0.000000
|
||||
vt 0.578125 1.000000
|
||||
vt 0.078125 1.000000
|
||||
vt 0.640625 0.000000
|
||||
vt 0.640625 1.000000
|
||||
vt 0.015625 1.000000
|
||||
vt 0.015625 0.000000
|
||||
vt 0.734375 0.750000
|
||||
vt 0.671875 0.750000
|
||||
vt 0.671875 0.250000
|
||||
vt 0.734375 0.250000
|
||||
vt 0.828125 0.250000
|
||||
vt 0.765625 0.250000
|
||||
vt 0.765625 0.750000
|
||||
vt 0.828125 0.750000
|
||||
g Cylinder_Cylinder_None
|
||||
s off
|
||||
f 4/1 3/2 1/3 2/4
|
||||
f 8/2 7/1 5/4 6/3
|
||||
f 3/5 8/2 6/3 1/6
|
||||
f 2/4 5/7 7/8 4/1
|
||||
f 1/9 6/10 5/11 2/12
|
||||
f 4/13 7/14 8/15 3/16
|
@ -1,243 +0,0 @@
|
||||
# Blender v2.73 (sub 0) OBJ File: 'door-woodglass-standard.blend'
|
||||
# www.blender.org
|
||||
o Cylinder
|
||||
v 0.499750 1.499500 0.499969
|
||||
v -0.499750 1.499500 0.499969
|
||||
v 0.499750 -0.499500 0.499969
|
||||
v -0.499750 -0.499500 0.499969
|
||||
v -0.499750 1.499500 0.375031
|
||||
v 0.499750 1.499500 0.375031
|
||||
v -0.499750 -0.499500 0.375031
|
||||
v 0.499750 -0.499500 0.375031
|
||||
v -0.499750 -0.374531 0.499969
|
||||
v 0.499750 1.374531 0.499969
|
||||
v 0.499750 -0.374531 0.375031
|
||||
v -0.499750 1.374531 0.375031
|
||||
v 0.374875 0.437531 0.499969
|
||||
v -0.374875 0.437531 0.499969
|
||||
v -0.374875 1.374531 0.499969
|
||||
v -0.374875 0.437531 0.375031
|
||||
v 0.374875 0.437531 0.375031
|
||||
v 0.374875 1.374531 0.375031
|
||||
v -0.374875 1.374531 0.375031
|
||||
v 0.374875 1.374531 0.499969
|
||||
v -0.499750 1.374531 0.499969
|
||||
v 0.499750 -0.374531 0.499969
|
||||
v 0.499750 1.374531 0.375031
|
||||
v -0.499750 -0.374531 0.375031
|
||||
v 0.374875 -0.374531 0.499969
|
||||
v -0.374875 -0.374531 0.499969
|
||||
v -0.374875 0.562469 0.499969
|
||||
v -0.374875 -0.374531 0.375031
|
||||
v 0.374875 -0.374531 0.375031
|
||||
v 0.374875 0.562469 0.375031
|
||||
v -0.374875 0.562469 0.375031
|
||||
v 0.374875 0.562469 0.499969
|
||||
v 0.374875 -0.031219 0.499969
|
||||
v -0.374875 -0.031219 0.499969
|
||||
v -0.374875 -0.031219 0.375031
|
||||
v 0.374875 -0.031219 0.375031
|
||||
v -0.374875 0.093719 0.499969
|
||||
v 0.374875 0.093719 0.375031
|
||||
v -0.374875 0.093719 0.375031
|
||||
v 0.374875 0.093719 0.499969
|
||||
v 0.374875 1.031219 0.499969
|
||||
v -0.374875 1.031219 0.375031
|
||||
v 0.374875 1.031219 0.375031
|
||||
v -0.374875 1.031219 0.499969
|
||||
v 0.374875 0.906281 0.375031
|
||||
v -0.374875 0.906281 0.375031
|
||||
v -0.374875 0.906281 0.499969
|
||||
v 0.374875 0.906281 0.499969
|
||||
v -0.062500 1.031250 0.500000
|
||||
v -0.062500 1.031250 0.375000
|
||||
v 0.062500 1.031250 0.375000
|
||||
v 0.062500 1.031250 0.500000
|
||||
v -0.062500 1.375000 0.500000
|
||||
v -0.062500 1.375000 0.375000
|
||||
v 0.062500 1.375000 0.375000
|
||||
v 0.062500 1.375000 0.500000
|
||||
v -0.062500 0.562500 0.500000
|
||||
v -0.062500 0.562500 0.375000
|
||||
v 0.062500 0.562500 0.375000
|
||||
v 0.062500 0.562500 0.500000
|
||||
v -0.062500 0.906250 0.500000
|
||||
v -0.062500 0.906250 0.375000
|
||||
v 0.062500 0.906250 0.375000
|
||||
v 0.062500 0.906250 0.500000
|
||||
v -0.062500 0.093750 0.500000
|
||||
v -0.062500 0.093750 0.375000
|
||||
v 0.062500 0.093750 0.375000
|
||||
v 0.062500 0.093750 0.500000
|
||||
v -0.062500 0.437500 0.500000
|
||||
v -0.062500 0.437500 0.375000
|
||||
v 0.062500 0.437500 0.375000
|
||||
v 0.062500 0.437500 0.500000
|
||||
v -0.062500 -0.375000 0.500000
|
||||
v -0.062500 -0.375000 0.375000
|
||||
v 0.062500 -0.375000 0.375000
|
||||
v 0.062500 -0.375000 0.500000
|
||||
v -0.062500 -0.031250 0.500000
|
||||
v -0.062500 -0.031250 0.375000
|
||||
v 0.062500 -0.031250 0.375000
|
||||
v 0.062500 -0.031250 0.500000
|
||||
v -0.375000 -0.375000 0.438458
|
||||
v 0.375000 -0.375000 0.438458
|
||||
v -0.375000 1.375000 0.438458
|
||||
v 0.375000 1.375000 0.438458
|
||||
v 0.375000 -0.375000 0.436542
|
||||
v -0.375000 -0.375000 0.436542
|
||||
v 0.375000 1.375000 0.436542
|
||||
v -0.375000 1.375000 0.436542
|
||||
vt 0.515625 0.937500
|
||||
vt 0.140625 0.937500
|
||||
vt 0.078125 0.937500
|
||||
vt 0.078125 1.000000
|
||||
vt 0.578125 1.000000
|
||||
vt 0.578125 0.937500
|
||||
vt 0.515625 0.468750
|
||||
vt 0.515625 0.531250
|
||||
vt 0.140625 0.531250
|
||||
vt 0.140625 0.468750
|
||||
vt 0.015625 1.000000
|
||||
vt 0.015625 0.937500
|
||||
vt 0.015625 0.062500
|
||||
vt 0.015625 0.000000
|
||||
vt 0.078125 0.000000
|
||||
vt 0.078125 0.062500
|
||||
vt 0.671875 0.750000
|
||||
vt 0.671875 0.250000
|
||||
vt 0.734375 0.250000
|
||||
vt 0.734375 0.750000
|
||||
vt 0.828125 0.250000
|
||||
vt 0.828125 0.750000
|
||||
vt 0.765625 0.750000
|
||||
vt 0.765625 0.250000
|
||||
vt 0.578125 0.062500
|
||||
vt 0.515625 0.062500
|
||||
vt 0.140625 0.062500
|
||||
vt 0.578125 -0.000000
|
||||
vt 0.640625 -0.000000
|
||||
vt 0.640625 0.062500
|
||||
vt 0.640625 0.937500
|
||||
vt 0.640625 1.000000
|
||||
vt 0.015625 0.531250
|
||||
vt 0.078125 0.531250
|
||||
vt 0.734375 0.312500
|
||||
vt 0.734375 0.687500
|
||||
vt 0.671875 0.687500
|
||||
vt 0.671875 0.312500
|
||||
vt 0.578125 0.531250
|
||||
vt 0.640625 0.531250
|
||||
vt 0.765625 0.312500
|
||||
vt 0.828125 0.312500
|
||||
vt 0.828125 0.687500
|
||||
vt 0.765625 0.687500
|
||||
vt 0.015625 0.468750
|
||||
vt 0.078125 0.468750
|
||||
vt 0.640625 0.468750
|
||||
vt 0.578125 0.468750
|
||||
vt 0.515625 0.234375
|
||||
vt 0.515625 0.296875
|
||||
vt 0.140625 0.296875
|
||||
vt 0.140625 0.234375
|
||||
vt 0.140625 0.703125
|
||||
vt 0.140625 0.765625
|
||||
vt 0.515625 0.765625
|
||||
vt 0.515625 0.703125
|
||||
vt 0.578125 0.765625
|
||||
vt 0.640625 0.765625
|
||||
vt 0.359375 0.937500
|
||||
vt 0.296875 0.937500
|
||||
vt 0.296875 0.765625
|
||||
vt 0.359375 0.765625
|
||||
vt 0.015625 0.765625
|
||||
vt 0.078125 0.765625
|
||||
vt 0.000000 0.000000
|
||||
vt 0.640625 0.703125
|
||||
vt 0.578125 0.703125
|
||||
vt 0.359375 0.703125
|
||||
vt 0.296875 0.703125
|
||||
vt 0.296875 0.531250
|
||||
vt 0.359375 0.531250
|
||||
vt 0.078125 0.703125
|
||||
vt 0.015625 0.703125
|
||||
vt 0.578125 0.296875
|
||||
vt 0.640625 0.296875
|
||||
vt 0.359375 0.468750
|
||||
vt 0.296875 0.468750
|
||||
vt 0.296875 0.296875
|
||||
vt 0.359375 0.296875
|
||||
vt 0.015625 0.296875
|
||||
vt 0.078125 0.296875
|
||||
vt 0.640625 0.234375
|
||||
vt 0.578125 0.234375
|
||||
vt 0.359375 0.234375
|
||||
vt 0.296875 0.234375
|
||||
vt 0.296875 0.062500
|
||||
vt 0.359375 0.062500
|
||||
vt 0.078125 0.234375
|
||||
vt 0.015625 0.234375
|
||||
vt 0.390625 0.109375
|
||||
vt 0.015625 0.109375
|
||||
vt 0.015625 0.984375
|
||||
vt 0.390625 0.984375
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn -0.000000 0.000000 -1.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
g Cylinder_Cylinder_door
|
||||
s off
|
||||
f 15/1/1 20/2/1 10/3/1 1/4/1 2/5/1 21/6/1
|
||||
f 16/7/2 31/8/2 30/9/2 17/10/2
|
||||
f 23/3/3 6/4/3 1/11/3 10/12/3 22/13/3 3/14/3 8/15/3 11/16/3
|
||||
f 18/2/2 19/1/2 12/6/2 5/5/2 6/4/2 23/3/2
|
||||
f 2/17/4 1/18/4 6/19/4 5/20/4
|
||||
f 3/21/5 4/22/5 7/23/5 8/24/5
|
||||
f 13/10/1 32/9/1 27/8/1 14/7/1
|
||||
f 24/25/2 12/6/2 19/1/2 31/8/2 16/7/2 28/26/2
|
||||
f 22/16/1 10/3/1 20/2/1 32/9/1 13/10/1 25/27/1
|
||||
f 24/25/6 7/28/6 4/29/6 9/30/6 21/31/6 2/32/6 5/5/6 12/6/6
|
||||
f 26/26/1 14/7/1 27/8/1 15/1/1 21/6/1 9/25/1
|
||||
f 29/27/2 17/10/2 30/9/2 18/2/2 23/3/2 11/16/2
|
||||
f 8/15/2 7/28/2 24/25/2 28/26/2 29/27/2 11/16/2
|
||||
f 4/28/1 3/15/1 22/16/1 25/27/1 26/26/1 9/25/1
|
||||
f 15/12/3 27/33/3 31/34/3 19/3/3
|
||||
f 30/35/4 31/36/4 27/37/4 32/38/4
|
||||
f 18/6/6 30/39/6 32/40/6 20/31/6
|
||||
f 18/41/5 20/42/5 15/43/5 19/44/5
|
||||
f 14/45/3 26/13/3 28/16/3 16/46/3
|
||||
f 29/35/4 28/36/4 26/37/4 25/38/4
|
||||
f 13/47/6 17/48/6 29/25/6 25/30/6
|
||||
f 17/41/5 13/42/5 14/43/5 16/44/5
|
||||
f 35/49/2 39/50/2 38/51/2 36/52/2
|
||||
f 33/52/1 40/51/1 37/50/1 34/49/1
|
||||
f 38/35/4 39/36/4 37/37/4 40/38/4
|
||||
f 36/41/5 33/42/5 34/43/5 35/44/5
|
||||
f 45/41/5 48/42/5 47/43/5 46/44/5
|
||||
f 43/35/4 42/36/4 44/37/4 41/38/4
|
||||
f 48/53/1 41/54/1 44/55/1 47/56/1
|
||||
f 46/56/2 42/55/2 43/54/2 45/53/2
|
||||
f 53/31/6 54/6/6 50/57/6 49/58/6
|
||||
f 54/59/2 55/60/2 51/61/2 50/62/2
|
||||
f 55/3/3 56/12/3 52/63/3 51/64/3
|
||||
f 56/60/1 53/59/1 49/62/1 52/61/1
|
||||
f 49/65/5 50/65/5 51/65/5 52/65/5
|
||||
f 56/65/4 55/65/4 54/65/4 53/65/4
|
||||
f 61/66/6 62/67/6 58/39/6 57/40/6
|
||||
f 62/68/2 63/69/2 59/70/2 58/71/2
|
||||
f 63/72/3 64/73/3 60/33/3 59/34/3
|
||||
f 64/69/1 61/68/1 57/71/1 60/70/1
|
||||
f 69/47/6 70/48/6 66/74/6 65/75/6
|
||||
f 70/76/2 71/77/2 67/78/2 66/79/2
|
||||
f 71/46/3 72/45/3 68/80/3 67/81/3
|
||||
f 72/77/1 69/76/1 65/79/1 68/78/1
|
||||
f 77/82/6 78/83/6 74/25/6 73/30/6
|
||||
f 78/84/2 79/85/2 75/86/2 74/87/2
|
||||
f 79/88/3 80/89/3 76/13/3 75/16/3
|
||||
f 80/85/1 77/84/1 73/87/1 76/86/1
|
||||
g Cylinder_Cylinder_glass
|
||||
f 81/90/1 82/91/1 84/92/1 83/93/1
|
||||
f 85/91/2 86/90/2 88/93/2 87/92/2
|
@ -1,243 +0,0 @@
|
||||
# Blender v2.73 (sub 0) OBJ File: 'door-woodglass-standard-right.blend'
|
||||
# www.blender.org
|
||||
o Cylinder
|
||||
v 0.499750 1.499500 0.499969
|
||||
v -0.499750 1.499500 0.499969
|
||||
v 0.499750 -0.499500 0.499969
|
||||
v -0.499750 -0.499500 0.499969
|
||||
v -0.499750 1.499500 0.375031
|
||||
v 0.499750 1.499500 0.375031
|
||||
v -0.499750 -0.499500 0.375031
|
||||
v 0.499750 -0.499500 0.375031
|
||||
v -0.499750 -0.374531 0.499969
|
||||
v 0.499750 1.374531 0.499969
|
||||
v 0.499750 -0.374531 0.375031
|
||||
v -0.499750 1.374531 0.375031
|
||||
v 0.374875 0.437531 0.499969
|
||||
v -0.374875 0.437531 0.499969
|
||||
v -0.374875 1.374531 0.499969
|
||||
v -0.374875 0.437531 0.375031
|
||||
v 0.374875 0.437531 0.375031
|
||||
v 0.374875 1.374531 0.375031
|
||||
v -0.374875 1.374531 0.375031
|
||||
v 0.374875 1.374531 0.499969
|
||||
v -0.499750 1.374531 0.499969
|
||||
v 0.499750 -0.374531 0.499969
|
||||
v 0.499750 1.374531 0.375031
|
||||
v -0.499750 -0.374531 0.375031
|
||||
v 0.374875 -0.374531 0.499969
|
||||
v -0.374875 -0.374531 0.499969
|
||||
v -0.374875 0.562469 0.499969
|
||||
v -0.374875 -0.374531 0.375031
|
||||
v 0.374875 -0.374531 0.375031
|
||||
v 0.374875 0.562469 0.375031
|
||||
v -0.374875 0.562469 0.375031
|
||||
v 0.374875 0.562469 0.499969
|
||||
v 0.374875 -0.031219 0.499969
|
||||
v -0.374875 -0.031219 0.499969
|
||||
v -0.374875 -0.031219 0.375031
|
||||
v 0.374875 -0.031219 0.375031
|
||||
v -0.374875 0.093719 0.499969
|
||||
v 0.374875 0.093719 0.375031
|
||||
v -0.374875 0.093719 0.375031
|
||||
v 0.374875 0.093719 0.499969
|
||||
v 0.374875 1.031219 0.499969
|
||||
v -0.374875 1.031219 0.375031
|
||||
v 0.374875 1.031219 0.375031
|
||||
v -0.374875 1.031219 0.499969
|
||||
v 0.374875 0.906281 0.375031
|
||||
v -0.374875 0.906281 0.375031
|
||||
v -0.374875 0.906281 0.499969
|
||||
v 0.374875 0.906281 0.499969
|
||||
v -0.062500 1.031250 0.500000
|
||||
v -0.062500 1.031250 0.375000
|
||||
v 0.062500 1.031250 0.375000
|
||||
v 0.062500 1.031250 0.500000
|
||||
v -0.062500 1.375000 0.500000
|
||||
v -0.062500 1.375000 0.375000
|
||||
v 0.062500 1.375000 0.375000
|
||||
v 0.062500 1.375000 0.500000
|
||||
v -0.062500 0.562500 0.500000
|
||||
v -0.062500 0.562500 0.375000
|
||||
v 0.062500 0.562500 0.375000
|
||||
v 0.062500 0.562500 0.500000
|
||||
v -0.062500 0.906250 0.500000
|
||||
v -0.062500 0.906250 0.375000
|
||||
v 0.062500 0.906250 0.375000
|
||||
v 0.062500 0.906250 0.500000
|
||||
v -0.062500 0.093750 0.500000
|
||||
v -0.062500 0.093750 0.375000
|
||||
v 0.062500 0.093750 0.375000
|
||||
v 0.062500 0.093750 0.500000
|
||||
v -0.062500 0.437500 0.500000
|
||||
v -0.062500 0.437500 0.375000
|
||||
v 0.062500 0.437500 0.375000
|
||||
v 0.062500 0.437500 0.500000
|
||||
v -0.062500 -0.375000 0.500000
|
||||
v -0.062500 -0.375000 0.375000
|
||||
v 0.062500 -0.375000 0.375000
|
||||
v 0.062500 -0.375000 0.500000
|
||||
v -0.062500 -0.031250 0.500000
|
||||
v -0.062500 -0.031250 0.375000
|
||||
v 0.062500 -0.031250 0.375000
|
||||
v 0.062500 -0.031250 0.500000
|
||||
v -0.375000 -0.375000 0.438458
|
||||
v 0.375000 -0.375000 0.438458
|
||||
v -0.375000 1.375000 0.438458
|
||||
v 0.375000 1.375000 0.438458
|
||||
v 0.375000 -0.375000 0.436542
|
||||
v -0.375000 -0.375000 0.436542
|
||||
v 0.375000 1.375000 0.436542
|
||||
v -0.375000 1.375000 0.436542
|
||||
vt 0.140625 0.937500
|
||||
vt 0.515625 0.937500
|
||||
vt 0.578125 0.937500
|
||||
vt 0.578125 1.000000
|
||||
vt 0.078125 1.000000
|
||||
vt 0.078125 0.937500
|
||||
vt 0.140625 0.468750
|
||||
vt 0.140625 0.531250
|
||||
vt 0.515625 0.531250
|
||||
vt 0.515625 0.468750
|
||||
vt 0.640625 1.000000
|
||||
vt 0.640625 0.937500
|
||||
vt 0.640625 0.062500
|
||||
vt 0.640625 -0.000000
|
||||
vt 0.578125 -0.000000
|
||||
vt 0.578125 0.062500
|
||||
vt 0.671875 0.750000
|
||||
vt 0.671875 0.250000
|
||||
vt 0.734375 0.250000
|
||||
vt 0.734375 0.750000
|
||||
vt 0.828125 0.250000
|
||||
vt 0.828125 0.750000
|
||||
vt 0.765625 0.750000
|
||||
vt 0.765625 0.250000
|
||||
vt 0.078125 0.062500
|
||||
vt 0.140625 0.062500
|
||||
vt 0.515625 0.062500
|
||||
vt 0.078125 -0.000000
|
||||
vt 0.015625 -0.000000
|
||||
vt 0.015625 0.062500
|
||||
vt 0.015625 0.937500
|
||||
vt 0.015625 1.000000
|
||||
vt 0.640625 0.531250
|
||||
vt 0.578125 0.531250
|
||||
vt 0.734375 0.312500
|
||||
vt 0.734375 0.687500
|
||||
vt 0.671875 0.687500
|
||||
vt 0.671875 0.312500
|
||||
vt 0.078125 0.531250
|
||||
vt 0.015625 0.531250
|
||||
vt 0.765625 0.312500
|
||||
vt 0.828125 0.312500
|
||||
vt 0.828125 0.687500
|
||||
vt 0.765625 0.687500
|
||||
vt 0.640625 0.468750
|
||||
vt 0.578125 0.468750
|
||||
vt 0.015625 0.468750
|
||||
vt 0.078125 0.468750
|
||||
vt 0.140625 0.234375
|
||||
vt 0.140625 0.296875
|
||||
vt 0.515625 0.296875
|
||||
vt 0.515625 0.234375
|
||||
vt 0.515625 0.703125
|
||||
vt 0.515625 0.765625
|
||||
vt 0.140625 0.765625
|
||||
vt 0.140625 0.703125
|
||||
vt 0.078125 0.765625
|
||||
vt 0.015625 0.765625
|
||||
vt 0.296875 0.937500
|
||||
vt 0.359375 0.937500
|
||||
vt 0.359375 0.765625
|
||||
vt 0.296875 0.765625
|
||||
vt 0.640625 0.765625
|
||||
vt 0.578125 0.765625
|
||||
vt 0.656250 -0.000000
|
||||
vt 0.015625 0.703125
|
||||
vt 0.078125 0.703125
|
||||
vt 0.296875 0.703125
|
||||
vt 0.359375 0.703125
|
||||
vt 0.359375 0.531250
|
||||
vt 0.296875 0.531250
|
||||
vt 0.578125 0.703125
|
||||
vt 0.640625 0.703125
|
||||
vt 0.078125 0.296875
|
||||
vt 0.015625 0.296875
|
||||
vt 0.296875 0.468750
|
||||
vt 0.359375 0.468750
|
||||
vt 0.359375 0.296875
|
||||
vt 0.296875 0.296875
|
||||
vt 0.640625 0.296875
|
||||
vt 0.578125 0.296875
|
||||
vt 0.015625 0.234375
|
||||
vt 0.078125 0.234375
|
||||
vt 0.296875 0.234375
|
||||
vt 0.359375 0.234375
|
||||
vt 0.359375 0.062500
|
||||
vt 0.296875 0.062500
|
||||
vt 0.578125 0.234375
|
||||
vt 0.640625 0.234375
|
||||
vt 0.015625 0.109375
|
||||
vt 0.390625 0.109375
|
||||
vt 0.390625 0.984375
|
||||
vt 0.015625 0.984375
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn -0.000000 0.000000 -1.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
g Cylinder_Cylinder_door
|
||||
s off
|
||||
f 15/1/1 20/2/1 10/3/1 1/4/1 2/5/1 21/6/1
|
||||
f 16/7/2 31/8/2 30/9/2 17/10/2
|
||||
f 23/3/3 6/4/3 1/11/3 10/12/3 22/13/3 3/14/3 8/15/3 11/16/3
|
||||
f 18/2/2 19/1/2 12/6/2 5/5/2 6/4/2 23/3/2
|
||||
f 2/17/4 1/18/4 6/19/4 5/20/4
|
||||
f 3/21/5 4/22/5 7/23/5 8/24/5
|
||||
f 13/10/1 32/9/1 27/8/1 14/7/1
|
||||
f 24/25/2 12/6/2 19/1/2 31/8/2 16/7/2 28/26/2
|
||||
f 22/16/1 10/3/1 20/2/1 32/9/1 13/10/1 25/27/1
|
||||
f 24/25/6 7/28/6 4/29/6 9/30/6 21/31/6 2/32/6 5/5/6 12/6/6
|
||||
f 26/26/1 14/7/1 27/8/1 15/1/1 21/6/1 9/25/1
|
||||
f 29/27/2 17/10/2 30/9/2 18/2/2 23/3/2 11/16/2
|
||||
f 8/15/2 7/28/2 24/25/2 28/26/2 29/27/2 11/16/2
|
||||
f 4/28/1 3/15/1 22/16/1 25/27/1 26/26/1 9/25/1
|
||||
f 15/12/3 27/33/3 31/34/3 19/3/3
|
||||
f 30/35/4 31/36/4 27/37/4 32/38/4
|
||||
f 18/6/6 30/39/6 32/40/6 20/31/6
|
||||
f 18/41/5 20/42/5 15/43/5 19/44/5
|
||||
f 14/45/3 26/13/3 28/16/3 16/46/3
|
||||
f 29/35/4 28/36/4 26/37/4 25/38/4
|
||||
f 13/47/6 17/48/6 29/25/6 25/30/6
|
||||
f 17/41/5 13/42/5 14/43/5 16/44/5
|
||||
f 35/49/2 39/50/2 38/51/2 36/52/2
|
||||
f 33/52/1 40/51/1 37/50/1 34/49/1
|
||||
f 38/35/4 39/36/4 37/37/4 40/38/4
|
||||
f 36/41/5 33/42/5 34/43/5 35/44/5
|
||||
f 45/41/5 48/42/5 47/43/5 46/44/5
|
||||
f 43/35/4 42/36/4 44/37/4 41/38/4
|
||||
f 48/53/1 41/54/1 44/55/1 47/56/1
|
||||
f 46/56/2 42/55/2 43/54/2 45/53/2
|
||||
f 53/31/6 54/6/6 50/57/6 49/58/6
|
||||
f 54/59/2 55/60/2 51/61/2 50/62/2
|
||||
f 55/3/3 56/12/3 52/63/3 51/64/3
|
||||
f 56/60/1 53/59/1 49/62/1 52/61/1
|
||||
f 49/65/5 50/65/5 51/65/5 52/65/5
|
||||
f 56/65/4 55/65/4 54/65/4 53/65/4
|
||||
f 61/66/6 62/67/6 58/39/6 57/40/6
|
||||
f 62/68/2 63/69/2 59/70/2 58/71/2
|
||||
f 63/72/3 64/73/3 60/33/3 59/34/3
|
||||
f 64/69/1 61/68/1 57/71/1 60/70/1
|
||||
f 69/47/6 70/48/6 66/74/6 65/75/6
|
||||
f 70/76/2 71/77/2 67/78/2 66/79/2
|
||||
f 71/46/3 72/45/3 68/80/3 67/81/3
|
||||
f 72/77/1 69/76/1 65/79/1 68/78/1
|
||||
f 77/82/6 78/83/6 74/25/6 73/30/6
|
||||
f 78/84/2 79/85/2 75/86/2 74/87/2
|
||||
f 79/88/3 80/89/3 76/13/3 75/16/3
|
||||
f 80/85/1 77/84/1 73/87/1 76/86/1
|
||||
g Cylinder_Cylinder_glass
|
||||
f 81/90/1 82/91/1 84/92/1 83/93/1
|
||||
f 85/91/2 86/90/2 88/93/2 87/92/2
|
@ -1,114 +0,0 @@
|
||||
# Blender v2.73 (sub 0) OBJ File: 'door-woodglass-inset.blend'
|
||||
# www.blender.org
|
||||
o Cylinder
|
||||
v 0.499750 1.499500 0.499969
|
||||
v -0.499750 1.499500 0.499969
|
||||
v 0.499750 -0.499500 0.499969
|
||||
v -0.499750 -0.499500 0.499969
|
||||
v -0.499750 1.499500 0.375031
|
||||
v 0.499750 1.499500 0.375031
|
||||
v -0.499750 -0.499500 0.375031
|
||||
v 0.499750 -0.499500 0.375031
|
||||
v -0.499750 -0.374531 0.499969
|
||||
v 0.499750 1.312031 0.499969
|
||||
v 0.499750 -0.374531 0.375031
|
||||
v -0.499750 1.312031 0.375031
|
||||
v 0.187375 0.437531 0.499969
|
||||
v -0.187375 0.437531 0.499969
|
||||
v -0.187375 1.312031 0.499969
|
||||
v -0.187375 0.437531 0.375031
|
||||
v 0.187375 0.437531 0.375031
|
||||
v 0.187375 1.312031 0.375031
|
||||
v -0.187375 1.312031 0.375031
|
||||
v 0.187375 1.312031 0.499969
|
||||
v -0.499750 1.312031 0.499969
|
||||
v 0.499750 -0.374531 0.499969
|
||||
v 0.499750 1.312031 0.375031
|
||||
v -0.499750 -0.374531 0.375031
|
||||
v 0.187375 -0.374531 0.499969
|
||||
v -0.187375 -0.374531 0.499969
|
||||
v -0.187375 -0.374531 0.375031
|
||||
v 0.187375 -0.374531 0.375031
|
||||
v -0.187500 0.437500 0.438458
|
||||
v 0.187500 0.437500 0.438458
|
||||
v -0.187500 1.312500 0.438458
|
||||
v 0.187500 1.312500 0.438458
|
||||
v 0.187500 0.437500 0.436542
|
||||
v -0.187500 0.437500 0.436542
|
||||
v 0.187500 1.312500 0.436542
|
||||
v -0.187500 1.312500 0.436542
|
||||
vt 0.421875 0.906250
|
||||
vt 0.234375 0.906250
|
||||
vt 0.078125 0.906250
|
||||
vt 0.078125 1.000000
|
||||
vt 0.578125 1.000000
|
||||
vt 0.578125 0.906250
|
||||
vt 0.015625 1.000000
|
||||
vt 0.015625 0.906250
|
||||
vt 0.015625 0.062500
|
||||
vt 0.015625 0.000000
|
||||
vt 0.078125 0.000000
|
||||
vt 0.078125 0.062500
|
||||
vt 0.671875 0.750000
|
||||
vt 0.671875 0.250000
|
||||
vt 0.734375 0.250000
|
||||
vt 0.734375 0.750000
|
||||
vt 0.828125 0.250000
|
||||
vt 0.828125 0.750000
|
||||
vt 0.765625 0.750000
|
||||
vt 0.765625 0.250000
|
||||
vt 0.578125 0.062500
|
||||
vt 0.421875 0.468750
|
||||
vt 0.421875 0.062500
|
||||
vt 0.234375 0.468750
|
||||
vt 0.234375 0.062500
|
||||
vt 0.578125 0.000000
|
||||
vt 0.640625 0.000000
|
||||
vt 0.640625 0.062500
|
||||
vt 0.640625 0.906250
|
||||
vt 0.640625 1.000000
|
||||
vt 0.734375 0.593750
|
||||
vt 0.671875 0.593750
|
||||
vt 0.671875 0.406250
|
||||
vt 0.734375 0.406250
|
||||
vt 0.765625 0.406250
|
||||
vt 0.828125 0.406250
|
||||
vt 0.828125 0.593750
|
||||
vt 0.765625 0.593750
|
||||
vt 0.578125 0.468750
|
||||
vt 0.640625 0.468750
|
||||
vt 0.078125 0.468750
|
||||
vt 0.015625 0.468750
|
||||
vt 0.031250 0.093750
|
||||
vt 0.406250 0.093750
|
||||
vt 0.406250 0.968750
|
||||
vt 0.031250 0.968750
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn -0.000000 0.000000 -1.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
g Cylinder_Cylinder_door
|
||||
s off
|
||||
f 15/1/1 20/2/1 10/3/1 1/4/1 2/5/1 21/6/1
|
||||
f 23/3/2 6/4/2 1/7/2 10/8/2 22/9/2 3/10/2 8/11/2 11/12/2
|
||||
f 18/2/3 19/1/3 12/6/3 5/5/3 6/4/3 23/3/3
|
||||
f 2/13/4 1/14/4 6/15/4 5/16/4
|
||||
f 3/17/5 4/18/5 7/19/5 8/20/5
|
||||
f 24/21/3 12/6/3 19/1/3 16/22/3 27/23/3
|
||||
f 22/12/1 10/3/1 20/2/1 13/24/1 25/25/1
|
||||
f 24/21/6 7/26/6 4/27/6 9/28/6 21/29/6 2/30/6 5/5/6 12/6/6
|
||||
f 26/23/1 14/22/1 15/1/1 21/6/1 9/21/1
|
||||
f 28/25/3 17/24/3 18/2/3 23/3/3 11/12/3
|
||||
f 8/11/3 7/26/3 24/21/3 27/23/3 28/25/3 11/12/3
|
||||
f 4/26/1 3/11/1 22/12/1 25/25/1 26/23/1 9/21/1
|
||||
f 16/31/4 14/32/4 13/33/4 17/34/4
|
||||
f 18/35/5 20/36/5 15/37/5 19/38/5
|
||||
f 16/22/3 17/24/3 28/25/3 27/23/3
|
||||
f 13/24/1 14/22/1 26/23/1 25/25/1
|
||||
f 18/6/6 17/39/6 13/40/6 20/29/6
|
||||
f 16/41/2 19/3/2 15/8/2 14/42/2
|
||||
g Cylinder_Cylinder_glass
|
||||
f 29/43/1 30/44/1 32/45/1 31/46/1
|
||||
f 33/44/3 34/43/3 36/46/3 35/45/3
|
@ -1,114 +0,0 @@
|
||||
# Blender v2.73 (sub 0) OBJ File: 'door-woodglass-typea-right.blend'
|
||||
# www.blender.org
|
||||
o Cylinder
|
||||
v 0.499750 1.499500 0.499969
|
||||
v -0.499750 1.499500 0.499969
|
||||
v 0.499750 -0.499500 0.499969
|
||||
v -0.499750 -0.499500 0.499969
|
||||
v -0.499750 1.499500 0.375031
|
||||
v 0.499750 1.499500 0.375031
|
||||
v -0.499750 -0.499500 0.375031
|
||||
v 0.499750 -0.499500 0.375031
|
||||
v -0.499750 -0.374531 0.499969
|
||||
v 0.499750 1.312031 0.499969
|
||||
v 0.499750 -0.374531 0.375031
|
||||
v -0.499750 1.312031 0.375031
|
||||
v 0.187375 0.437531 0.499969
|
||||
v -0.187375 0.437531 0.499969
|
||||
v -0.187375 1.312031 0.499969
|
||||
v -0.187375 0.437531 0.375031
|
||||
v 0.187375 0.437531 0.375031
|
||||
v 0.187375 1.312031 0.375031
|
||||
v -0.187375 1.312031 0.375031
|
||||
v 0.187375 1.312031 0.499969
|
||||
v -0.499750 1.312031 0.499969
|
||||
v 0.499750 -0.374531 0.499969
|
||||
v 0.499750 1.312031 0.375031
|
||||
v -0.499750 -0.374531 0.375031
|
||||
v 0.187375 -0.374531 0.499969
|
||||
v -0.187375 -0.374531 0.499969
|
||||
v -0.187375 -0.374531 0.375031
|
||||
v 0.187375 -0.374531 0.375031
|
||||
v -0.187500 0.437500 0.438458
|
||||
v 0.187500 0.437500 0.438458
|
||||
v -0.187500 1.312500 0.438458
|
||||
v 0.187500 1.312500 0.438458
|
||||
v 0.187500 0.437500 0.436542
|
||||
v -0.187500 0.437500 0.436542
|
||||
v 0.187500 1.312500 0.436542
|
||||
v -0.187500 1.312500 0.436542
|
||||
vt 0.234375 0.906250
|
||||
vt 0.421875 0.906250
|
||||
vt 0.578125 0.906250
|
||||
vt 0.578125 1.000000
|
||||
vt 0.078125 1.000000
|
||||
vt 0.078125 0.906250
|
||||
vt 0.640625 1.000000
|
||||
vt 0.640625 0.906250
|
||||
vt 0.640625 0.062500
|
||||
vt 0.640625 0.000000
|
||||
vt 0.578125 0.000000
|
||||
vt 0.578125 0.062500
|
||||
vt 0.671875 0.750000
|
||||
vt 0.671875 0.250000
|
||||
vt 0.734375 0.250000
|
||||
vt 0.734375 0.750000
|
||||
vt 0.828125 0.250000
|
||||
vt 0.828125 0.750000
|
||||
vt 0.765625 0.750000
|
||||
vt 0.765625 0.250000
|
||||
vt 0.078125 0.062500
|
||||
vt 0.234375 0.468750
|
||||
vt 0.234375 0.062500
|
||||
vt 0.421875 0.468750
|
||||
vt 0.421875 0.062500
|
||||
vt 0.078125 0.000000
|
||||
vt 0.015625 0.000000
|
||||
vt 0.015625 0.062500
|
||||
vt 0.015625 0.906250
|
||||
vt 0.015625 1.000000
|
||||
vt 0.734375 0.593750
|
||||
vt 0.671875 0.593750
|
||||
vt 0.671875 0.406250
|
||||
vt 0.734375 0.406250
|
||||
vt 0.765625 0.406250
|
||||
vt 0.828125 0.406250
|
||||
vt 0.828125 0.593750
|
||||
vt 0.765625 0.593750
|
||||
vt 0.078125 0.468750
|
||||
vt 0.015625 0.468750
|
||||
vt 0.578125 0.468750
|
||||
vt 0.640625 0.468750
|
||||
vt 0.406250 0.093750
|
||||
vt 0.031250 0.093750
|
||||
vt 0.031250 0.968750
|
||||
vt 0.406250 0.968750
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn -0.000000 0.000000 -1.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
g Cylinder_Cylinder_door
|
||||
s off
|
||||
f 15/1/1 20/2/1 10/3/1 1/4/1 2/5/1 21/6/1
|
||||
f 23/3/2 6/4/2 1/7/2 10/8/2 22/9/2 3/10/2 8/11/2 11/12/2
|
||||
f 18/2/3 19/1/3 12/6/3 5/5/3 6/4/3 23/3/3
|
||||
f 2/13/4 1/14/4 6/15/4 5/16/4
|
||||
f 3/17/5 4/18/5 7/19/5 8/20/5
|
||||
f 24/21/3 12/6/3 19/1/3 16/22/3 27/23/3
|
||||
f 22/12/1 10/3/1 20/2/1 13/24/1 25/25/1
|
||||
f 24/21/6 7/26/6 4/27/6 9/28/6 21/29/6 2/30/6 5/5/6 12/6/6
|
||||
f 26/23/1 14/22/1 15/1/1 21/6/1 9/21/1
|
||||
f 28/25/3 17/24/3 18/2/3 23/3/3 11/12/3
|
||||
f 8/11/3 7/26/3 24/21/3 27/23/3 28/25/3 11/12/3
|
||||
f 4/26/1 3/11/1 22/12/1 25/25/1 26/23/1 9/21/1
|
||||
f 16/31/4 14/32/4 13/33/4 17/34/4
|
||||
f 18/35/5 20/36/5 15/37/5 19/38/5
|
||||
f 16/22/3 17/24/3 28/25/3 27/23/3
|
||||
f 13/24/1 14/22/1 26/23/1 25/25/1
|
||||
f 18/6/6 17/39/6 13/40/6 20/29/6
|
||||
f 16/41/2 19/3/2 15/8/2 14/42/2
|
||||
g Cylinder_Cylinder_glass
|
||||
f 29/43/1 30/44/1 32/45/1 31/46/1
|
||||
f 33/44/3 34/43/3 36/46/3 35/45/3
|
@ -1,88 +0,0 @@
|
||||
# Blender v2.73 (sub 0) OBJ File: 'door-wrought-iron.blend'
|
||||
# www.blender.org
|
||||
mtllib homedecor_door_wrought_iron.mtl
|
||||
o Cylinder
|
||||
v 0.500000 1.500000 0.500000
|
||||
v -0.500000 1.500000 0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v -0.500000 1.500000 0.375000
|
||||
v 0.500000 1.500000 0.375000
|
||||
v -0.500000 -0.500000 0.375000
|
||||
v 0.500000 -0.500000 0.375000
|
||||
v 0.484375 1.484375 0.438451
|
||||
v -0.484375 1.484375 0.438451
|
||||
v 0.484375 -0.484375 0.438451
|
||||
v -0.484375 -0.484375 0.438451
|
||||
v -0.484375 1.484375 0.436547
|
||||
v 0.484375 1.484375 0.436547
|
||||
v -0.484375 -0.484375 0.436547
|
||||
v 0.484375 -0.484375 0.436547
|
||||
v 0.468750 -0.500000 0.500000
|
||||
v -0.468750 -0.500000 0.500000
|
||||
v 0.500000 1.484375 0.500000
|
||||
v -0.500000 1.484375 0.500000
|
||||
v -0.500000 1.484375 0.375000
|
||||
v 0.500000 1.484375 0.375000
|
||||
v 0.500000 -0.484375 0.500000
|
||||
v -0.500000 -0.484375 0.500000
|
||||
v -0.500000 -0.484375 0.375000
|
||||
v 0.500000 -0.484375 0.375000
|
||||
v 0.484375 1.484375 0.500000
|
||||
v 0.484375 -0.484375 0.500000
|
||||
v 0.484375 1.484375 0.375000
|
||||
v 0.484375 -0.484375 0.375000
|
||||
v -0.484375 1.484375 0.500000
|
||||
v -0.484375 -0.484375 0.500000
|
||||
v -0.484375 1.484375 0.375000
|
||||
v -0.484375 -0.484375 0.375000
|
||||
vt 0.085938 0.007812
|
||||
vt 0.570312 0.007812
|
||||
vt 0.570312 0.992188
|
||||
vt 0.085938 0.992188
|
||||
vt 0.578125 0.007812
|
||||
vt 0.578125 0.992188
|
||||
vt 0.078125 0.007812
|
||||
vt 0.078125 0.992188
|
||||
vt 0.015625 0.992188
|
||||
vt 0.015625 0.007812
|
||||
vt 0.828125 0.250000
|
||||
vt 0.828125 0.750000
|
||||
vt 0.765625 0.750000
|
||||
vt 0.765625 0.250000
|
||||
vt 0.078125 1.000000
|
||||
vt 0.578125 1.000000
|
||||
vt 0.671875 0.750000
|
||||
vt 0.671875 0.250000
|
||||
vt 0.734375 0.250000
|
||||
vt 0.734375 0.750000
|
||||
vt 0.578125 0.000000
|
||||
vt 0.078125 0.000000
|
||||
vt 0.640625 0.007812
|
||||
vt 0.640625 0.992188
|
||||
vt 0.640625 0.000000
|
||||
vt 0.640625 1.000000
|
||||
vt 0.015625 1.000000
|
||||
vt 0.015625 0.000000
|
||||
usemtl None
|
||||
s off
|
||||
f 16/1 15/2 13/3 14/4
|
||||
f 12/2 11/1 9/4 10/3
|
||||
f 25/5 21/6 33/3 34/2
|
||||
f 23/7 19/8 27/4 28/1
|
||||
f 31/9 32/10 34/7 33/8
|
||||
f 30/1 29/4 22/8 26/7
|
||||
f 32/2 31/3 20/6 24/5
|
||||
f 19/11 20/12 21/13 22/14
|
||||
f 6/15 22/8 21/6 5/16
|
||||
f 2/16 20/6 19/8 1/15
|
||||
f 24/17 23/18 26/19 25/20
|
||||
f 7/21 25/5 26/7 8/22
|
||||
f 3/22 23/7 24/5 4/21
|
||||
f 28/23 27/24 29/6 30/5
|
||||
f 4/25 2/26 5/16 7/21
|
||||
f 1/18 6/19 5/20 2/17
|
||||
f 1/27 3/28 8/22 6/15
|
||||
f 4/12 7/13 8/14 3/11
|
||||
l 17 3
|
||||
l 4 18
|
@ -1,88 +0,0 @@
|
||||
# Blender v2.73 (sub 0) OBJ File: 'door-wrought-iron-right.blend'
|
||||
# www.blender.org
|
||||
mtllib homedecor_door_wrought_iron_right.mtl
|
||||
o Cylinder
|
||||
v 0.500000 1.500000 0.500000
|
||||
v -0.500000 1.500000 0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v -0.500000 1.500000 0.375000
|
||||
v 0.500000 1.500000 0.375000
|
||||
v -0.500000 -0.500000 0.375000
|
||||
v 0.500000 -0.500000 0.375000
|
||||
v 0.484375 1.484375 0.438451
|
||||
v -0.484375 1.484375 0.438451
|
||||
v 0.484375 -0.484375 0.438451
|
||||
v -0.484375 -0.484375 0.438451
|
||||
v -0.484375 1.484375 0.436547
|
||||
v 0.484375 1.484375 0.436547
|
||||
v -0.484375 -0.484375 0.436547
|
||||
v 0.484375 -0.484375 0.436547
|
||||
v 0.468750 -0.500000 0.500000
|
||||
v -0.468750 -0.500000 0.500000
|
||||
v 0.500000 1.484375 0.500000
|
||||
v -0.500000 1.484375 0.500000
|
||||
v -0.500000 1.484375 0.375000
|
||||
v 0.500000 1.484375 0.375000
|
||||
v 0.500000 -0.484375 0.500000
|
||||
v -0.500000 -0.484375 0.500000
|
||||
v -0.500000 -0.484375 0.375000
|
||||
v 0.500000 -0.484375 0.375000
|
||||
v 0.484375 1.484375 0.500000
|
||||
v 0.484375 -0.484375 0.500000
|
||||
v 0.484375 1.484375 0.375000
|
||||
v 0.484375 -0.484375 0.375000
|
||||
v -0.484375 1.484375 0.500000
|
||||
v -0.484375 -0.484375 0.500000
|
||||
v -0.484375 1.484375 0.375000
|
||||
v -0.484375 -0.484375 0.375000
|
||||
vt 0.570312 0.007812
|
||||
vt 0.085938 0.007812
|
||||
vt 0.085938 0.992188
|
||||
vt 0.570312 0.992188
|
||||
vt 0.078125 0.007812
|
||||
vt 0.078125 0.992188
|
||||
vt 0.578125 0.007812
|
||||
vt 0.578125 0.992188
|
||||
vt 0.640625 0.992188
|
||||
vt 0.640625 0.007812
|
||||
vt 0.765625 0.750000
|
||||
vt 0.765625 0.250000
|
||||
vt 0.828125 0.250000
|
||||
vt 0.828125 0.750000
|
||||
vt 0.578125 1.000000
|
||||
vt 0.078125 1.000000
|
||||
vt 0.734375 0.250000
|
||||
vt 0.734375 0.750000
|
||||
vt 0.671875 0.750000
|
||||
vt 0.671875 0.250000
|
||||
vt 0.078125 -0.000000
|
||||
vt 0.578125 -0.000000
|
||||
vt 0.015625 0.007812
|
||||
vt 0.015625 0.992188
|
||||
vt 0.015625 -0.000000
|
||||
vt 0.015625 1.000000
|
||||
vt 0.640625 1.000000
|
||||
vt 0.640625 -0.000000
|
||||
usemtl None
|
||||
s off
|
||||
f 16/1 15/2 13/3 14/4
|
||||
f 12/2 11/1 9/4 10/3
|
||||
f 25/5 21/6 33/3 34/2
|
||||
f 23/7 19/8 27/4 28/1
|
||||
f 31/9 32/10 34/7 33/8
|
||||
f 30/1 29/4 22/8 26/7
|
||||
f 32/2 31/3 20/6 24/5
|
||||
f 19/11 20/12 21/13 22/14
|
||||
f 6/15 22/8 21/6 5/16
|
||||
f 2/16 20/6 19/8 1/15
|
||||
f 24/17 23/18 26/19 25/20
|
||||
f 7/21 25/5 26/7 8/22
|
||||
f 3/22 23/7 24/5 4/21
|
||||
f 28/23 27/24 29/6 30/5
|
||||
f 4/25 2/26 5/16 7/21
|
||||
f 1/18 6/19 5/20 2/17
|
||||
f 1/27 3/28 8/22 6/15
|
||||
f 4/12 7/13 8/14 3/11
|
||||
l 17 3
|
||||
l 4 18
|
@ -1,101 +0,0 @@
|
||||
-- Various kinds of window shutters
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
local shutters = {
|
||||
"mahogany",
|
||||
"red",
|
||||
"yellow",
|
||||
"forest_green",
|
||||
"light_blue",
|
||||
"violet",
|
||||
"black",
|
||||
"dark_grey",
|
||||
"grey",
|
||||
"white",
|
||||
}
|
||||
|
||||
local shutter_cbox = {
|
||||
type = "wallmounted",
|
||||
wall_top = { -0.5, 0.4375, -0.5, 0.5, 0.5, 0.5 },
|
||||
wall_bottom = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
|
||||
wall_side = { -0.5, -0.5, -0.5, -0.4375, 0.5, 0.5 }
|
||||
}
|
||||
|
||||
local inv = "homedecor_window_shutter_inv.png^[colorize:#a87034:150"
|
||||
|
||||
homedecor.register("shutter", {
|
||||
mesh = "homedecor_window_shutter.obj",
|
||||
tiles = {
|
||||
{ name = "homedecor_window_shutter.png", color = 0xffa87034 }
|
||||
},
|
||||
description = S("Wooden Shutter"),
|
||||
inventory_image = inv,
|
||||
wield_image = inv,
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
airbrush_replacement_node = "homedecor:shutter_colored",
|
||||
groups = { snappy = 3, ud_param2_colorable = 1 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
selection_box = shutter_cbox,
|
||||
node_box = shutter_cbox,
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
|
||||
end,
|
||||
})
|
||||
|
||||
homedecor.register("shutter_colored", {
|
||||
mesh = "homedecor_window_shutter.obj",
|
||||
tiles = { "homedecor_window_shutter.png" },
|
||||
description = S("Wooden Shutter"),
|
||||
inventory_image = "homedecor_window_shutter_inv.png",
|
||||
wield_image = "homedecor_window_shutter_inv.png",
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
groups = { snappy = 3 , not_in_creative_inventory = 1, ud_param2_colorable = 1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
selection_box = shutter_cbox,
|
||||
node_box = shutter_cbox,
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_alias("homedecor:shutter_purple", "homedecor:shutter_violet")
|
||||
minetest.register_alias("homedecor:shutter_oak", "homedecor:shutter")
|
||||
|
||||
-- convert to param2 coloring
|
||||
|
||||
homedecor.old_shutter_nodes = {}
|
||||
|
||||
for _, color in ipairs(shutters) do
|
||||
table.insert(homedecor.old_shutter_nodes, "homedecor:shutter_"..color)
|
||||
end
|
||||
|
||||
minetest.register_lbm({
|
||||
name = "homedecor:convert_shutters",
|
||||
label = "Convert shutter static nodes to use param2 color",
|
||||
run_at_every_load = false,
|
||||
nodenames = homedecor.old_shutter_nodes,
|
||||
action = function(pos, node)
|
||||
local name = node.name
|
||||
local color = string.sub(name, string.find(name, "_") + 1)
|
||||
|
||||
if color == "mahogany" then
|
||||
color = "dark_red"
|
||||
elseif color == "forest_green" then
|
||||
color = "dark_green"
|
||||
elseif color == "light_blue" then
|
||||
color = "medium_cyan"
|
||||
elseif color == "red" then
|
||||
color = "medium_red"
|
||||
end
|
||||
|
||||
local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted")
|
||||
local param2 = paletteidx + node.param2
|
||||
|
||||
minetest.set_node(pos, { name = "homedecor:shutter_colored", param2 = param2 })
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("dye", "unifieddyes:"..color)
|
||||
end
|
||||
})
|
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 591 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 880 B |
Before Width: | Height: | Size: 331 B |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 563 B |
Before Width: | Height: | Size: 731 B |
Before Width: | Height: | Size: 305 B |
Before Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 229 B |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 684 B |
Before Width: | Height: | Size: 421 B |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 384 B |
Before Width: | Height: | Size: 310 B |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 556 B |
Before Width: | Height: | Size: 95 B |
Before Width: | Height: | Size: 93 B |
Before Width: | Height: | Size: 94 B |
Before Width: | Height: | Size: 95 B |
Before Width: | Height: | Size: 307 B |
Before Width: | Height: | Size: 96 B |
Before Width: | Height: | Size: 187 B |
Before Width: | Height: | Size: 93 B |
Before Width: | Height: | Size: 360 B |
Before Width: | Height: | Size: 377 B |
Before Width: | Height: | Size: 379 B |
Before Width: | Height: | Size: 310 B |
Before Width: | Height: | Size: 175 B |
Before Width: | Height: | Size: 142 B |
Before Width: | Height: | Size: 233 B |
@ -1,145 +0,0 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
local wd_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, -0.5, 0.5, 1.5, 0.5 }
|
||||
}
|
||||
|
||||
-- cache set_textures function (fallback to old version)
|
||||
-- default.player_set_textures is deprecated and will be removed in future
|
||||
local set_player_textures =
|
||||
minetest.get_modpath("player_api") and player_api.set_textures
|
||||
or default.player_set_textures
|
||||
|
||||
local armor_mod_path = minetest.get_modpath("3d_armor")
|
||||
|
||||
local skinslist = {"male1", "male2", "male3", "male4", "male5"}
|
||||
local default_skin = "character.png"
|
||||
|
||||
local skinsdb_mod_path = minetest.get_modpath("skinsdb")
|
||||
if skinsdb_mod_path then
|
||||
for _, shrt in ipairs(skinslist) do
|
||||
for _, prefix in ipairs({"", "fe"}) do
|
||||
local skin_name = prefix..shrt
|
||||
local skin_obj = skins.new("homedecor_clothes_"..skin_name..".png") -- Texture PNG file as key to be compatible in set_player_skin
|
||||
skin_obj:set_preview("homedecor_clothes_"..skin_name.."_preview.png")
|
||||
skin_obj:set_texture("homedecor_clothes_"..skin_name..".png")
|
||||
skin_obj:set_meta("name", "Wardrobe "..skin_name)
|
||||
skin_obj:set_meta("author", 'Calinou and Jordach')
|
||||
skin_obj:set_meta("license", 'CC-by-SA-4.0')
|
||||
local file = io.open(homedecor.modpath.."/textures/homedecor_clothes_"..skin_name..".png", "r")
|
||||
skin_obj:set_meta("format", skins.get_skin_format(file))
|
||||
file:close()
|
||||
skin_obj:set_meta("in_inventory_list", false)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function homedecor.get_player_skin(player)
|
||||
local skin = player:get_attribute("homedecor:player_skin")
|
||||
if not skin or skin == "" then
|
||||
return default_skin, true
|
||||
end
|
||||
return skin, false
|
||||
end
|
||||
|
||||
function homedecor.set_player_skin(player, skin, save)
|
||||
skin = skin or default_skin
|
||||
if skinsdb_mod_path then
|
||||
skins.set_player_skin(player, skin)
|
||||
elseif armor_mod_path then -- if 3D_armor's installed, let it set the skin
|
||||
armor.textures[player:get_player_name()].skin = skin
|
||||
armor:update_player_visuals(player)
|
||||
else
|
||||
set_player_textures(player, { skin })
|
||||
end
|
||||
|
||||
if save then
|
||||
if skin == default_skin then
|
||||
skin = "default"
|
||||
player:set_attribute("homedecor:player_skin", "")
|
||||
else
|
||||
player:set_attribute("homedecor:player_skin", skin)
|
||||
end
|
||||
if save == "player" then -- if player action
|
||||
minetest.log("verbose",
|
||||
S("player @1 sets skin to @2", player:get_player_name(), skin) ..
|
||||
(armor_mod_path and ' [3d_armor]' or '')
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function homedecor.unset_player_skin(player)
|
||||
homedecor.set_player_skin(player, nil, true)
|
||||
end
|
||||
|
||||
homedecor.register("wardrobe", {
|
||||
mesh = "homedecor_bedroom_wardrobe.obj",
|
||||
tiles = {
|
||||
homedecor.plain_wood,
|
||||
"homedecor_wardrobe_drawers.png",
|
||||
"homedecor_wardrobe_doors.png"
|
||||
},
|
||||
inventory_image = "homedecor_wardrobe_inv.png",
|
||||
description = S("Wardrobe"),
|
||||
groups = {snappy=3},
|
||||
selection_box = wd_cbox,
|
||||
collision_box = wd_cbox,
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
expand = { top="placeholder" },
|
||||
on_rotate = screwdriver.rotate_simple,
|
||||
infotext = S("Wardrobe"),
|
||||
inventory = {
|
||||
size = 10
|
||||
},
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
-- textures made by the Minetest community (mostly Calinou and Jordach)
|
||||
local clothes_strings = ""
|
||||
for i = 1,5 do
|
||||
clothes_strings = clothes_strings..
|
||||
"image_button_exit["..(i-1)..".5,0;1.1,2;homedecor_clothes_"..skinslist[i].."_preview.png;"..skinslist[i]..";]"..
|
||||
"image_button_exit["..(i-1)..".5,2;1.1,2;homedecor_clothes_fe"..skinslist[i].."_preview.png;fe"..skinslist[i]..";]"
|
||||
end
|
||||
meta:set_string("formspec", "size[5.5,8.5]"..default.gui_bg..default.gui_bg_img..default.gui_slots..
|
||||
"vertlabel[0,0.5;"..minetest.formspec_escape(S("Clothes")).."]"..
|
||||
"button_exit[0,3.29;0.6,0.6;default;x]"..
|
||||
clothes_strings..
|
||||
"vertlabel[0,5.2;"..minetest.formspec_escape(S("Storage")).."]"..
|
||||
"list[current_name;main;0.5,4.5;5,2;]"..
|
||||
"list[current_player;main;0.5,6.8;5,2;]" ..
|
||||
"listring[]")
|
||||
end,
|
||||
on_receive_fields = function(pos, formname, fields, sender)
|
||||
if fields.default then
|
||||
homedecor.set_player_skin(sender, nil, "player")
|
||||
return
|
||||
end
|
||||
|
||||
for i = 1,5 do
|
||||
if fields[skinslist[i]] then
|
||||
homedecor.set_player_skin(sender, "homedecor_clothes_"..skinslist[i]..".png", "player")
|
||||
break
|
||||
elseif fields["fe"..skinslist[i]] then
|
||||
homedecor.set_player_skin(sender, "homedecor_clothes_fe"..skinslist[i]..".png", "player")
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_alias("homedecor:wardrobe_bottom", "homedecor:wardrobe")
|
||||
minetest.register_alias("homedecor:wardrobe_top", "air")
|
||||
|
||||
minetest.register_on_joinplayer(function(player)
|
||||
local skin = player:get_attribute("homedecor:player_skin")
|
||||
|
||||
if skin and skin ~= "" then
|
||||
-- setting player skin on connect has no effect, so delay skin change
|
||||
minetest.after(1, function(player, skin)
|
||||
homedecor.set_player_skin(player, skin)
|
||||
end, player, skin)
|
||||
end
|
||||
end)
|
@ -1,260 +0,0 @@
|
||||
|
||||
local S = homedecor_i18n.gettext
|
||||
|
||||
homedecor.register("window_quartered", {
|
||||
description = S("Window (quartered)"),
|
||||
tiles = {
|
||||
"homedecor_window_sides.png",
|
||||
"homedecor_window_sides.png",
|
||||
"homedecor_window_sides.png",
|
||||
"homedecor_window_sides.png",
|
||||
"homedecor_window_quartered.png",
|
||||
"homedecor_window_quartered.png"
|
||||
},
|
||||
use_texture_alpha = true,
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, 0.025, 0.5, 0.5, 0}, -- NodeBox1
|
||||
{-0.5, 0.4375, -0.0625, 0.5, 0.5, 0.0625}, -- NodeBox2
|
||||
{-0.5, -0.5, -0.0625, 0.5, -0.4375, 0.0625}, -- NodeBox3
|
||||
{-0.5, -0.0625, -0.025, 0.5, 0.0625, 0.025}, -- NodeBox4
|
||||
{0.4375, -0.5, -0.0625, 0.5, 0.5, 0.0625}, -- NodeBox5
|
||||
{-0.5, -0.5, -0.0625, -0.4375, 0.5, 0.0625}, -- NodeBox6
|
||||
{-0.0625, -0.5, -0.025, 0.0625, 0.5, 0.025}, -- NodeBox7
|
||||
}
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.0625, 0.5, 0.5, 0.0625}
|
||||
}
|
||||
})
|
||||
|
||||
homedecor.register("window_plain", {
|
||||
description = S("Window (plain)"),
|
||||
tiles = {
|
||||
"homedecor_window_sides.png",
|
||||
"homedecor_window_sides.png",
|
||||
"homedecor_window_sides.png",
|
||||
"homedecor_window_sides.png",
|
||||
"homedecor_window_frame.png",
|
||||
"homedecor_window_frame.png"
|
||||
},
|
||||
use_texture_alpha = true,
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, 0.025, 0.5, 0.5, 0}, -- NodeBox1
|
||||
{-0.5, 0.4375, -0.0625, 0.5, 0.5, 0.0625}, -- NodeBox2
|
||||
{-0.5, -0.5, -0.0625, 0.5, -0.4375, 0.0625}, -- NodeBox3
|
||||
{0.4375, -0.5, -0.0625, 0.5, 0.5, 0.0625}, -- NodeBox4
|
||||
{-0.5, -0.5, -0.0625, -0.4375, 0.5, 0.0625}, -- NodeBox5
|
||||
}
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.0625, 0.5, 0.5, 0.0625}
|
||||
}
|
||||
})
|
||||
|
||||
local wb1_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -8/16, -8/16, 5/16, 8/16, 8/16, 8/16 },
|
||||
}
|
||||
|
||||
homedecor.register("blinds_thick", {
|
||||
description = S("Window Blinds (thick)"),
|
||||
mesh = "homedecor_windowblind_thick.obj",
|
||||
inventory_image = "homedecor_windowblind_thick_inv.png",
|
||||
tiles = {
|
||||
"homedecor_windowblind_strings.png",
|
||||
"homedecor_windowblinds.png"
|
||||
},
|
||||
walkable = false,
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
selection_box = wb1_cbox
|
||||
})
|
||||
|
||||
local wb2_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 },
|
||||
}
|
||||
|
||||
homedecor.register("blinds_thin", {
|
||||
description = S("Window Blinds (thin)"),
|
||||
mesh = "homedecor_windowblind_thin.obj",
|
||||
inventory_image = "homedecor_windowblind_thin_inv.png",
|
||||
tiles = {
|
||||
"homedecor_windowblind_strings.png",
|
||||
"homedecor_windowblinds.png"
|
||||
},
|
||||
walkable = false,
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
selection_box = wb2_cbox
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:curtain_closed", {
|
||||
description = S("Curtains"),
|
||||
tiles = { "homedecor_curtain.png" },
|
||||
inventory_image = "homedecor_curtain.png",
|
||||
drawtype = 'signlike',
|
||||
use_texture_alpha = true,
|
||||
walkable = false,
|
||||
groups = { snappy = 3, ud_param2_colorable = 1 },
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
paramtype = "light",
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
selection_box = { type = "wallmounted" },
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z})
|
||||
if string.find(topnode.name, "homedecor:curtainrod") then
|
||||
-- Open the curtains
|
||||
local fdir = node.param2
|
||||
minetest.set_node(pos, { name = "homedecor:curtain_open", param2 = fdir })
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:curtain_open", {
|
||||
description = S("Curtains (open)"),
|
||||
tiles = { "homedecor_curtain_open.png" },
|
||||
inventory_image = "homedecor_curtain_open.png",
|
||||
drawtype = 'signlike',
|
||||
use_texture_alpha = true,
|
||||
walkable = false,
|
||||
groups = { snappy = 3, ud_param2_colorable = 1 },
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
paramtype = "light",
|
||||
paramtype2 = "colorwallmounted",
|
||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
||||
selection_box = { type = "wallmounted" },
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z})
|
||||
if string.find(topnode.name, "homedecor:curtainrod") then
|
||||
-- Close the curtains
|
||||
local fdir = node.param2
|
||||
minetest.set_node(pos, { name = "homedecor:curtain_closed", param2 = fdir })
|
||||
end
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
local mats = {
|
||||
{ "brass", S("brass"), "homedecor_generic_metal_brass.png" },
|
||||
{ "wrought_iron", S("wrought iron"), "homedecor_generic_metal_wrought_iron.png" },
|
||||
{ "wood", S("wood"), "default_wood.png" }
|
||||
}
|
||||
|
||||
for _, m in ipairs(mats) do
|
||||
local material, mat_name, texture = unpack(m)
|
||||
homedecor.register("curtainrod_"..material, {
|
||||
tiles = { texture },
|
||||
inventory_image = "homedecor_curtainrod_"..material.."_inv.png",
|
||||
description = S("Curtain Rod (@1)", mat_name),
|
||||
groups = { snappy = 3 },
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, 0.375, 0.5, -0.4375, 0.4375},
|
||||
{-0.4375, -0.5, 0.4375, -0.375, -0.4375, 0.5},
|
||||
{0.375, -0.5, 0.4375, 0.4375, -0.4375, 0.5}
|
||||
}
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
homedecor.register("window_flowerbox", {
|
||||
description = S("Window flowerbox"),
|
||||
tiles = {
|
||||
"homedecor_flowerbox_top.png",
|
||||
"homedecor_flowerbox_bottom.png",
|
||||
"homedecor_flowerbox_sides.png"
|
||||
},
|
||||
inventory_image = "homedecor_flowerbox_inv.png",
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
groups = { snappy = 3 },
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.375, 0.25, -0.125, 0.375, 0.5, 0.375}, -- NodeBox1
|
||||
{-0.3125, 0.4375, 0.375, -0.25, 0.4875, 0.5}, -- NodeBox2
|
||||
{0.25, 0.4375, 0.375, 0.3125, 0.4875, 0.5}, -- NodeBox3
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
homedecor.register("stained_glass", {
|
||||
description = S("Stained Glass"),
|
||||
tiles = {"homedecor_stained_glass.png"},
|
||||
inventory_image = "homedecor_stained_glass.png",
|
||||
groups = {snappy=3},
|
||||
use_texture_alpha = true,
|
||||
light_source = 3,
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = { {-0.5, -0.5, 0.46875, 0.5, 0.5, 0.5} }
|
||||
}
|
||||
})
|
||||
|
||||
-- Convert old curtain nodes to param2-colorization
|
||||
|
||||
local curtaincolors = {
|
||||
"red",
|
||||
"green",
|
||||
"blue",
|
||||
"white",
|
||||
"pink",
|
||||
"violet",
|
||||
}
|
||||
|
||||
homedecor.old_static_curtain_nodes = {}
|
||||
|
||||
for _, color in ipairs(curtaincolors) do
|
||||
table.insert(homedecor.old_static_curtain_nodes, "homedecor:curtain_"..color)
|
||||
table.insert(homedecor.old_static_curtain_nodes, "homedecor:curtain_open_"..color)
|
||||
end
|
||||
|
||||
minetest.register_lbm({
|
||||
name = "homedecor:convert_curtains",
|
||||
label = "Convert static curtain nodes to use param2 color",
|
||||
run_at_every_load = false,
|
||||
nodenames = homedecor.old_static_curtain_nodes,
|
||||
action = function(pos, node)
|
||||
local name = node.name
|
||||
local color = string.sub(name, 19)
|
||||
local openclose = "closed"
|
||||
|
||||
if string.find(color, "open") then
|
||||
color = string.sub(color, 6)
|
||||
openclose = "open"
|
||||
end
|
||||
|
||||
local metadye = "medium_"..color
|
||||
if color == "white" then
|
||||
metadye = "white"
|
||||
end
|
||||
|
||||
local newnode = "homedecor:curtain_"..openclose
|
||||
local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..metadye, "wallmounted")
|
||||
local newparam2 = paletteidx + (node.param2 % 8)
|
||||
|
||||
minetest.set_node(pos, { name = newnode, param2 = newparam2 })
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("dye", "unifieddyes:"..metadye)
|
||||
end
|
||||
})
|
@ -1,3 +1,4 @@
|
||||
default
|
||||
moreblocks?
|
||||
vessels?
|
||||
moreblocks?
|
||||
doors?
|
||||
|
@ -1,27 +1,23 @@
|
||||
minetest.override_item("default:bookshelf", {
|
||||
drawtype = "mesh",
|
||||
mesh = "3dbookshelf.obj",
|
||||
mesh = "homedecor_3d_bookshelf.obj",
|
||||
tiles = {
|
||||
"default_wood.png",
|
||||
"default_wood.png^3dbookshelf_inside_back.png",
|
||||
"3dbookshelf_books.png",
|
||||
"default_wood.png^homedecor_3d_bookshelf_inside_back.png",
|
||||
"homedecor_3d_bookshelf_books.png",
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
})
|
||||
|
||||
if minetest.get_modpath("vessels")
|
||||
and minetest.registered_nodes["vessels:shelf"]
|
||||
and minetest.registered_nodes["vessels:glass_bottle"]
|
||||
and minetest.registered_nodes["vessels:drinking_glass"] then
|
||||
|
||||
if minetest.get_modpath("vessels") then
|
||||
minetest.override_item("vessels:shelf", {
|
||||
drawtype = "mesh",
|
||||
mesh = "3dvessels_shelf.obj",
|
||||
mesh = "homedecor_3d_vessels_shelf.obj",
|
||||
tiles = {
|
||||
"default_wood.png",
|
||||
"default_wood.png^3dbookshelf_inside_back.png",
|
||||
"3dvessels_shelf_glass.png",
|
||||
"default_wood.png^homedecor_3d_bookshelf_inside_back.png",
|
||||
"homedecor_3d_vessels_shelf_glass.png",
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
@ -35,29 +31,29 @@ if minetest.get_modpath("vessels")
|
||||
|
||||
minetest.override_item("vessels:glass_bottle", {
|
||||
drawtype = "mesh",
|
||||
mesh = "3dvessels_bottle.obj",
|
||||
tiles = {"3dvessels_shelf_glass.png"},
|
||||
inventory_image = "3dvessels_glass_bottle_inv.png",
|
||||
wield_image = "3dvessels_glass_bottle_inv.png",
|
||||
mesh = "homedecor_3d_vessels_bottle.obj",
|
||||
tiles = {"homedecor_3d_vessels_shelf_glass.png"},
|
||||
inventory_image = "homedecor_3d_vessels_glass_bottle_inv.png",
|
||||
wield_image = "homedecor_3d_vessels_glass_bottle_inv.png",
|
||||
use_texture_alpha = true,
|
||||
selection_box = sbox
|
||||
})
|
||||
|
||||
minetest.override_item("vessels:steel_bottle", {
|
||||
drawtype = "mesh",
|
||||
mesh = "3dvessels_bottle_steel.obj",
|
||||
tiles = {"bottle_metal_bright.png"},
|
||||
inventory_image = "3dvessels_steel_bottle_inv.png",
|
||||
wield_image = "3dvessels_steel_bottle_inv.png",
|
||||
mesh = "homedecor_3d_vessels_bottle_steel.obj",
|
||||
tiles = {"homedecor_3d_bottle_metal_bright.png"},
|
||||
inventory_image = "homedecor_3d_vessels_steel_bottle_inv.png",
|
||||
wield_image = "homedecor_3d_vessels_steel_bottle_inv.png",
|
||||
selection_box = sbox
|
||||
})
|
||||
|
||||
minetest.override_item("vessels:drinking_glass", {
|
||||
drawtype = "mesh",
|
||||
mesh = "3dvessels_drink.obj",
|
||||
tiles = {"3dvessels_shelf_glass.png"},
|
||||
inventory_image = "3dvessels_drinking_glass_inv.png",
|
||||
wield_image = "3dvessels_drinking_glass_inv.png",
|
||||
mesh = "homedecor_3d_vessels_drink.obj",
|
||||
tiles = {"homedecor_3d_vessels_shelf_glass.png"},
|
||||
inventory_image = "homedecor_3d_vessels_drinking_glass_inv.png",
|
||||
wield_image = "homedecor_3d_vessels_drinking_glass_inv.png",
|
||||
use_texture_alpha = true,
|
||||
selection_box = sbox
|
||||
})
|
||||
@ -71,8 +67,8 @@ if minetest.get_modpath("moreblocks") then
|
||||
"default_wood.png",
|
||||
"default_wood.png^[transformR90",
|
||||
"default_wood.png^[transformR270",
|
||||
"default_wood.png^3dbookshelf_inside_back.png",
|
||||
"default_wood.png^3dbookshelf_inside_back.png"
|
||||
"default_wood.png^homedecor_3d_bookshelf_inside_back.png",
|
||||
"default_wood.png^homedecor_3d_bookshelf_inside_back.png"
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
@ -89,3 +85,42 @@ if minetest.get_modpath("moreblocks") then
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
-- 3d-ify default mtg wood and steel doors and trap doors
|
||||
|
||||
if minetest.get_modpath("doors") then
|
||||
local def
|
||||
for _,mat in ipairs({"wood", "steel"}) do
|
||||
def = table.copy(minetest.registered_nodes["doors:door_"..mat.."_a"])
|
||||
def.mesh = "homedecor_3d_door_"..mat.."_a.obj"
|
||||
minetest.register_node(":doors:door_"..mat.."_a", def)
|
||||
|
||||
def = table.copy(minetest.registered_nodes["doors:door_"..mat.."_b"])
|
||||
def.mesh = "homedecor_3d_door_"..mat.."_b.obj"
|
||||
minetest.register_node(":doors:door_"..mat.."_b", def)
|
||||
end
|
||||
|
||||
for _,mat in ipairs({"", "_steel"}) do
|
||||
def = table.copy(minetest.registered_nodes["doors:trapdoor"..mat])
|
||||
def.drawtype = "mesh"
|
||||
def.mesh = "homedecor_3d_trapdoor"..mat..".obj"
|
||||
def.tiles = {
|
||||
"doors_trapdoor"..mat..".png",
|
||||
"doors_trapdoor"..mat.."_side.png"
|
||||
}
|
||||
minetest.register_node(":doors:trapdoor"..mat, def)
|
||||
|
||||
def = table.copy(minetest.registered_nodes["doors:trapdoor"..mat.."_open"])
|
||||
def.mesh = "homedecor_3d_trapdoor"..mat.."_open.obj"
|
||||
def.drawtype = "mesh"
|
||||
def.tiles = {
|
||||
"doors_trapdoor"..mat..".png",
|
||||
"doors_trapdoor"..mat.."_side.png"
|
||||
}
|
||||
minetest.register_node(":doors:trapdoor"..mat.."_open", def)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
minetest.log("action", "[homedecor_3d_extra] loaded.")
|
||||
|
||||
|