Charakterbewegungen hinzugefügt, Deko hinzugefügt, Kochrezepte angepasst
61
mods/ma_pops_furniture/MTBOX.MD
Normal file
|
@ -0,0 +1,61 @@
|
|||
# ma_pops_furniture
|
||||
|
||||
A revamp of Ma and Pop's Furniture Mod
|
||||
|
||||
================================================================
|
||||
|
||||
Credits:
|
||||
Radio Mod Code (Mihobre)
|
||||
BlockMen (Lots and lots) |For helping me alot with the code
|
||||
|Letting me experiment with his mod
|
||||
|Supporting me all the time
|
||||
|Encouraging me
|
||||
DanJohansen(Newgrounds) |All music used
|
||||
|
||||
Nathan.S Helped with a ton of the coding and models making this mod possible
|
||||
|
||||
Freezer Mod:
|
||||
https://forum.minetest.net/viewtopic.php?f=9&t=14925
|
||||
|
||||
Textures (c) 2016 Gabriel Pérez-Cerezo, WTFPL
|
||||
|
||||
This mod is based on the default furnace, license for the code below:
|
||||
|
||||
Copyright (C) 2011-2012 celeron55, Perttu Ahola <celeron55@gmail.com>
|
||||
Copyright (C) 2016 Gabriel Pérez-Cerezo <gabriel@gpcf.eu>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation; either version 2.1 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
================================================================
|
||||
|
||||
Special thanks to:
|
||||
Wizzerine
|
||||
BillyS
|
||||
Noodlemire
|
||||
|
||||
For helping out with the microwave.
|
||||
|
||||
=================================================================
|
||||
|
||||
Each item used as tool and what it does:
|
||||
|
||||
Hammer: Rotates and/or changes the type of sofa and bookshelf.
|
||||
|
||||
Hammer1: Rotates and/or changes the type of counter and table.
|
||||
|
||||
Shears: "Trims" the hedges making it possible for different rotation and direction of hedge.
|
||||
|
||||
Saw: Used to turn a bookshelf into a wall bookshelf.
|
||||
|
||||
==================================================================
|
||||
License of source code and textures: WTFPL
|
||||
------------------------------------------------------------------
|
||||
This program is free software. It comes without any warranty, to
|
||||
the extent permitted by applicable law. You can redistribute it
|
||||
and/or modify it under the terms of the do whatever you want with it.
|
||||
To Public License, Version 2, as published by Sam Hocevar. See
|
||||
http://sam.zoy.org/wtfpl/COPYING for more details.
|
||||
==================================================================
|
60
mods/ma_pops_furniture/README.md
Normal file
|
@ -0,0 +1,60 @@
|
|||
# ma_pops_furniture
|
||||
|
||||
A revamp of Ma and Pop's Furniture Mod
|
||||
|
||||
================================================================
|
||||
|
||||
Credits:
|
||||
Radio Mod Code (Mihobre)
|
||||
BlockMen (Lots and lots) |For helping me alot with the code
|
||||
|Letting me experiment with his mod
|
||||
|Supporting me all the time
|
||||
|Encouraging me
|
||||
DanJohansen(Newgrounds) |All music used
|
||||
|
||||
Nathan.S Helped with a ton of the coding and models making this mod possible
|
||||
|
||||
Toaster Code:
|
||||
Special thanks to GreenDimond for the code.
|
||||
|
||||
Freezer Mod:
|
||||
https://forum.minetest.net/viewtopic.php?f=9&t=14925
|
||||
|
||||
Textures (c) 2016 Gabriel Pérez-Cerezo, WTFPL
|
||||
|
||||
This mod is based on the default furnace, license for the code below:
|
||||
|
||||
Copyright (C) 2011-2012 celeron55, Perttu Ahola <celeron55@gmail.com>
|
||||
Copyright (C) 2016 Gabriel Pérez-Cerezo <gabriel@gpcf.eu>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as published by
|
||||
the Free Software Foundation; either version 2.1 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
================================================================
|
||||
|
||||
Special thanks to:
|
||||
Wizzerine
|
||||
BillyS
|
||||
Noodlemire
|
||||
|
||||
For helping out with the microwave.
|
||||
|
||||
=================================================================
|
||||
|
||||
Each item used as tool and what it does:
|
||||
|
||||
Hammer: Rotates and/or changes the type of sofa.
|
||||
|
||||
Shears: "Trims" the hedges making it possible for different rotation and direction of hedge.
|
||||
|
||||
==================================================================
|
||||
License of source code and textures: WTFPL
|
||||
------------------------------------------------------------------
|
||||
This program is free software. It comes without any warranty, to
|
||||
the extent permitted by applicable law. You can redistribute it
|
||||
and/or modify it under the terms of the do whatever you want with it.
|
||||
To Public License, Version 2, as published by Sam Hocevar. See
|
||||
http://sam.zoy.org/wtfpl/COPYING for more details.
|
||||
==================================================================
|
54
mods/ma_pops_furniture/abm.lua
Normal file
|
@ -0,0 +1,54 @@
|
|||
minetest.register_abm({ -- Controls the contained fires.
|
||||
nodenames = {'ma_pops_furniture:fireplace', 'ma_pops_furniture:fireplace_on'},
|
||||
interval = 1.0,
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
for i, name in ipairs({
|
||||
'fuel_totaltime',
|
||||
'fuel_time',
|
||||
}) do
|
||||
if meta:get_string(name) == '' then
|
||||
meta:set_float(name, 0.0)
|
||||
end
|
||||
end
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local was_active = false
|
||||
if meta:get_float('fuel_time') < meta:get_float('fuel_totaltime') then
|
||||
was_active = true
|
||||
meta:set_float('fuel_time', meta:get_float('fuel_time') + 0.25)
|
||||
end
|
||||
if meta:get_float('fuel_time') < meta:get_float('fuel_totaltime') then
|
||||
minetest.sound_play({name='fire_small'},{gain=0.07, pos = pos},
|
||||
{loop=true})
|
||||
local percent = math.floor(meta:get_float('fuel_time') /
|
||||
meta:get_float('fuel_totaltime') * 100)
|
||||
meta:set_string('infotext','Fireplace active: '..percent..'%')
|
||||
minetest.swap_node(pos, {name = 'ma_pops_furniture:fireplace_on', param2 = node.param2})
|
||||
meta:set_string('formspec', ma_pops_furniture.fireplace_formspec)
|
||||
return
|
||||
end
|
||||
local fuel = nil
|
||||
local fuellist = inv:get_list('fuel')
|
||||
if fuellist then
|
||||
fuel = minetest.get_craft_result({method = 'fuel', width = 1, items = fuellist})
|
||||
end
|
||||
if fuel.time <= 0 then
|
||||
local node = minetest.get_node(pos)
|
||||
if node.name == 'ma_pops_furniture:fireplace_on' then
|
||||
meta:set_string('infotext','Put more wood in the fireplace!')
|
||||
minetest.swap_node(pos, {name = 'ma_pops_furniture:fireplace', param2 = node.param2})
|
||||
meta:set_string('formspec', ma_pops_furniture.fireplace_formspec)
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
timer:start(190)
|
||||
end
|
||||
return
|
||||
end
|
||||
meta:set_string('fuel_totaltime', fuel.time)
|
||||
meta:set_string('fuel_time', 0)
|
||||
local stack = inv:get_stack('fuel', 1)
|
||||
stack:take_item()
|
||||
inv:set_stack('fuel', 1, stack)
|
||||
end,
|
||||
})
|
282
mods/ma_pops_furniture/bathroom.lua
Normal file
|
@ -0,0 +1,282 @@
|
|||
minetest.register_node("ma_pops_furniture:bath_faucet", {
|
||||
description = "Bathroom Faucet",
|
||||
tiles = {
|
||||
"mp_knob_top.png",
|
||||
"mp_knob_bottom.png",
|
||||
"mp_knob_right.png",
|
||||
"mp_knob_left.png",
|
||||
"mp_knob_back.png",
|
||||
"mp_knob_front.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.0625, -0.5, 0.3125, 0.0625, -0.1875, 0.4375},
|
||||
{-0.0625, -0.1875, 0.125, 0.0625, -0.125, 0.4375},
|
||||
{0.125, -0.25, 0.25, 0.25, -0.0625, 0.4375},
|
||||
{-0.25, -0.25, 0.25, -0.125, -0.0625, 0.4375},
|
||||
{-0.0625, -0.25, 0.125, 0.0625, -0.125, 0.1875},
|
||||
{-0.125, -0.1875, 0.3125, 0.125, -0.125, 0.375},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:toilet_paper_roll_dispenser", {
|
||||
description = "Toilet Paper Roll Dispenser",
|
||||
tiles = {
|
||||
"mp_tp_top.png",
|
||||
"mp_tp_bottom.png",
|
||||
"mp_tp_right.png",
|
||||
"mp_tp_left.png",
|
||||
"mp_tp_back.png",
|
||||
"mp_tp_front.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.3125, -0.1875, 0.4375, 0.3125, 0.125, 0.5},
|
||||
{-0.1875, -0.125, 0.25, 0.1875, 0.0625, 0.4375},
|
||||
{-0.25, -0.0625, 0.3125, 0.25, 0, 0.5},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node('ma_pops_furniture:toilet_open', {
|
||||
description = 'Toilet',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'FM_toilet_open.obj',
|
||||
tiles = {{name='default_coral_skeleton.png'},{name='default_wood.png'}},
|
||||
groups = {choppy=2, oddly_breakably_by_hand=2, furniture=1, not_in_creative_inventory=1},
|
||||
--inventory_image = 'fm_chair_stone.png',
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
drop = 'ma_pops_furniture:toilet_close',
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
{-.35, -.5, -.35, .35, 0, .5}, -- Right, Bottom, Back, Left, Top, Front
|
||||
{-.35, 0, .2, .35, .5, .5},
|
||||
}
|
||||
},
|
||||
collision_box = {
|
||||
fixed = {
|
||||
{-.35, -.5, -.35, .35, 0, .5}, -- Right, Bottom, Back, Left, Top, Front
|
||||
{-.35, 0, .2, .35, .5, .5},
|
||||
}
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
ma_pops_furniture.sit(pos, node, clicker)
|
||||
end,
|
||||
on_punch = function (pos, node, puncher)
|
||||
node.name = "ma_pops_furniture:toilet_close"
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node('ma_pops_furniture:toilet_close', {
|
||||
description = 'Toilet',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'FM_toilet_close.obj',
|
||||
tiles = {{name='default_coral_skeleton.png'},{name='default_wood.png'}},
|
||||
groups = {choppy=2, oddly_breakably_by_hand=2, furniture=1},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
{-.35, -.5, -.35, .35, 0, .5}, -- Right, Bottom, Back, Left, Top, Front
|
||||
{-.35, 0, .2, .35, .5, .5},
|
||||
}
|
||||
},
|
||||
collision_box = {
|
||||
fixed = {
|
||||
{-.35, -.5, -.35, .35, 0, .5}, -- Right, Bottom, Back, Left, Top, Front
|
||||
{-.35, 0, .2, .35, .5, .5},
|
||||
}
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
ma_pops_furniture.sit(pos, node, clicker)
|
||||
end,
|
||||
on_punch = function (pos, node, puncher)
|
||||
node.name = "ma_pops_furniture:toilet_open"
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:br_sink", {
|
||||
description = "Sink (Bathroom)",
|
||||
tiles = {
|
||||
"mp_hw_top.png",
|
||||
"mp_hw_bottom.png",
|
||||
"mp_hw_right.png",
|
||||
"mp_hw_left.png",
|
||||
"mp_hw_back.png",
|
||||
"mp_hw_front.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4375, 0.25, -0.3125, 0.4375, 0.5, 0.5},
|
||||
{-0.125, -0.5, 0.125, 0.125, 0.25, 0.4375},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:mirror_closed", {
|
||||
description = "Mirror",
|
||||
tiles = {
|
||||
"mp_mirror_top.png",
|
||||
"mp_mirror_bottom.png",
|
||||
"mp_mirror_right.png",
|
||||
"mp_mirror_left.png",
|
||||
"default_wood.png",
|
||||
"mp_mirror_front.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
on_punch = function(pos, node, puncher)
|
||||
minetest.env:add_node(pos, {name = "ma_pops_furniture:mirror", param2 = node.param2})
|
||||
ma_pops_furniture.window_operate( pos, "ma_pops_furniture:mirror_closed", "ma_pops_furniture:mirror" );
|
||||
end,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4375, -0.375, 0.3125, 0.4375, 0.5, 0.5},
|
||||
{0, -0.375, 0.25, 0.4375, 0.5, 0.3125},
|
||||
{-0.4375, -0.375, 0.25, 2.98023e-008, 0.5, 0.3125},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:mirror", {
|
||||
description = "Mirror (Open)",
|
||||
tiles = {
|
||||
"mp_mirror_open_top.png",
|
||||
"mp_mirror_open_bottom.png",
|
||||
"mp_mirror_open_right.png",
|
||||
"mp_mirror_open_left.png",
|
||||
"mp_mirror_front.png",
|
||||
"mp_mirror_open_front.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
drop = "ma_pops_furniture:mirror_closed",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, not_in_creative_inventory = 1},
|
||||
on_punch = function(pos, node, puncher)
|
||||
minetest.env:add_node(pos, {name = "ma_pops_furniture:mirror_closed", param2 = node.param2})
|
||||
ma_pops_furniture.window_operate( pos, "ma_pops_furniture:mirror", "ma_pops_furniture:mirror_closed" );
|
||||
end,
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size('main', 8*4)
|
||||
inv:set_size('storage', 4*4)
|
||||
meta:set_string('formspec',
|
||||
'size [9,10]'..
|
||||
'bgcolor[#080808BB;true]'..
|
||||
'list[current_name;storage;3,1.5;3,3;]'..
|
||||
'list[current_player;main;0.5,6.5;8,4;]')
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty('storage') and inv:is_empty('storage1')
|
||||
end,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4375, -0.375, 0.3125, 0.4375, 0.5, 0.5},
|
||||
{0.4375, -0.375, -0.125, 0.5, 0.5, 0.3125},
|
||||
{-0.5, -0.375, -0.125, -0.4375, 0.5, 0.3125},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:shower_base", {
|
||||
description = "Shower Base",
|
||||
tiles = {
|
||||
"mp_showbas_top.png",
|
||||
"mp_showbas_top.png",
|
||||
"mp_showbas_sides.png",
|
||||
"mp_showbas_sides.png",
|
||||
"mp_showbas_sides.png",
|
||||
"mp_showbas_sides.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.4375, 0.4375},
|
||||
{0.4375, -0.5, -0.5, 0.5, -0.3125, 0.5},
|
||||
{-0.5, -0.5, 0.4375, 0.5, -0.3125, 0.5},
|
||||
{-0.5, -0.5, -0.5, -0.4375, -0.3125, 0.5},
|
||||
{-0.5, -0.5, -0.5, 0.5, -0.3125, -0.4375},
|
||||
{-0.125, -0.5, 0.125, 0.125, -0.375, 0.375},
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:shower_top", {
|
||||
description = "Shower Head",
|
||||
tiles = {
|
||||
"mp_shk_top.png",
|
||||
"mp_shk_bottom.png",
|
||||
"mp_shk_right.png",
|
||||
"mp_shk_left.png",
|
||||
"mp_shk_back.png",
|
||||
"mp_shk_front.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.25, -0.5, 0.4375, 0.25, 0.5, 0.5},
|
||||
{-0.125, 0.3125, -0.1875, 0.125, 0.4375, 0.25},
|
||||
{-0.1875, -0.25, 0.375, -0.125, -0.1875, 0.4375},
|
||||
{0.125, -0.25, 0.375, 0.1875, -0.1875, 0.4375},
|
||||
{-0.1875, -0.25, 0.3125, -0.125, -0.0625, 0.375},
|
||||
{0.125, -0.25, 0.3125, 0.1875, -0.0625, 0.375},
|
||||
{-0.0625, 0.375, 0.25, 0.0625, 0.4375, 0.4375},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node('ma_pops_furniture:br_tile', {
|
||||
description = 'Bathroom Tile',
|
||||
drawtype = 'nodebox',
|
||||
tiles = {
|
||||
"mp_bathroom_tile.png"
|
||||
},
|
||||
groups = {cracky=2, oddly_breakable_by_hand=5, furniture=1},
|
||||
paramtype = 'light',
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
},
|
||||
}
|
||||
})
|
51
mods/ma_pops_furniture/bedroom.lua
Normal file
|
@ -0,0 +1,51 @@
|
|||
local night_table = { --name, material, invimg
|
||||
{'Wood Nightstand', 'wood'},
|
||||
{'Acacia Wood Nightstand', 'acacia_wood'},
|
||||
{'Aspen Wood Nightstand', 'aspen_wood'},
|
||||
{'Pine Wood Nightstand', 'pine_wood'},
|
||||
{'Jungle Wood Nightstand', 'junglewood'}
|
||||
}
|
||||
|
||||
for i in ipairs (night_table) do
|
||||
local name = night_table[i][1]
|
||||
local material = night_table[i][2]
|
||||
local invimg = night_table[i][3]
|
||||
|
||||
minetest.register_node('ma_pops_furniture:nightstand_'..material, {
|
||||
description = name,
|
||||
drawtype = 'nodebox',
|
||||
tiles = {'default_'..material..'.png'},
|
||||
groups = {choppy=2, oddly_breakably_by_hand=2, furniture=1, flammable=1},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size('main', 8*4)
|
||||
inv:set_size('storage', 3*3)
|
||||
meta:set_string('formspec',
|
||||
'size [9,10]'..
|
||||
'bgcolor[#080808BB;true]'..
|
||||
'list[current_name;storage;3,1.5;3,3;]'..
|
||||
'list[current_player;main;0.5,6.2;8,4;]')
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty('storage') and inv:is_empty('storage1')
|
||||
end,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.4375, 0.5, -0.4375, 0.5}, -- NodeBox1
|
||||
{-0.5, 0.4375, -0.4375, 0.5, 0.5, 0.5}, -- NodeBox2
|
||||
{-0.5, -0.4375, -0.375, 0.5, 0.4375, 0.5}, -- NodeBox3
|
||||
{-0.4375, 0.0625, -0.4375, 0.4375, 0.375, -0.375}, -- NodeBox4
|
||||
{-0.4375, -0.375, -0.4375, 0.4375, -0.0625, -0.375}, -- NodeBox5
|
||||
{-0.125, -0.3125, -0.5, 0.125, -0.125, -0.4375}, -- NodeBox6
|
||||
{-0.125, 0.125, -0.5, 0.125, 0.3125, -0.4375}, -- NodeBox7
|
||||
}
|
||||
}
|
||||
})
|
||||
end
|
1035
mods/ma_pops_furniture/crafts.lua
Normal file
189
mods/ma_pops_furniture/dining_room.lua
Normal file
|
@ -0,0 +1,189 @@
|
|||
local chair_table = { --name, material, invimg
|
||||
{'Stone Chair', 'cobble', 'mp_chair_stone.png'},
|
||||
{'Wood Chair', 'wood', 'mp_chair_wood.png'},
|
||||
{'Acacia Wood Chair', 'acacia_wood', 'mp_chair_acacia_wood.png'},
|
||||
{'Aspen Wood Chair', 'aspen_wood', 'mp_chair_aspen_wood.png'},
|
||||
{'Pine Wood Chair', 'pine_wood', 'mp_chair_pine_wood.png'},
|
||||
{'Jungle Wood Chair', 'junglewood', 'mp_chair_junglewood.png'}
|
||||
}
|
||||
|
||||
for i in ipairs (chair_table) do
|
||||
local name = chair_table[i][1]
|
||||
local material = chair_table[i][2]
|
||||
local invimg = chair_table[i][3]
|
||||
|
||||
minetest.register_node('ma_pops_furniture:chair_'..material, {
|
||||
description = name,
|
||||
drawtype = 'nodebox',
|
||||
tiles = {'default_'..material..'.png'},
|
||||
groups = {choppy=2, oddly_breakably_by_hand=2, furniture=1, flammable=1},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
can_dig = ma_pops_furniture.sit_dig,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
pos.y = pos.y + 0 -- Sitting position
|
||||
ma_pops_furniture.sit(pos, node, clicker, pointed_thing)
|
||||
return itemstack
|
||||
end,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4375, -0.5, 0.3125, -0.3125, -0.0625, 0.4375}, -- NodeBox10
|
||||
{0.3125, -0.5, 0.3125, 0.4375, -0.0625, 0.4375}, -- NodeBox11
|
||||
{-0.4375, -0.5, -0.4375, -0.3125, -0.0625, -0.3125}, -- NodeBox12
|
||||
{0.3125, -0.5, -0.4375, 0.4375, -0.0625, -0.3125}, -- NodeBox13
|
||||
{-0.4375, -0.0625, -0.4375, 0.4375, 0.0625, 0.4375}, -- NodeBox14
|
||||
{-0.4375, 0.0625, 0.3125, 0.4375, 0.8125, 0.4375}, -- NodeBox15
|
||||
}
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
local table_table = { --name, material, invimg
|
||||
{'Stone Table', 'cobble', 'mp_table_stone.png'},
|
||||
{'Wood Table', 'wood', 'mp_table_wood.png'},
|
||||
{'Acacia Wood Table', 'acacia_wood', 'mp_table_wood_acacia.png'},
|
||||
{'Aspen Wood Table', 'aspen_wood', 'mp_table_wood_aspen.png'},
|
||||
{'Pine Wood Table', 'pine_wood', 'mp_table_wood_pine.png'},
|
||||
{'Jungle Wood Table', 'junglewood', 'mp_table_wood_jungle.png'}
|
||||
}
|
||||
|
||||
for i in ipairs (table_table) do
|
||||
local name = table_table[i][1]
|
||||
local material = table_table[i][2]
|
||||
local invimg = table_table[i][3]
|
||||
|
||||
minetest.register_node('ma_pops_furniture:table_'..material, {
|
||||
description = name,
|
||||
drawtype = 'nodebox',
|
||||
tiles = {'default_'..material..'.png'},
|
||||
align_style="world",
|
||||
groups = {snappy = 2, oddly_breakable_by_hand = 2, furniture = 1, flammable = 1, table = 1},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.125, -0.5, -0.125, 0.125, 0.375, 0.125}, -- NodeBox8
|
||||
{-0.5, 0.375, -0.5, 0.5, 0.5, 0.5}, -- NodeBox9
|
||||
}
|
||||
},
|
||||
|
||||
after_dig_node = function(pos) ma_pops_furniture.check_table(pos, material, false, true) end,
|
||||
after_place_node = function(pos) ma_pops_furniture.check_table(pos, material, true, true) end,
|
||||
on_punch = function(pos) ma_pops_furniture.check_table(pos, material, true, true) end
|
||||
})
|
||||
end
|
||||
|
||||
local table2_table = { --name, material, invimg
|
||||
{'Stone Table', 'cobble', 'mp_table_stone.png'},
|
||||
{'Wood Table', 'wood', 'mp_table_wood.png'},
|
||||
{'Acacia Wood Table', 'acacia_wood', 'mp_table_wood_acacia.png'},
|
||||
{'Aspen Wood Table', 'aspen_wood', 'mp_table_wood_aspen.png'},
|
||||
{'Pine Wood Table', 'pine_wood', 'mp_table_wood_pine.png'},
|
||||
{'Jungle Wood Table', 'junglewood', 'mp_table_wood_jungle.png'}
|
||||
}
|
||||
|
||||
for i in ipairs (table2_table) do
|
||||
local name = table2_table[i][1]
|
||||
local material = table2_table[i][2]
|
||||
local invimg = table2_table[i][3]
|
||||
|
||||
minetest.register_node('ma_pops_furniture:table2_'..material, {
|
||||
description = name,
|
||||
drawtype = 'nodebox',
|
||||
tiles = {'default_'..material..'.png'},
|
||||
align_style="world",
|
||||
groups = {snappy = 2, oddly_breakable_by_hand = 2, furniture = 1, flammable = 1, table = 1},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, 0.375, -0.5, 0.5, 0.5, 0.5}, -- NodeBox5
|
||||
{-0.4375, -0.5, -0.4375, -0.3125, 0.375, -0.3125}, -- NodeBox6
|
||||
{-0.4375, -0.5, 0.3125, -0.3125, 0.375, 0.4375}, -- NodeBox7
|
||||
{0.3125, -0.5, 0.3125, 0.4375, 0.375, 0.4375}, -- NodeBox8
|
||||
{0.3125, -0.5, -0.4375, 0.4375, 0.375, -0.3125}, -- NodeBox9
|
||||
}
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
local table_c_table = { --name, material, invimg
|
||||
{'Stone Corner Table', 'cobble', 'mp_table_stone.png'},
|
||||
{'Wood Corner Table', 'wood', 'mp_table_wood.png'},
|
||||
{'Acacia Corner Wood Table', 'acacia_wood', 'mp_table_wood_acacia.png'},
|
||||
{'Aspen Corner Wood Table', 'aspen_wood', 'mp_table_wood_aspen.png'},
|
||||
{'Pine Corner Wood Table', 'pine_wood', 'mp_table_wood_pine.png'},
|
||||
{'Jungle Corner Wood Table', 'junglewood', 'mp_table_wood_jungle.png'}
|
||||
}
|
||||
|
||||
for i in ipairs (table_c_table) do
|
||||
local name = table_c_table[i][1]
|
||||
local material = table_c_table[i][2]
|
||||
local invimg = table_c_table[i][3]
|
||||
|
||||
minetest.register_node('ma_pops_furniture:table_c_'..material, {
|
||||
description = name,
|
||||
drawtype = 'nodebox',
|
||||
tiles = {'default_'..material..'.png'},
|
||||
align_style="world",
|
||||
groups = {snappy = 2, oddly_breakable_by_hand = 2, furniture = 1, flammable = 1, table = 1, not_in_creative_inventory = 1},
|
||||
drop = 'ma_pops_furniture:table_'..material,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, 0.3125, -0.5, 0.5, 0.5, 0.5}, -- NodeBox1
|
||||
{-0.375, -0.5, -0.125, -0.125, 0.3125, 0.125}, -- NodeBox3
|
||||
}
|
||||
},
|
||||
|
||||
after_dig_node = function(pos) ma_pops_furniture.check_table(pos, material, false, true) end,
|
||||
after_place_node = function(pos) ma_pops_furniture.check_table(pos, material, true, true) end,
|
||||
on_punch = function(pos) ma_pops_furniture.check_table(pos, material, true, true) end
|
||||
})
|
||||
end
|
||||
|
||||
local table_center_table = { --name, material, invimg
|
||||
{'Stone Center Table', 'cobble', 'mp_table_stone.png'},
|
||||
{'Wood Center Table', 'wood', 'mp_table_wood.png'},
|
||||
{'Acacia Center Wood Table', 'acacia_wood', 'mp_table_wood_acacia.png'},
|
||||
{'Aspen Center Wood Table', 'aspen_wood', 'mp_table_wood_aspen.png'},
|
||||
{'Pine Center Wood Table', 'pine_wood', 'mp_table_wood_pine.png'},
|
||||
{'Jungle Center Wood Table', 'junglewood', 'mp_table_wood_jungle.png'}
|
||||
}
|
||||
|
||||
for i in ipairs (table_center_table) do
|
||||
local name = table_center_table[i][1]
|
||||
local material = table_center_table[i][2]
|
||||
local invimg = table_center_table[i][3]
|
||||
|
||||
minetest.register_node('ma_pops_furniture:table_center_'..material, {
|
||||
description = name,
|
||||
drawtype = 'nodebox',
|
||||
tiles = {'default_'..material..'.png'},
|
||||
align_style="user",
|
||||
groups = {snappy = 2, oddly_breakable_by_hand = 2, furniture = 1, flammable = 1, table = 1, not_in_creative_inventory = 1},
|
||||
drop = 'ma_pops_furniture:table_'..material,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, 0.3125, -0.5, 0.5, 0.5, 0.5},
|
||||
}
|
||||
},
|
||||
|
||||
after_dig_node = function(pos) ma_pops_furniture.check_table(pos, material, false, true) end,
|
||||
after_place_node = function(pos) ma_pops_furniture.check_table(pos, material, true, true) end,
|
||||
on_punch = function(pos) ma_pops_furniture.check_table(pos, material, true, true) end
|
||||
})
|
||||
end
|
9
mods/ma_pops_furniture/formspecs.lua
Normal file
|
@ -0,0 +1,9 @@
|
|||
ma_pops_furniture.fireplace_formspec =
|
||||
'size[8,6]'..
|
||||
default.gui_bg..
|
||||
default.gui_bg_img..
|
||||
default.gui_slots..
|
||||
'background[8,6;0,0;default_brick.png;true]'..
|
||||
'list[current_name;fuel;1,0;1,1;]'..
|
||||
'list[current_player;main;0,2.5;8,4;]'
|
||||
default.get_hotbar_bg(0,4.85)
|
300
mods/ma_pops_furniture/fridge.lua
Normal file
|
@ -0,0 +1,300 @@
|
|||
--
|
||||
-- Freezer for mintest: a device which turns water (in buckets) into ice
|
||||
-- And does a couple of other tricks, discovering which is left as a pleasant
|
||||
-- surprise for the player.
|
||||
--
|
||||
|
||||
-- enable extra popsicle types provided there are both vessels and fruits/veggies available
|
||||
-- fruit + glass -> juice; juice @ freezer -> popsicle + empty glass
|
||||
|
||||
--
|
||||
-- Formspecs
|
||||
--
|
||||
|
||||
local function active_formspec(fuel_percent, item_percent)
|
||||
local formspec =
|
||||
"size[8,8.5]"..
|
||||
default.gui_bg..
|
||||
default.gui_bg_img..
|
||||
default.gui_slots..
|
||||
"list[current_name;src;2.5,1;1,1;]"..
|
||||
"image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[lowpart:"..
|
||||
(item_percent)..":gui_furnace_arrow_fg.png^[transformR270]"..
|
||||
"list[current_name;dst;4.75,0.96;3,2;]"..
|
||||
"list[current_player;main;0,4.25;8,1;]"..
|
||||
"list[current_player;main;0,5.5;8,3;8]"..
|
||||
"listring[current_name;dst]"..
|
||||
"listring[current_player;main]"..
|
||||
"listring[current_name;src]"..
|
||||
"listring[current_player;main]"..
|
||||
default.get_hotbar_bg(0, 4.25)
|
||||
return formspec
|
||||
end
|
||||
|
||||
local inactive_formspec =
|
||||
"size[8,8.5]"..
|
||||
default.gui_bg..
|
||||
default.gui_bg_img..
|
||||
default.gui_slots..
|
||||
"list[current_name;src;2.5,1.5;1,1;]"..
|
||||
"image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]"..
|
||||
"list[current_name;dst;4.75,0.96;3,2;]"..
|
||||
"list[current_player;main;0,4.25;8,1;]"..
|
||||
"list[current_player;main;0,5.5;8,3;8]"..
|
||||
"listring[current_name;dst]"..
|
||||
"listring[current_player;main]"..
|
||||
"listring[current_name;src]"..
|
||||
"listring[current_player;main]"..
|
||||
default.get_hotbar_bg(0, 4.25)
|
||||
|
||||
--
|
||||
-- Node callback functions that are the same for active and inactive freezer
|
||||
--
|
||||
|
||||
local function can_dig(pos, player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty("dst") and inv:is_empty("src")
|
||||
end
|
||||
|
||||
|
||||
local function allow_metadata_inventory_put(pos, listname, index, stack, player)
|
||||
if minetest.is_protected(pos, player:get_player_name()) then
|
||||
return 0
|
||||
end
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
if listname == "src" then
|
||||
return stack:get_count()
|
||||
elseif listname == "dst" then
|
||||
return 0
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
local function allow_metadata_inventory_move(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local stack = inv:get_stack(from_list, from_index)
|
||||
return allow_metadata_inventory_put(pos, to_list, to_index, stack, player)
|
||||
end
|
||||
|
||||
|
||||
local function allow_metadata_inventory_take(pos, listname, index, stack, player)
|
||||
if minetest.is_protected(pos, player:get_player_name()) then
|
||||
return 0
|
||||
end
|
||||
return stack:get_count()
|
||||
end
|
||||
|
||||
|
||||
local function swap_node(pos, name)
|
||||
local node = minetest.get_node(pos)
|
||||
if node.name == name then
|
||||
return
|
||||
end
|
||||
node.name = name
|
||||
minetest.swap_node(pos, node)
|
||||
end
|
||||
|
||||
|
||||
local function freezer_node_timer(pos, elapsed)
|
||||
--
|
||||
-- Inizialize metadata
|
||||
--
|
||||
local meta = minetest.get_meta(pos)
|
||||
|
||||
local src_time = meta:get_float("src_time") or 0
|
||||
|
||||
|
||||
local inv = meta:get_inventory()
|
||||
local srclist = inv:get_list("src")
|
||||
|
||||
local dstlist = inv:get_list("dst")
|
||||
|
||||
--
|
||||
-- Cooking
|
||||
--
|
||||
|
||||
-- takes both regular and river water
|
||||
if inv:contains_item("src", "bucket:bucket_water") or
|
||||
inv:contains_item("src", "bucket:bucket_river_water") then
|
||||
if inv:room_for_item("dst", "default:ice") then
|
||||
inv:remove_item("src", "bucket:bucket_water")
|
||||
inv:remove_item("src", "bucket:bucket_river_water")
|
||||
inv:add_item("dst", "default:ice")
|
||||
inv:add_item("dst", "bucket:bucket_empty")
|
||||
end
|
||||
end
|
||||
|
||||
-- Check if we have cookable content
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
--
|
||||
-- Node definitions
|
||||
--
|
||||
color1 = minetest.setting_get("color1") or "292421"
|
||||
color2 = minetest.setting_get("color2") or "0000FF"
|
||||
color3 = minetest.setting_get("color3") or "00FF00"
|
||||
color4 = minetest.setting_get("color4") or "F5F5F5"
|
||||
color5 = minetest.setting_get("color5") or "FF6103"
|
||||
color6 = minetest.setting_get("color6") or "FF0000"
|
||||
color7 = minetest.setting_get("color7") or "FFFF00"
|
||||
color8 = minetest.setting_get("color8") or "FF69B4"
|
||||
|
||||
local fridges_list = {
|
||||
{"black", "Darkened Fridge", color1},
|
||||
{"blue", "Blue Fridge", color2},
|
||||
{"green", "Green Fridge", color3},
|
||||
{"white", "White Fridge", color4},
|
||||
{"orange", "Orange Fridge", color5},
|
||||
{"red", "Red Fridge", color6},
|
||||
{"yellow", "Yellow Fridge", color7},
|
||||
{"pink", "Pink Fridge", color8}
|
||||
}
|
||||
|
||||
for i, fridge in ipairs(fridges_list) do
|
||||
local colour = fridge[1]
|
||||
local fridgedesc = fridge[2]
|
||||
local colour2 = fridge[3]
|
||||
|
||||
minetest.register_node("ma_pops_furniture:fridge_"..colour, {
|
||||
description = fridgedesc,
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
"mp_dfridge_top.png^[colorize:#"..colour2..":70",
|
||||
"mp_dfridge_bottom.png^[colorize:#"..colour2..":70",
|
||||
"mp_dfridge_right.png^[colorize:#"..colour2..":70",
|
||||
"mp_dfridge_left.png^[colorize:#"..colour2..":70",
|
||||
"mp_dfridge_back.png^[colorize:#"..colour2..":70",
|
||||
"mp_dfridge_front.png^[colorize:#"..colour2..":70"
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
stack_max = 1,
|
||||
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.3125, 0.5, 0.5, 0.5}, -- NodeBox1
|
||||
{-0.5, -0.25, -0.375, 0.5, 0.5, -0.3125}, -- NodeBox2
|
||||
{-0.5, -0.5, -0.375, 0.5, -0.3125, -0.3125}, -- NodeBox3
|
||||
{0.375, 0, -0.4375, 0.4375, 0.5, -0.375}, -- NodeBox4
|
||||
}
|
||||
},
|
||||
|
||||
after_place_node = function(pos, placer, itemstack)
|
||||
local node = minetest.env:get_node(pos)
|
||||
local p = {x=pos.x, y=pos.y, z=pos.z}
|
||||
local param2 = node.param2
|
||||
node.name = "ma_pops_furniture:fridge_top_"..colour
|
||||
pos.y = pos.y+1
|
||||
if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to then
|
||||
minetest.env:set_node(pos, node)
|
||||
else
|
||||
minetest.env:remove_node(p)
|
||||
return true
|
||||
end
|
||||
end,
|
||||
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size('main', 8*4)
|
||||
inv:set_size('storage', 6*4)
|
||||
meta:set_string('formspec',
|
||||
'size [9,10]'..
|
||||
'bgcolor[#080808BB;true]'..
|
||||
'list[current_name;storage;2,1.5;6,4;]'..
|
||||
'list[current_player;main;0.5,6.2;8,4;]')
|
||||
end,
|
||||
|
||||
on_destruct = function(pos)
|
||||
local node = minetest.env:get_node(pos)
|
||||
local param2 = node.param2
|
||||
local abovepos = {x=pos.x, y=pos.y+1, z=pos.z}
|
||||
local abovenode = minetest.env:get_node(abovepos)
|
||||
if abovenode.name == "ma_pops_furniture:fridge_top_"..colour and
|
||||
abovenode.param2 == param2 then
|
||||
minetest.env:remove_node(abovepos)
|
||||
end
|
||||
end,
|
||||
|
||||
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:fridge_top_"..colour, {
|
||||
description = fridgedesc,
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
"mp_ufridge_top.png^[colorize:#"..colour2..":70",
|
||||
"default_wood.png^[colorize:#"..colour2..":70",
|
||||
"mp_ufridge_right.png^[colorize:#"..colour2..":70",
|
||||
"mp_ufridge_left.png^[colorize:#"..colour2..":70",
|
||||
"mp_fridge_back.png^[colorize:#"..colour2..":70",
|
||||
"mp_ufridge_front.png^[colorize:#"..colour2..":70"
|
||||
},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
|
||||
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3,not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.3125, 0.5, 0.5, 0.5}, -- NodeBox1
|
||||
{-0.5, 0.3125, -0.375, 0.5, 0.5, -0.3125}, -- NodeBox2
|
||||
{-0.5, -0.3125, -0.375, 0.5, 0.25, -0.3125}, -- NodeBox3
|
||||
{-0.5, -0.5, -0.375, 0.5, -0.375, -0.3125}, -- NodeBox4
|
||||
{0.375, -0.25, -0.4375, 0.4375, 0.125, -0.375}, -- NodeBox6
|
||||
}
|
||||
},
|
||||
|
||||
can_dig = can_dig,
|
||||
|
||||
on_timer = freezer_node_timer,
|
||||
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec", inactive_formspec)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size('src', 1)
|
||||
inv:set_size('dst', 6)
|
||||
end,
|
||||
|
||||
on_metadata_inventory_move = function(pos)
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
timer:start(1.0)
|
||||
end,
|
||||
on_metadata_inventory_put = function(pos)
|
||||
-- start timer function, it will sort out whether freezer will work or not.
|
||||
local timer = minetest.get_node_timer(pos)
|
||||
timer:start(1.0)
|
||||
end,
|
||||
on_blast = function(pos)
|
||||
local drops = {}
|
||||
default.get_inventory_drops(pos, "src", drops)
|
||||
default.get_inventory_drops(pos, "dst", drops)
|
||||
drops[#drops+1] = "ma_pops_furniture:freezer"
|
||||
minetest.remove_node(pos)
|
||||
return drops
|
||||
end,
|
||||
|
||||
allow_metadata_inventory_put = allow_metadata_inventory_put,
|
||||
allow_metadata_inventory_move = allow_metadata_inventory_move,
|
||||
allow_metadata_inventory_take = allow_metadata_inventory_take,
|
||||
})
|
||||
minetest.register_alias("fridges:fridge_"..colour, "fridges:fridge_bottom_"..colour)
|
||||
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
output = "default:snowblock 3",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"default:ice"
|
||||
}
|
||||
})
|
198
mods/ma_pops_furniture/functions.lua
Normal file
|
@ -0,0 +1,198 @@
|
|||
local function top_face(pointed_thing)
|
||||
if not pointed_thing then return end
|
||||
return pointed_thing.above.y > pointed_thing.under.y
|
||||
end
|
||||
|
||||
function ma_pops_furniture.sit(pos, node, clicker, pointed_thing)
|
||||
if not top_face(pointed_thing) then return end
|
||||
local player_name = clicker:get_player_name()
|
||||
local objs = minetest.get_objects_inside_radius(pos, 0.1)
|
||||
local vel = clicker:get_player_velocity()
|
||||
local ctrl = clicker:get_player_control()
|
||||
|
||||
for _, obj in pairs(objs) do
|
||||
if obj:is_player() and obj:get_player_name() ~= player_name then
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
if default.player_attached[player_name] then
|
||||
pos.y = pos.y - 0.5
|
||||
clicker:setpos(pos)
|
||||
clicker:set_eye_offset({x=0, y=0, z=0}, {x=0, y=0, z=0})
|
||||
clicker:set_physics_override({ speed = 1,
|
||||
jump = 1,
|
||||
gravity = 1 })
|
||||
default.player_attached[player_name] = false
|
||||
default.player_set_animation(clicker, "stand", 30)
|
||||
|
||||
elseif not default.player_attached[player_name] and node.param2 <= 3 and
|
||||
not ctrl.sneak and vector.equals(vel, {x=0,y=0,z=0}) then
|
||||
|
||||
clicker:set_eye_offset({x=0, y=-7, z=2}, {x=0, y=0, z=0})
|
||||
clicker:set_physics_override({ speed = 0,
|
||||
jump = 0,
|
||||
gravity = 0 })
|
||||
clicker:setpos(pos)
|
||||
default.player_attached[player_name] = true
|
||||
default.player_set_animation(clicker, "sit", 30)
|
||||
|
||||
if node.param2 == 0 then clicker:set_look_yaw(3.15)
|
||||
elseif node.param2 == 1 then clicker:set_look_yaw(7.9)
|
||||
elseif node.param2 == 2 then clicker:set_look_yaw(6.28)
|
||||
elseif node.param2 == 3 then clicker:set_look_yaw(4.75) end
|
||||
end
|
||||
end
|
||||
|
||||
function ma_pops_furniture.sit_dig(pos, digger)
|
||||
for _, player in pairs(minetest.get_objects_inside_radius(pos, 0.1)) do
|
||||
if player:is_player() and
|
||||
default.player_attached[player:get_player_name()] then
|
||||
return false
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
|
||||
|
||||
ma_pops_furniture.window_operate = function( pos, old_node_state_name, new_node_state_name )
|
||||
|
||||
local offsets = {-1,1,-2,2,-3,3};
|
||||
local stop_up = 0;
|
||||
local stop_down = 0;
|
||||
|
||||
for i,v in ipairs(offsets) do
|
||||
|
||||
local node = minetest.get_node_or_nil( {x=pos.x, y=(pos.y+v), z=pos.z } );
|
||||
if( node and node.name and node.name==old_node_state_name
|
||||
and ( (v > 0 and stop_up == 0 )
|
||||
or (v < 0 and stop_down == 0 ))) then
|
||||
|
||||
minetest.add_node({x=pos.x, y=(pos.y+v), z=pos.z }, {name = new_node_state_name, param2 = node.param2})
|
||||
|
||||
-- found a diffrent node - no need to search further up
|
||||
elseif( v > 0 and stop_up == 0 ) then
|
||||
stop_up = 1;
|
||||
|
||||
elseif( v < 0 and stop_down == 0 ) then
|
||||
stop_down = 1;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--[[
|
||||
minetest.register_abm({
|
||||
nodenames = {"ma_pops_furniture:table_wood"},
|
||||
interval = 1, --This will be checked every second
|
||||
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
if pos then
|
||||
if minetest.get_item_group(minetest.get_node({x = pos.x+1, y = pos.y, z = pos.z}).name, "table") == 1
|
||||
and minetest.get_item_group(minetest.get_node({x = pos.x-1, y = pos.y, z = pos.z}).name, "table") == 1 then
|
||||
minetest.set_node(pos, {name = "ma_pops_furniture:table_c2_wood"})
|
||||
|
||||
elseif minetest.get_item_group(minetest.get_node({x = pos.x, y = pos.y, z = pos.z+1}).name, "table") == 1
|
||||
and minetest.get_item_group(minetest.get_node({x = pos.x, y = pos.y, z = pos.z-1}).name, "table") == 1 then
|
||||
minetest.set_node(pos, {name = "ma_pops_furniture:table_c2_wood"})
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
--]]
|
||||
|
||||
function ma_pops_furniture.check_table(pos, material, check_this, check_others)
|
||||
if pos then
|
||||
local north_table = minetest.get_node({x = pos.x, y = pos.y, z = pos.z+1})
|
||||
local north_table_exists = minetest.get_item_group(north_table.name, "table") == 1
|
||||
|
||||
local east_table = minetest.get_node({x = pos.x+1, y = pos.y, z = pos.z})
|
||||
local east_table_exists = minetest.get_item_group(east_table.name, "table") == 1
|
||||
|
||||
local south_table = minetest.get_node({x = pos.x, y = pos.y, z = pos.z-1})
|
||||
local south_table_exists = minetest.get_item_group(south_table.name, "table") == 1
|
||||
|
||||
local west_table = minetest.get_node({x = pos.x-1, y = pos.y, z = pos.z})
|
||||
local west_table_exists = minetest.get_item_group(west_table.name, "table") == 1
|
||||
|
||||
if check_this then
|
||||
if north_table_exists and east_table_exists and south_table_exists and west_table_exists then
|
||||
minetest.set_node(pos, {name = "ma_pops_furniture:table_center_"..material})
|
||||
|
||||
elseif east_table_exists and west_table_exists then
|
||||
if north_table_exists then
|
||||
minetest.set_node(pos, {name = "ma_pops_furniture:table_c_"..material, param2 = 3})
|
||||
elseif south_table_exists then
|
||||
minetest.set_node(pos, {name = "ma_pops_furniture:table_c_"..material, param2 = 1})
|
||||
else
|
||||
minetest.set_node(pos, {name = "ma_pops_furniture:table_center_"..material})
|
||||
end
|
||||
|
||||
elseif north_table_exists and south_table_exists then
|
||||
if east_table_exists then
|
||||
minetest.set_node(pos, {name = "ma_pops_furniture:table_c_"..material, param2 = 0})
|
||||
elseif west_table_exists then
|
||||
minetest.set_node(pos, {name = "ma_pops_furniture:table_c_"..material, param2 = 2})
|
||||
else
|
||||
minetest.set_node(pos, {name = "ma_pops_furniture:table_center_"..material})
|
||||
end
|
||||
|
||||
elseif north_table_exists ~= east_table_exists ~= south_table_exists ~= west_table_exists then
|
||||
local facedir
|
||||
|
||||
if north_table_exists then facedir = 3
|
||||
elseif east_table_exists then facedir = 0
|
||||
elseif south_table_exists then facedir = 1
|
||||
else facedir = 2
|
||||
end
|
||||
|
||||
minetest.set_node(pos, {name = "ma_pops_furniture:table_c_"..material, param2 = facedir})
|
||||
|
||||
else
|
||||
minetest.set_node(pos, {name = "ma_pops_furniture:table_"..material})
|
||||
end
|
||||
end
|
||||
|
||||
if check_others then
|
||||
if north_table_exists then
|
||||
if north_table.name:sub(24, 31) == "_center_" then
|
||||
ma_pops_furniture.check_table({x = pos.x, y = pos.y, z = pos.z+1}, north_table.name:sub(32), true, false)
|
||||
elseif north_table.name:sub(24, 26) == "_c_" then
|
||||
ma_pops_furniture.check_table({x = pos.x, y = pos.y, z = pos.z+1}, north_table.name:sub(27), true, false)
|
||||
else
|
||||
ma_pops_furniture.check_table({x = pos.x, y = pos.y, z = pos.z+1}, north_table.name:sub(25), true, false)
|
||||
end
|
||||
end
|
||||
|
||||
if east_table_exists then
|
||||
if east_table.name:sub(24, 31) == "_center_" then
|
||||
ma_pops_furniture.check_table({x = pos.x+1, y = pos.y, z = pos.z}, east_table.name:sub(32), true, false)
|
||||
elseif east_table.name:sub(24, 26) == "_c_" then
|
||||
ma_pops_furniture.check_table({x = pos.x+1, y = pos.y, z = pos.z}, east_table.name:sub(27), true, false)
|
||||
else
|
||||
ma_pops_furniture.check_table({x = pos.x+1, y = pos.y, z = pos.z}, east_table.name:sub(25), true, false)
|
||||
end
|
||||
end
|
||||
|
||||
if south_table_exists then
|
||||
if south_table.name:sub(24, 31) == "_center_" then
|
||||
ma_pops_furniture.check_table({x = pos.x, y = pos.y, z = pos.z-1}, south_table.name:sub(32), true, false)
|
||||
elseif south_table.name:sub(24, 26) == "_c_" then
|
||||
ma_pops_furniture.check_table({x = pos.x, y = pos.y, z = pos.z-1}, south_table.name:sub(27), true, false)
|
||||
else
|
||||
ma_pops_furniture.check_table({x = pos.x, y = pos.y, z = pos.z-1}, south_table.name:sub(25), true, false)
|
||||
end
|
||||
end
|
||||
|
||||
if west_table_exists then
|
||||
if west_table.name:sub(24, 31) == "_center_" then
|
||||
ma_pops_furniture.check_table({x = pos.x-1, y = pos.y, z = pos.z}, west_table.name:sub(32), true, false)
|
||||
elseif west_table.name:sub(24, 26) == "_c_" then
|
||||
ma_pops_furniture.check_table({x = pos.x-1, y = pos.y, z = pos.z}, west_table.name:sub(27), true, false)
|
||||
else
|
||||
ma_pops_furniture.check_table({x = pos.x-1, y = pos.y, z = pos.z}, west_table.name:sub(25), true, false)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
246
mods/ma_pops_furniture/grill2.lua
Normal file
|
@ -0,0 +1,246 @@
|
|||
local minetest = minetest
|
||||
|
||||
local grill_nodebox = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.450, -0.5, -0.450, -0.350, -0.3, -0.350},
|
||||
{0.450, -0.5, -0.450, 0.350, -0.3, -0.350},
|
||||
{-0.450, -0.5, 0.450, -0.350, -0.3, 0.350},
|
||||
{0.450, -0.5, 0.450, 0.350, -0.3, 0.350},
|
||||
|
||||
{-0.4, -0.3, -0.4, -0.3, 0.0, -0.3},
|
||||
{0.4, -0.3, -0.4, 0.3, 0.0, -0.3},
|
||||
{-0.4, -0.3, 0.4, -0.3, 0.0, 0.3},
|
||||
{0.4, -0.3, 0.4, 0.3, 0.0, 0.3},
|
||||
|
||||
{-0.4, -0.0, -0.4, 0.4, 0.2, 0.4},
|
||||
{-0.5, 0.190, -0.5, 0.5, 0.4, 0.5},
|
||||
|
||||
{-0.4375, 0.4, 0.5, -0.5, 0.5, -0.5},
|
||||
{0.4375, 0.4, 0.5, 0.5, 0.5, -0.5},
|
||||
{-0.5, 0.4, 0.4375, 0.5, 0.5, 0.5},
|
||||
{-0.5, 0.4, -0.4375, 0.5, 0.5, -0.5},
|
||||
}
|
||||
}
|
||||
|
||||
local top_closed_nodebox = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4375, -0.375, -0.4375, 0.4375, -0.3125, 0.4375},
|
||||
{-0.5, -0.5, -0.4375, -0.4375, -0.375, 0.5},
|
||||
{0.4375, -0.5, -0.5, 0.5, -0.375, 0.4375},
|
||||
{-0.5, -0.5, -0.5, 0.4375, -0.375, -0.4375},
|
||||
{-0.4375, -0.5, 0.4375, 0.5, -0.375, 0.5},
|
||||
}
|
||||
}
|
||||
|
||||
local top_open_nodebox = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.4375, 0.3125, -0.4375, 0.5, 0.4375},
|
||||
{0.4375, -0.5, 0.3125, 0.5, 0.4375, 0.4375},
|
||||
{-0.4375, 0.4375, 0.3125, 0.5, 0.5, 0.4375},
|
||||
{-0.5, -0.5, 0.3125, 0.4375, -0.4375, 0.4375},
|
||||
{-0.4375, -0.4375, 0.4375, 0.4375, 0.4375, 0.5},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
local grill_texture = 'default_stone.png'
|
||||
local grill_name = 'ma_pops_furniture:grill'
|
||||
local grill_on_name = 'ma_pops_furniture:grill_on'
|
||||
local grill2_off_name = 'ma_pops_furniture:grill2'
|
||||
local grill2_on_name = 'ma_pops_furniture:grill2_on'
|
||||
local grill2_on_no_light_name = 'ma_pops_furniture:grill2_on_nolight'
|
||||
local grill_top_name = 'ma_pops_furniture:grill2_top'
|
||||
local grill_top_open_name = 'ma_pops_furniture:grill2_top_open'
|
||||
|
||||
local function above(pos)
|
||||
return {x=pos.x, y=pos.y+1, z=pos.z}
|
||||
end
|
||||
|
||||
local function below(pos)
|
||||
return {x=pos.x, y=pos.y-1, z=pos.z}
|
||||
end
|
||||
|
||||
local function after_dig(pos, oldnode, oldmetadata, digger)
|
||||
local node_above = minetest.get_node(above(pos))
|
||||
|
||||
if node_above.name == grill_top_open_name or
|
||||
node_above.name == grill_top_name then
|
||||
minetest.dig_node(above(pos))
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
minetest.register_node(grill_name, {
|
||||
description = "Grill",
|
||||
tiles = {
|
||||
"default_coal_block.png^mp_grillt.png",
|
||||
grill_texture,
|
||||
grill_texture .. "^mp_grills.png",
|
||||
grill_texture .. "^mp_grills.png",
|
||||
grill_texture .. "^mp_grills.png",
|
||||
grill_texture .. "^mp_grills.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
drop = grill_name,
|
||||
paramtype = "light",
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
minetest.swap_node(pos, {name = grill_on_name})
|
||||
end,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
node_box = grill_nodebox
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:grill_on", {
|
||||
description = "Grill (on)",
|
||||
tiles = {
|
||||
"default_coal_block.png^mp_grillton.png",
|
||||
grill_texture,
|
||||
grill_texture .. "^mp_grills.png",
|
||||
grill_texture .. "^mp_grills.png",
|
||||
grill_texture .. "^mp_grills.png",
|
||||
grill_texture .. "^mp_grills.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
drop = grill_name,
|
||||
paramtype = "light",
|
||||
light_source = 10,
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
minetest.swap_node(pos, {name = grill_name})
|
||||
end,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, not_in_creative_inventory = 1},
|
||||
node_box = grill_nodebox
|
||||
})
|
||||
|
||||
minetest.register_node(grill2_off_name, {
|
||||
description = "Lidded Grill",
|
||||
tiles = {
|
||||
grill_texture .. "^mp_grillt.png",
|
||||
grill_texture,
|
||||
grill_texture .. "^mp_grills.png",
|
||||
grill_texture .. "^mp_grills.png",
|
||||
grill_texture .. "^mp_grills.png",
|
||||
grill_texture .. "^mp_grills.png",
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
drop = grill2_off_name,
|
||||
paramtype = "light",
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
local node_above = minetest.get_node(above(pos))
|
||||
|
||||
if node_above.name == grill_top_open_name then
|
||||
minetest.swap_node(pos, {name = grill2_on_name})
|
||||
end
|
||||
|
||||
if node_above.name == grill_top_name then
|
||||
minetest.swap_node(pos, {name = grill2_on_no_light_name})
|
||||
end
|
||||
end,
|
||||
|
||||
after_dig_node = after_dig,
|
||||
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
on_construct = function(pos)
|
||||
local pos_above = above(pos)
|
||||
local node_above = minetest.get_node(pos_above)
|
||||
|
||||
minetest.place_node(pos_above, {name = grill_top_name})
|
||||
if node_above.name == "air" then
|
||||
--
|
||||
end
|
||||
end,
|
||||
node_box = grill_nodebox
|
||||
})
|
||||
|
||||
minetest.register_node(grill2_on_name, {
|
||||
description = "Lidded Grill (on)",
|
||||
tiles = {
|
||||
grill_texture .. "^mp_grillton.png",
|
||||
grill_texture,
|
||||
grill_texture .. "^mp_grills.png",
|
||||
grill_texture .. "^mp_grills.png",
|
||||
grill_texture .. "^mp_grills.png",
|
||||
grill_texture .. "^mp_grills.png",
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
drop = grill2_off_name,
|
||||
paramtype = "light",
|
||||
light_source = 10,
|
||||
paramtype2 = "facedir",
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
minetest.swap_node(pos, {name = grill2_off_name})
|
||||
end,
|
||||
after_dig_node = after_dig,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, not_in_creative_inventory = 1},
|
||||
node_box = grill_nodebox
|
||||
})
|
||||
|
||||
minetest.register_node(grill2_on_no_light_name, {
|
||||
description = "Lidded Grill (on)",
|
||||
tiles = {
|
||||
grill_texture .. "^mp_grillton.png",
|
||||
grill_texture,
|
||||
grill_texture .. "^mp_grills.png",
|
||||
grill_texture .. "^mp_grills.png",
|
||||
grill_texture .. "^mp_grills.png",
|
||||
grill_texture .. "^mp_grills.png",
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
drop = grill2_off_name,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
minetest.swap_node(pos, {name=grill2_off_name})
|
||||
end,
|
||||
after_dig_node = after_dig,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, not_in_creative_inventory = 1},
|
||||
node_box = grill_nodebox
|
||||
})
|
||||
|
||||
minetest.register_node(grill_top_name, {
|
||||
description = "Grill lid",
|
||||
tiles = {
|
||||
grill_texture
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
drop = '',
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
-- open lid
|
||||
if minetest.get_node(below(pos)).name == grill2_on_no_light_name then
|
||||
minetest.swap_node(below(pos), {name = grill2_on_name})
|
||||
end
|
||||
|
||||
minetest.swap_node(pos, {name = grill_top_open_name})
|
||||
end,
|
||||
groups = {not_in_creative_inventory = 1},
|
||||
node_box = top_closed_nodebox
|
||||
})
|
||||
|
||||
minetest.register_node(grill_top_open_name, {
|
||||
description = "Grill lid",
|
||||
tiles = {
|
||||
grill_texture
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
drop = '',
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
-- close lid
|
||||
if minetest.get_node(below(pos)).name == grill2_on_name then
|
||||
minetest.swap_node(below(pos), {name = grill2_on_no_light_name})
|
||||
end
|
||||
|
||||
minetest.swap_node(pos, {name = grill_top_name})
|
||||
end,
|
||||
groups = {not_in_creative_inventory = 1},
|
||||
node_box = top_open_nodebox
|
||||
})
|
71
mods/ma_pops_furniture/init.lua
Normal file
|
@ -0,0 +1,71 @@
|
|||
ma_pops_furniture = {}
|
||||
|
||||
--GreenDimond's code from waffle mod
|
||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
||||
local S, NS = dofile(MP.."/intllib.lua")
|
||||
|
||||
ma_pops_furniture.intllib = S
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/intllib.lua')
|
||||
|
||||
moditems = {} -- switcher
|
||||
|
||||
if core.get_modpath("mcl_core") and mcl_core then -- means MineClone 2 is loaded, this is its core mod
|
||||
moditems.IRON_ITEM = "mcl_core:iron_ingot" -- MCL version of iron ingot
|
||||
moditems.COAL_ITEM = "mcl_core:coalblock" -- MCL version of coal block
|
||||
moditems.CORAL_SKELETON = "mcl_nether:quartz_block" -- MCL version of green dye
|
||||
moditems.SILVER_SANDSTONE = "mcl_nether:quartz_block" -- MCL version of green dye
|
||||
moditems.INVENTORY = "mcl_inventory:crafting_formspec_bg2" -- MCL version of green dye
|
||||
moditems.INFOBOX_CAN = {}
|
||||
moditems.INFOBOX_DUMP = {}
|
||||
moditems.BOXART = "bgcolor[#d0d0d0;false]listcolors[#9d9d9d;#9d9d9d;#5c5c5c;#000000;#ffffff]" -- trying to imitate MCL boxart
|
||||
|
||||
else -- fallback, assume default (MineTest Game) is loaded, otherwise it will error anyway here.
|
||||
moditems.IRON_ITEM = "default:steel_ingot" -- MTG iron ingot
|
||||
moditems.COAL_ITEM = "default:coalblock" -- MTG coal block
|
||||
moditems.CORAL_SKELETON = "default:coral_skeleton" -- MCL version of green dye
|
||||
moditems.SILVER_SANDSTONE = "default:silver_sandstone" -- MCL version of green dye
|
||||
moditems.INVENTORY = "default:silver_sandstone" -- MCL version of green dye
|
||||
moditems.INFOBOX_CAN = "Trash Can"
|
||||
moditems.INFOBOX_DUMP = "Dumpster"
|
||||
moditems.BOXART = ""
|
||||
end
|
||||
|
||||
-- actual use in the code down somewhere.
|
||||
material = moditems.IRON_ITEM
|
||||
sounds = moditems.WOOD_SOUNDS
|
||||
|
||||
_doc_items_longdesc = moditems.STRING_ITEM
|
||||
|
||||
local sounds
|
||||
|
||||
if mcl_sounds then
|
||||
sounds = mcl_sounds.node_sound_metal_defaults()
|
||||
else
|
||||
if default.node_sound_metal_defaults then
|
||||
sounds = default.node_sound_metal_defaults()
|
||||
else
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
end
|
||||
end
|
||||
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/toaster.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/abm.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/bathroom.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/bedroom.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/kitchen.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/living_room.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/microwave.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/dining_room.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/outside.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/misc.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/oven.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/joyb.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/stereo.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/sofa.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/tv.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/toys.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/tools.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/functions.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/formspecs.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/fridge.lua')
|
||||
dofile(minetest.get_modpath('ma_pops_furniture')..'/crafts.lua')
|
45
mods/ma_pops_furniture/intllib.lua
Normal file
|
@ -0,0 +1,45 @@
|
|||
|
||||
-- Fallback functions for when `intllib` is not installed.
|
||||
-- Code released under Unlicense <http://unlicense.org>.
|
||||
|
||||
-- Get the latest version of this file at:
|
||||
-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua
|
||||
|
||||
local function format(str, ...)
|
||||
local args = { ... }
|
||||
local function repl(escape, open, num, close)
|
||||
if escape == "" then
|
||||
local replacement = tostring(args[tonumber(num)])
|
||||
if open == "" then
|
||||
replacement = replacement..close
|
||||
end
|
||||
return replacement
|
||||
else
|
||||
return "@"..open..num..close
|
||||
end
|
||||
end
|
||||
return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl))
|
||||
end
|
||||
|
||||
local gettext, ngettext
|
||||
if minetest.get_modpath("intllib") then
|
||||
if intllib.make_gettext_pair then
|
||||
-- New method using gettext.
|
||||
gettext, ngettext = intllib.make_gettext_pair()
|
||||
else
|
||||
-- Old method using text files.
|
||||
gettext = intllib.Getter()
|
||||
end
|
||||
end
|
||||
|
||||
-- Fill in missing functions.
|
||||
|
||||
gettext = gettext or function(msgid, ...)
|
||||
return format(msgid, ...)
|
||||
end
|
||||
|
||||
ngettext = ngettext or function(msgid, msgid_plural, n, ...)
|
||||
return format(n==1 and msgid or msgid_plural, ...)
|
||||
end
|
||||
|
||||
return gettext, ngettext
|
85
mods/ma_pops_furniture/joyb.lua
Normal file
|
@ -0,0 +1,85 @@
|
|||
minetest.register_node("ma_pops_furniture:venext_console", {
|
||||
description = "jOyBoX",
|
||||
tiles = {
|
||||
"mp_venext_top1.png",
|
||||
"mp_venext_bottom.png",
|
||||
"mp_venext_side.png",
|
||||
"mp_venext_side2.png",
|
||||
"mp_venext_back.png",
|
||||
"mp_venext_front.png",
|
||||
},
|
||||
groups = {snappy=1,bendy=2,cracky=1},
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = 'facedir',
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.1875, 0.4375},
|
||||
{-0.375, -0.1875, -0.375, 0.375, -0.0625, 0.375},
|
||||
{0.3125, -0.4375, -0.5, 0.375, -0.375, -0.4375},
|
||||
{0.1875, -0.4375, -0.5, 0.25, -0.375, -0.4375},
|
||||
}
|
||||
},
|
||||
on_rightclick = function(pos, node, player, itemstack, pointed_thing)
|
||||
if itemstack:get_name() == 'ma_pops_furniture:cartridge' then
|
||||
node.name = "ma_pops_furniture:jOyBoX_cart"
|
||||
minetest.set_node(pos, node)
|
||||
if not minetest.is_creative_enabled(player:get_player_name()) then
|
||||
itemstack:take_item()
|
||||
player:set_wielded_item(itemstack)
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:jOyBoX_cart", {
|
||||
description = "jOyBoX (with cartridge)",
|
||||
tiles = {
|
||||
"mp_venext_top.png",
|
||||
"mp_venext_bottom.png",
|
||||
"mp_venext_side.png",
|
||||
"mp_venext_side2.png",
|
||||
"mp_venext_back.png",
|
||||
"mp_venext_front.png",
|
||||
},
|
||||
groups = {snappy=1,bendy=2,cracky=1},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = 'facedir',
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4375, -0.5, -0.4375, 0.4375, -0.1875, 0.4375},
|
||||
{-0.375, -0.1875, -0.375, 0.375, -0.0625, 0.375},
|
||||
{0.3125, -0.4375, -0.5, 0.375, -0.375, -0.4375},
|
||||
{0.1875, -0.4375, -0.5, 0.25, -0.375, -0.4375},
|
||||
{0.25, 0.1, -0.07, -0.25, -0.4375, 0.14},
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:cartridge", {
|
||||
description = "cartridge",
|
||||
tiles = {
|
||||
"mp_cartridge.png",
|
||||
"mp_cartridge_bottom.png",
|
||||
"mp_cartridge.png",
|
||||
"mp_cartridge.png",
|
||||
"mp_cartridge_back.png",
|
||||
"mp_cartridge_front.png",
|
||||
},
|
||||
groups = {snappy=1,bendy=2,cracky=1},
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = 'facedir',
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{0.25, -0.1900, -0.07, -0.25, -0.5, 0.14},
|
||||
}
|
||||
}
|
||||
})
|
1278
mods/ma_pops_furniture/kitchen.lua
Normal file
492
mods/ma_pops_furniture/living_room.lua
Normal file
|
@ -0,0 +1,492 @@
|
|||
minetest.register_node('ma_pops_furniture:fireplace', {
|
||||
description = 'Fireplace',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'FM_fireplace_off.obj',
|
||||
tiles = {{name='default_brick.png'},{name='xpanes_bar.png'}},
|
||||
groups = {cracky=2, oddly_breakable_by_hand=6, furniture=1},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
sounds = moditems.STONE_SOUNDS,
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size('fuel', 1)
|
||||
inv:set_size('main', 8*4)
|
||||
meta:set_string('formspec', ma_pops_furniture.fireplace_formspec)
|
||||
meta:set_string('infotext', 'Fireplace')
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty('fuel')
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node('ma_pops_furniture:fireplace_on', {
|
||||
description = 'Fireplace',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'FM_fireplace_on.obj',
|
||||
tiles = {{name='default_brick.png'},{name='xpanes_bar.png'},{name='default_tree.png'},{name='fire_basic_flame_animated.png', animation={type='vertical_frames', aspect_w=16, aspect_h=16, length=1}}},
|
||||
groups = {cracky=2, oddly_breakable_by_hand=3, furniture=1, not_in_creative_inventory=1},
|
||||
light_source = 14,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
drops = 'ma_pops_furniture:fireplace',
|
||||
sounds = moditems.STONE_SOUNDS,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty('fuel')
|
||||
end,
|
||||
})
|
||||
|
||||
local c_table = { --name, material, invimg
|
||||
{'Stone Coffee Table', 'cobble'},
|
||||
{'Wood Coffee Table', 'wood'},
|
||||
{'Acacia Wood Coffee Table', 'acacia_wood'},
|
||||
{'Aspen Wood Coffee Table', 'aspen_wood'},
|
||||
{'Pine Wood Coffee Table', 'pine_wood'},
|
||||
{'Jungle Wood Coffee Table', 'junglewood'}
|
||||
}
|
||||
|
||||
for i in ipairs (c_table) do
|
||||
local name = c_table[i][1]
|
||||
local material = c_table[i][2]
|
||||
local invimg = c_table[i][3]
|
||||
|
||||
minetest.register_node('ma_pops_furniture:c_'..material, {
|
||||
description = name,
|
||||
drawtype = 'nodebox',
|
||||
tiles = {'default_'..material..'.png'},
|
||||
groups = {choppy=2, oddly_breakably_by_hand=2, furniture=1, flammable=1},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
for _, obj in ipairs (minetest.get_connected_players()) do
|
||||
local item = obj:get_wielded_item():get_name()
|
||||
if item == 'ma_pops_furniture:c_'..material then
|
||||
node.name = 'ma_pops_furniture:end_table_'..material
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
end
|
||||
end
|
||||
end,
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, -0.4, 0.0, -0.4},
|
||||
{-0.5, -0.5, 0.5, -0.4, 0.0, 0.4},
|
||||
{0.5, -0.5, -0.5, 0.4, 0.0, -0.4},
|
||||
{0.5, -0.5, 0.5, 0.4, 0.0, 0.4},
|
||||
{0.5, 0.1, 0.5, -0.5, 0.0, -0.5},
|
||||
{0.5, -0.3, 0.5, -0.5, -0.4, -0.5},
|
||||
},
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
local end_table = { --name, material, invimg
|
||||
{'Stone End Table', 'cobble'},
|
||||
{'Wood End Table', 'wood'},
|
||||
{'Acacia Wood End Table', 'acacia_wood'},
|
||||
{'Aspen Wood End Table', 'aspen_wood'},
|
||||
{'Pine Wood End Table', 'pine_wood'},
|
||||
{'Jungle Wood End Table', 'junglewood'}
|
||||
}
|
||||
|
||||
for i in ipairs (end_table) do
|
||||
local name = end_table[i][1]
|
||||
local material = end_table[i][2]
|
||||
local invimg = end_table[i][3]
|
||||
|
||||
minetest.register_node('ma_pops_furniture:end_table_'..material, {
|
||||
description = name,
|
||||
drawtype = 'nodebox',
|
||||
tiles = {'default_'..material..'.png'},
|
||||
groups = {choppy=2, oddly_breakably_by_hand=2, furniture=1, flammable=1},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, -0.4, 0.5, -0.4},
|
||||
{-0.5, -0.5, 0.5, -0.4, 0.5, 0.4},
|
||||
{0.5, -0.5, -0.5, 0.4, 0.5, -0.4},
|
||||
{0.5, -0.5, 0.5, 0.4, 0.5, 0.4},
|
||||
{0.5, 0.4, 0.5, -0.5, 0.5, -0.5},
|
||||
{0.5, -0.3, 0.5, -0.5, -0.2, -0.5},
|
||||
},
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
local unit_table = { --name, material
|
||||
{'Wood Entertainment Unit', 'wood'},
|
||||
{'Acacia Wood Entertainment Unit', 'acacia_wood'},
|
||||
{'Aspen Wood Entertainment Unit', 'aspen_wood'},
|
||||
{'Pine Wood Entertainment Unit', 'pine_wood'},
|
||||
{'Jungle Wood Entertainment Unit', 'junglewood'}
|
||||
}
|
||||
|
||||
for i in ipairs (unit_table) do
|
||||
local name = unit_table[i][1]
|
||||
local material = unit_table[i][2]
|
||||
local invimg = unit_table[i][3]
|
||||
|
||||
minetest.register_node("ma_pops_furniture:e_u_"..material, {
|
||||
description= name,
|
||||
tiles= {'default_'..material..'.png'},
|
||||
drawtype= "nodebox",
|
||||
paramtype= "light",
|
||||
paramtype2 = "facedir",
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, furniture = 1},
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size('main', 8*4)
|
||||
inv:set_size('storage', 3*3)
|
||||
meta:set_string('formspec',
|
||||
'size [9,10]'..
|
||||
'bgcolor[#080808BB;true]'..
|
||||
'list[current_name;storage;3,1.5;3,3;]'..
|
||||
'list[current_player;main;0.5,6.5;8,4;]')
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty('storage') and inv:is_empty('storage1')
|
||||
end,
|
||||
node_box= {
|
||||
type= "fixed",
|
||||
fixed= {
|
||||
{-0.5, -0.5, -0.5, -0.4, 0.5, 0.5},
|
||||
{0.5, -0.5, -0.5, 0.4, 0.5, 0.5},
|
||||
{-0.5, 0.4, -0.5, 0.5, 0.5, 0.5},
|
||||
{-0.5, -0.050, -0.5, 0.5, 0.050, 0.5},
|
||||
{-0.5, -0.5, 0.5, 0.5, 0.5, 0.4},
|
||||
},
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_node('ma_pops_furniture:vcr_on', {
|
||||
description= "VCR",
|
||||
tiles = {
|
||||
"default_coal_block.png",
|
||||
"default_coal_block.png",
|
||||
"default_coal_block.png",
|
||||
"default_coal_block.png",
|
||||
"default_coal_block.png",
|
||||
"default_coal_block.png^mp_vcr_on.png"
|
||||
},
|
||||
drawtype= "nodebox",
|
||||
paramtype= "light",
|
||||
paramtype2 = "facedir",
|
||||
drop = 'ma_pops_furniture:vcr_off',
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, not_in_creative_inventory=1, furniture = 1},
|
||||
node_box= {
|
||||
type= "fixed",
|
||||
fixed= {
|
||||
{-0.375, -0.5, -0.25, 0.375, -0.4375, 0.25},
|
||||
{-0.4375, -0.4375, -0.3125, 0.4375, -0.25, 0.3125},
|
||||
},
|
||||
},
|
||||
on_rightclick = function (pos, node, puncher)
|
||||
node.name = "ma_pops_furniture:vcr_off"
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node('ma_pops_furniture:vcr_off', {
|
||||
description= "VCR",
|
||||
tiles = {
|
||||
"default_coal_block.png",
|
||||
"default_coal_block.png",
|
||||
"default_coal_block.png",
|
||||
"default_coal_block.png",
|
||||
"default_coal_block.png",
|
||||
"default_coal_block.png^mp_vcr_off.png"
|
||||
},
|
||||
drawtype= "nodebox",
|
||||
paramtype= "light",
|
||||
paramtype2 = "facedir",
|
||||
drop = 'ma_pops_furniture:vcr_off',
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, furniture = 1},
|
||||
node_box= {
|
||||
type= "fixed",
|
||||
fixed= {
|
||||
{-0.375, -0.5, -0.25, 0.375, -0.4375, 0.25},
|
||||
{-0.4375, -0.4375, -0.3125, 0.4375, -0.25, 0.3125},
|
||||
},
|
||||
},
|
||||
on_rightclick = function (pos, node, puncher)
|
||||
node.name = "ma_pops_furniture:vcr_on"
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
})
|
||||
|
||||
local chair2_table = { --name, color, colorize(hex or color name:intensity(1-255))
|
||||
{'Black', 'black', 'black:225'},
|
||||
{'Blue', 'blue', 'blue:225'},
|
||||
{'Brown', 'brown', 'brown:225'},
|
||||
{'Cyan', 'cyan', 'cyan:200'},
|
||||
{'Dark Green', 'dark_green', 'green:225'},
|
||||
{'Dark Grey', 'dark_grey', 'black:200'},
|
||||
{'Green', 'green', '#32cd32:150'},
|
||||
{'Grey', 'grey', 'black:100'},
|
||||
{'Magenta', 'magenta', 'magenta:200'},
|
||||
{'Orange', 'orange', 'orange:225'},
|
||||
{'Pink', 'pink', 'pink:225'},
|
||||
{'Red', 'red', 'red:225'},
|
||||
{'Violet', 'violet', 'violet:225'},
|
||||
{'White', 'white', 'white:1'},
|
||||
{'Yellow', 'yellow', 'yellow:225'},
|
||||
}
|
||||
|
||||
for i in ipairs (chair2_table) do
|
||||
local name = chair2_table[i][1]
|
||||
local color = chair2_table[i][2]
|
||||
local hex = chair2_table[i][3]
|
||||
|
||||
local cb = "^([combine:16x16:0,0=mp_cb.png^[mask:mp_mask.png)"
|
||||
local cf = "^([combine:16x16:0,0=mp_cf.png^[mask:mp_mask.png)"
|
||||
|
||||
minetest.register_node("ma_pops_furniture:chair2_"..color, {
|
||||
description = name.." Chair",
|
||||
tiles = {"wool_"..color..".png","wool_"..color..".png"..cb,"wool_"..color..".png"..cf,"wool_"..color..".png"..cf,"wool_"..color..".png"..cf,"wool_"..color..".png"..cf,},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, furniture = 1, fall_damage_add_percent=-80, bouncy=80},
|
||||
sounds = {wood = {name="furn_bouncy", gain=0.8}},
|
||||
can_dig = ma_pops_furniture.sit_dig,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
pos.y = pos.y + 0 -- Sitting position
|
||||
ma_pops_furniture.sit(pos, node, clicker, pointed_thing)
|
||||
return itemstack
|
||||
end,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4, -0.5, -0.4, -0.3, -0.4, -0.3},
|
||||
{-0.4, -0.5, 0.4, -0.3, -0.4, 0.3},
|
||||
{0.4, -0.5, 0.4, 0.3, -0.4, 0.3},
|
||||
{0.4, -0.5, -0.4, 0.3, -0.4, -0.3},
|
||||
-----------------------------------
|
||||
{-0.450, -0.4, -0.450, 0.450, 0.1, 0.450},
|
||||
{-0.5, 0.1, -0.5, -0.3, 0.3, 0.0},
|
||||
{0.5, 0.1, -0.5, 0.3, 0.3, 0.0},
|
||||
{0.450, 0.1, -0.0, -0.450, 0.5, 0.450},
|
||||
},
|
||||
},
|
||||
on_punch = function(pos, node, clicker)
|
||||
for _, obj in ipairs (minetest.get_connected_players()) do
|
||||
local item = obj:get_wielded_item():get_name()
|
||||
if item == 'dye:black' then
|
||||
node.name = "ma_pops_furniture:chair2_black"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:white' then
|
||||
node.name = "ma_pops_furniture:chair2_white"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:grey' then
|
||||
node.name = "ma_pops_furniture:chair2_grey"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:dark_grey' then
|
||||
node.name = "ma_pops_furniture:chair2_dark_grey"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:violet' then
|
||||
node.name = "ma_pops_furniture:chair2_violet"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:blue' then
|
||||
node.name = "ma_pops_furniture:chair2_blue"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:cyan' then
|
||||
node.name = "ma_pops_furniture:chair2_cyan"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:dark_green' then
|
||||
node.name = "ma_pops_furniture:chair2_dark_green"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:green' then
|
||||
node.name = "ma_pops_furniture:chair2_green"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:yellow' then
|
||||
node.name = "ma_pops_furniture:chair2_yellow"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:orange' then
|
||||
node.name = "ma_pops_furniture:chair2_orange"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:red' then
|
||||
node.name = "ma_pops_furniture:chair2_red"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:magenta' then
|
||||
node.name = "ma_pops_furniture:chair2_magenta"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:pink' then
|
||||
node.name = "ma_pops_furniture:chair2_pink"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:brown' then
|
||||
node.name = "ma_pops_furniture:chair2_brown"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
ma_pops_furniture.sit(pos, node, clicker)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
local fs_table = { --name, color, colorize(hex or color name:intensity(1-255))
|
||||
{'Black', 'black', 'black:225'},
|
||||
{'Blue', 'blue', 'blue:225'},
|
||||
{'Brown', 'brown', 'brown:225'},
|
||||
{'Cyan', 'cyan', 'cyan:200'},
|
||||
{'Dark Green', 'dark_green', 'green:225'},
|
||||
{'Dark Grey', 'dark_grey', 'black:200'},
|
||||
{'Green', 'green', '#32cd32:150'},
|
||||
{'Grey', 'grey', 'black:100'},
|
||||
{'Magenta', 'magenta', 'magenta:200'},
|
||||
{'Orange', 'orange', 'orange:225'},
|
||||
{'Pink', 'pink', 'pink:225'},
|
||||
{'Red', 'red', 'red:225'},
|
||||
{'Violet', 'violet', 'violet:225'},
|
||||
{'White', 'white', 'white:1'},
|
||||
{'Yellow', 'yellow', 'yellow:225'},
|
||||
}
|
||||
|
||||
for i in ipairs (fs_table) do
|
||||
local name = fs_table[i][1]
|
||||
local color = fs_table[i][2]
|
||||
local hex = fs_table[i][3]
|
||||
|
||||
minetest.register_node("ma_pops_furniture:fs_"..color, {
|
||||
description = name.." Footstool",
|
||||
tiles = {"wool_"..color..".png","wool_"..color..".png^mp_cb.png","wool_"..color..".png^mp_cf.png","wool_"..color..".png^mp_cf.png","wool_"..color..".png^mp_cf.png","wool_"..color..".png^mp_cf.png",},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, furniture = 1},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4, -0.5, -0.4, -0.3, -0.4, -0.3},
|
||||
{-0.4, -0.5, 0.4, -0.3, -0.4, 0.3},
|
||||
{0.4, -0.5, 0.4, 0.3, -0.4, 0.3},
|
||||
{0.4, -0.5, -0.4, 0.3, -0.4, -0.3},
|
||||
-----------------------------------
|
||||
{-0.450, -0.4, -0.450, 0.450, -0.1, 0.450},
|
||||
},
|
||||
},
|
||||
on_punch = function(pos, node, clicker)
|
||||
for _, obj in ipairs (minetest.get_connected_players()) do
|
||||
local item = obj:get_wielded_item():get_name()
|
||||
if item == 'dye:black' then
|
||||
node.name = "ma_pops_furniture:fs_black"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:white' then
|
||||
node.name = "ma_pops_furniture:fs_white"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:grey' then
|
||||
node.name = "ma_pops_furniture:fs_grey"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:dark_grey' then
|
||||
node.name = "ma_pops_furniture:fs_dark_grey"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:violet' then
|
||||
node.name = "ma_pops_furniture:fs_violet"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:blue' then
|
||||
node.name = "ma_pops_furniture:fs_blue"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:cyan' then
|
||||
node.name = "ma_pops_furniture:fs_cyan"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:dark_green' then
|
||||
node.name = "ma_pops_furniture:fs_dark_green"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:green' then
|
||||
node.name = "ma_pops_furniture:fs_green"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:yellow' then
|
||||
node.name = "ma_pops_furniture:fs_yellow"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:orange' then
|
||||
node.name = "ma_pops_furniture:fs_orange"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:red' then
|
||||
node.name = "ma_pops_furniture:fs_red"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:magenta' then
|
||||
node.name = "ma_pops_furniture:fs_magenta"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:pink' then
|
||||
node.name = "ma_pops_furniture:fs_pink"
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
if item == 'dye:brown' then
|
||||
node.name = "ma_pops_furniture:fs_brown"
|
||||
minetest.set_node(pos, node)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
162
mods/ma_pops_furniture/microwave.lua
Normal file
|
@ -0,0 +1,162 @@
|
|||
--microwave code by Wizzerine
|
||||
--item_percent code by Noodlemire
|
||||
|
||||
local microwave_fs =
|
||||
"size[9,9.5]"
|
||||
.."background[0,0;9,4.5;mp_microwave_GUI.png]"
|
||||
.."image_button[6.88,3.45;.85,.84;mp_microwave_start.png;btn_start;start]"
|
||||
.."image[7.05,.05;2,.4;mp_mw_bar.png^[transformR270]"
|
||||
.."list[current_player;main;.5,5;8,1;]"
|
||||
.."list[current_player;main;.5,6.5;8,3;8]"
|
||||
.."list[context;cook_slot;3.3,3;1,1;]"
|
||||
.."label[1.5,0.4;Microwave]"
|
||||
-- possibly add "fire" image?
|
||||
|
||||
local function get_active_microwave_fs(item_percent)
|
||||
return "size[9,9.5]"
|
||||
.."background[0,0;9,4.5;mp_microwave_GUI.png]"
|
||||
.."image_button[6.88,3.45;.85,.84;mp_microwave_start.png;btn_start;start]"
|
||||
.."image[7.05,.05;2,.4;mp_mw_bar.png^[lowpart:"
|
||||
..(item_percent)..":mp_mw_bar_on.png^[transformR270]"
|
||||
.."list[current_player;main;.5,5;8,1;]"
|
||||
.."list[current_player;main;.5,6.5;8,3;8]"
|
||||
.."list[context;cook_slot;3.3,3;1,1;]"
|
||||
.."label[1.5,0.4;Microwave]"
|
||||
-- possibly add "fire" image?
|
||||
end
|
||||
|
||||
--x,y;w,h
|
||||
|
||||
-- Adding recipe API so we don't end up hardcoding items
|
||||
ma_pops_furniture.microwave = {}
|
||||
local microwave = ma_pops_furniture.microwave
|
||||
microwave.recipes = {}
|
||||
function microwave.register_recipe(input, output) microwave.recipes[input] = output end
|
||||
|
||||
local function update_formspec(progress, goal, meta)
|
||||
local formspec
|
||||
|
||||
if progress > 0 and progress <= goal then
|
||||
local item_percent = math.floor(progress / goal * 100)
|
||||
formspec = get_active_microwave_fs(item_percent)
|
||||
else
|
||||
formspec = microwave_fs
|
||||
end
|
||||
|
||||
meta:set_string("formspec", formspec)
|
||||
end
|
||||
|
||||
local function recalculate(pos)
|
||||
local meta, timer = minetest.get_meta(pos), minetest.get_node_timer(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local stack = inv:get_stack("cook_slot", 1)
|
||||
local goal = 3 * stack:get_count()
|
||||
|
||||
local k = microwave.recipes[stack:get_name()]
|
||||
if not k then return end
|
||||
|
||||
timer:stop()
|
||||
update_formspec(0, goal, meta)
|
||||
timer:start(1)
|
||||
end
|
||||
|
||||
local function do_cook_all(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local stack = meta:get_inventory():get_stack("cook_slot", 1)
|
||||
local food_uncooked = inv:remove_item("cook_slot", inv:get_stack("cook_slot", 1)) -- Clear the slot
|
||||
local food_cooked = microwave.recipes[food_uncooked:get_name()] .. " " .. tostring(food_uncooked:get_count()) -- Get the cooked food
|
||||
inv:add_item("cook_slot", food_cooked) -- Put the cooked food in the slot
|
||||
end
|
||||
|
||||
minetest.register_node("ma_pops_furniture:microwave", {
|
||||
description = "Microwave",
|
||||
tiles = {"mp_mw_top.png", "mp_mw_bottom.png", "mp_mw_right.png", "mp_mw_left.png", "mp_mw_back.png", "mp_mw_front.png"},
|
||||
paramtype2 = "facedir",
|
||||
groups = {cracky = 2}, -- currently no pipeworks compat as I don't know how it works
|
||||
sounds = moditems.STONE_SOUNDS,
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4375, -0.4375, -0.3125, 0.4375, 0.0625, 0.3125},
|
||||
{-0.375, -0.5, -0.25, 0.375, -0.4375, 0.25},
|
||||
},
|
||||
},
|
||||
can_dig = function(pos, player)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty("cook_slot")
|
||||
end,
|
||||
|
||||
on_timer = function(pos, elapsed)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local stack = meta:get_inventory():get_stack("cook_slot", 1)
|
||||
local goal = 3 * stack:get_count()
|
||||
local cooking_time = meta:get_int("cooking_time") or 0
|
||||
cooking_time = cooking_time + 1
|
||||
|
||||
update_formspec(cooking_time, goal, meta)
|
||||
meta:set_int("cooking_time", cooking_time)
|
||||
|
||||
--Keep cooking until there is nothing left to cook.
|
||||
if cooking_time <= goal then
|
||||
return true
|
||||
else
|
||||
do_cook_all(pos)
|
||||
meta:set_int("cooking_time", 0)
|
||||
update_formspec(0, goal, meta)
|
||||
return false
|
||||
end
|
||||
end,
|
||||
|
||||
--on_metadata_inventory_put = recalculate,
|
||||
--on_metadata_inventory_take = recalculate,
|
||||
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec", microwave_fs)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("cook_slot", 1)
|
||||
end,
|
||||
|
||||
on_receive_fields = function(pos, _, fields)
|
||||
if fields.quit then return end
|
||||
if fields.btn_start then
|
||||
recalculate(pos)
|
||||
end
|
||||
end,
|
||||
|
||||
on_blast = function(pos)
|
||||
local drops = {}
|
||||
default.get_inventory_drops(pos, "cook_slot", drops)
|
||||
table.insert(drops, "ma_pops_furniture:microwave")
|
||||
minetest.remove_node(pos)
|
||||
return drops
|
||||
end,
|
||||
|
||||
allow_metadata_inventory_put = function(pos, list, index, stack, player)
|
||||
return microwave.recipes[stack:get_name()] and stack:get_count() or 0
|
||||
end,
|
||||
|
||||
--Only allow items to be taken if the microwave hasn't started yet
|
||||
allow_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||
if not minetest.get_node_timer(pos):is_started() then
|
||||
return stack:get_count()
|
||||
else
|
||||
return 0
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
-- Recipe Registration
|
||||
microwave.register_recipe("default:ice", "default:water_source")
|
||||
-- No milk bucket as this doesn't support substitutes for now
|
||||
microwave.register_recipe("mobs_mc:chicken_raw", "mobs_mc:chicken_cooked")
|
||||
--[[ We don't need to check mod existance when registering recipe
|
||||
Recipe won't even be executed if there is no raw chicken in input ]]--
|
||||
microwave.register_recipe("mobs_mc:beef_raw", "mobs_mc:beef_cooked")
|
||||
microwave.register_recipe("mobs:meat_raw", "mobs:meat")
|
||||
microwave.register_recipe("farming:coffee_cup", "farming:coffee_cup_hot") -- What a crutch there was...
|
||||
microwave.register_recipe("farming:corn", "farming:corn_cob")
|
||||
-- Add needed recipes as you go, note that other mods can add more recipes too
|
973
mods/ma_pops_furniture/misc.lua
Normal file
|
@ -0,0 +1,973 @@
|
|||
minetest.register_node("ma_pops_furniture:smoke_detector", {
|
||||
description = "Smoke Detector",
|
||||
tiles = {
|
||||
"mp_t.png",
|
||||
"mp_b.png",
|
||||
"mp_si.png",
|
||||
"mp_si.png",
|
||||
"mp_si.png",
|
||||
"mp_si.png"
|
||||
},
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 3},
|
||||
on_timer = function(pos,elapsed)
|
||||
if minetest.find_node_near(pos, 20, {"fire:basic_flame"}, false) then
|
||||
local node = minetest.get_node(pos)
|
||||
node.name = "ma_pops_furniture:smoke_detector_on"
|
||||
minetest.remove_node(pos)
|
||||
minetest.add_node(pos, node)
|
||||
minetest.get_node_timer(pos):start(0.0)
|
||||
else
|
||||
-- Update every 10 seconds.
|
||||
minetest.get_node_timer(pos):start(10.0)
|
||||
end
|
||||
end,
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
minetest.get_node_timer(pos):start(0.0)
|
||||
end,
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.375, 0.375, -0.375, 0.375, 0.5, 0.375}, -- NodeBox1
|
||||
{-0.3125, 0.3125, -0.3125, 0.3125, 0.375, 0.3125}, -- NodeBox2
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:smoke_detector_on", {
|
||||
description = "Smoke Detector",
|
||||
tiles = {
|
||||
"mp_t.png",
|
||||
"mp_b.png",
|
||||
"mp_si.png",
|
||||
"mp_si.png",
|
||||
"mp_si.png",
|
||||
"mp_si.png"
|
||||
},
|
||||
on_destruct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
if meta then
|
||||
local tmp = meta:to_table()
|
||||
if tmp then
|
||||
if tmp.fields.sound_handle then
|
||||
minetest.sound_stop(tmp.fields.sound_handle)
|
||||
tmp.fields.sound_handle = nil
|
||||
meta:from_table(tmp)
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local meta = minetest.get_meta(pos)
|
||||
if meta then
|
||||
local tmp = meta:to_table()
|
||||
if tmp then
|
||||
if tmp.fields.sound_handle then
|
||||
minetest.sound_stop(tmp.fields.sound_handle)
|
||||
tmp.fields.sound_handle = nil
|
||||
minetest.get_node_timer(pos):start(3.0)
|
||||
meta:from_table(tmp)
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
drop = 'ma_pops_furniture:smoke_detector',
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 3, not_in_creative_inventory= 1},
|
||||
on_timer = function(pos,elapsed)
|
||||
if minetest.find_node_near(pos, 20, {"fire:basic_flame"}, false) then
|
||||
-- Play sound.
|
||||
local meta = minetest.get_meta(pos)
|
||||
if meta then
|
||||
local tmp = meta:to_table()
|
||||
if tmp then
|
||||
if not tmp.fields.sound_handle then
|
||||
local handle = minetest.sound_play("mp_smoke_detector", {pos = pos, gain = 2.1,max_hear_distance = 96,loop = true})
|
||||
tmp.fields.sound_handle = handle
|
||||
end
|
||||
end
|
||||
meta:from_table(tmp)
|
||||
end
|
||||
-- Update every 1.0 second.
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
else
|
||||
local meta = minetest.get_meta(pos)
|
||||
if meta then
|
||||
local tmp = meta:to_table()
|
||||
if tmp then
|
||||
minetest.sound_stop(tmp.fields.sound_handle)
|
||||
if tmp.fields.sound_handle then
|
||||
tmp.fields.sound_handle = nil
|
||||
meta:from_table(tmp)
|
||||
end
|
||||
end
|
||||
end
|
||||
local node = minetest.get_node(pos)
|
||||
node.name = "ma_pops_furniture:smoke_detector"
|
||||
minetest.remove_node(pos)
|
||||
minetest.add_node(pos, node)
|
||||
minetest.get_node_timer(pos):start(0.0)
|
||||
end
|
||||
end,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
light_source = light,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.375, 0.375, -0.375, 0.375, 0.5, 0.375}, -- NodeBox1
|
||||
{-0.3125, 0.3125, -0.3125, 0.3125, 0.375, 0.3125}, -- NodeBox2
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_lbm({
|
||||
label = "Replace all smoke detector's that are turned on.",
|
||||
name = "ma_pops_furniture:replace_smoke_detector_on",
|
||||
nodenames = {"ma_pops_furniture:smoke_detector_on"},
|
||||
run_at_every_load = true,
|
||||
action = function(pos, node)
|
||||
node.name = "ma_pops_furniture:smoke_detector"
|
||||
minetest.remove_node(pos)
|
||||
minetest.add_node(pos, node)
|
||||
minetest.get_node_timer(pos):start(0.0)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:barrel", {
|
||||
description = "Barrel",
|
||||
paramtype2 = "facedir",
|
||||
place_param2 = 0,
|
||||
tiles = {
|
||||
"mp_barrel.png", --top
|
||||
"mp_barrel.png", --bottom
|
||||
"mp_barrel.png^[transformR90", --right
|
||||
"mp_barrel.png^[transformR90", --left
|
||||
"mp_barrel_top.png", --back
|
||||
"mp_barrel_top.png" --front
|
||||
},
|
||||
is_ground_content = false,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1},
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size('main', 8*4)
|
||||
inv:set_size('storage', 9*3)
|
||||
meta:set_string('formspec',
|
||||
'size [9,9]'..
|
||||
'bgcolor[#080808BB;false]'..
|
||||
'list[current_name;storage;0,0.2;9,3;]'..
|
||||
'list[current_player;main;0.5,5;8,4;]')
|
||||
end,
|
||||
can_dig = function(pos,player)
|
||||
local meta = minetest.get_meta(pos);
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty('storage') and inv:is_empty('storage1')
|
||||
end,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:blinds", {
|
||||
description = "Blinds",
|
||||
tiles = {"mp_blinds.png"},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, furniture = 1},
|
||||
sunlight_propagates = true;
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, 0.5, 0.5, 0.5, 0.4, 0.4},
|
||||
{-0.5, 0.3, 0.5, 0.5, 0.2, 0.4},
|
||||
{-0.5, 0.1, 0.5, 0.5, 0.0, 0.4},
|
||||
{-0.5, -0.1, 0.5, 0.5, -0.2, 0.4},
|
||||
{-0.5, -0.3, 0.5, 0.5, -0.4, 0.4},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:light", {
|
||||
description = "Ceiling Light",
|
||||
tiles = {
|
||||
"default_coral_skeleton.png",
|
||||
"mp_ceiling_light_bottom.png",
|
||||
"mp_ceiling_light_side.png",
|
||||
"mp_ceiling_light_side.png",
|
||||
"mp_ceiling_light_side.png",
|
||||
"mp_ceiling_light_side.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
node.name = "ma_pops_furniture:light_on"
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.25, 0.4375, -0.25, 0.25, 0.5, 0.25}, -- NodeBox1
|
||||
{-0.125, 0.3125, -0.125, 0.125, 0.4375, 0.125}, -- NodeBox2
|
||||
{-0.1875, -0.0625, -0.1875, 0.1875, 0.3125, 0.1875}, -- NodeBox3
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:light_on", {
|
||||
description = "Ceiling Light",
|
||||
tiles = {
|
||||
"default_coral_skeleton.png",
|
||||
"mp_ceiling_light_bottom.png",
|
||||
"mp_ceiling_light_side.png",
|
||||
"mp_ceiling_light_side.png",
|
||||
"mp_ceiling_light_side.png",
|
||||
"mp_ceiling_light_side.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
drop = "ma_pops_furniture:light",
|
||||
light_source = 14,
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
node.name = "ma_pops_furniture:light"
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, not_in_creative_inventory = 1},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.25, 0.4375, -0.25, 0.25, 0.5, 0.25}, -- NodeBox1
|
||||
{-0.125, 0.3125, -0.125, 0.125, 0.4375, 0.125}, -- NodeBox2
|
||||
{-0.1875, -0.0625, -0.1875, 0.1875, 0.3125, 0.1875}, -- NodeBox3
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:ceiling_lamp", {
|
||||
description = "Ceiling Lamp",
|
||||
tiles = {
|
||||
"default_stone.png",
|
||||
"default_stone.png^mp_light_off.png",
|
||||
"default_stone.png",
|
||||
"default_stone.png",
|
||||
"default_stone.png",
|
||||
"default_stone.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
node.name = "ma_pops_furniture:ceiling_lamp_on"
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.050, 0.5, -0.050, 0.050, -0.2, 0.050},
|
||||
{-0.1, -0.0, -0.1, 0.1, -0.2, 0.1},
|
||||
{-0.2, -0.1, -0.2, 0.2, -0.2, 0.2},
|
||||
{-0.3, -0.2, -0.3, 0.3, -0.5, 0.3},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:ceiling_lamp_on", {
|
||||
description = "Ceiling Lamp On",
|
||||
tiles = {
|
||||
"default_stone.png",
|
||||
"default_stone.png^mp_light_on.png",
|
||||
"default_stone.png",
|
||||
"default_stone.png",
|
||||
"default_stone.png",
|
||||
"default_stone.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
light_source = 14,
|
||||
drop = 'ma_pops_furniture:ceiling_lamp',
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
node.name = "ma_pops_furniture:ceiling_lamp"
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, not_in_creative_inventory = 1},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.050, 0.5, -0.050, 0.050, -0.2, 0.050},
|
||||
{-0.1, -0.0, -0.1, 0.1, -0.2, 0.1},
|
||||
{-0.2, -0.1, -0.2, 0.2, -0.2, 0.2},
|
||||
{-0.3, -0.2, -0.3, 0.3, -0.5, 0.3},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:fan_on", {
|
||||
description = "Fan (on)",
|
||||
tiles = {
|
||||
"default_coral_skeleton.png",
|
||||
"default_coral_skeleton.png",
|
||||
"default_coral_skeleton.png",
|
||||
"default_coral_skeleton.png",
|
||||
{
|
||||
name = "mp_fan_on.png",
|
||||
animation = {
|
||||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 0.3
|
||||
},
|
||||
},
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
drop = 'ma_pops_furniture:fan_off',
|
||||
paramtype2 = "facedir",
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
node.name = "ma_pops_furniture:fan_off"
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, not_in_creative_inventory = 1},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, 0.5, 0.2, 0.5, -0.5, -0.2},
|
||||
},
|
||||
}
|
||||
})
|
||||
minetest.register_node("ma_pops_furniture:fan_off", {
|
||||
description = "Fan",
|
||||
tiles = {
|
||||
"default_coral_skeleton.png",
|
||||
"default_coral_skeleton.png",
|
||||
"default_coral_skeleton.png",
|
||||
"default_coral_skeleton.png",
|
||||
"mp_fan_off.png",
|
||||
"mp_fan_off.png",
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
drop = 'ma_pops_furniture:fan_off',
|
||||
paramtype2 = "facedir",
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
node.name = "ma_pops_furniture:fan_on"
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, 0.5, 0.2, 0.5, -0.5, -0.2},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:ac", {
|
||||
description = "AC",
|
||||
tiles = {
|
||||
"mp_ac_top.png",
|
||||
"mp_ac_top.png",
|
||||
"mp_ac_top.png",
|
||||
"mp_ac_top.png",
|
||||
"mp_ac_b.png",
|
||||
"mp_ac_f.png",
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
drop = 'ma_pops_furniture:ac',
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{0.5, 0.5, 0.5, -0.5, -0.5, -0.4},
|
||||
{0.5, 0.2, -0.5, -0.5, -0.5, -0.4},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
-- Define a table for lamp colors
|
||||
local lamp_table = {
|
||||
{'Black', 'black', 'black:225'},
|
||||
{'Blue', 'blue', 'blue:225'},
|
||||
{'Brown', 'brown', 'brown:225'},
|
||||
{'Cyan', 'cyan', 'cyan:200'},
|
||||
{'Dark Green', 'dark_green', 'green:225'},
|
||||
{'Dark Grey', 'dark_grey', 'black:200'},
|
||||
{'Green', 'green', '#32cd32:150'},
|
||||
{'Grey', 'grey', 'black:100'},
|
||||
{'Magenta', 'magenta', 'magenta:200'},
|
||||
{'Orange', 'orange', 'orange:225'},
|
||||
{'Pink', 'pink', 'pink:225'},
|
||||
{'Red', 'red', 'red:225'},
|
||||
{'Violet', 'violet', 'violet:225'},
|
||||
{'White', 'white', 'white:1'},
|
||||
{'Yellow', 'yellow', 'yellow:225'}
|
||||
}
|
||||
|
||||
-- Create a lookup table for dye names and corresponding lamp colors
|
||||
local dye_to_color = {
|
||||
['dye:black'] = 'black',
|
||||
['dye:white'] = 'white',
|
||||
['dye:grey'] = 'grey',
|
||||
['dye:dark_grey'] = 'dark_grey',
|
||||
['dye:violet'] = 'violet',
|
||||
['dye:blue'] = 'blue',
|
||||
['dye:cyan'] = 'cyan',
|
||||
['dye:dark_green'] = 'dark_green',
|
||||
['dye:green'] = 'green',
|
||||
['dye:yellow'] = 'yellow',
|
||||
['dye:orange'] = 'orange',
|
||||
['dye:red'] = 'red',
|
||||
['dye:magenta'] = 'magenta',
|
||||
['dye:pink'] = 'pink',
|
||||
['dye:brown'] = 'brown'
|
||||
}
|
||||
|
||||
-- Register lamps for each color
|
||||
for _, lamp in ipairs(lamp_table) do
|
||||
local name = lamp[1]
|
||||
local color = lamp[2]
|
||||
local hex = lamp[3]
|
||||
|
||||
-- Register the "on" version of the lamp
|
||||
minetest.register_node("ma_pops_furniture:lamp_"..color, {
|
||||
description = name .. " Lamp",
|
||||
tiles = {
|
||||
"mp_lt.png",
|
||||
"mp_lb_middle.png^[colorize:" .. hex .. "^mp_lb.png",
|
||||
"mp_ls.png^[colorize:" .. hex .. "^mp_ls_top.png",
|
||||
"mp_ls.png^[colorize:" .. hex .. "^mp_ls_top.png",
|
||||
"mp_ls.png^[colorize:" .. hex .. "^mp_ls_top.png",
|
||||
"mp_ls.png^[colorize:" .. hex .. "^mp_ls_top.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
light_source = 14,
|
||||
paramtype = "facedir",
|
||||
drop = 'ma_pops_furniture:lamp_off_'..color,
|
||||
on_rightclick = function(pos, node, player, itemstack, pointed_thing)
|
||||
node.name = "ma_pops_furniture:lamp_off_"..color
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, not_in_creative_inventory = 1, furniture = 1},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.25, -0.4375, -0.25, 0.25, -0.0625, 0.25},
|
||||
{-0.375, -0.0625, -0.375, 0.375, 0.5, 0.375},
|
||||
{-0.1875, -0.4375, -0.1875, 0.1875, -0.5, 0.1875}
|
||||
}
|
||||
},
|
||||
on_punch = function(pos, node, clicker)
|
||||
local item = clicker:get_wielded_item():get_name()
|
||||
local new_color = dye_to_color[item]
|
||||
if new_color then
|
||||
node.name = "ma_pops_furniture:lamp_" .. new_color
|
||||
minetest.set_node(pos, node)
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
-- Register the "off" version of the lamp
|
||||
minetest.register_node("ma_pops_furniture:lamp_off_"..color, {
|
||||
description = name .. " Lamp",
|
||||
tiles = {
|
||||
"mp_lt.png",
|
||||
"mp_lb_middle.png^[colorize:" .. hex .. "^mp_lb.png",
|
||||
"mp_ls.png^[colorize:" .. hex .. "^mp_ls_top.png",
|
||||
"mp_ls.png^[colorize:" .. hex .. "^mp_ls_top.png",
|
||||
"mp_ls.png^[colorize:" .. hex .. "^mp_ls_top.png",
|
||||
"mp_ls.png^[colorize:" .. hex .. "^mp_ls_top.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "facedir",
|
||||
on_rightclick = function(pos, node, player, itemstack, pointed_thing)
|
||||
node.name = "ma_pops_furniture:lamp_"..color
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, furniture = 1},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.25, -0.4375, -0.25, 0.25, -0.0625, 0.25},
|
||||
{-0.375, -0.0625, -0.375, 0.375, 0.5, 0.375},
|
||||
{-0.1875, -0.4375, -0.1875, 0.1875, -0.5, 0.1875}
|
||||
}
|
||||
},
|
||||
on_punch = function(pos, node, clicker)
|
||||
local item = clicker:get_wielded_item():get_name()
|
||||
local new_color = dye_to_color[item]
|
||||
if new_color then
|
||||
node.name = "ma_pops_furniture:lamp_off_" .. new_color
|
||||
minetest.set_node(pos, node)
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
local curtain_table = {
|
||||
{'Black', 'black', 'black:225'},
|
||||
{'Blue', 'blue', 'blue:225'},
|
||||
{'Brown', 'brown', 'brown:225'},
|
||||
{'Cyan', 'cyan', 'cyan:200'},
|
||||
{'Dark Green', 'dark_green', 'green:225'},
|
||||
{'Dark Grey', 'dark_grey', 'black:200'},
|
||||
{'Green', 'green', '#32cd32:150'},
|
||||
{'Grey', 'grey', 'black:100'},
|
||||
{'Magenta', 'magenta', 'magenta:200'},
|
||||
{'Orange', 'orange', 'orange:225'},
|
||||
{'Pink', 'pink', 'pink:225'},
|
||||
{'Red', 'red', 'red:225'},
|
||||
{'Violet', 'violet', 'violet:225'},
|
||||
{'White', 'white', 'white:1'},
|
||||
{'Yellow', 'yellow', 'yellow:225'},
|
||||
}
|
||||
|
||||
for i in ipairs(curtain_table) do
|
||||
local name = curtain_table[i][1]
|
||||
local color = curtain_table[i][2]
|
||||
local hex = curtain_table[i][3]
|
||||
|
||||
-- Small Curtains
|
||||
minetest.register_node("ma_pops_furniture:curtains_"..color, {
|
||||
description = name.." Curtains",
|
||||
tiles = {"default_acacia_tree.png","wool_"..color..".png^mp_curtainb.png","wool_"..color..".png^mp_curtains.png","wool_"..color..".png^mp_curtains.png","wool_"..color..".png^mp_curtains.png","wool_"..color..".png^mp_curtains.png"},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, furniture = 1},
|
||||
on_rightclick = function(pos, node, player, itemstack, pointed_thing)
|
||||
node.name = "ma_pops_furniture:curtains_closed_"..color
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.3, 0.5, -0.2, 0.5, 0.4},
|
||||
{-0.5, -0.5, 0.5, -0.3, -0.3, 0.4},
|
||||
{-0.5, 0.5, 0.5, 0.5, 0.2, 0.4},
|
||||
{-0.5, 0.5, 0.5, 0.5, 0.440, 0.350},
|
||||
{0.5, -0.3, 0.5, 0.2, 0.5, 0.4},
|
||||
{0.5, -0.5, 0.5, 0.3, -0.3, 0.4},
|
||||
},
|
||||
},
|
||||
on_punch = function(pos, node, clicker)
|
||||
local item = clicker:get_wielded_item():get_name()
|
||||
local color_map = {
|
||||
["dye:black"] = "black",
|
||||
["dye:white"] = "white",
|
||||
["dye:grey"] = "grey",
|
||||
["dye:dark_grey"] = "dark_grey",
|
||||
["dye:violet"] = "violet",
|
||||
["dye:blue"] = "blue",
|
||||
["dye:cyan"] = "cyan",
|
||||
["dye:dark_green"] = "dark_green",
|
||||
["dye:green"] = "green",
|
||||
["dye:yellow"] = "yellow",
|
||||
["dye:orange"] = "orange",
|
||||
["dye:red"] = "red",
|
||||
["dye:magenta"] = "magenta",
|
||||
["dye:pink"] = "pink",
|
||||
["dye:brown"] = "brown",
|
||||
}
|
||||
local new_color = color_map[item]
|
||||
if new_color then
|
||||
node.name = "ma_pops_furniture:curtains_"..new_color
|
||||
minetest.set_node(pos, node)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Closed Small Curtains
|
||||
minetest.register_node("ma_pops_furniture:curtains_closed_"..color, {
|
||||
description = name.." Closed Curtains",
|
||||
tiles = {"default_acacia_tree.png","wool_"..color..".png^mp_curtainb.png","wool_"..color..".png^mp_curtains.png","wool_"..color..".png^mp_curtains.png","wool_"..color..".png^mp_curtains.png","wool_"..color..".png^mp_curtains.png"},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, not_in_creative_inventory = 1, furniture = 1},
|
||||
drop = "ma_pops_furniture:curtains_"..color,
|
||||
on_rightclick = function(pos, node, player, itemstack, pointed_thing)
|
||||
node.name = "ma_pops_furniture:curtains_"..color
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, 0.5, 0.5, 0.5, 0.4},
|
||||
{-0.5, 0.5, 0.5, 0.5, 0.440, 0.350},
|
||||
},
|
||||
},
|
||||
on_punch = function(pos, node, clicker)
|
||||
local item = clicker:get_wielded_item():get_name()
|
||||
local color_map = {
|
||||
["dye:black"] = "black",
|
||||
["dye:white"] = "white",
|
||||
["dye:grey"] = "grey",
|
||||
["dye:dark_grey"] = "dark_grey",
|
||||
["dye:violet"] = "violet",
|
||||
["dye:blue"] = "blue",
|
||||
["dye:cyan"] = "cyan",
|
||||
["dye:dark_green"] = "dark_green",
|
||||
["dye:green"] = "green",
|
||||
["dye:yellow"] = "yellow",
|
||||
["dye:orange"] = "orange",
|
||||
["dye:red"] = "red",
|
||||
["dye:magenta"] = "magenta",
|
||||
["dye:pink"] = "pink",
|
||||
["dye:brown"] = "brown",
|
||||
}
|
||||
local new_color = color_map[item]
|
||||
if new_color then
|
||||
node.name = "ma_pops_furniture:curtains_closed_"..new_color
|
||||
minetest.set_node(pos, node)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Tall Curtains
|
||||
minetest.register_node("ma_pops_furniture:curtains_2_tall_"..color, {
|
||||
description = name.." Tall Curtains",
|
||||
tiles = {"wool_"..color..".png"},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, furniture = 1},
|
||||
on_rightclick = function(pos, node, player, itemstack, pointed_thing)
|
||||
node.name = "ma_pops_furniture:curtains_2_tall_closed_"..color
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.3, 0.5, -0.2, 0.5, 0.4},
|
||||
{-0.5, -0.5, 0.5, -0.3, -0.3, 0.4},
|
||||
{-0.5, 0.5, 0.5, 0.5, 0.2, 0.4},
|
||||
{0.5, -0.3, 0.5, 0.2, 0.5, 0.4},
|
||||
{0.5, -0.5, 0.5, 0.3, -0.3, 0.4},
|
||||
{-0.5, -0.5, 0.5, -0.3, -1.2, 0.4},
|
||||
{0.5, -0.5, 0.5, 0.3, -1.2, 0.4},
|
||||
},
|
||||
},
|
||||
on_punch = function(pos, node, clicker)
|
||||
local item = clicker:get_wielded_item():get_name()
|
||||
local color_map = {
|
||||
["dye:black"] = "black",
|
||||
["dye:white"] = "white",
|
||||
["dye:grey"] = "grey",
|
||||
["dye:dark_grey"] = "dark_grey",
|
||||
["dye:violet"] = "violet",
|
||||
["dye:blue"] = "blue",
|
||||
["dye:cyan"] = "cyan",
|
||||
["dye:dark_green"] = "dark_green",
|
||||
["dye:green"] = "green",
|
||||
["dye:yellow"] = "yellow",
|
||||
["dye:orange"] = "orange",
|
||||
["dye:red"] = "red",
|
||||
["dye:magenta"] = "magenta",
|
||||
["dye:pink"] = "pink",
|
||||
["dye:brown"] = "brown",
|
||||
}
|
||||
local new_color = color_map[item]
|
||||
if new_color then
|
||||
node.name = "ma_pops_furniture:curtains_2_tall_"..new_color
|
||||
minetest.set_node(pos, node)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Closed Tall Curtains
|
||||
minetest.register_node("ma_pops_furniture:curtains_2_tall_closed_"..color, {
|
||||
description = name.." Closed Tall Curtains",
|
||||
tiles = {"wool_"..color..".png"},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, not_in_creative_inventory = 1, furniture = 1},
|
||||
drop = "ma_pops_furniture:curtains_2_tall_"..color,
|
||||
on_rightclick = function(pos, node, player, itemstack, pointed_thing)
|
||||
node.name = "ma_pops_furniture:curtains_2_tall_"..color
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, 0.5, 0.5, 0.5, 0.4},
|
||||
{-0.5, -1.2, 0.5, 0.5, -0.5, 0.4},
|
||||
},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
-- On placement check if there is a small curtain directly below
|
||||
minetest.register_on_placenode(function(pos, new_node, placer, itemstack, pointed_thing)
|
||||
if new_node.name:match("ma_pops_furniture:curtains_") then
|
||||
local node_below = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z})
|
||||
if node_below.name:match("ma_pops_furniture:curtains_") and node_below.name ~= new_node.name then
|
||||
local color = new_node.name:match("_(%w+)$")
|
||||
local tall_node_name = "ma_pops_furniture:curtains_2_tall_"..color
|
||||
minetest.set_node(pos, {name = tall_node_name})
|
||||
minetest.set_node({x=pos.x, y=pos.y-1, z=pos.z}, {name = "air"})
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
|
||||
minetest.register_node("ma_pops_furniture:computer", {
|
||||
description = "Computer",
|
||||
tiles = {
|
||||
"mp_s.png^mp_top.png",
|
||||
"mp_s.png",
|
||||
"mp_s.png",
|
||||
"mp_s.png",
|
||||
"mp_s.png",
|
||||
"mp_s.png^mp_f.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {snappy=2, oddly_breakable_by_hand=2, furniture=1, flammable=1},
|
||||
sounds = moditems.WOOD_SOUNDS,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.1875, 0.5, -0.25, 0.5},
|
||||
{-0.5, -0.5, -0.5, 0.1875, -0.375, -0.25},
|
||||
{0.25, -0.5, -0.5, 0.4375, -0.375, -0.25},
|
||||
{-0.125, -0.25, 0.0625, 0.125, -0.0625, 0.25},
|
||||
{-0.3125, -0.125, -0.25, 0.3125, 0.5, 0.3125},
|
||||
{-0.25, 0, 0.3125, 0.25, 0.375, 0.5},
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
-- Define the stool color table
|
||||
local stool_table = {
|
||||
{'Black', 'black', 'black:225'},
|
||||
{'Blue', 'blue', 'blue:150'},
|
||||
{'Brown', 'brown', 'brown:100'},
|
||||
{'Cyan', 'cyan', 'cyan:150'},
|
||||
{'Dark Green', 'dark_green', 'green:200'},
|
||||
{'Green', 'green', '#32cd32:150'},
|
||||
{'Magenta', 'magenta', 'magenta:200'},
|
||||
{'Orange', 'orange', 'orange:150'},
|
||||
{'Pink', 'pink', 'pink:150'},
|
||||
{'Red', 'red', 'red:150'},
|
||||
{'Violet', 'violet', 'violet:150'},
|
||||
{'White', 'white', 'white:150'},
|
||||
{'Yellow', 'yellow', 'yellow:150'}
|
||||
}
|
||||
|
||||
-- Create a lookup table for dye names and corresponding stool colors
|
||||
local dye_to_stool = {
|
||||
['dye:black'] = 'black',
|
||||
['dye:white'] = 'white',
|
||||
['dye:grey'] = 'grey',
|
||||
['dye:dark_grey'] = 'dark_grey',
|
||||
['dye:violet'] = 'violet',
|
||||
['dye:blue'] = 'blue',
|
||||
['dye:cyan'] = 'cyan',
|
||||
['dye:dark_green'] = 'dark_green',
|
||||
['dye:green'] = 'green',
|
||||
['dye:yellow'] = 'yellow',
|
||||
['dye:orange'] = 'orange',
|
||||
['dye:red'] = 'red',
|
||||
['dye:magenta'] = 'magenta',
|
||||
['dye:pink'] = 'pink',
|
||||
['dye:brown'] = 'brown'
|
||||
}
|
||||
|
||||
-- Register each stool color
|
||||
for _, stool in ipairs(stool_table) do
|
||||
local name = stool[1]
|
||||
local color = stool[2]
|
||||
local hex = stool[3]
|
||||
|
||||
minetest.register_node("ma_pops_furniture:stool_"..color, {
|
||||
description = name.." Stool",
|
||||
tiles = {
|
||||
"mp_stool_top1.png^mp_stool_top.png^[colorize:"..hex.."^mp_stool_top1.png",
|
||||
"default_coral_skeleton.png",
|
||||
"default_coral_skeleton.png",
|
||||
"default_coral_skeleton.png",
|
||||
"default_coral_skeleton.png",
|
||||
"default_coral_skeleton.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, furniture = 1},
|
||||
can_dig = ma_pops_furniture.sit_dig,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
pos.y = pos.y + 0 -- Sitting position
|
||||
ma_pops_furniture.sit(pos, node, clicker, pointed_thing)
|
||||
return itemstack
|
||||
end,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.375, -0.5, -0.375, -0.1875, 0.375, -0.1875},
|
||||
{-0.375, -0.5, 0.1875, -0.1875, 0.375, 0.375},
|
||||
{0.1875, -0.5, 0.1875, 0.375, 0.375, 0.375},
|
||||
{0.1875, -0.5, -0.375, 0.375, 0.375, -0.1875},
|
||||
{-0.375, 0.1875, -0.375, 0.375, 0.375, 0.375},
|
||||
{0.25, -0.375, -0.1875, 0.3125, -0.3125, 0.1875},
|
||||
{-0.1875, -0.375, -0.3125, 0.1875, -0.3125, -0.25},
|
||||
{-0.1875, -0.375, 0.25, 0.1875, -0.3125, 0.3125},
|
||||
{-0.3125, -0.375, -0.1875, -0.25, -0.3125, 0.1875},
|
||||
{-0.3125, 0.375, -0.3125, 0.3125, 0.4375, 0.3125}
|
||||
}
|
||||
},
|
||||
on_punch = function(pos, node, clicker)
|
||||
local item = clicker:get_wielded_item():get_name()
|
||||
local new_color = dye_to_stool[item]
|
||||
if new_color then
|
||||
node.name = "ma_pops_furniture:stool_"..new_color
|
||||
minetest.set_node(pos, node)
|
||||
else
|
||||
ma_pops_furniture.sit(pos, node, clicker)
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
minetest.register_node("ma_pops_furniture:stairs", {
|
||||
description= "Stairs",
|
||||
tiles = {
|
||||
"default_coral_skeleton.png",
|
||||
"default_coral_skeleton.png",
|
||||
"default_coral_skeleton.png^mp_stairs_side.png",
|
||||
"default_coral_skeleton.png^mp_stairs_side.png^[transformFX",
|
||||
"default_coral_skeleton.png^mp_stairs_back.png",
|
||||
"default_coral_skeleton.png^mp_stairs_front.png"
|
||||
},
|
||||
drawtype = "mesh",
|
||||
mesh= "stairs.obj",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 3},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, 0.375, 0, 0.5, 0.5, 0.5}, -- NodeBox18
|
||||
{-0.5, -0.125, -0.5, 0.5, 0, 0}, -- NodeBox19
|
||||
{-0.0625, -0.375, -0.3125, 0.0625, -0.125, -0.1875}, -- NodeBox20
|
||||
{-0.0625, -0.25, 0.1875, 0.0625, 0.375, 0.3125}, -- NodeBox21
|
||||
{-0.0625, -0.375, -0.1875, 0.0625, -0.25, 0.3125}, -- NodeBox23
|
||||
{-0.0625, -0.25, 0.0625, 0.0625, -0.125, 0.1875}, -- NodeBox24
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
-- Register the base lamp
|
||||
minetest.register_node("ma_pops_furniture:lamp_1", {
|
||||
description = "Floor Lamp",
|
||||
tiles = {
|
||||
"default_stone.png",
|
||||
"default_stone.png",
|
||||
"default_stone.png",
|
||||
"default_stone.png",
|
||||
"default_stone.png",
|
||||
"default_stone.png"
|
||||
},
|
||||
groups = {cracky=2, oddly_breakable_by_hand=3},
|
||||
on_construct = function(pos)
|
||||
if minetest.get_node(vector.add(pos, vector.new(0, 1, 0))).name == "air" then
|
||||
minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z}, {name = "ma_pops_furniture:lamp_2_off"})
|
||||
end
|
||||
|
||||
if minetest.get_node(vector.add(pos, vector.new(0, 1, 0))).name ~= "air" and
|
||||
minetest.get_node(vector.add(pos, vector.new(0, 1, 0))).name ~= "ma_pops_furniture:lamp_2_off" then
|
||||
minetest.set_node({x = pos.x, y = pos.y, z = pos.z},{name = "air"})
|
||||
end
|
||||
end,
|
||||
on_dig = function(pos, node, player)
|
||||
minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z}, {name = "air"})
|
||||
minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name = "air"})
|
||||
end,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.25, -0.5, -0.25, 0.25, -0.375, 0.25}, -- NodeBox16
|
||||
{-0.0625, -0.375, -0.0625, 0.0625, 0.5, 0.0625} -- NodeBox17
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
-- Register the "on" version of the lamp
|
||||
minetest.register_node("ma_pops_furniture:lamp_2_on", {
|
||||
description = "Floor Lamp 2",
|
||||
tiles = {
|
||||
"mp_lt.png",
|
||||
"mp_lt.png",
|
||||
"default_stone.png^mp_ls_top.png",
|
||||
"default_stone.png^mp_ls_top.png",
|
||||
"default_stone.png^mp_ls_top.png",
|
||||
"default_stone.png^mp_ls_top.png"
|
||||
},
|
||||
groups = {cracky=2, oddly_breakable_by_hand=3, not_in_creative_inventory = 1},
|
||||
drop = "test:node_1",
|
||||
on_dig = function(pos, node, player)
|
||||
minetest.set_node({x = pos.x, y = pos.y - 1, z = pos.z}, {name = "air"})
|
||||
minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name = "air"})
|
||||
end,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
light_source = 14,
|
||||
drop = 'ma_pops_furniture:lamp_2_off',
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
node.name = "ma_pops_furniture:lamp_2_off"
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.375, -0.0625, -0.375, 0.375, 0.5, 0.375}, -- NodeBox16
|
||||
{-0.0625, -0.5, -0.0625, 0.0625, 0.1875, 0.0625} -- NodeBox17
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
-- Register the "off" version of the lamp
|
||||
minetest.register_node("ma_pops_furniture:lamp_2_off", {
|
||||
description = "Floor Lamp 2",
|
||||
tiles = {
|
||||
"mp_lt.png",
|
||||
"mp_lt.png",
|
||||
"default_stone.png^mp_ls_top.png",
|
||||
"default_stone.png^mp_ls_top.png",
|
||||
"default_stone.png^mp_ls_top.png",
|
||||
"default_stone.png^mp_ls_top.png"
|
||||
},
|
||||
groups = {cracky=2, oddly_breakable_by_hand=3, not_in_creative_inventory = 1},
|
||||
drop = "test:node_1",
|
||||
on_dig = function(pos, node, player)
|
||||
minetest.set_node({x = pos.x, y = pos.y - 1, z = pos.z}, {name = "air"})
|
||||
minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name = "air"})
|
||||
end,
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
node.name = "ma_pops_furniture:lamp_2_on"
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.375, -0.0625, -0.375, 0.375, 0.5, 0.375}, -- NodeBox16
|
||||
{-0.0625, -0.5, -0.0625, 0.0625, 0.1875, 0.0625} -- NodeBox17
|
||||
}
|
||||
},
|
||||
on_punch = function(pos, node, clicker)
|
||||
change_lamp_color(pos, node, clicker)
|
||||
end
|
||||
})
|
7
mods/ma_pops_furniture/mod.conf
Normal file
|
@ -0,0 +1,7 @@
|
|||
name = ma_pops_furniture
|
||||
description = A revamp of Ma and Pop's Furniture Mod
|
||||
optional_depends = default, fire, wool, dye, farming, mobs_mc, mcl_farming
|
||||
|
||||
author = GamingAssociation39
|
||||
title = Ma & Pop's Furniture Mod
|
||||
release = 27688
|
96
mods/ma_pops_furniture/models/FM_birdbath.obj
Normal file
|
@ -0,0 +1,96 @@
|
|||
# Blender v2.75 (sub 4) OBJ File: 'birdbath.blend'
|
||||
# www.blender.org
|
||||
o Cube.001
|
||||
v -0.400000 -0.500000 0.400000
|
||||
v -0.400000 -0.400000 0.400000
|
||||
v -0.400000 -0.500000 -0.400000
|
||||
v -0.400000 -0.400000 -0.400000
|
||||
v 0.400000 -0.500000 0.400000
|
||||
v 0.400000 -0.400000 0.400000
|
||||
v 0.400000 -0.500000 -0.400000
|
||||
v 0.400000 -0.400000 -0.400000
|
||||
v -0.100000 -0.400000 0.100000
|
||||
v -0.100000 -0.400000 -0.100000
|
||||
v 0.100000 -0.400000 -0.100000
|
||||
v 0.100000 -0.400000 0.100000
|
||||
v -0.100000 0.200000 0.100000
|
||||
v -0.100000 0.200000 -0.100000
|
||||
v 0.100000 0.200000 -0.100000
|
||||
v 0.100000 0.200000 0.100000
|
||||
v -0.500000 0.200000 0.500000
|
||||
v -0.500000 0.200000 -0.500000
|
||||
v 0.500000 0.200000 -0.500000
|
||||
v 0.500000 0.200000 0.500000
|
||||
v -0.500000 0.450000 0.500000
|
||||
v -0.500000 0.450000 -0.500000
|
||||
v 0.500000 0.450000 -0.500000
|
||||
v 0.500000 0.450000 0.500000
|
||||
v -0.404231 0.376539 0.404231
|
||||
v -0.404231 0.376539 -0.404231
|
||||
v 0.404231 0.376539 -0.404231
|
||||
v 0.404231 0.376539 0.404231
|
||||
vt 0.100000 0.100000
|
||||
vt 0.900000 0.100000
|
||||
vt 0.900000 0.000000
|
||||
vt 0.100000 0.000000
|
||||
vt 0.100000 0.900000
|
||||
vt 0.900000 0.900000
|
||||
vt 0.400000 0.400000
|
||||
vt 0.400000 0.600000
|
||||
vt 0.400000 0.100000
|
||||
vt 0.600000 0.100000
|
||||
vt 0.600000 0.700000
|
||||
vt 0.400000 0.700000
|
||||
vt 0.600000 0.400000
|
||||
vt 0.600000 0.600000
|
||||
vt 1.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.700000
|
||||
vt 1.000000 0.700000
|
||||
vt 1.000000 0.950000
|
||||
vt 0.000000 0.950000
|
||||
vt 0.000000 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.095769 0.095769
|
||||
vt 0.095769 0.904231
|
||||
vt 0.904231 0.095769
|
||||
vt 0.904231 0.904231
|
||||
vn -1.000000 0.000000 0.000000
|
||||
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 0.608600 0.793500 0.000000
|
||||
vn 0.000000 0.793500 -0.608600
|
||||
vn 0.000000 0.793500 0.608600
|
||||
vn -0.608600 0.793500 0.000000
|
||||
g Cube.001_Cube.001_Material
|
||||
s off
|
||||
f 2/1/1 4/2/1 3/3/1 1/4/1
|
||||
f 4/1/2 8/2/2 7/3/2 3/4/2
|
||||
f 8/2/3 6/1/3 5/4/3 7/3/3
|
||||
f 6/2/4 2/1/4 1/4/4 5/3/4
|
||||
f 1/1/5 3/5/5 7/6/5 5/2/5
|
||||
f 4/5/6 2/1/6 9/7/6 10/8/6
|
||||
f 12/9/3 11/10/3 15/11/3 16/12/3
|
||||
f 2/1/6 6/2/6 12/13/6 9/7/6
|
||||
f 8/6/6 4/5/6 10/8/6 11/14/6
|
||||
f 6/2/6 8/6/6 11/14/6 12/13/6
|
||||
f 13/7/5 16/13/5 20/15/5 17/16/5
|
||||
f 10/10/1 9/9/1 13/12/1 14/11/1
|
||||
f 9/9/4 12/10/4 16/11/4 13/12/4
|
||||
f 11/10/2 10/9/2 14/12/2 15/11/2
|
||||
f 20/17/3 19/18/3 23/19/3 24/20/3
|
||||
f 15/14/5 14/8/5 18/21/5 19/22/5
|
||||
f 16/13/5 15/14/5 19/22/5 20/15/5
|
||||
f 14/8/5 13/7/5 17/16/5 18/21/5
|
||||
f 22/21/7 21/16/7 25/23/7 26/24/7
|
||||
f 18/18/1 17/17/1 21/20/1 22/19/1
|
||||
f 17/17/4 20/18/4 24/19/4 21/20/4
|
||||
f 19/18/2 18/17/2 22/20/2 23/19/2
|
||||
f 21/16/8 24/15/8 28/25/8 25/23/8
|
||||
f 23/22/9 22/21/9 26/24/9 27/26/9
|
||||
f 24/15/10 23/22/10 27/26/10 28/25/10
|
||||
g Cube.001_Cube.001_Water.001
|
||||
f 28/15/6 27/22/6 26/21/6 25/16/6
|
233
mods/ma_pops_furniture/models/FM_fireplace_empty.obj
Normal file
|
@ -0,0 +1,233 @@
|
|||
# Blender v2.75 (sub 0) OBJ File: ''
|
||||
# www.blender.org
|
||||
mtllib fireplace_empty.mtl
|
||||
o Cube.009_Cube.010
|
||||
v -1.875625 -0.331071 -0.956249
|
||||
v -1.882333 -0.303344 0.871280
|
||||
v -1.871355 -0.873750 -0.947999
|
||||
v -1.878062 -0.846023 0.879529
|
||||
v -1.970013 -0.331819 -0.956584
|
||||
v -1.976720 -0.304092 0.870945
|
||||
v -1.965742 -0.874498 -0.948335
|
||||
v -1.972450 -0.846771 0.879194
|
||||
vn 1.000000 0.007900 0.003500
|
||||
vn 0.007900 -0.999900 0.015200
|
||||
vn -1.000000 -0.007900 -0.003500
|
||||
vn -0.007900 0.999900 -0.015200
|
||||
vn 0.003700 -0.015200 -0.999900
|
||||
vn -0.003700 0.015200 0.999900
|
||||
usemtl None
|
||||
s off
|
||||
f 2//1 4//1 3//1 1//1
|
||||
f 4//2 8//2 7//2 3//2
|
||||
f 8//3 6//3 5//3 7//3
|
||||
f 6//4 2//4 1//4 5//4
|
||||
f 1//5 3//5 7//5 5//5
|
||||
f 6//6 8//6 4//6 2//6
|
||||
o Cube.008_Cube.009
|
||||
v -1.914666 1.976250 0.049641
|
||||
v -1.914666 2.249527 0.049641
|
||||
v -1.914666 1.976250 -0.283576
|
||||
v -1.914666 2.249527 -0.283576
|
||||
v -0.054283 1.976250 0.049641
|
||||
v -0.054283 2.249527 0.049641
|
||||
v -0.054283 1.976250 -0.283576
|
||||
v -0.054283 2.249527 -0.283576
|
||||
vn -1.000000 0.000000 0.000000
|
||||
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
|
||||
usemtl None
|
||||
s off
|
||||
f 10//7 12//7 11//7 9//7
|
||||
f 12//8 16//8 15//8 11//8
|
||||
f 16//9 14//9 13//9 15//9
|
||||
f 14//10 10//10 9//10 13//10
|
||||
f 9//11 11//11 15//11 13//11
|
||||
f 14//12 16//12 12//12 10//12
|
||||
o Cube.007_Cube.008
|
||||
v -1.911818 1.599512 0.223404
|
||||
v -1.911818 1.990067 0.223404
|
||||
v -1.911818 1.599512 -0.401498
|
||||
v -1.911818 1.990067 -0.401498
|
||||
v -0.072114 1.599512 0.223404
|
||||
v -0.072114 1.990067 0.223404
|
||||
v -0.072114 1.599512 -0.401498
|
||||
v -0.072114 1.990067 -0.401498
|
||||
vn -1.000000 0.000000 0.000000
|
||||
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
|
||||
usemtl None
|
||||
s off
|
||||
f 18//13 20//13 19//13 17//13
|
||||
f 20//14 24//14 23//14 19//14
|
||||
f 24//15 22//15 21//15 23//15
|
||||
f 22//16 18//16 17//16 21//16
|
||||
f 17//17 19//17 23//17 21//17
|
||||
f 22//18 24//18 20//18 18//18
|
||||
o Cube.006_Cube.007
|
||||
v -1.919788 1.283157 0.334455
|
||||
v -1.919788 1.673711 0.334455
|
||||
v -1.919788 1.283157 -0.532109
|
||||
v -1.919788 1.673711 -0.532109
|
||||
v -0.007317 1.283157 0.334455
|
||||
v -0.007317 1.673711 0.334455
|
||||
v -0.007317 1.283157 -0.532109
|
||||
v -0.007317 1.673711 -0.532109
|
||||
vn -1.000000 0.000000 0.000000
|
||||
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
|
||||
usemtl None
|
||||
s off
|
||||
f 26//19 28//19 27//19 25//19
|
||||
f 28//20 32//20 31//20 27//20
|
||||
f 32//21 30//21 29//21 31//21
|
||||
f 30//22 26//22 25//22 29//22
|
||||
f 25//23 27//23 31//23 29//23
|
||||
f 30//24 32//24 28//24 26//24
|
||||
o Cube.005_Cube.006
|
||||
v -1.931623 1.001512 0.792719
|
||||
v -1.931623 1.392066 0.792719
|
||||
v -1.931623 1.001512 -0.918889
|
||||
v -1.931623 1.392066 -0.918889
|
||||
v 0.044714 1.001512 0.792719
|
||||
v 0.044714 1.392066 0.792719
|
||||
v 0.044714 1.001512 -0.918889
|
||||
v 0.044714 1.392066 -0.918889
|
||||
vn -1.000000 0.000000 0.000000
|
||||
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
|
||||
usemtl None
|
||||
s off
|
||||
f 34//25 36//25 35//25 33//25
|
||||
f 36//26 40//26 39//26 35//26
|
||||
f 40//27 38//27 37//27 39//27
|
||||
f 38//28 34//28 33//28 37//28
|
||||
f 33//29 35//29 39//29 37//29
|
||||
f 38//30 40//30 36//30 34//30
|
||||
o Cube.004_Cube.005
|
||||
v 0.056191 0.896049 -1.031979
|
||||
v 0.056191 0.899351 0.941779
|
||||
v -1.943517 0.930250 -1.032036
|
||||
v -1.943517 0.933552 0.941721
|
||||
v 0.057803 0.990334 -1.032137
|
||||
v 0.057804 0.993636 0.941621
|
||||
v -1.941904 1.024536 -1.032194
|
||||
v -1.941904 1.027838 0.941564
|
||||
vn -0.017100 -0.999900 0.001700
|
||||
vn -0.999900 0.017100 -0.000000
|
||||
vn 0.017100 0.999900 -0.001700
|
||||
vn 0.999900 -0.017100 0.000000
|
||||
vn -0.000000 -0.001700 -1.000000
|
||||
vn 0.000000 0.001700 1.000000
|
||||
usemtl None
|
||||
s off
|
||||
f 42//31 44//31 43//31 41//31
|
||||
f 44//32 48//32 47//32 43//32
|
||||
f 48//33 46//33 45//33 47//33
|
||||
f 46//34 42//34 41//34 45//34
|
||||
f 41//35 43//35 47//35 45//35
|
||||
f 46//36 48//36 44//36 42//36
|
||||
o Cube.003_Cube.004
|
||||
v 0.016186 -0.966420 -0.971699
|
||||
v 0.016186 -0.915652 0.951856
|
||||
v -1.983521 -0.932231 -0.972601
|
||||
v -1.983521 -0.881463 0.950953
|
||||
v 0.017799 -0.872167 -0.974186
|
||||
v 0.017799 -0.821400 0.949368
|
||||
v -1.981909 -0.837978 -0.975089
|
||||
v -1.981909 -0.787210 0.948466
|
||||
vn -0.017100 -0.999500 0.026400
|
||||
vn -0.999900 0.017100 -0.000500
|
||||
vn 0.017100 0.999500 -0.026400
|
||||
vn 0.999900 -0.017100 0.000500
|
||||
vn 0.000000 -0.026400 -0.999700
|
||||
vn -0.000000 0.026400 0.999700
|
||||
usemtl None
|
||||
s off
|
||||
f 50//37 52//37 51//37 49//37
|
||||
f 52//38 56//38 55//38 51//38
|
||||
f 56//39 54//39 53//39 55//39
|
||||
f 54//40 50//40 49//40 53//40
|
||||
f 49//41 51//41 55//41 53//41
|
||||
f 54//42 56//42 52//42 50//42
|
||||
o Cube.002_Cube.003
|
||||
v 0.016186 -0.997135 -0.902221
|
||||
v 0.016186 1.002865 -0.902221
|
||||
v -1.983521 -0.997135 -0.936423
|
||||
v -1.983521 1.002865 -0.936423
|
||||
v 0.017799 -0.997135 -0.996509
|
||||
v 0.017799 1.002865 -0.996509
|
||||
v -1.981909 -0.997135 -1.030711
|
||||
v -1.981909 1.002865 -1.030711
|
||||
vn -0.017100 0.000000 0.999900
|
||||
vn -0.999900 0.000000 -0.017100
|
||||
vn 0.017100 0.000000 -0.999900
|
||||
vn 0.999900 0.000000 0.017100
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
usemtl None
|
||||
s off
|
||||
f 58//43 60//43 59//43 57//43
|
||||
f 60//44 64//44 63//44 59//44
|
||||
f 64//45 62//45 61//45 63//45
|
||||
f 62//46 58//46 57//46 61//46
|
||||
f 57//47 59//47 63//47 61//47
|
||||
f 62//48 64//48 60//48 58//48
|
||||
o Cube.001_Cube.002
|
||||
v 0.048057 -1.004804 0.990161
|
||||
v 0.048057 0.995196 0.990161
|
||||
v -1.951651 -1.004804 0.955960
|
||||
v -1.951651 0.995196 0.955960
|
||||
v 0.049669 -1.004804 0.895873
|
||||
v 0.049669 0.995196 0.895873
|
||||
v -1.950038 -1.004804 0.861672
|
||||
v -1.950038 0.995196 0.861672
|
||||
vn -0.017100 0.000000 0.999900
|
||||
vn -0.999900 0.000000 -0.017100
|
||||
vn 0.017100 0.000000 -0.999900
|
||||
vn 0.999900 0.000000 0.017100
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 1.000000 -0.000000
|
||||
usemtl None
|
||||
s off
|
||||
f 66//49 68//49 67//49 65//49
|
||||
f 68//50 72//50 71//50 67//50
|
||||
f 72//51 70//51 69//51 71//51
|
||||
f 70//52 66//52 65//52 69//52
|
||||
f 65//53 67//53 71//53 69//53
|
||||
f 70//54 72//54 68//54 66//54
|
||||
o Cube_Cube.001
|
||||
v -0.047151 -1.000000 1.000000
|
||||
v -0.047151 1.000000 1.000000
|
||||
v -0.047151 -1.000000 -1.000000
|
||||
v -0.047151 1.000000 -1.000000
|
||||
v 0.047151 -1.000000 1.000000
|
||||
v 0.047151 1.000000 1.000000
|
||||
v 0.047151 -1.000000 -1.000000
|
||||
v 0.047151 1.000000 -1.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
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
|
||||
usemtl None
|
||||
s off
|
||||
f 74//55 76//55 75//55 73//55
|
||||
f 76//56 80//56 79//56 75//56
|
||||
f 80//57 78//57 77//57 79//57
|
||||
f 78//58 74//58 73//58 77//58
|
||||
f 73//59 75//59 79//59 77//59
|
||||
f 78//60 80//60 76//60 74//60
|
201
mods/ma_pops_furniture/models/FM_fireplace_off.obj
Normal file
|
@ -0,0 +1,201 @@
|
|||
# Blender v2.75 (sub 4) OBJ File: 'fireplace_empty.blend'
|
||||
# www.blender.org
|
||||
o Fireplace_off_Plane
|
||||
v 0.447003 -0.064595 -0.457685
|
||||
v 0.447003 -0.364595 -0.457685
|
||||
v -0.447003 -0.064595 -0.457685
|
||||
v -0.447003 -0.364595 -0.457685
|
||||
v -0.500000 -0.400000 -0.500000
|
||||
v -0.500000 0.500000 -0.500000
|
||||
v 0.500000 -0.400000 -0.500000
|
||||
v 0.500000 0.500000 -0.500000
|
||||
v -0.500000 -0.400000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v 0.500000 -0.400000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.400000 0.500000 -0.500000
|
||||
v 0.400000 0.500000 -0.500000
|
||||
v 0.400000 -0.400000 -0.500000
|
||||
v -0.400000 -0.400000 -0.500000
|
||||
v 0.400000 0.500000 0.500000
|
||||
v -0.400000 0.500000 0.500000
|
||||
v -0.400000 -0.400000 0.500000
|
||||
v 0.400000 -0.400000 0.500000
|
||||
v -0.500000 -0.300000 -0.500000
|
||||
v -0.500000 0.400000 -0.500000
|
||||
v 0.500000 0.400000 -0.500000
|
||||
v 0.500000 -0.300000 -0.500000
|
||||
v 0.500000 0.400000 0.500000
|
||||
v 0.500000 -0.300000 0.500000
|
||||
v -0.500000 0.400000 0.500000
|
||||
v -0.500000 -0.300000 0.500000
|
||||
v 0.400000 0.400000 0.500000
|
||||
v 0.400000 -0.300000 0.500000
|
||||
v -0.400000 0.400000 0.500000
|
||||
v -0.400000 -0.300000 0.500000
|
||||
v -0.400000 0.400000 -0.500000
|
||||
v -0.400000 -0.300000 -0.500000
|
||||
v 0.400000 0.400000 -0.500000
|
||||
v 0.400000 -0.300000 -0.500000
|
||||
v -0.400000 0.400000 0.400000
|
||||
v -0.400000 -0.300000 0.400000
|
||||
v 0.400000 0.400000 0.400000
|
||||
v 0.400000 -0.300000 0.400000
|
||||
v -0.400000 -0.500000 -0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v 0.400000 -0.500000 0.500000
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v 0.400000 -0.500000 -0.500000
|
||||
v -0.400000 -0.500000 0.500000
|
||||
v -0.400000 0.675000 -0.500000
|
||||
v 0.400000 0.675000 -0.500000
|
||||
v -0.400000 0.675000 0.500000
|
||||
v 0.400000 0.675000 0.500000
|
||||
v 0.400000 0.675000 0.500000
|
||||
v -0.400000 0.675000 0.500000
|
||||
v 0.400000 0.675000 -0.500000
|
||||
v -0.400000 0.675000 -0.500000
|
||||
v 0.240000 0.675000 0.500000
|
||||
v -0.240000 0.675000 0.500000
|
||||
v 0.240000 0.675000 -0.500000
|
||||
v -0.240000 0.675000 -0.500000
|
||||
v 0.240000 0.875000 0.500000
|
||||
v -0.240000 0.875000 0.500000
|
||||
v 0.240000 0.875000 -0.500000
|
||||
v -0.240000 0.875000 -0.500000
|
||||
v 0.120000 0.875000 0.500000
|
||||
v -0.120000 0.875000 0.500000
|
||||
v 0.120000 0.875000 -0.500000
|
||||
v -0.120000 0.875000 -0.500000
|
||||
v 0.120000 1.075000 0.500000
|
||||
v -0.120000 1.075000 0.500000
|
||||
v 0.120000 1.075000 -0.500000
|
||||
v -0.120000 1.075000 -0.500000
|
||||
vt 0.980066 -0.232831
|
||||
vt 1.103207 -0.232831
|
||||
vt 1.103207 -0.355973
|
||||
vt 0.980066 -0.355973
|
||||
vt -0.128207 -0.232831
|
||||
vt -0.128207 -0.355973
|
||||
vt -0.005066 -0.232831
|
||||
vt -0.005066 -0.355973
|
||||
vt -0.005066 -0.479114
|
||||
vt -0.128207 -0.479114
|
||||
vt 1.103207 0.629159
|
||||
vt 1.103207 0.752301
|
||||
vt -0.128207 0.752301
|
||||
vt -0.128207 0.629159
|
||||
vt 1.103207 -0.479114
|
||||
vt 0.980066 -0.479114
|
||||
vt -0.005066 0.752301
|
||||
vt 0.980066 0.752301
|
||||
vt 0.980066 0.629159
|
||||
vt -0.005066 0.629159
|
||||
vt -0.128207 0.967798
|
||||
vt 1.103207 0.967798
|
||||
vt 1.103207 1.214081
|
||||
vt -0.128207 1.214081
|
||||
vt 0.121793 -0.355973
|
||||
vt 1.353207 -0.355973
|
||||
vt 1.353207 -0.158946
|
||||
vt 0.121793 -0.158946
|
||||
vt 1.353207 -0.011176
|
||||
vt 0.121793 -0.011176
|
||||
vt 1.353207 0.629159
|
||||
vt 0.121793 0.629159
|
||||
vt 0.121793 0.432133
|
||||
vt 1.353207 0.432133
|
||||
vt 0.121793 0.284363
|
||||
vt 1.353207 0.284363
|
||||
vt 1.103207 1.460364
|
||||
vt -0.128207 1.460364
|
||||
vt 0.341929 1.457455
|
||||
vt 0.633902 1.457455
|
||||
vt 0.633902 1.214144
|
||||
vt 0.341929 1.214144
|
||||
vt 0.339730 1.214081
|
||||
vt 0.635270 1.214081
|
||||
vt 0.635270 1.460364
|
||||
vt 0.339730 1.460364
|
||||
vt 0.191961 1.214081
|
||||
vt 0.783040 1.214081
|
||||
vt 0.783040 0.967798
|
||||
vt 0.191961 0.967798
|
||||
vt 0.980066 0.967798
|
||||
vt -0.005066 0.967798
|
||||
vt -0.043259 1.000983
|
||||
vt -0.043259 0.631558
|
||||
vt 1.057632 0.631558
|
||||
vt 1.057632 1.000983
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 1.000000 0.000000 0.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
|
||||
g Fireplace_off_Plane_FirePlace
|
||||
s off
|
||||
f 36/1/1 24/2/1 7/3/1 15/4/1
|
||||
f 24/5/2 26/2/2 11/3/2 7/6/2
|
||||
f 32/7/3 28/5/3 9/6/3 19/8/3
|
||||
f 28/2/4 21/5/4 5/6/4 9/3/4
|
||||
f 5/6/1 16/8/1 41/9/1 42/10/1
|
||||
f 17/11/5 12/12/5 8/13/5 14/14/5
|
||||
f 10/15/5 18/3/5 13/6/5 6/10/5
|
||||
f 15/4/1 7/3/1 44/15/1 47/16/1
|
||||
f 16/6/6 15/14/6 20/11/6 19/3/6
|
||||
f 26/2/3 30/1/3 20/4/3 11/3/3
|
||||
f 30/1/3 32/7/3 19/8/3 20/4/3
|
||||
f 21/5/1 34/7/1 16/8/1 5/6/1
|
||||
f 34/7/1 36/1/1 15/4/1 16/8/1
|
||||
f 13/17/1 14/18/1 35/19/1 33/20/1
|
||||
f 36/14/5 34/6/5 38/4/5 40/19/5
|
||||
f 6/13/1 13/17/1 33/20/1 22/14/1
|
||||
f 22/14/1 33/20/1 34/7/1 21/5/1
|
||||
f 17/18/3 18/17/3 31/20/3 29/19/3
|
||||
f 29/19/3 31/20/3 32/7/3 30/1/3
|
||||
f 12/12/3 17/18/3 29/19/3 25/11/3
|
||||
f 25/11/3 29/19/3 30/1/3 26/2/3
|
||||
f 10/12/4 6/13/4 22/14/4 27/11/4
|
||||
f 27/11/4 22/14/4 21/5/4 28/2/4
|
||||
f 18/17/3 10/13/3 27/14/3 31/20/3
|
||||
f 31/20/3 27/14/3 28/5/3 32/7/3
|
||||
f 8/13/2 12/12/2 25/11/2 23/14/2
|
||||
f 23/14/2 25/11/2 26/2/2 24/5/2
|
||||
f 14/18/1 8/12/1 23/11/1 35/19/1
|
||||
f 35/19/1 23/11/1 24/2/1 36/1/1
|
||||
f 37/20/1 39/19/1 40/1/1 38/7/1
|
||||
f 35/14/4 36/5/4 40/1/4 39/19/4
|
||||
f 34/5/2 33/14/2 37/19/2 38/1/2
|
||||
f 33/6/6 35/14/6 39/19/6 37/4/6
|
||||
f 47/14/6 44/13/6 43/12/6 45/11/6
|
||||
f 42/10/6 41/6/6 48/3/6 46/15/6
|
||||
f 20/3/4 15/6/4 47/10/4 45/15/4
|
||||
f 7/6/2 11/3/2 43/15/2 44/10/2
|
||||
f 16/6/2 19/3/2 48/15/2 41/10/2
|
||||
f 9/3/4 5/6/4 42/10/4 46/15/4
|
||||
f 11/3/3 20/4/3 45/16/3 43/15/3
|
||||
f 19/8/3 9/6/3 46/10/3 48/9/3
|
||||
f 60/21/4 58/22/4 62/23/4 64/24/4
|
||||
f 17/12/2 14/13/2 50/21/2 52/22/2
|
||||
f 13/13/4 18/12/4 51/22/4 49/21/4
|
||||
f 56/25/5 54/26/5 58/27/5 60/28/5
|
||||
f 49/6/3 51/3/3 54/3/3 56/6/3
|
||||
f 64/28/5 62/27/5 66/29/5 68/30/5
|
||||
f 57/22/2 59/21/2 63/24/2 61/23/2
|
||||
f 53/31/5 55/32/5 59/33/5 57/34/5
|
||||
f 52/11/3 50/14/3 55/14/3 53/11/3
|
||||
f 61/34/5 63/33/5 67/35/5 65/36/5
|
||||
f 68/24/4 66/23/4 70/37/4 72/38/4
|
||||
f 65/23/2 67/24/2 71/38/2 69/37/2
|
||||
f 71/35/5 72/30/5 70/29/5 69/36/5
|
||||
f 72/39/1 71/40/1 67/41/1 68/42/1
|
||||
f 66/43/3 65/44/3 69/45/3 70/46/3
|
||||
f 64/47/1 68/43/1 67/44/1 63/48/1 59/49/1 60/50/1
|
||||
f 58/50/3 57/49/3 61/48/3 65/44/3 66/43/3 62/47/3
|
||||
f 18/17/3 17/18/3 52/51/3 54/52/3 58/50/3 57/49/3 53/51/3 51/52/3
|
||||
f 13/17/1 49/52/1 55/51/1 59/49/1 60/50/1 56/52/1 50/51/1 14/18/1
|
||||
g Fireplace_off_Plane_Grate
|
||||
f 1/53/1 2/54/1 4/55/1 3/56/1
|
271
mods/ma_pops_furniture/models/FM_fireplace_on.obj
Normal file
|
@ -0,0 +1,271 @@
|
|||
# Blender v2.75 (sub 4) OBJ File: 'fireplace_empty.blend'
|
||||
# www.blender.org
|
||||
o Fireplace_on_Plane.002
|
||||
v -0.351930 -0.351930 0.025126
|
||||
v -0.351930 0.351930 0.025126
|
||||
v 0.351930 -0.351930 0.025126
|
||||
v 0.351930 0.351930 0.025126
|
||||
v 0.400000 0.041703 0.249151
|
||||
v -0.400000 0.041703 0.249151
|
||||
v 0.400000 -0.008757 0.370972
|
||||
v -0.400000 -0.008757 0.370972
|
||||
v 0.400000 -0.302859 0.249151
|
||||
v -0.400000 -0.302859 0.249151
|
||||
v 0.400000 -0.252399 0.127330
|
||||
v -0.400000 -0.252399 0.127330
|
||||
v 0.400000 -0.130578 0.076870
|
||||
v -0.400000 -0.130578 0.076870
|
||||
v 0.400000 -0.008757 0.127330
|
||||
v -0.400000 -0.008757 0.127330
|
||||
v 0.400000 -0.079822 -0.150849
|
||||
v -0.400000 -0.079822 -0.150849
|
||||
v 0.400000 -0.112470 -0.072030
|
||||
v -0.400000 -0.112470 -0.072030
|
||||
v 0.400000 -0.191289 -0.039382
|
||||
v -0.400000 -0.191289 -0.039382
|
||||
v 0.400000 -0.302756 -0.150849
|
||||
v -0.400000 -0.302756 -0.150849
|
||||
v 0.400000 -0.270108 -0.229668
|
||||
v -0.400000 -0.270108 -0.229668
|
||||
v 0.400000 -0.191289 -0.262316
|
||||
v -0.400000 -0.191289 -0.262316
|
||||
v 0.400000 -0.112470 -0.229668
|
||||
v -0.400000 -0.112470 -0.229668
|
||||
v 0.447003 -0.064595 -0.457685
|
||||
v 0.447003 -0.364595 -0.457685
|
||||
v -0.447003 -0.064595 -0.457685
|
||||
v -0.447003 -0.364595 -0.457685
|
||||
v -0.500000 -0.400000 -0.500000
|
||||
v -0.500000 0.500000 -0.500000
|
||||
v 0.500000 -0.400000 -0.500000
|
||||
v 0.500000 0.500000 -0.500000
|
||||
v -0.500000 -0.400000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v 0.500000 -0.400000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.400000 0.500000 -0.500000
|
||||
v 0.400000 0.500000 -0.500000
|
||||
v 0.400000 -0.400000 -0.500000
|
||||
v -0.400000 -0.400000 -0.500000
|
||||
v 0.400000 0.500000 0.500000
|
||||
v -0.400000 0.500000 0.500000
|
||||
v -0.400000 -0.400000 0.500000
|
||||
v 0.400000 -0.400000 0.500000
|
||||
v -0.500000 -0.300000 -0.500000
|
||||
v -0.500000 0.400000 -0.500000
|
||||
v 0.500000 0.400000 -0.500000
|
||||
v 0.500000 -0.300000 -0.500000
|
||||
v 0.500000 0.400000 0.500000
|
||||
v 0.500000 -0.300000 0.500000
|
||||
v -0.500000 0.400000 0.500000
|
||||
v -0.500000 -0.300000 0.500000
|
||||
v 0.400000 0.400000 0.500000
|
||||
v 0.400000 -0.300000 0.500000
|
||||
v -0.400000 0.400000 0.500000
|
||||
v -0.400000 -0.300000 0.500000
|
||||
v -0.400000 0.400000 -0.500000
|
||||
v -0.400000 -0.300000 -0.500000
|
||||
v 0.400000 0.400000 -0.500000
|
||||
v 0.400000 -0.300000 -0.500000
|
||||
v -0.400000 0.400000 0.400000
|
||||
v -0.400000 -0.300000 0.400000
|
||||
v 0.400000 0.400000 0.400000
|
||||
v 0.400000 -0.300000 0.400000
|
||||
v -0.400000 -0.500000 -0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v 0.400000 -0.500000 0.500000
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v 0.400000 -0.500000 -0.500000
|
||||
v -0.400000 -0.500000 0.500000
|
||||
v -0.400000 0.675000 -0.500000
|
||||
v 0.400000 0.675000 -0.500000
|
||||
v -0.400000 0.675000 0.500000
|
||||
v 0.400000 0.675000 0.500000
|
||||
v 0.400000 0.675000 0.500000
|
||||
v -0.400000 0.675000 0.500000
|
||||
v 0.400000 0.675000 -0.500000
|
||||
v -0.400000 0.675000 -0.500000
|
||||
v 0.240000 0.675000 0.500000
|
||||
v -0.240000 0.675000 0.500000
|
||||
v 0.240000 0.675000 -0.500000
|
||||
v -0.240000 0.675000 -0.500000
|
||||
v 0.240000 0.875000 0.500000
|
||||
v -0.240000 0.875000 0.500000
|
||||
v 0.240000 0.875000 -0.500000
|
||||
v -0.240000 0.875000 -0.500000
|
||||
v 0.120000 0.875000 0.500000
|
||||
v -0.120000 0.875000 0.500000
|
||||
v 0.120000 0.875000 -0.500000
|
||||
v -0.120000 0.875000 -0.500000
|
||||
v 0.120000 1.075000 0.500000
|
||||
v -0.120000 1.075000 0.500000
|
||||
v 0.120000 1.075000 -0.500000
|
||||
v -0.120000 1.075000 -0.500000
|
||||
vt 0.980066 -0.232831
|
||||
vt 1.103207 -0.232831
|
||||
vt 1.103207 -0.355973
|
||||
vt 0.980066 -0.355973
|
||||
vt -0.128207 -0.232831
|
||||
vt -0.128207 -0.355973
|
||||
vt -0.005066 -0.232831
|
||||
vt -0.005066 -0.355973
|
||||
vt -0.005066 -0.479114
|
||||
vt -0.128207 -0.479114
|
||||
vt 1.103207 0.629159
|
||||
vt 1.103207 0.752301
|
||||
vt -0.128207 0.752301
|
||||
vt -0.128207 0.629159
|
||||
vt 1.103207 -0.479114
|
||||
vt 0.980066 -0.479114
|
||||
vt -0.005066 0.752301
|
||||
vt 0.980066 0.752301
|
||||
vt 0.980066 0.629159
|
||||
vt -0.005066 0.629159
|
||||
vt -0.128207 0.967798
|
||||
vt 1.103207 0.967798
|
||||
vt 1.103207 1.214081
|
||||
vt -0.128207 1.214081
|
||||
vt 0.121793 -0.355973
|
||||
vt 1.353207 -0.355973
|
||||
vt 1.353207 -0.158946
|
||||
vt 0.121793 -0.158946
|
||||
vt 1.353207 -0.011176
|
||||
vt 0.121793 -0.011176
|
||||
vt 1.353207 0.629159
|
||||
vt 0.121793 0.629159
|
||||
vt 0.121793 0.432133
|
||||
vt 1.353207 0.432133
|
||||
vt 0.121793 0.284363
|
||||
vt 1.353207 0.284363
|
||||
vt 1.103207 1.460364
|
||||
vt -0.128207 1.460364
|
||||
vt 0.344398 1.457912
|
||||
vt 0.635804 1.457912
|
||||
vt 0.635804 1.215073
|
||||
vt 0.344398 1.215073
|
||||
vt 0.339730 1.214081
|
||||
vt 0.635270 1.214081
|
||||
vt 0.635270 1.460364
|
||||
vt 0.339730 1.460364
|
||||
vt 0.191961 1.214081
|
||||
vt 0.783040 1.214081
|
||||
vt 0.783040 0.967798
|
||||
vt 0.191961 0.967798
|
||||
vt 0.980066 0.967798
|
||||
vt -0.005066 0.967798
|
||||
vt -0.043259 1.000983
|
||||
vt -0.043259 0.631558
|
||||
vt 1.057632 0.631558
|
||||
vt 1.057632 1.000983
|
||||
vt 0.621575 0.000134
|
||||
vt 0.621575 0.999866
|
||||
vt 0.496809 0.999866
|
||||
vt 0.496810 0.000134
|
||||
vt 0.122515 0.000134
|
||||
vt 0.122514 0.999866
|
||||
vt -0.002251 0.999866
|
||||
vt -0.002250 0.000134
|
||||
vt 0.995869 0.000134
|
||||
vt 0.995869 0.999866
|
||||
vt 0.871105 0.999866
|
||||
vt 0.871105 0.000134
|
||||
vt 0.746340 0.000134
|
||||
vt 0.746340 0.999866
|
||||
vt 0.372044 0.999866
|
||||
vt 0.372045 0.000134
|
||||
vt 0.999900 0.000100
|
||||
vt 0.999900 0.999900
|
||||
vt 0.000100 0.999900
|
||||
vt 0.000100 0.000100
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 1.000000 0.000000 0.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 0.000000 0.923900 0.382700
|
||||
vn -0.000000 -0.923900 -0.382700
|
||||
vn 0.000000 -0.382700 -0.923900
|
||||
vn 0.000000 0.923900 -0.382700
|
||||
vn 0.000000 0.382700 -0.923900
|
||||
vn -0.000000 0.382700 0.923900
|
||||
g Fireplace_on_Plane.002_FirePlace
|
||||
s off
|
||||
f 66/1/1 54/2/1 37/3/1 45/4/1
|
||||
f 54/5/2 56/2/2 41/3/2 37/6/2
|
||||
f 62/7/3 58/5/3 39/6/3 49/8/3
|
||||
f 58/2/4 51/5/4 35/6/4 39/3/4
|
||||
f 35/6/1 46/8/1 71/9/1 72/10/1
|
||||
f 47/11/5 42/12/5 38/13/5 44/14/5
|
||||
f 40/15/5 48/3/5 43/6/5 36/10/5
|
||||
f 45/4/1 37/3/1 74/15/1 77/16/1
|
||||
f 46/6/6 45/14/6 50/11/6 49/3/6
|
||||
f 56/2/3 60/1/3 50/4/3 41/3/3
|
||||
f 60/1/3 62/7/3 49/8/3 50/4/3
|
||||
f 51/5/1 64/7/1 46/8/1 35/6/1
|
||||
f 64/7/1 66/1/1 45/4/1 46/8/1
|
||||
f 43/17/1 44/18/1 65/19/1 63/20/1
|
||||
f 66/14/5 64/6/5 68/4/5 70/19/5
|
||||
f 36/13/1 43/17/1 63/20/1 52/14/1
|
||||
f 52/14/1 63/20/1 64/7/1 51/5/1
|
||||
f 47/18/3 48/17/3 61/20/3 59/19/3
|
||||
f 59/19/3 61/20/3 62/7/3 60/1/3
|
||||
f 42/12/3 47/18/3 59/19/3 55/11/3
|
||||
f 55/11/3 59/19/3 60/1/3 56/2/3
|
||||
f 40/12/4 36/13/4 52/14/4 57/11/4
|
||||
f 57/11/4 52/14/4 51/5/4 58/2/4
|
||||
f 48/17/3 40/13/3 57/14/3 61/20/3
|
||||
f 61/20/3 57/14/3 58/5/3 62/7/3
|
||||
f 38/13/2 42/12/2 55/11/2 53/14/2
|
||||
f 53/14/2 55/11/2 56/2/2 54/5/2
|
||||
f 44/18/1 38/12/1 53/11/1 65/19/1
|
||||
f 65/19/1 53/11/1 54/2/1 66/1/1
|
||||
f 67/20/1 69/19/1 70/1/1 68/7/1
|
||||
f 65/14/4 66/5/4 70/1/4 69/19/4
|
||||
f 64/5/2 63/14/2 67/19/2 68/1/2
|
||||
f 63/6/6 65/14/6 69/19/6 67/4/6
|
||||
f 77/14/6 74/13/6 73/12/6 75/11/6
|
||||
f 72/10/6 71/6/6 78/3/6 76/15/6
|
||||
f 50/3/4 45/6/4 77/10/4 75/15/4
|
||||
f 37/6/2 41/3/2 73/15/2 74/10/2
|
||||
f 46/6/2 49/3/2 78/15/2 71/10/2
|
||||
f 39/3/4 35/6/4 72/10/4 76/15/4
|
||||
f 41/3/3 50/4/3 75/16/3 73/15/3
|
||||
f 49/8/3 39/6/3 76/10/3 78/9/3
|
||||
f 90/21/4 88/22/4 92/23/4 94/24/4
|
||||
f 47/12/2 44/13/2 80/21/2 82/22/2
|
||||
f 43/13/4 48/12/4 81/22/4 79/21/4
|
||||
f 86/25/5 84/26/5 88/27/5 90/28/5
|
||||
f 79/6/3 81/3/3 84/3/3 86/6/3
|
||||
f 94/28/5 92/27/5 96/29/5 98/30/5
|
||||
f 87/22/2 89/21/2 93/24/2 91/23/2
|
||||
f 83/31/5 85/32/5 89/33/5 87/34/5
|
||||
f 82/11/3 80/14/3 85/14/3 83/11/3
|
||||
f 91/34/5 93/33/5 97/35/5 95/36/5
|
||||
f 98/24/4 96/23/4 100/37/4 102/38/4
|
||||
f 95/23/2 97/24/2 101/38/2 99/37/2
|
||||
f 101/35/5 102/30/5 100/29/5 99/36/5
|
||||
f 102/39/1 101/40/1 97/41/1 98/42/1
|
||||
f 96/43/3 95/44/3 99/45/3 100/46/3
|
||||
f 94/47/1 98/43/1 97/44/1 93/48/1 89/49/1 90/50/1
|
||||
f 88/50/3 87/49/3 91/48/3 95/44/3 96/43/3 92/47/3
|
||||
f 48/17/3 47/18/3 82/51/3 84/52/3 88/50/3 87/49/3 83/51/3 81/52/3
|
||||
f 43/17/1 79/52/1 85/51/1 89/49/1 90/50/1 86/52/1 80/51/1 44/18/1
|
||||
g Fireplace_on_Plane.002_Grate
|
||||
f 31/53/1 32/54/1 34/55/1 33/56/1
|
||||
g Fireplace_on_Plane.002_Wood
|
||||
f 5/57/7 6/58/7 8/59/7 7/60/7
|
||||
f 9/61/8 10/62/8 12/63/8 11/64/8
|
||||
f 11/65/9 12/66/9 14/67/9 13/68/9
|
||||
f 15/69/10 16/70/10 6/58/10 5/57/10
|
||||
f 13/68/11 14/67/11 16/70/11 15/69/11
|
||||
f 17/57/7 18/58/7 20/59/7 19/60/7
|
||||
f 19/60/12 20/59/12 22/71/12 21/72/12
|
||||
f 23/61/8 24/62/8 26/63/8 25/64/8
|
||||
f 25/65/9 26/66/9 28/67/9 27/68/9
|
||||
f 29/69/10 30/70/10 18/58/10 17/57/10
|
||||
f 27/68/11 28/67/11 30/70/11 29/69/11
|
||||
g Fireplace_on_Plane.002_Fire
|
||||
f 1/73/1 2/74/1 4/75/1 3/76/1
|
282
mods/ma_pops_furniture/models/FM_lcd_tv.obj
Normal file
|
@ -0,0 +1,282 @@
|
|||
# Blender v2.79 (sub 7) OBJ File: ''
|
||||
# www.blender.org
|
||||
o Cube.001
|
||||
v 0.997299 -0.405856 0.054064
|
||||
v 0.997299 0.792446 0.054064
|
||||
v -0.988460 0.792446 0.054064
|
||||
v -0.988460 -0.405856 0.054064
|
||||
v -0.988460 0.792446 -0.048275
|
||||
v -0.988460 -0.405856 -0.048275
|
||||
v -0.926462 0.730449 -0.048275
|
||||
v 0.935302 0.730449 -0.048275
|
||||
v 0.935302 0.730449 -0.036038
|
||||
v -0.926462 0.730449 -0.036038
|
||||
v 0.997299 -0.405856 -0.048275
|
||||
v 0.997299 0.792446 -0.048275
|
||||
v 0.964361 -0.496219 -0.032477
|
||||
v 0.939937 -0.405063 0.001871
|
||||
v 0.891382 -0.418073 0.001871
|
||||
v 0.915807 -0.509229 -0.032477
|
||||
v 0.886933 -0.401467 -0.045364
|
||||
v 0.911358 -0.492623 -0.079712
|
||||
v 0.935487 -0.388457 -0.045364
|
||||
v 0.959912 -0.479613 -0.079712
|
||||
v 0.959912 -0.479613 0.084787
|
||||
v 0.935487 -0.388456 0.050439
|
||||
v 0.886932 -0.401467 0.050439
|
||||
v 0.911358 -0.492623 0.084787
|
||||
v 0.891383 -0.418073 0.003203
|
||||
v 0.915807 -0.509229 0.037552
|
||||
v 0.939937 -0.405064 0.003203
|
||||
v 0.964361 -0.496219 0.037552
|
||||
v -0.906280 -0.509229 -0.032477
|
||||
v -0.881854 -0.418073 0.001871
|
||||
v -0.930408 -0.405063 0.001871
|
||||
v -0.954834 -0.496219 -0.032477
|
||||
v -0.925959 -0.388457 -0.045364
|
||||
v -0.950383 -0.479613 -0.079712
|
||||
v -0.877405 -0.401467 -0.045364
|
||||
v -0.901829 -0.492623 -0.079712
|
||||
v -0.901830 -0.492623 0.084787
|
||||
v -0.877405 -0.401466 0.050439
|
||||
v -0.925959 -0.388456 0.050439
|
||||
v -0.950383 -0.479613 0.084787
|
||||
v -0.930408 -0.405064 0.003203
|
||||
v -0.954834 -0.496219 0.037552
|
||||
v -0.881854 -0.418073 0.003203
|
||||
v -0.906279 -0.509229 0.037552
|
||||
v 0.910700 -0.020382 0.099698
|
||||
v 0.910700 0.769627 0.056819
|
||||
v -0.901861 0.769627 0.056819
|
||||
v -0.901861 -0.020382 0.099698
|
||||
v -0.901861 0.764564 -0.036457
|
||||
v -0.901861 -0.025445 0.006422
|
||||
v 0.910700 0.764564 -0.036457
|
||||
v 0.910700 -0.025445 0.006422
|
||||
v -0.926462 -0.343858 -0.048275
|
||||
v 0.935302 -0.343858 -0.048275
|
||||
v -0.926462 -0.343858 -0.036038
|
||||
v 0.935302 -0.343858 -0.036038
|
||||
vt 1.000000 0.375000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.500000 0.375000
|
||||
vt 1.000000 0.187500
|
||||
vt 0.687500 0.187500
|
||||
vt 0.687500 0.250000
|
||||
vt 1.000000 0.250000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.968750
|
||||
vt 0.500000 0.968750
|
||||
vt 1.000000 0.281250
|
||||
vt 0.687500 0.281250
|
||||
vt 0.687500 0.343750
|
||||
vt 1.000000 0.343750
|
||||
vt 1.000000 0.125000
|
||||
vt 1.000000 0.062500
|
||||
vt 0.500000 0.062500
|
||||
vt 0.500000 0.125000
|
||||
vt 0.500000 -0.000000
|
||||
vt 0.500000 0.062500
|
||||
vt 1.000000 0.062500
|
||||
vt 1.000000 0.000000
|
||||
vt 0.593750 0.281250
|
||||
vt 0.593750 0.343750
|
||||
vt 0.609375 0.343750
|
||||
vt 0.609375 0.281250
|
||||
vt 0.625000 0.343750
|
||||
vt 0.625000 0.281250
|
||||
vt 0.593750 0.281250
|
||||
vt 0.593750 0.343750
|
||||
vt 0.609375 0.343750
|
||||
vt 0.609375 0.281250
|
||||
vt 0.625000 0.343750
|
||||
vt 0.625000 0.281250
|
||||
vt 0.625000 0.281250
|
||||
vt 0.609375 0.281250
|
||||
vt 0.609375 0.312500
|
||||
vt 0.625000 0.312500
|
||||
vt 0.625000 0.312500
|
||||
vt 0.609375 0.312500
|
||||
vt 0.609375 0.343750
|
||||
vt 0.625000 0.343750
|
||||
vt 0.593750 0.281250
|
||||
vt 0.593750 0.343750
|
||||
vt 0.609375 0.343750
|
||||
vt 0.609375 0.281250
|
||||
vt 0.625000 0.343750
|
||||
vt 0.625000 0.281250
|
||||
vt 0.593750 0.281250
|
||||
vt 0.593750 0.343750
|
||||
vt 0.609375 0.343750
|
||||
vt 0.609375 0.281250
|
||||
vt 0.625000 0.343750
|
||||
vt 0.625000 0.281250
|
||||
vt 0.625000 0.281250
|
||||
vt 0.609375 0.281250
|
||||
vt 0.609375 0.312500
|
||||
vt 0.625000 0.312500
|
||||
vt 0.625000 0.312500
|
||||
vt 0.609375 0.312500
|
||||
vt 0.609375 0.343750
|
||||
vt 0.625000 0.343750
|
||||
vt 0.640625 0.281250
|
||||
vt 0.640625 0.343750
|
||||
vt 0.656250 0.343750
|
||||
vt 0.656250 0.281250
|
||||
vt 0.671875 0.343750
|
||||
vt 0.671875 0.281250
|
||||
vt 0.640625 0.281250
|
||||
vt 0.640625 0.343750
|
||||
vt 0.656250 0.343750
|
||||
vt 0.656250 0.281250
|
||||
vt 0.671875 0.343750
|
||||
vt 0.671875 0.281250
|
||||
vt 0.671875 0.281250
|
||||
vt 0.656250 0.281250
|
||||
vt 0.656250 0.312500
|
||||
vt 0.671875 0.312500
|
||||
vt 0.671875 0.312500
|
||||
vt 0.656250 0.312500
|
||||
vt 0.656250 0.343750
|
||||
vt 0.671875 0.343750
|
||||
vt 0.640625 0.281250
|
||||
vt 0.640625 0.343750
|
||||
vt 0.656250 0.343750
|
||||
vt 0.656250 0.281250
|
||||
vt 0.671875 0.343750
|
||||
vt 0.671875 0.281250
|
||||
vt 0.640625 0.281250
|
||||
vt 0.640625 0.343750
|
||||
vt 0.656250 0.343750
|
||||
vt 0.656250 0.281250
|
||||
vt 0.671875 0.343750
|
||||
vt 0.671875 0.281250
|
||||
vt 0.671875 0.281250
|
||||
vt 0.656250 0.281250
|
||||
vt 0.656250 0.312500
|
||||
vt 0.671875 0.312500
|
||||
vt 0.671875 0.312500
|
||||
vt 0.656250 0.312500
|
||||
vt 0.656250 0.343750
|
||||
vt 0.671875 0.343750
|
||||
vt 0.421875 0.000000
|
||||
vt 0.421875 0.343750
|
||||
vt 0.015625 0.343750
|
||||
vt 0.015625 0.000000
|
||||
vt 0.000000 0.343750
|
||||
vt 0.000000 0.000000
|
||||
vt 0.500000 0.375000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.375000
|
||||
vt 0.437500 0.000000
|
||||
vt 0.437500 0.343750
|
||||
vt 0.015625 0.375000
|
||||
vt 0.015625 0.343750
|
||||
vt 0.421875 0.343750
|
||||
vt 0.421875 0.375000
|
||||
vt 0.421875 0.343750
|
||||
vt 0.015625 0.375000
|
||||
vt 0.421875 0.375000
|
||||
vt 0.484375 0.968750
|
||||
vt 0.484375 0.406250
|
||||
vt 0.500000 0.375000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.015625 0.406250
|
||||
vt 0.000000 0.375000
|
||||
vt 0.015625 0.968750
|
||||
vt 0.000000 1.000000
|
||||
vt 0.484375 0.375000
|
||||
vt 0.484375 1.000000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.500000 0.375000
|
||||
vt 0.000000 0.375000
|
||||
vt 0.015625 0.375000
|
||||
vt 0.015625 1.000000
|
||||
vt 0.421875 0.375000
|
||||
vt 0.421875 0.406250
|
||||
vt 0.000000 0.406250
|
||||
vt 0.968750 0.406250
|
||||
vt 0.968750 0.968750
|
||||
vt 0.031250 0.968750
|
||||
vt 0.031250 0.406250
|
||||
vn -0.0000 0.0000 1.0000
|
||||
vn -1.0000 0.0000 -0.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 1.0000 -0.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 0.0885 -0.3304 0.9397
|
||||
vn -0.9659 -0.2588 -0.0000
|
||||
vn -0.0885 0.3304 -0.9397
|
||||
vn 0.9659 0.2588 -0.0000
|
||||
vn 0.2432 -0.9077 -0.3420
|
||||
vn -0.2432 0.9077 0.3420
|
||||
vn -0.0885 0.3304 0.9397
|
||||
vn 0.0885 -0.3304 -0.9397
|
||||
vn 0.2432 -0.9077 0.3420
|
||||
vn -0.2432 0.9077 -0.3420
|
||||
vn -0.0885 -0.3304 0.9397
|
||||
vn -0.9659 0.2588 -0.0000
|
||||
vn 0.0885 0.3304 -0.9397
|
||||
vn 0.9659 -0.2588 0.0000
|
||||
vn -0.2432 -0.9077 -0.3420
|
||||
vn 0.2432 0.9077 0.3420
|
||||
vn 0.0885 0.3304 0.9397
|
||||
vn -0.0885 -0.3304 -0.9397
|
||||
vn -0.2432 -0.9077 0.3420
|
||||
vn 0.2432 0.9077 -0.3420
|
||||
vn -0.0000 0.0542 0.9985
|
||||
vn 0.0000 -0.0542 -0.9985
|
||||
vn -0.0000 -0.9985 0.0542
|
||||
vn 0.0000 0.9985 -0.0542
|
||||
vn 0.0000 -0.0000 -1.0000
|
||||
g Cube.001_Cube.001_None
|
||||
s off
|
||||
f 1/1/1 2/2/1 3/3/1 4/4/1
|
||||
f 4/5/2 3/6/2 5/7/2 6/8/2
|
||||
f 7/9/3 8/10/3 9/11/3 10/12/3
|
||||
f 11/13/4 12/14/4 2/15/4 1/16/4
|
||||
f 4/17/3 6/18/3 11/19/3 1/20/3
|
||||
f 5/21/5 3/22/5 2/23/5 12/24/5
|
||||
f 13/25/6 14/26/6 15/27/6 16/28/6
|
||||
f 16/28/7 15/27/7 17/29/7 18/30/7
|
||||
f 18/31/8 17/32/8 19/33/8 20/34/8
|
||||
f 20/34/9 19/33/9 14/35/9 13/36/9
|
||||
f 16/37/10 18/38/10 20/39/10 13/40/10
|
||||
f 17/41/11 15/42/11 14/43/11 19/44/11
|
||||
f 21/45/12 22/46/12 23/47/12 24/48/12
|
||||
f 24/48/7 23/47/7 25/49/7 26/50/7
|
||||
f 26/51/13 25/52/13 27/53/13 28/54/13
|
||||
f 28/54/9 27/53/9 22/55/9 21/56/9
|
||||
f 24/57/14 26/58/14 28/59/14 21/60/14
|
||||
f 25/61/15 23/62/15 22/63/15 27/64/15
|
||||
f 29/65/16 30/66/16 31/67/16 32/68/16
|
||||
f 32/68/17 31/67/17 33/69/17 34/70/17
|
||||
f 34/71/18 33/72/18 35/73/18 36/74/18
|
||||
f 36/74/19 35/73/19 30/75/19 29/76/19
|
||||
f 32/77/20 34/78/20 36/79/20 29/80/20
|
||||
f 33/81/21 31/82/21 30/83/21 35/84/21
|
||||
f 37/85/22 38/86/22 39/87/22 40/88/22
|
||||
f 40/88/17 39/87/17 41/89/17 42/90/17
|
||||
f 42/91/23 41/92/23 43/93/23 44/94/23
|
||||
f 44/94/19 43/93/19 38/95/19 37/96/19
|
||||
f 40/97/24 42/98/24 44/99/24 37/100/24
|
||||
f 41/101/25 39/102/25 38/103/25 43/104/25
|
||||
f 45/105/26 46/106/26 47/107/26 48/108/26
|
||||
f 48/108/2 47/107/2 49/109/2 50/110/2
|
||||
f 50/111/27 49/112/27 51/113/27 52/114/27
|
||||
f 52/115/4 51/116/4 46/106/4 45/105/4
|
||||
f 48/117/28 50/118/28 52/119/28 45/120/28
|
||||
f 49/121/29 47/107/29 46/122/29 51/123/29
|
||||
f 7/124/30 53/125/30 6/126/30 5/127/30
|
||||
f 53/125/30 54/128/30 11/129/30 6/126/30
|
||||
f 8/130/30 7/124/30 5/127/30 12/131/30
|
||||
f 54/128/30 8/130/30 12/131/30 11/129/30
|
||||
f 53/132/4 7/133/4 10/134/4 55/135/4
|
||||
f 8/10/2 54/136/2 56/137/2 9/138/2
|
||||
f 54/136/5 53/139/5 55/140/5 56/141/5
|
||||
g Cube.001_Cube.001_None_screen.png
|
||||
s 1
|
||||
f 55/142/30 10/143/30 9/144/30 56/145/30
|
119
mods/ma_pops_furniture/models/FM_sofa.obj
Normal file
|
@ -0,0 +1,119 @@
|
|||
# Blender v2.75 (sub 4) OBJ File: 'sofa.blend'
|
||||
# www.blender.org
|
||||
o Sofa_Cube.001
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v 0.500000 0.500000 0.200000
|
||||
v 0.500000 -0.500000 0.200000
|
||||
v -0.500000 0.500000 0.200000
|
||||
v -0.500000 -0.500000 0.200000
|
||||
v 0.500000 0.000000 -0.500000
|
||||
v 0.500000 0.000000 0.500000
|
||||
v -0.500000 0.000000 0.500000
|
||||
v -0.500000 0.000000 -0.500000
|
||||
v -0.500000 0.000000 0.200000
|
||||
v 0.500000 0.000000 0.200000
|
||||
v -0.447309 -0.124050 -0.450000
|
||||
v -0.447309 0.273622 -0.450000
|
||||
v -0.447309 -0.124050 0.250000
|
||||
v -0.447309 0.273622 0.250000
|
||||
v -0.647309 -0.124050 -0.450000
|
||||
v -0.647309 0.273622 -0.450000
|
||||
v -0.647309 -0.124050 0.250000
|
||||
v -0.647309 0.273622 0.250000
|
||||
v 0.652691 -0.124050 -0.450000
|
||||
v 0.652691 0.273622 -0.450000
|
||||
v 0.652691 -0.124050 0.250000
|
||||
v 0.652691 0.273622 0.250000
|
||||
v 0.452691 -0.124050 -0.450000
|
||||
v 0.452691 0.273622 -0.450000
|
||||
v 0.452691 -0.124050 0.250000
|
||||
v 0.452691 0.273622 0.250000
|
||||
vt 0.700422 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 0.000000
|
||||
vt 0.700422 0.000000
|
||||
vt 0.001407 0.500000
|
||||
vt 0.001407 0.000000
|
||||
vt 0.992586 0.555593
|
||||
vt 0.008821 0.555593
|
||||
vt 0.008821 0.063711
|
||||
vt 0.992586 0.063711
|
||||
vt 0.001407 0.700000
|
||||
vt 0.001407 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 1.000000 0.700000
|
||||
vt 0.996225 0.617831
|
||||
vt 0.996225 0.915144
|
||||
vt 0.005182 0.915144
|
||||
vt 0.005182 0.617831
|
||||
vt 1.000000 0.736766
|
||||
vt 0.001407 0.736766
|
||||
vt 0.001407 0.034817
|
||||
vt 1.000000 0.034817
|
||||
vt 0.700422 1.000000
|
||||
vt 0.008891 0.936254
|
||||
vt 0.008891 0.444442
|
||||
vt 0.992516 0.444442
|
||||
vt 0.992516 0.936254
|
||||
vt 0.158077 0.708334
|
||||
vt 0.691052 0.708334
|
||||
vt 0.691052 0.405549
|
||||
vt 0.158077 0.405549
|
||||
vt 0.841281 0.708334
|
||||
vt 0.993559 0.708334
|
||||
vt 0.993559 0.405549
|
||||
vt 0.841281 0.405549
|
||||
vt 0.774934 0.755988
|
||||
vt 0.074195 0.755988
|
||||
vt 0.074195 0.357896
|
||||
vt 0.774934 0.357896
|
||||
vt 0.841281 0.157374
|
||||
vt 0.841281 0.690348
|
||||
vt 0.993559 0.690348
|
||||
vt 0.993559 0.157374
|
||||
vt 0.003749 0.708334
|
||||
vt 0.156028 0.708334
|
||||
vt 0.156028 0.405549
|
||||
vt 0.003749 0.405549
|
||||
vt 0.003749 0.157374
|
||||
vt 0.003749 0.690348
|
||||
vt 0.156028 0.690348
|
||||
vt 0.156028 0.157374
|
||||
vn 1.000000 0.000000 0.000000
|
||||
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
|
||||
s off
|
||||
f 16/1/1 12/2/1 2/3/1 8/4/1
|
||||
f 12/5/2 13/2/2 5/3/2 2/6/2
|
||||
f 15/1/3 14/5/3 4/6/3 10/4/3
|
||||
f 14/7/4 11/8/4 1/9/4 4/10/4
|
||||
f 8/11/5 2/12/5 5/13/5 10/14/5
|
||||
f 9/15/6 6/16/6 3/17/6 7/18/6
|
||||
f 15/19/6 16/20/6 11/21/6 14/22/6
|
||||
f 1/6/5 8/11/5 10/14/5 4/3/5
|
||||
f 13/2/3 15/1/3 10/4/3 5/3/3
|
||||
f 11/5/1 16/1/1 8/4/1 1/6/1
|
||||
f 6/13/3 9/23/3 15/1/3 13/2/3
|
||||
f 7/24/4 16/25/4 15/26/4 9/27/4
|
||||
f 3/12/2 6/13/2 13/2/2 12/5/2
|
||||
f 7/23/1 3/13/1 12/2/1 16/1/1
|
||||
f 18/28/1 20/29/1 19/30/1 17/31/1
|
||||
f 20/32/2 24/33/2 23/34/2 19/35/2
|
||||
f 24/36/3 22/37/3 21/38/3 23/39/3
|
||||
f 22/33/4 18/32/4 17/35/4 21/34/4
|
||||
f 17/40/5 19/41/5 23/42/5 21/43/5
|
||||
f 22/43/6 24/42/6 20/41/6 18/40/6
|
||||
f 26/37/1 28/36/1 27/39/1 25/38/1
|
||||
f 28/44/2 32/45/2 31/46/2 27/47/2
|
||||
f 32/29/3 30/28/3 29/31/3 31/30/3
|
||||
f 30/45/4 26/44/4 25/47/4 29/46/4
|
||||
f 25/48/5 27/49/5 31/50/5 29/51/5
|
||||
f 30/51/6 32/50/6 28/49/6 26/48/6
|
96
mods/ma_pops_furniture/models/FM_sofa_c.obj
Normal file
|
@ -0,0 +1,96 @@
|
|||
# Blender v2.75 (sub 4) OBJ File: 'sofa.blend'
|
||||
# www.blender.org
|
||||
o Sofa_C_Cube.006
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v 0.500000 0.500000 0.200000
|
||||
v 0.500000 -0.500000 0.200000
|
||||
v -0.500000 0.500000 0.200000
|
||||
v -0.500000 -0.500000 0.200000
|
||||
v 0.500000 0.000000 -0.500000
|
||||
v 0.500000 0.000000 0.500000
|
||||
v -0.500000 0.000000 0.500000
|
||||
v -0.500000 0.000000 -0.500000
|
||||
v -0.500000 0.000000 0.200000
|
||||
v 0.500000 0.000000 0.200000
|
||||
v -0.199400 0.500000 0.500000
|
||||
v -0.199400 -0.500000 0.500000
|
||||
v -0.199400 -0.500000 -0.500000
|
||||
v -0.199400 0.500000 0.200000
|
||||
v -0.199400 -0.500000 0.200000
|
||||
v -0.199400 0.000000 0.200000
|
||||
v -0.199400 0.000000 -0.500000
|
||||
v -0.199400 0.000000 0.500000
|
||||
v -0.199400 0.500000 -0.500000
|
||||
v -0.500000 0.500000 -0.500000
|
||||
vt 0.700000 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 -0.000000
|
||||
vt 0.700000 -0.000000
|
||||
vt 0.700574 0.496063
|
||||
vt 1.000000 0.496063
|
||||
vt 0.700574 0.000000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.696668 0.500000
|
||||
vt 0.696668 -0.000000
|
||||
vt 0.696625 0.688976
|
||||
vt 0.696625 0.984251
|
||||
vt 0.996032 0.984251
|
||||
vt 0.996032 0.688976
|
||||
vt 0.700593 0.694488
|
||||
vt 0.700593 0.992126
|
||||
vt 0.003968 0.992126
|
||||
vt 0.003968 0.694488
|
||||
vt 0.003968 0.000000
|
||||
vt 0.696625 0.000000
|
||||
vt 0.996032 0.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.700000 1.000000
|
||||
vt 1.000000 0.992126
|
||||
vt 0.003906 0.992126
|
||||
vt 0.003906 0.496063
|
||||
vt -0.000000 1.000000
|
||||
vt 0.696668 1.000000
|
||||
vt 0.000000 0.688976
|
||||
vt 1.000000 0.694488
|
||||
vt 0.000000 0.984251
|
||||
vt 0.996094 0.500000
|
||||
vt 0.996094 -0.000000
|
||||
vt 0.003906 0.000000
|
||||
vt 0.996094 1.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
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
|
||||
s off
|
||||
f 16/1/1 12/2/1 2/3/1 8/4/1
|
||||
f 24/5/2 13/6/2 5/3/2 18/7/2
|
||||
f 15/1/3 14/8/3 4/9/3 10/4/3
|
||||
f 23/10/4 11/8/4 1/9/4 19/11/4
|
||||
f 21/12/5 18/13/5 5/14/5 10/15/5
|
||||
f 20/16/6 17/17/6 3/18/6 7/19/6
|
||||
f 22/16/6 16/19/6 11/20/6 23/7/6
|
||||
f 19/21/5 21/12/5 10/15/5 4/22/5
|
||||
f 13/2/3 15/1/3 10/4/3 5/3/3
|
||||
f 11/8/1 16/1/1 8/4/1 1/9/1
|
||||
f 6/23/3 9/24/3 15/1/3 13/2/3
|
||||
f 17/17/2 6/25/2 13/6/2 24/5/2
|
||||
f 7/24/1 3/23/1 12/2/1 16/1/1
|
||||
f 3/26/2 17/17/2 24/5/2 12/27/2
|
||||
f 7/28/4 16/8/4 22/10/4 20/29/4
|
||||
f 1/9/5 8/30/5 21/12/5 19/21/5
|
||||
f 9/31/6 6/25/6 17/17/6 20/16/6
|
||||
f 8/30/5 2/32/5 18/13/5 21/12/5
|
||||
f 14/33/4 23/10/4 19/11/4 4/34/4
|
||||
f 12/27/2 24/5/2 18/7/2 2/35/2
|
||||
f 23/10/4 14/33/4 26/36/4 25/29/4
|
||||
f 9/31/6 20/16/6 25/7/6 26/3/6
|
||||
f 22/1/1 23/8/1 25/28/1 20/24/1
|
||||
f 14/8/3 15/1/3 9/24/3 26/28/3
|
97
mods/ma_pops_furniture/models/FM_sofa_l.obj
Normal file
|
@ -0,0 +1,97 @@
|
|||
# Blender v2.75 (sub 4) OBJ File: 'sofa.blend'
|
||||
# www.blender.org
|
||||
o Sofa_L_Cube.004
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v 0.500000 0.500000 0.200000
|
||||
v 0.500000 -0.500000 0.200000
|
||||
v -0.500000 0.500000 0.200000
|
||||
v -0.500000 -0.500000 0.200000
|
||||
v 0.500000 0.000000 -0.500000
|
||||
v 0.500000 0.000000 0.500000
|
||||
v -0.500000 0.000000 0.500000
|
||||
v -0.500000 0.000000 -0.500000
|
||||
v -0.500000 0.000000 0.200000
|
||||
v 0.500000 0.000000 0.200000
|
||||
v -0.447309 -0.124050 -0.450000
|
||||
v -0.447309 0.273622 -0.450000
|
||||
v -0.447309 -0.124050 0.250000
|
||||
v -0.447309 0.273622 0.250000
|
||||
v -0.647309 -0.124050 -0.450000
|
||||
v -0.647309 0.273622 -0.450000
|
||||
v -0.647309 -0.124050 0.250000
|
||||
v -0.647309 0.273622 0.250000
|
||||
vt 0.700422 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 0.000000
|
||||
vt 0.700422 0.000000
|
||||
vt 0.001407 0.500000
|
||||
vt 0.001407 0.000000
|
||||
vt 0.992586 0.555593
|
||||
vt 0.008821 0.555593
|
||||
vt 0.008821 0.063711
|
||||
vt 0.992586 0.063711
|
||||
vt 0.001407 0.700000
|
||||
vt 0.001407 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 1.000000 0.700000
|
||||
vt 0.996225 0.617831
|
||||
vt 0.996225 0.915144
|
||||
vt 0.005182 0.915144
|
||||
vt 0.005182 0.617831
|
||||
vt 1.000000 0.736766
|
||||
vt 0.001407 0.736766
|
||||
vt 0.001407 0.034817
|
||||
vt 1.000000 0.034817
|
||||
vt 0.700422 1.000000
|
||||
vt 0.008891 0.936254
|
||||
vt 0.008891 0.444442
|
||||
vt 0.992516 0.444442
|
||||
vt 0.992516 0.936254
|
||||
vt 0.158077 0.708334
|
||||
vt 0.691052 0.708334
|
||||
vt 0.691052 0.405549
|
||||
vt 0.158077 0.405549
|
||||
vt 0.841281 0.708334
|
||||
vt 0.993559 0.708334
|
||||
vt 0.993559 0.405549
|
||||
vt 0.841281 0.405549
|
||||
vt 0.774934 0.755988
|
||||
vt 0.074195 0.755988
|
||||
vt 0.074195 0.357896
|
||||
vt 0.774934 0.357896
|
||||
vt 0.841281 0.157374
|
||||
vt 0.841281 0.690348
|
||||
vt 0.993559 0.690348
|
||||
vt 0.993559 0.157374
|
||||
vn 1.000000 0.000000 0.000000
|
||||
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
|
||||
s off
|
||||
f 16/1/1 12/2/1 2/3/1 8/4/1
|
||||
f 12/5/2 13/2/2 5/3/2 2/6/2
|
||||
f 15/1/3 14/5/3 4/6/3 10/4/3
|
||||
f 14/7/4 11/8/4 1/9/4 4/10/4
|
||||
f 8/11/5 2/12/5 5/13/5 10/14/5
|
||||
f 9/15/6 6/16/6 3/17/6 7/18/6
|
||||
f 15/19/6 16/20/6 11/21/6 14/22/6
|
||||
f 1/6/5 8/11/5 10/14/5 4/3/5
|
||||
f 13/2/3 15/1/3 10/4/3 5/3/3
|
||||
f 11/5/1 16/1/1 8/4/1 1/6/1
|
||||
f 6/13/3 9/23/3 15/1/3 13/2/3
|
||||
f 7/24/4 16/25/4 15/26/4 9/27/4
|
||||
f 3/12/2 6/13/2 13/2/2 12/5/2
|
||||
f 7/23/1 3/13/1 12/2/1 16/1/1
|
||||
f 18/28/1 20/29/1 19/30/1 17/31/1
|
||||
f 20/32/2 24/33/2 23/34/2 19/35/2
|
||||
f 24/36/3 22/37/3 21/38/3 23/39/3
|
||||
f 22/33/4 18/32/4 17/35/4 21/34/4
|
||||
f 17/40/5 19/41/5 23/42/5 21/43/5
|
||||
f 22/43/6 24/42/6 20/41/6 18/40/6
|
67
mods/ma_pops_furniture/models/FM_sofa_m.obj
Normal file
|
@ -0,0 +1,67 @@
|
|||
# Blender v2.75 (sub 4) OBJ File: 'sofa.blend'
|
||||
# www.blender.org
|
||||
o Sofa_M_Cube.002
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v 0.500000 0.500000 0.200000
|
||||
v 0.500000 -0.500000 0.200000
|
||||
v -0.500000 0.500000 0.200000
|
||||
v -0.500000 -0.500000 0.200000
|
||||
v 0.500000 0.000000 -0.500000
|
||||
v 0.500000 0.000000 0.500000
|
||||
v -0.500000 0.000000 0.500000
|
||||
v -0.500000 0.000000 -0.500000
|
||||
v -0.500000 0.000000 0.200000
|
||||
v 0.500000 0.000000 0.200000
|
||||
vt 0.700422 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 0.000000
|
||||
vt 0.700422 0.000000
|
||||
vt 0.001407 0.500000
|
||||
vt 0.001407 0.000000
|
||||
vt 0.992586 0.555593
|
||||
vt 0.008821 0.555593
|
||||
vt 0.008821 0.063711
|
||||
vt 0.992586 0.063711
|
||||
vt 0.001407 0.700000
|
||||
vt 0.001407 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 1.000000 0.700000
|
||||
vt 0.996225 0.617831
|
||||
vt 0.996225 0.915144
|
||||
vt 0.005182 0.915144
|
||||
vt 0.005182 0.617831
|
||||
vt 1.000000 0.736766
|
||||
vt 0.001407 0.736766
|
||||
vt 0.001407 0.034817
|
||||
vt 1.000000 0.034817
|
||||
vt 0.700422 1.000000
|
||||
vt 0.008891 0.936254
|
||||
vt 0.008891 0.444442
|
||||
vt 0.992516 0.444442
|
||||
vt 0.992516 0.936254
|
||||
vn 1.000000 0.000000 0.000000
|
||||
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
|
||||
s off
|
||||
f 16/1/1 12/2/1 2/3/1 8/4/1
|
||||
f 12/5/2 13/2/2 5/3/2 2/6/2
|
||||
f 15/1/3 14/5/3 4/6/3 10/4/3
|
||||
f 14/7/4 11/8/4 1/9/4 4/10/4
|
||||
f 8/11/5 2/12/5 5/13/5 10/14/5
|
||||
f 9/15/6 6/16/6 3/17/6 7/18/6
|
||||
f 15/19/6 16/20/6 11/21/6 14/22/6
|
||||
f 1/6/5 8/11/5 10/14/5 4/3/5
|
||||
f 13/2/3 15/1/3 10/4/3 5/3/3
|
||||
f 11/5/1 16/1/1 8/4/1 1/6/1
|
||||
f 6/13/3 9/23/3 15/1/3 13/2/3
|
||||
f 7/24/4 16/25/4 15/26/4 9/27/4
|
||||
f 3/12/2 6/13/2 13/2/2 12/5/2
|
||||
f 7/23/1 3/13/1 12/2/1 16/1/1
|
97
mods/ma_pops_furniture/models/FM_sofa_r.obj
Normal file
|
@ -0,0 +1,97 @@
|
|||
# Blender v2.75 (sub 4) OBJ File: 'sofa.blend'
|
||||
# www.blender.org
|
||||
o Sofa_R_Cube.005
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v 0.500000 0.500000 0.200000
|
||||
v 0.500000 -0.500000 0.200000
|
||||
v -0.500000 0.500000 0.200000
|
||||
v -0.500000 -0.500000 0.200000
|
||||
v 0.500000 0.000000 -0.500000
|
||||
v 0.500000 0.000000 0.500000
|
||||
v -0.500000 0.000000 0.500000
|
||||
v -0.500000 0.000000 -0.500000
|
||||
v -0.500000 0.000000 0.200000
|
||||
v 0.500000 0.000000 0.200000
|
||||
v 0.652691 -0.124050 -0.450000
|
||||
v 0.652691 0.273622 -0.450000
|
||||
v 0.652691 -0.124050 0.250000
|
||||
v 0.652691 0.273622 0.250000
|
||||
v 0.452691 -0.124050 -0.450000
|
||||
v 0.452691 0.273622 -0.450000
|
||||
v 0.452691 -0.124050 0.250000
|
||||
v 0.452691 0.273622 0.250000
|
||||
vt 0.700422 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 0.000000
|
||||
vt 0.700422 0.000000
|
||||
vt 0.001407 0.500000
|
||||
vt 0.001407 0.000000
|
||||
vt 0.992586 0.555593
|
||||
vt 0.008821 0.555593
|
||||
vt 0.008821 0.063711
|
||||
vt 0.992586 0.063711
|
||||
vt 0.001407 0.700000
|
||||
vt 0.001407 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 1.000000 0.700000
|
||||
vt 0.996225 0.617831
|
||||
vt 0.996225 0.915144
|
||||
vt 0.005182 0.915144
|
||||
vt 0.005182 0.617831
|
||||
vt 1.000000 0.736766
|
||||
vt 0.001407 0.736766
|
||||
vt 0.001407 0.034817
|
||||
vt 1.000000 0.034817
|
||||
vt 0.700422 1.000000
|
||||
vt 0.008891 0.936254
|
||||
vt 0.008891 0.444442
|
||||
vt 0.992516 0.444442
|
||||
vt 0.992516 0.936254
|
||||
vt 0.074195 0.755988
|
||||
vt 0.774934 0.755988
|
||||
vt 0.774934 0.357896
|
||||
vt 0.074195 0.357896
|
||||
vt 0.003749 0.708334
|
||||
vt 0.156028 0.708334
|
||||
vt 0.156028 0.405549
|
||||
vt 0.003749 0.405549
|
||||
vt 0.691052 0.708334
|
||||
vt 0.158077 0.708334
|
||||
vt 0.158077 0.405549
|
||||
vt 0.691052 0.405549
|
||||
vt 0.003749 0.157374
|
||||
vt 0.003749 0.690348
|
||||
vt 0.156028 0.690348
|
||||
vt 0.156028 0.157374
|
||||
vn 1.000000 0.000000 0.000000
|
||||
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
|
||||
s off
|
||||
f 16/1/1 12/2/1 2/3/1 8/4/1
|
||||
f 12/5/2 13/2/2 5/3/2 2/6/2
|
||||
f 15/1/3 14/5/3 4/6/3 10/4/3
|
||||
f 14/7/4 11/8/4 1/9/4 4/10/4
|
||||
f 8/11/5 2/12/5 5/13/5 10/14/5
|
||||
f 9/15/6 6/16/6 3/17/6 7/18/6
|
||||
f 15/19/6 16/20/6 11/21/6 14/22/6
|
||||
f 1/6/5 8/11/5 10/14/5 4/3/5
|
||||
f 13/2/3 15/1/3 10/4/3 5/3/3
|
||||
f 11/5/1 16/1/1 8/4/1 1/6/1
|
||||
f 6/13/3 9/23/3 15/1/3 13/2/3
|
||||
f 7/24/4 16/25/4 15/26/4 9/27/4
|
||||
f 3/12/2 6/13/2 13/2/2 12/5/2
|
||||
f 7/23/1 3/13/1 12/2/1 16/1/1
|
||||
f 18/28/1 20/29/1 19/30/1 17/31/1
|
||||
f 20/32/2 24/33/2 23/34/2 19/35/2
|
||||
f 24/36/3 22/37/3 21/38/3 23/39/3
|
||||
f 22/33/4 18/32/4 17/35/4 21/34/4
|
||||
f 17/40/5 19/41/5 23/42/5 21/43/5
|
||||
f 22/43/6 24/42/6 20/41/6 18/40/6
|
77
mods/ma_pops_furniture/models/FM_stone_path_1.obj
Normal file
|
@ -0,0 +1,77 @@
|
|||
# Blender v2.75 (sub 4) OBJ File: 'stone_path.blend'
|
||||
# www.blender.org
|
||||
o Path_1_Plane.007
|
||||
v -0.400000 -0.500000 -0.100000
|
||||
v 0.100000 -0.500000 -0.100000
|
||||
v -0.400000 -0.500000 -0.400000
|
||||
v 0.100000 -0.500000 -0.400000
|
||||
v 0.400000 -0.500000 0.100000
|
||||
v -0.100000 -0.500000 0.100000
|
||||
v 0.400000 -0.500000 0.400000
|
||||
v -0.100000 -0.500000 0.400000
|
||||
v -0.200000 -0.400000 0.000000
|
||||
v -0.400000 -0.400000 0.000000
|
||||
v -0.400000 -0.500000 0.000000
|
||||
v -0.400000 -0.500000 0.400000
|
||||
v 0.200000 -0.400000 -0.000000
|
||||
v 0.400000 -0.400000 -0.000000
|
||||
v 0.200000 -0.400000 -0.400000
|
||||
v 0.400000 -0.400000 -0.400000
|
||||
v 0.400000 -0.500000 -0.400000
|
||||
v 0.200000 -0.500000 -0.400000
|
||||
v 0.400000 -0.500000 -0.000000
|
||||
v 0.200000 -0.500000 -0.000000
|
||||
v -0.200000 -0.500000 0.400000
|
||||
v -0.200000 -0.500000 0.000000
|
||||
v -0.200000 -0.400000 0.400000
|
||||
v -0.400000 -0.400000 0.400000
|
||||
v -0.100000 -0.400000 0.400000
|
||||
v 0.400000 -0.400000 0.400000
|
||||
v -0.100000 -0.400000 0.100000
|
||||
v 0.400000 -0.400000 0.100000
|
||||
v 0.100000 -0.400000 -0.400000
|
||||
v -0.400000 -0.400000 -0.400000
|
||||
v 0.100000 -0.400000 -0.100000
|
||||
v -0.400000 -0.400000 -0.100000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.375000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 0.625000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.750000 1.000000
|
||||
vt 0.000000 0.625000
|
||||
vt 0.750000 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 0.250000 0.000000
|
||||
vt 0.250000 0.500000
|
||||
vt 1.000000 0.375000
|
||||
vt 0.625000 0.625000
|
||||
vt 0.375000 0.375000
|
||||
vn -1.000000 0.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
|
||||
s off
|
||||
f 10/1/1 11/1/1 12/2/1 24/2/1
|
||||
f 25/3/2 8/3/2 7/4/2 26/4/2
|
||||
f 29/5/3 4/5/3 3/6/3 30/6/3
|
||||
f 16/7/3 17/7/3 18/8/3 15/8/3
|
||||
f 30/6/1 3/6/1 1/9/1 32/9/1
|
||||
f 13/10/2 20/10/2 19/11/2 14/11/2
|
||||
f 24/2/4 23/12/4 9/13/4 10/1/4
|
||||
f 24/2/2 12/2/2 21/12/2 23/12/2
|
||||
f 15/8/1 18/8/1 20/10/1 13/10/1
|
||||
f 26/4/5 7/4/5 5/14/5 28/14/5
|
||||
f 31/15/5 2/15/5 4/5/5 29/5/5
|
||||
f 23/12/5 21/12/5 22/13/5 9/13/5
|
||||
f 14/11/5 19/11/5 17/7/5 16/7/5
|
||||
f 28/14/3 5/14/3 6/16/3 27/16/3
|
||||
f 32/9/2 1/9/2 2/15/2 31/15/2
|
||||
f 13/10/4 14/11/4 16/7/4 15/8/4
|
||||
f 32/9/4 31/15/4 29/5/4 30/6/4
|
||||
f 9/13/3 22/13/3 11/1/3 10/1/3
|
||||
f 27/16/1 6/16/1 8/3/1 25/3/1
|
||||
f 25/3/4 26/4/4 28/14/4 27/16/4
|
77
mods/ma_pops_furniture/models/FM_stone_path_2.obj
Normal file
|
@ -0,0 +1,77 @@
|
|||
# Blender v2.75 (sub 4) OBJ File: 'stone_path.blend'
|
||||
# www.blender.org
|
||||
o Path_2_Plane.005
|
||||
v -0.401461 -0.400000 -0.098539
|
||||
v 0.001461 -0.400000 -0.098539
|
||||
v -0.401461 -0.400000 -0.401461
|
||||
v 0.001461 -0.400000 -0.401461
|
||||
v -0.401461 -0.400000 0.401461
|
||||
v -0.098539 -0.400000 0.401461
|
||||
v -0.401461 -0.400000 -0.001461
|
||||
v -0.098539 -0.400000 -0.001461
|
||||
v -0.401461 -0.500000 0.401461
|
||||
v -0.098539 -0.500000 0.401461
|
||||
v -0.401461 -0.500000 -0.001461
|
||||
v -0.098539 -0.500000 -0.001461
|
||||
v 0.098539 -0.400000 -0.198539
|
||||
v 0.501461 -0.400000 -0.198539
|
||||
v 0.098539 -0.400000 -0.501461
|
||||
v 0.501461 -0.400000 -0.501461
|
||||
v -0.401461 -0.500000 -0.098539
|
||||
v 0.001461 -0.500000 -0.098539
|
||||
v -0.401461 -0.500000 -0.401461
|
||||
v 0.001461 -0.500000 -0.401461
|
||||
v 0.098539 -0.500000 -0.198539
|
||||
v 0.501461 -0.500000 -0.198539
|
||||
v 0.098539 -0.500000 -0.501461
|
||||
v 0.501461 -0.500000 -0.501461
|
||||
v 0.401461 -0.500000 -0.001461
|
||||
v -0.001461 -0.500000 -0.001461
|
||||
v 0.401461 -0.500000 0.301461
|
||||
v -0.001461 -0.500000 0.301461
|
||||
v 0.401461 -0.400000 -0.001461
|
||||
v -0.001461 -0.400000 -0.001461
|
||||
v 0.401461 -0.400000 0.301461
|
||||
v -0.001461 -0.400000 0.301461
|
||||
vt 0.000000 0.553758
|
||||
vt 0.446242 0.553758
|
||||
vt 0.446242 0.889249
|
||||
vt 0.000000 0.889249
|
||||
vt 0.000000 0.446242
|
||||
vt 0.000000 0.000000
|
||||
vt 0.553757 0.664509
|
||||
vt 1.000000 0.664509
|
||||
vt 1.000000 1.000000
|
||||
vt 0.553757 1.000000
|
||||
vt 0.889248 0.110752
|
||||
vt 0.889248 0.446242
|
||||
vt 0.335491 0.000000
|
||||
vt 0.335491 0.446242
|
||||
vt 0.443006 0.446242
|
||||
vt 0.443006 0.110752
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
s off
|
||||
f 1/1/1 2/2/1 4/3/1 3/4/1
|
||||
f 7/5/2 11/5/2 9/6/2 5/6/2
|
||||
f 13/7/1 14/8/1 16/9/1 15/10/1
|
||||
f 31/11/3 27/11/3 25/12/3 29/12/3
|
||||
f 16/9/4 24/9/4 23/10/4 15/10/4
|
||||
f 5/6/1 6/13/1 8/14/1 7/5/1
|
||||
f 29/12/4 25/12/4 26/15/4 30/15/4
|
||||
f 5/6/5 9/6/5 10/13/5 6/13/5
|
||||
f 32/16/5 28/16/5 27/11/5 31/11/5
|
||||
f 8/14/4 12/14/4 11/5/4 7/5/4
|
||||
f 30/15/2 26/15/2 28/16/2 32/16/2
|
||||
f 6/13/3 10/13/3 12/14/3 8/14/3
|
||||
f 3/4/2 19/4/2 17/1/2 1/1/2
|
||||
f 32/16/1 31/11/1 29/12/1 30/15/1
|
||||
f 13/7/5 21/7/5 22/8/5 14/8/5
|
||||
f 1/1/5 17/1/5 18/2/5 2/2/5
|
||||
f 15/10/2 23/10/2 21/7/2 13/7/2
|
||||
f 2/2/3 18/2/3 20/3/3 4/3/3
|
||||
f 14/8/3 22/8/3 24/9/3 16/9/3
|
||||
f 4/3/4 20/3/4 19/4/4 3/4/4
|
94
mods/ma_pops_furniture/models/FM_stone_path_3.obj
Normal file
|
@ -0,0 +1,94 @@
|
|||
# Blender v2.75 (sub 4) OBJ File: 'stone_path.blend'
|
||||
# www.blender.org
|
||||
o Path_3_Plane.006
|
||||
v -0.398223 -0.400000 -0.098539
|
||||
v 0.004699 -0.400000 -0.098539
|
||||
v -0.398223 -0.400000 -0.401461
|
||||
v 0.004699 -0.400000 -0.401461
|
||||
v -0.198223 -0.400000 0.501461
|
||||
v 0.104699 -0.400000 0.501461
|
||||
v -0.198223 -0.400000 0.098539
|
||||
v 0.104699 -0.400000 0.098539
|
||||
v 0.101777 -0.400000 -0.098539
|
||||
v 0.504699 -0.400000 -0.098539
|
||||
v 0.101777 -0.400000 -0.401461
|
||||
v 0.504699 -0.400000 -0.401461
|
||||
v 0.206537 -0.400000 0.396701
|
||||
v 0.499939 -0.400000 0.396701
|
||||
v 0.206537 -0.400000 0.003299
|
||||
v 0.499939 -0.400000 0.003299
|
||||
v -0.500061 -0.400000 0.396701
|
||||
v -0.500061 -0.400000 0.003299
|
||||
v -0.300061 -0.400000 0.396701
|
||||
v -0.300061 -0.400000 0.003299
|
||||
v -0.398223 -0.500000 -0.098539
|
||||
v 0.004699 -0.500000 -0.098539
|
||||
v -0.398223 -0.500000 -0.401461
|
||||
v 0.004699 -0.500000 -0.401461
|
||||
v -0.198223 -0.500000 0.501461
|
||||
v 0.104699 -0.500000 0.501461
|
||||
v -0.198223 -0.500000 0.098539
|
||||
v 0.104699 -0.500000 0.098539
|
||||
v 0.101777 -0.500000 -0.098539
|
||||
v 0.504699 -0.500000 -0.098539
|
||||
v 0.101777 -0.500000 -0.401461
|
||||
v 0.504699 -0.500000 -0.401461
|
||||
v 0.206537 -0.500000 0.396701
|
||||
v 0.499939 -0.500000 0.396701
|
||||
v 0.206537 -0.500000 0.003299
|
||||
v 0.499939 -0.500000 0.003299
|
||||
v -0.500061 -0.500000 0.396701
|
||||
v -0.500061 -0.500000 0.003299
|
||||
v -0.300061 -0.500000 0.396701
|
||||
v -0.300061 -0.500000 0.003299
|
||||
vt 0.101355 0.664509
|
||||
vt 0.502369 0.664509
|
||||
vt 0.502369 1.000000
|
||||
vt 0.101355 1.000000
|
||||
vt 0.300408 0.000000
|
||||
vt 0.601895 0.000000
|
||||
vt 0.601895 0.446242
|
||||
vt 0.300408 0.446242
|
||||
vt 0.598987 0.664509
|
||||
vt 1.000000 0.664509
|
||||
vt 1.000000 1.000000
|
||||
vt 0.598987 1.000000
|
||||
vt 0.703250 0.116023
|
||||
vt 0.995263 0.116023
|
||||
vt 0.995263 0.551722
|
||||
vt 0.703250 0.551722
|
||||
vt 0.000000 0.116023
|
||||
vt 0.199053 0.116023
|
||||
vt 0.199053 0.551722
|
||||
vt 0.000000 0.551722
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
s off
|
||||
f 1/1/1 2/2/1 4/3/1 3/4/1
|
||||
f 5/5/1 6/6/1 8/7/1 7/8/1
|
||||
f 9/9/1 10/10/1 12/11/1 11/12/1
|
||||
f 13/13/1 14/14/1 16/15/1 15/16/1
|
||||
f 17/17/1 19/18/1 20/19/1 18/20/1
|
||||
f 12/11/2 32/11/2 31/12/2 11/12/2
|
||||
f 7/8/3 27/8/3 25/5/3 5/5/3
|
||||
f 17/17/4 37/17/4 39/18/4 19/18/4
|
||||
f 15/16/3 35/16/3 33/13/3 13/13/3
|
||||
f 5/5/4 25/5/4 26/6/4 6/6/4
|
||||
f 13/13/4 33/13/4 34/14/4 14/14/4
|
||||
f 6/6/5 26/6/5 28/7/5 8/7/5
|
||||
f 14/14/5 34/14/5 36/15/5 16/15/5
|
||||
f 8/7/2 28/7/2 27/8/2 7/8/2
|
||||
f 3/4/3 23/4/3 21/1/3 1/1/3
|
||||
f 16/15/2 36/15/2 35/16/2 15/16/2
|
||||
f 11/12/3 31/12/3 29/9/3 9/9/3
|
||||
f 1/1/4 21/1/4 22/2/4 2/2/4
|
||||
f 18/20/3 38/20/3 37/17/3 17/17/3
|
||||
f 9/9/4 29/9/4 30/10/4 10/10/4
|
||||
f 2/2/5 22/2/5 24/3/5 4/3/5
|
||||
f 19/18/5 39/18/5 40/19/5 20/19/5
|
||||
f 10/10/5 30/10/5 32/11/5 12/11/5
|
||||
f 4/3/2 24/3/2 23/4/2 3/4/2
|
||||
f 20/19/2 40/19/2 38/20/2 18/20/2
|
76
mods/ma_pops_furniture/models/FM_stone_path_4.obj
Normal file
|
@ -0,0 +1,76 @@
|
|||
# Blender v2.75 (sub 4) OBJ File: 'stone_path.blend'
|
||||
# www.blender.org
|
||||
o Path_4_Plane.004
|
||||
v -0.400000 -0.500000 -0.000000
|
||||
v -0.000000 -0.500000 -0.000000
|
||||
v -0.400000 -0.500000 -0.400000
|
||||
v -0.000000 -0.500000 -0.400000
|
||||
v 0.400000 -0.500000 0.000000
|
||||
v 0.000000 -0.500000 0.000000
|
||||
v 0.400000 -0.500000 0.400000
|
||||
v 0.000000 -0.500000 0.400000
|
||||
v 0.180000 -0.500000 -0.180000
|
||||
v 0.420000 -0.500000 -0.180000
|
||||
v 0.180000 -0.500000 -0.420000
|
||||
v 0.420000 -0.500000 -0.420000
|
||||
v -0.180000 -0.500000 0.180000
|
||||
v -0.420000 -0.500000 0.180000
|
||||
v -0.180000 -0.500000 0.420000
|
||||
v -0.420000 -0.500000 0.420000
|
||||
v -0.420000 -0.400000 0.420000
|
||||
v -0.180000 -0.400000 0.420000
|
||||
v -0.420000 -0.400000 0.180000
|
||||
v -0.180000 -0.400000 0.180000
|
||||
v 0.420000 -0.400000 -0.420000
|
||||
v 0.180000 -0.400000 -0.420000
|
||||
v 0.420000 -0.400000 -0.180000
|
||||
v 0.180000 -0.400000 -0.180000
|
||||
v 0.000000 -0.400000 0.400000
|
||||
v 0.400000 -0.400000 0.400000
|
||||
v 0.000000 -0.400000 0.000000
|
||||
v 0.400000 -0.400000 0.000000
|
||||
v -0.000000 -0.400000 -0.400000
|
||||
v -0.400000 -0.400000 -0.400000
|
||||
v -0.000000 -0.400000 -0.000000
|
||||
v -0.400000 -0.400000 -0.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.714286 1.000000
|
||||
vt 0.500000 0.023810
|
||||
vt 0.976191 0.023810
|
||||
vt 1.000000 0.714286
|
||||
vt 0.500000 0.976191
|
||||
vt 0.023810 0.976191
|
||||
vt 0.000000 0.000000
|
||||
vt 0.285714 0.000000
|
||||
vt 0.285714 0.285714
|
||||
vt 0.000000 0.285714
|
||||
vt 0.023810 0.500000
|
||||
vt 0.714286 0.714286
|
||||
vt 0.976191 0.500000
|
||||
vt 0.500000 0.500000
|
||||
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 -1.000000 0.000000 0.000000
|
||||
s off
|
||||
f 21/1/1 12/1/1 11/2/1 22/2/1
|
||||
f 25/3/2 8/3/2 7/4/2 26/4/2
|
||||
f 23/5/3 10/5/3 12/1/3 21/1/3
|
||||
f 29/6/1 4/6/1 3/7/1 30/7/1
|
||||
f 17/8/4 18/9/4 20/10/4 19/11/4
|
||||
f 30/7/5 3/7/5 1/12/5 32/12/5
|
||||
f 19/11/5 14/11/5 16/8/5 17/8/5
|
||||
f 24/13/4 23/5/4 21/1/4 22/2/4
|
||||
f 22/2/5 11/2/5 9/13/5 24/13/5
|
||||
f 17/8/2 16/8/2 15/9/2 18/9/2
|
||||
f 26/4/3 7/4/3 5/14/3 28/14/3
|
||||
f 31/15/3 2/15/3 4/6/3 29/6/3
|
||||
f 18/9/3 15/9/3 13/10/3 20/10/3
|
||||
f 28/14/1 5/14/1 6/15/1 27/15/1
|
||||
f 32/12/2 1/12/2 2/15/2 31/15/2
|
||||
f 20/10/1 13/10/1 14/11/1 19/11/1
|
||||
f 32/12/4 31/15/4 29/6/4 30/7/4
|
||||
f 24/13/2 9/13/2 10/5/2 23/5/2
|
||||
f 27/15/5 6/15/5 8/3/5 25/3/5
|
||||
f 25/3/4 26/4/4 28/14/4 27/15/4
|
231
mods/ma_pops_furniture/models/FM_toilet_close.obj
Normal file
|
@ -0,0 +1,231 @@
|
|||
# Blender v2.75 (sub 0) OBJ File: 'toilet.blend'
|
||||
# www.blender.org
|
||||
o Toilet_close_Cube.001
|
||||
v -0.216380 -0.364267 -0.195066
|
||||
v 0.230162 -0.364267 -0.195066
|
||||
v 0.230162 -0.364267 0.375364
|
||||
v -0.216380 -0.364267 0.375364
|
||||
v -0.216380 -0.503120 -0.195066
|
||||
v -0.216380 -0.503120 0.375364
|
||||
v 0.230162 -0.503120 0.375364
|
||||
v 0.230162 -0.503120 -0.195065
|
||||
v -0.026301 0.497050 0.418905
|
||||
v -0.099953 0.497050 0.418905
|
||||
v -0.099953 0.495923 0.354172
|
||||
v -0.026301 0.495923 0.354172
|
||||
v -0.099953 0.541235 0.418294
|
||||
v -0.099953 0.540108 0.353560
|
||||
v -0.026301 0.541235 0.418294
|
||||
v -0.026301 0.540108 0.353560
|
||||
v 0.332628 0.485120 0.489409
|
||||
v -0.318846 0.485120 0.489409
|
||||
v 0.332628 0.485120 0.286360
|
||||
v -0.318846 0.485120 0.286360
|
||||
v -0.318846 -0.032421 0.286360
|
||||
v 0.332628 -0.032421 0.286360
|
||||
v 0.332628 -0.367155 0.286360
|
||||
v -0.318846 -0.367155 0.286360
|
||||
v 0.332628 -0.032421 0.489409
|
||||
v -0.318846 -0.032421 0.489409
|
||||
v -0.318846 -0.367155 0.489409
|
||||
v 0.332628 -0.367155 0.489409
|
||||
v -0.318846 -0.032421 -0.334670
|
||||
v -0.318846 -0.367155 -0.334670
|
||||
v 0.332628 -0.032421 -0.334670
|
||||
v 0.332628 -0.367155 -0.334670
|
||||
v 0.074405 0.497050 0.418905
|
||||
v 0.000753 0.497050 0.418905
|
||||
v 0.000753 0.495923 0.354172
|
||||
v 0.074405 0.495923 0.354172
|
||||
v 0.000753 0.541235 0.418294
|
||||
v 0.000753 0.540108 0.353560
|
||||
v 0.074405 0.541235 0.418294
|
||||
v 0.074405 0.540108 0.353560
|
||||
v 0.298674 0.038404 0.235087
|
||||
v -0.290831 0.038404 0.235087
|
||||
v -0.290831 -0.026774 0.235208
|
||||
v 0.298674 -0.026774 0.235208
|
||||
v -0.290831 0.038576 -0.305720
|
||||
v -0.290831 -0.026603 -0.305600
|
||||
v 0.298674 0.038575 -0.305720
|
||||
v 0.298674 -0.026603 -0.305601
|
||||
v -0.230085 -0.040764 0.201747
|
||||
v 0.243868 -0.040764 0.201747
|
||||
v 0.243868 -0.040764 -0.250057
|
||||
v -0.230085 -0.040764 -0.250057
|
||||
v -0.230085 -0.318566 0.201747
|
||||
v 0.243867 -0.318566 0.201747
|
||||
v 0.163555 -0.203467 -0.206424
|
||||
v -0.149773 -0.203467 -0.206424
|
||||
vt 0.839078 0.324803
|
||||
vt -0.012876 0.324803
|
||||
vt -0.012876 0.991727
|
||||
vt 0.839077 0.991727
|
||||
vt -0.096533 0.324803
|
||||
vt -0.303914 0.324803
|
||||
vt -0.303914 0.991727
|
||||
vt -0.096533 0.991727
|
||||
vt 0.839078 -0.096533
|
||||
vt 0.839077 -0.303914
|
||||
vt -0.012876 -0.303914
|
||||
vt -0.012876 -0.096533
|
||||
vt -0.077905 0.608692
|
||||
vt -0.077905 0.498690
|
||||
vt 0.018775 0.498690
|
||||
vt 0.018775 0.608692
|
||||
vt -0.077905 1.189870
|
||||
vt -0.076993 1.255861
|
||||
vt 0.019689 1.254178
|
||||
vt 0.018775 1.188187
|
||||
vt -0.076993 0.498690
|
||||
vt -0.076993 0.608692
|
||||
vt 0.019689 0.608692
|
||||
vt 0.019689 0.498690
|
||||
vt 1.188187 0.608692
|
||||
vt 1.188187 0.498690
|
||||
vt 1.254178 0.498690
|
||||
vt 1.254178 0.608692
|
||||
vt 1.255861 0.608692
|
||||
vt 1.255861 0.498690
|
||||
vt 1.189870 0.498690
|
||||
vt 1.189870 0.608692
|
||||
vt 0.120055 1.144763
|
||||
vt 0.120055 0.171767
|
||||
vt -0.183205 0.171767
|
||||
vt -0.183205 1.144763
|
||||
vt -0.183205 0.399088
|
||||
vt 0.120055 0.399088
|
||||
vt 0.120055 -0.100846
|
||||
vt -0.183205 -0.100846
|
||||
vt 1.047581 0.399088
|
||||
vt 1.047581 -0.100846
|
||||
vt 0.246427 1.012196
|
||||
vt 0.246427 0.304334
|
||||
vt 0.399088 1.144763
|
||||
vt 0.399088 0.171767
|
||||
vt -0.100846 0.171767
|
||||
vt -0.100846 1.144763
|
||||
vt 1.047581 0.171767
|
||||
vt 1.047581 1.144763
|
||||
vt 0.120055 1.172052
|
||||
vt -0.183205 1.172052
|
||||
vt -0.077905 0.759099
|
||||
vt -0.077905 0.649098
|
||||
vt 0.018775 0.649098
|
||||
vt 0.018775 0.759099
|
||||
vt -0.076993 0.649098
|
||||
vt -0.076993 0.759099
|
||||
vt 0.019689 0.759099
|
||||
vt 0.019689 0.649098
|
||||
vt 1.188187 0.759099
|
||||
vt 1.188187 0.649098
|
||||
vt 1.254178 0.649098
|
||||
vt 1.254178 0.759099
|
||||
vt 1.255861 0.759099
|
||||
vt 1.255861 0.649098
|
||||
vt 1.189870 0.649098
|
||||
vt 1.189870 0.759099
|
||||
vt 1.172052 0.171767
|
||||
vt 1.172052 1.144763
|
||||
vt 0.921209 0.386628
|
||||
vt 0.246427 0.386628
|
||||
vt 0.246427 -0.028277
|
||||
vt 0.856042 0.143627
|
||||
vt 0.921209 0.304334
|
||||
vt 0.921209 1.012196
|
||||
vt 0.856042 0.892247
|
||||
vt 0.856042 0.424283
|
||||
vt 0.386628 1.012196
|
||||
vt 0.386628 0.304334
|
||||
vt 0.143627 0.424283
|
||||
vt 0.143627 0.892247
|
||||
vt -0.028277 1.012196
|
||||
vt -0.028277 0.304334
|
||||
vt 0.085590 0.552995
|
||||
vt 0.926569 0.552921
|
||||
vt 0.926318 0.442387
|
||||
vt 0.085337 0.442464
|
||||
vt 0.469592 0.001391
|
||||
vt 0.469592 1.001104
|
||||
vt 0.580109 1.001104
|
||||
vt 0.580109 0.001391
|
||||
vt 0.926615 0.799443
|
||||
vt 0.085637 0.800223
|
||||
vt 0.085291 0.689692
|
||||
vt 0.926271 0.688910
|
||||
vt 0.092622 1.001102
|
||||
vt 0.092622 0.001391
|
||||
vt 0.933506 0.001391
|
||||
vt 0.933506 1.001104
|
||||
vt 0.935429 1.001104
|
||||
vt 0.935429 0.001391
|
||||
vt 0.094547 0.001391
|
||||
vt 0.094547 1.001102
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn -0.000000 0.000000 1.000000
|
||||
vn -1.000000 0.000000 -0.000000
|
||||
vn 0.000000 -0.000000 -1.000000
|
||||
vn 1.000000 -0.000000 0.000000
|
||||
vn 0.000000 -0.999800 0.017400
|
||||
vn 0.000000 0.999800 -0.017400
|
||||
vn 0.000000 -0.013800 -0.999900
|
||||
vn 0.000000 0.013800 0.999900
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 0.995200 -0.098100
|
||||
vn 0.975000 0.189300 0.116400
|
||||
vn 0.093600 0.995600 0.000000
|
||||
vn 0.000000 0.995200 0.098100
|
||||
vn -0.093600 0.995600 -0.000000
|
||||
vn -0.000000 0.962500 0.271400
|
||||
vn -0.975000 0.189300 0.116400
|
||||
vn -0.000000 0.259000 0.965900
|
||||
vn -0.000000 -0.001800 -1.000000
|
||||
vn -0.000000 -1.000000 -0.000300
|
||||
vn 0.000000 1.000000 0.000300
|
||||
g Toilet_close_Cube.001_White
|
||||
s off
|
||||
f 5/1/1 6/2/1 7/3/1 8/4/1
|
||||
f 1/5/2 5/6/2 8/7/2 2/8/2
|
||||
f 2/9/3 8/10/3 7/11/3 3/12/3
|
||||
f 3/8/4 7/7/4 6/6/4 4/5/4
|
||||
f 5/10/5 1/9/5 4/12/5 6/11/5
|
||||
f 9/13/6 10/14/6 11/15/6 12/16/6
|
||||
f 10/17/3 13/18/3 14/19/3 11/20/3
|
||||
f 13/21/7 15/22/7 16/23/7 14/24/7
|
||||
f 15/18/5 9/17/5 12/20/5 16/19/5
|
||||
f 12/25/8 11/26/8 14/27/8 16/28/8
|
||||
f 15/29/9 13/30/9 10/31/9 9/32/9
|
||||
f 19/33/1 20/34/1 18/35/1 17/36/1
|
||||
f 26/37/3 21/38/3 24/39/3 27/40/3
|
||||
f 31/41/5 22/38/5 23/39/5 32/42/5
|
||||
f 28/36/10 27/35/10 24/34/10 23/33/10
|
||||
f 21/34/11 22/33/11 50/43/11 49/44/11
|
||||
f 25/45/2 26/46/2 27/47/2 28/48/2
|
||||
f 21/38/3 29/41/3 30/42/3 24/39/3
|
||||
f 29/46/4 31/45/4 32/48/4 30/47/4
|
||||
f 22/38/5 25/37/5 28/40/5 23/39/5
|
||||
f 23/33/10 24/34/10 30/49/10 32/50/10
|
||||
f 25/37/5 22/38/5 19/51/5 17/52/5
|
||||
f 33/53/6 34/54/6 35/55/6 36/56/6
|
||||
f 34/17/3 37/18/3 38/19/3 35/20/3
|
||||
f 37/57/7 39/58/7 40/59/7 38/60/7
|
||||
f 39/18/5 33/17/5 36/20/5 40/19/5
|
||||
f 36/61/8 35/62/8 38/63/8 40/64/8
|
||||
f 39/65/9 37/66/9 34/67/9 33/68/9
|
||||
f 22/45/4 21/46/4 20/69/4 19/70/4
|
||||
f 21/38/3 26/37/3 18/52/3 20/51/3
|
||||
f 26/46/2 25/45/2 17/70/2 18/69/2
|
||||
f 52/71/12 49/72/12 53/73/12 56/74/12
|
||||
f 29/49/13 21/34/13 49/44/13 52/75/13
|
||||
f 31/50/14 29/49/14 52/75/14 51/76/14
|
||||
f 22/33/15 31/50/15 51/76/15 50/43/15
|
||||
f 55/77/16 56/78/16 53/44/16 54/43/16
|
||||
f 50/72/17 51/71/17 55/74/17 54/73/17
|
||||
f 51/79/18 52/80/18 56/81/18 55/82/18
|
||||
f 49/80/4 50/79/4 54/83/4 53/84/4
|
||||
g Toilet_close_Cube.001_Brown
|
||||
f 42/85/3 45/86/3 46/87/3 43/88/3
|
||||
f 45/89/19 47/90/19 48/91/19 46/92/19
|
||||
f 47/93/5 41/94/5 44/95/5 48/96/5
|
||||
f 44/97/20 43/98/20 46/99/20 48/100/20
|
||||
f 47/101/21 45/102/21 42/103/21 41/104/21
|
230
mods/ma_pops_furniture/models/FM_toilet_open.obj
Normal file
|
@ -0,0 +1,230 @@
|
|||
# Blender v2.75 (sub 0) OBJ File: 'toilet.blend'
|
||||
# www.blender.org
|
||||
o Toilet_open_Cube.002
|
||||
v -0.216380 -0.364267 -0.195066
|
||||
v 0.230162 -0.364267 -0.195066
|
||||
v 0.230162 -0.364267 0.375364
|
||||
v -0.216380 -0.364267 0.375364
|
||||
v -0.216380 -0.503120 -0.195066
|
||||
v -0.216380 -0.503120 0.375364
|
||||
v 0.230162 -0.503120 0.375364
|
||||
v 0.230162 -0.503120 -0.195065
|
||||
v -0.026301 0.497050 0.418905
|
||||
v -0.099953 0.497050 0.418905
|
||||
v -0.099953 0.495923 0.354172
|
||||
v -0.026301 0.495923 0.354172
|
||||
v -0.099953 0.541235 0.418294
|
||||
v -0.099953 0.540108 0.353560
|
||||
v -0.026301 0.541235 0.418294
|
||||
v -0.026301 0.540108 0.353560
|
||||
v 0.332628 0.485120 0.489409
|
||||
v -0.318846 0.485120 0.489409
|
||||
v 0.332628 0.485120 0.286360
|
||||
v -0.318846 0.485120 0.286360
|
||||
v -0.318846 -0.032421 0.286360
|
||||
v 0.332628 -0.032421 0.286360
|
||||
v 0.332628 -0.367155 0.286360
|
||||
v -0.318846 -0.367155 0.286360
|
||||
v 0.332628 -0.032421 0.489409
|
||||
v -0.318846 -0.032421 0.489409
|
||||
v -0.318846 -0.367155 0.489409
|
||||
v 0.332628 -0.367155 0.489409
|
||||
v -0.318846 -0.032421 -0.334670
|
||||
v -0.318846 -0.367155 -0.334670
|
||||
v 0.332628 -0.032421 -0.334670
|
||||
v 0.332628 -0.367155 -0.334670
|
||||
v 0.074405 0.497050 0.418905
|
||||
v 0.000753 0.497050 0.418905
|
||||
v 0.000753 0.495923 0.354172
|
||||
v 0.074405 0.495923 0.354172
|
||||
v 0.000753 0.541235 0.418294
|
||||
v 0.000753 0.540108 0.353560
|
||||
v 0.074405 0.541235 0.418294
|
||||
v 0.074405 0.540108 0.353560
|
||||
v 0.298674 -0.026545 0.261491
|
||||
v -0.290831 -0.026545 0.261491
|
||||
v -0.290831 -0.027680 0.196323
|
||||
v 0.298674 -0.027680 0.196323
|
||||
v -0.290831 0.469302 0.253946
|
||||
v -0.290831 0.468168 0.188777
|
||||
v 0.298674 0.469302 0.253946
|
||||
v 0.298675 0.468168 0.188777
|
||||
v -0.230085 -0.040764 0.201747
|
||||
v 0.243868 -0.040764 0.201747
|
||||
v 0.243868 -0.040764 -0.250057
|
||||
v -0.230085 -0.040764 -0.250057
|
||||
v -0.230085 -0.318566 0.201747
|
||||
v 0.243867 -0.318566 0.201747
|
||||
v 0.163555 -0.203467 -0.206424
|
||||
v -0.149773 -0.203467 -0.206424
|
||||
vt 0.839078 0.324803
|
||||
vt -0.012876 0.324803
|
||||
vt -0.012876 0.991727
|
||||
vt 0.839077 0.991727
|
||||
vt -0.096533 0.324803
|
||||
vt -0.303914 0.324803
|
||||
vt -0.303914 0.991727
|
||||
vt -0.096533 0.991727
|
||||
vt 0.839078 -0.096533
|
||||
vt 0.839077 -0.303914
|
||||
vt -0.012876 -0.303914
|
||||
vt -0.012876 -0.096533
|
||||
vt -0.077905 0.608692
|
||||
vt -0.077905 0.498690
|
||||
vt 0.018775 0.498690
|
||||
vt 0.018775 0.608692
|
||||
vt -0.077905 1.189870
|
||||
vt -0.076993 1.255861
|
||||
vt 0.019689 1.254178
|
||||
vt 0.018775 1.188187
|
||||
vt -0.076993 0.498690
|
||||
vt -0.076993 0.608692
|
||||
vt 0.019689 0.608692
|
||||
vt 0.019689 0.498690
|
||||
vt 1.188187 0.608692
|
||||
vt 1.188187 0.498690
|
||||
vt 1.254178 0.498690
|
||||
vt 1.254178 0.608692
|
||||
vt 1.255861 0.608692
|
||||
vt 1.255861 0.498690
|
||||
vt 1.189870 0.498690
|
||||
vt 1.189870 0.608692
|
||||
vt 0.120055 1.144763
|
||||
vt 0.120055 0.171767
|
||||
vt -0.183205 0.171767
|
||||
vt -0.183205 1.144763
|
||||
vt -0.183205 0.399088
|
||||
vt 0.120055 0.399088
|
||||
vt 0.120055 -0.100846
|
||||
vt -0.183205 -0.100846
|
||||
vt 1.047581 0.399088
|
||||
vt 1.047581 -0.100846
|
||||
vt 0.246427 1.012196
|
||||
vt 0.246427 0.304334
|
||||
vt 0.399088 1.144763
|
||||
vt 0.399088 0.171767
|
||||
vt -0.100846 0.171767
|
||||
vt -0.100846 1.144763
|
||||
vt 1.047581 0.171767
|
||||
vt 1.047581 1.144763
|
||||
vt 0.120055 1.172052
|
||||
vt -0.183205 1.172052
|
||||
vt -0.077905 0.759099
|
||||
vt -0.077905 0.649098
|
||||
vt 0.018775 0.649098
|
||||
vt 0.018775 0.759099
|
||||
vt -0.076993 0.649098
|
||||
vt -0.076993 0.759099
|
||||
vt 0.019689 0.759099
|
||||
vt 0.019689 0.649098
|
||||
vt 1.188187 0.759099
|
||||
vt 1.188187 0.649098
|
||||
vt 1.254178 0.649098
|
||||
vt 1.254178 0.759099
|
||||
vt 1.255861 0.759099
|
||||
vt 1.255861 0.649098
|
||||
vt 1.189870 0.649098
|
||||
vt 1.189870 0.759099
|
||||
vt 1.172052 0.171767
|
||||
vt 1.172052 1.144763
|
||||
vt 0.921209 0.386628
|
||||
vt 0.246427 0.386628
|
||||
vt 0.246427 -0.028277
|
||||
vt 0.856042 0.143627
|
||||
vt 0.921209 0.304334
|
||||
vt 0.921209 1.012196
|
||||
vt 0.856042 0.892247
|
||||
vt 0.856042 0.424283
|
||||
vt 0.386628 1.012196
|
||||
vt 0.386628 0.304334
|
||||
vt 0.143627 0.424283
|
||||
vt 0.143627 0.892247
|
||||
vt -0.028277 1.012196
|
||||
vt -0.028277 0.304334
|
||||
vt 0.085590 0.552995
|
||||
vt 0.926569 0.552921
|
||||
vt 0.926318 0.442387
|
||||
vt 0.085337 0.442464
|
||||
vt 0.469592 0.001391
|
||||
vt 0.469592 1.001104
|
||||
vt 0.580109 1.001104
|
||||
vt 0.580109 0.001391
|
||||
vt 0.926615 0.799443
|
||||
vt 0.085637 0.800223
|
||||
vt 0.085291 0.689692
|
||||
vt 0.926271 0.688910
|
||||
vt 0.092622 1.001102
|
||||
vt 0.092622 0.001391
|
||||
vt 0.933506 0.001391
|
||||
vt 0.933506 1.001104
|
||||
vt 0.935429 1.001104
|
||||
vt 0.935429 0.001391
|
||||
vt 0.094547 0.001391
|
||||
vt 0.094547 1.001102
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn -0.000000 0.000000 1.000000
|
||||
vn -1.000000 0.000000 -0.000000
|
||||
vn 0.000000 -0.000000 -1.000000
|
||||
vn 1.000000 -0.000000 0.000000
|
||||
vn 0.000000 -0.999800 0.017400
|
||||
vn 0.000000 0.999800 -0.017400
|
||||
vn 0.000000 -0.013800 -0.999900
|
||||
vn 0.000000 0.013800 0.999900
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 0.995200 -0.098100
|
||||
vn 0.975000 0.189300 0.116400
|
||||
vn 0.093600 0.995600 0.000000
|
||||
vn 0.000000 0.995200 0.098100
|
||||
vn -0.093600 0.995600 -0.000000
|
||||
vn -0.000000 0.962500 0.271400
|
||||
vn -0.975000 0.189300 0.116400
|
||||
vn -0.000000 0.259000 0.965900
|
||||
vn 0.000000 -0.015200 -0.999900
|
||||
vn -0.000000 0.015200 0.999900
|
||||
g Toilet_open_Cube.002_White
|
||||
s off
|
||||
f 5/1/1 6/2/1 7/3/1 8/4/1
|
||||
f 1/5/2 5/6/2 8/7/2 2/8/2
|
||||
f 2/9/3 8/10/3 7/11/3 3/12/3
|
||||
f 3/8/4 7/7/4 6/6/4 4/5/4
|
||||
f 5/10/5 1/9/5 4/12/5 6/11/5
|
||||
f 9/13/6 10/14/6 11/15/6 12/16/6
|
||||
f 10/17/3 13/18/3 14/19/3 11/20/3
|
||||
f 13/21/7 15/22/7 16/23/7 14/24/7
|
||||
f 15/18/5 9/17/5 12/20/5 16/19/5
|
||||
f 12/25/8 11/26/8 14/27/8 16/28/8
|
||||
f 15/29/9 13/30/9 10/31/9 9/32/9
|
||||
f 19/33/1 20/34/1 18/35/1 17/36/1
|
||||
f 26/37/3 21/38/3 24/39/3 27/40/3
|
||||
f 31/41/5 22/38/5 23/39/5 32/42/5
|
||||
f 28/36/10 27/35/10 24/34/10 23/33/10
|
||||
f 21/34/11 22/33/11 50/43/11 49/44/11
|
||||
f 25/45/2 26/46/2 27/47/2 28/48/2
|
||||
f 21/38/3 29/41/3 30/42/3 24/39/3
|
||||
f 29/46/4 31/45/4 32/48/4 30/47/4
|
||||
f 22/38/5 25/37/5 28/40/5 23/39/5
|
||||
f 23/33/10 24/34/10 30/49/10 32/50/10
|
||||
f 25/37/5 22/38/5 19/51/5 17/52/5
|
||||
f 33/53/6 34/54/6 35/55/6 36/56/6
|
||||
f 34/17/3 37/18/3 38/19/3 35/20/3
|
||||
f 37/57/7 39/58/7 40/59/7 38/60/7
|
||||
f 39/18/5 33/17/5 36/20/5 40/19/5
|
||||
f 36/61/8 35/62/8 38/63/8 40/64/8
|
||||
f 39/65/9 37/66/9 34/67/9 33/68/9
|
||||
f 22/45/4 21/46/4 20/69/4 19/70/4
|
||||
f 21/38/3 26/37/3 18/52/3 20/51/3
|
||||
f 26/46/2 25/45/2 17/70/2 18/69/2
|
||||
f 52/71/12 49/72/12 53/73/12 56/74/12
|
||||
f 29/49/13 21/34/13 49/44/13 52/75/13
|
||||
f 31/50/14 29/49/14 52/75/14 51/76/14
|
||||
f 22/33/15 31/50/15 51/76/15 50/43/15
|
||||
f 55/77/16 56/78/16 53/44/16 54/43/16
|
||||
f 50/72/17 51/71/17 55/74/17 54/73/17
|
||||
f 51/79/18 52/80/18 56/81/18 55/82/18
|
||||
f 49/80/4 50/79/4 54/83/4 53/84/4
|
||||
g Toilet_open_Cube.002_Brown
|
||||
f 42/85/3 45/86/3 46/87/3 43/88/3
|
||||
f 45/89/7 47/90/7 48/91/7 46/92/7
|
||||
f 47/93/5 41/94/5 44/95/5 48/96/5
|
||||
f 44/97/19 43/98/19 46/99/19 48/100/19
|
||||
f 47/101/20 45/102/20 42/103/20 41/104/20
|
137
mods/ma_pops_furniture/models/FM_tv.obj
Normal file
|
@ -0,0 +1,137 @@
|
|||
# Blender v2.78 (sub 0) OBJ File: ''
|
||||
# www.blender.org
|
||||
mtllib FM_tv.mtl
|
||||
o Cube_Cube.001_Body_Cube_Cube.001_Body_body
|
||||
v -0.450000 0.400000 0.200000
|
||||
v -0.450000 0.400000 -0.500000
|
||||
v -0.450000 -0.500000 -0.500000
|
||||
v -0.450000 -0.500000 0.200000
|
||||
v 0.450000 0.400000 -0.500000
|
||||
v 0.450000 -0.500000 -0.500000
|
||||
v 0.360000 -0.410000 -0.500000
|
||||
v 0.360000 0.310000 -0.500000
|
||||
v 0.450000 0.400000 0.200000
|
||||
v 0.450000 -0.500000 0.200000
|
||||
v -0.300000 0.220000 0.200000
|
||||
v 0.300000 0.220000 0.200000
|
||||
v -0.300000 0.220000 0.458106
|
||||
v 0.300000 0.220000 0.458106
|
||||
v 0.300000 -0.320000 0.200000
|
||||
v -0.300000 -0.320000 0.200000
|
||||
v -0.300000 -0.320000 0.458106
|
||||
v 0.300000 -0.320000 0.458106
|
||||
v -0.360000 -0.410000 -0.500000
|
||||
v -0.360000 0.310000 -0.500000
|
||||
v -0.360000 0.310000 -0.457433
|
||||
v -0.360000 -0.410000 -0.457433
|
||||
v 0.360000 -0.410000 -0.457433
|
||||
v 0.360000 0.310000 -0.457433
|
||||
vt 0.9999 0.0001
|
||||
vt 0.9999 0.7777
|
||||
vt 0.0001 0.7777
|
||||
vt 0.0001 0.0001
|
||||
vt 0.9999 0.0001
|
||||
vt 0.9999 0.9999
|
||||
vt 0.8999 0.8999
|
||||
vt 0.8999 0.1001
|
||||
vt 0.9999 0.7777
|
||||
vt 0.0001 0.7777
|
||||
vt 0.0001 0.0001
|
||||
vt 0.9999 0.9999
|
||||
vt 0.0001 0.9999
|
||||
vt 0.1667 0.7999
|
||||
vt 0.8333 0.7999
|
||||
vt 0.0001 0.7777
|
||||
vt 0.0001 0.0001
|
||||
vt 0.9999 0.0001
|
||||
vt 0.9999 0.7777
|
||||
vt 0.9999 0.0001
|
||||
vt 0.9999 0.7777
|
||||
vt 0.0001 0.7777
|
||||
vt 0.0001 0.0001
|
||||
vt 0.9999 0.4302
|
||||
vt 0.0001 0.4302
|
||||
vt 0.0001 0.0001
|
||||
vt 0.9999 0.0001
|
||||
vt 0.9999 0.0001
|
||||
vt 0.8333 0.2001
|
||||
vt 0.1667 0.2001
|
||||
vt 0.9999 0.8999
|
||||
vt 0.0001 0.8999
|
||||
vt 0.0001 0.0001
|
||||
vt 0.9999 0.0001
|
||||
vt 0.9999 0.4780
|
||||
vt 0.0001 0.4780
|
||||
vt 0.9999 0.0001
|
||||
vt 0.0001 0.0001
|
||||
vt 0.9999 0.0001
|
||||
vt 0.9999 0.4302
|
||||
vt 0.0001 0.4302
|
||||
vt 0.0001 0.0001
|
||||
vt 0.9999 0.0001
|
||||
vt 0.9999 0.4780
|
||||
vt 0.0001 0.4780
|
||||
vt 0.0000 0.0000
|
||||
vt 1.0000 0.0000
|
||||
vt 1.0000 0.0591
|
||||
vt 0.0000 0.0591
|
||||
vt 0.0001 0.9999
|
||||
vt 0.1001 0.8999
|
||||
vt 0.0001 0.0001
|
||||
vt 0.1001 0.1001
|
||||
vt 1.0000 0.0591
|
||||
vt 0.0000 0.0591
|
||||
vt 0.0000 0.0000
|
||||
vt 1.0000 0.0000
|
||||
vt 0.0000 0.0000
|
||||
vt 1.0000 0.0000
|
||||
vt 1.0000 0.0591
|
||||
vt 0.0000 0.0591
|
||||
vt 1.0000 0.0591
|
||||
vt 0.0000 0.0591
|
||||
vt 0.0000 0.0000
|
||||
vt 1.0000 0.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn 0.0000 -0.0000 1.0000
|
||||
vn 0.0000 -1.0000 -0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
g Cube_Cube.001_Body_Cube_Cube.001_Body_body_Cube_Cube.001_Body_Cube_Cube.001_Body_body_body
|
||||
usemtl body
|
||||
s 1
|
||||
f 1/1/1 2/2/1 3/3/1 4/4/1
|
||||
f 5/5/2 6/6/2 7/7/2 8/8/2
|
||||
f 5/5/3 9/9/3 10/10/3 6/11/3
|
||||
f 9/12/4 1/13/4 11/14/4 12/15/4
|
||||
f 4/16/5 3/17/5 6/18/5 10/19/5
|
||||
f 9/20/6 5/21/6 2/22/6 1/23/6
|
||||
f 12/24/6 11/25/6 13/26/6 14/27/6
|
||||
f 10/28/4 9/12/4 12/15/4 15/29/4
|
||||
f 1/13/4 4/4/4 16/30/4 11/14/4
|
||||
f 4/4/4 10/28/4 15/29/4 16/30/4
|
||||
f 14/31/4 13/32/4 17/33/4 18/34/4
|
||||
f 11/35/1 16/36/1 17/33/1 13/37/1
|
||||
f 16/38/5 15/39/5 18/40/5 17/41/5
|
||||
f 15/42/3 12/43/3 14/44/3 18/45/3
|
||||
f 19/46/3 20/47/3 21/48/3 22/49/3
|
||||
f 6/6/2 3/50/2 19/51/2 7/7/2
|
||||
f 2/52/2 5/5/2 8/8/2 20/53/2
|
||||
f 3/50/2 2/52/2 20/53/2 19/51/2
|
||||
f 7/54/6 19/55/6 22/56/6 23/57/6
|
||||
f 20/58/5 8/59/5 24/60/5 21/61/5
|
||||
f 8/62/1 7/63/1 23/64/1 24/65/1
|
||||
o Cube_Cube.001_Screen_Cube_Cube.001_Screen_screen.001
|
||||
v -0.360000 0.310000 -0.457433
|
||||
v 0.360000 0.310000 -0.457433
|
||||
v 0.360000 -0.410000 -0.457433
|
||||
v -0.360000 -0.410000 -0.457433
|
||||
vt 1.0000 1.0000
|
||||
vt 0.0000 1.0000
|
||||
vt -0.0000 0.0000
|
||||
vt 1.0000 -0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
g Cube_Cube.001_Screen_Cube_Cube.001_Screen_screen.001_Cube_Cube.001_Screen_Cube_Cube.001_Screen_screen.001_screen.001
|
||||
usemtl screen.001
|
||||
s 1
|
||||
f 25/66/7 26/67/7 27/68/7 28/69/7
|
89
mods/ma_pops_furniture/models/lever1.obj
Normal file
|
@ -0,0 +1,89 @@
|
|||
# Blender v2.79 (sub 0) OBJ File: ''
|
||||
# www.blender.org
|
||||
mtllib lever1.mtl
|
||||
o Cube
|
||||
v -0.171906 -0.523666 0.171906
|
||||
v -0.171906 -0.523666 -0.171906
|
||||
v 0.171906 -0.523666 -0.171906
|
||||
v 0.171906 -0.523666 0.171906
|
||||
v -0.171906 -0.386141 0.171906
|
||||
v -0.171906 -0.386141 -0.171906
|
||||
v 0.171906 -0.386141 -0.171906
|
||||
v 0.171906 -0.386141 0.171906
|
||||
v -0.068762 -0.400288 0.079551
|
||||
v -0.068762 -0.461698 -0.043501
|
||||
v 0.068762 -0.461698 -0.043501
|
||||
v 0.068762 -0.400288 0.079551
|
||||
v -0.068762 0.030396 -0.135383
|
||||
v -0.068762 -0.031014 -0.258436
|
||||
v 0.068762 -0.031014 -0.258436
|
||||
v 0.068762 0.030396 -0.135383
|
||||
vt 0.999929 0.500000
|
||||
vt 0.000071 0.500000
|
||||
vt 0.000071 0.000071
|
||||
vt 0.999929 0.000071
|
||||
vt 0.999929 0.500000
|
||||
vt 0.000071 0.500000
|
||||
vt 0.000071 0.000071
|
||||
vt 0.999929 0.000071
|
||||
vt 0.999929 0.000071
|
||||
vt 1.000000 0.187500
|
||||
vt 0.000000 0.187500
|
||||
vt 0.000071 0.000071
|
||||
vt 0.999929 0.000071
|
||||
vt 1.000000 0.187500
|
||||
vt 0.000000 0.187500
|
||||
vt 0.000000 0.187500
|
||||
vt 0.999929 0.000071
|
||||
vt 1.000000 0.187500
|
||||
vt 0.999929 0.000071
|
||||
vt 1.000000 0.187500
|
||||
vt 0.000000 0.187500
|
||||
vt 0.000071 0.000071
|
||||
vt 1.000000 1.000000
|
||||
vt -0.000000 1.000000
|
||||
vt 0.000000 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 0.000000 1.000000
|
||||
vt -0.000000 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000035 0.999965
|
||||
vt -0.000000 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt -0.000000 0.500000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vn 0.0000 -1.0000 -0.0000
|
||||
vn 0.0000 1.0000 -0.0000
|
||||
vn -1.0000 0.0000 -0.0000
|
||||
vn 0.0000 -0.0000 -1.0000
|
||||
vn 1.0000 -0.0000 0.0000
|
||||
vn -0.0000 0.0000 1.0000
|
||||
vn 0.0000 0.8948 -0.4465
|
||||
vn 0.0000 -0.4465 -0.8948
|
||||
vn -0.0000 0.4465 0.8948
|
||||
vn 0.0000 -0.8948 0.4465
|
||||
usemtl Material
|
||||
s off
|
||||
f 1/1/1 2/2/1 3/3/1 4/4/1
|
||||
f 5/5/2 8/6/2 7/7/2 6/8/2
|
||||
f 1/9/3 5/10/3 6/11/3 2/12/3
|
||||
f 2/13/4 6/14/4 7/15/4 3/3/4
|
||||
f 3/16/5 7/7/5 8/17/5 4/18/5
|
||||
f 5/19/6 1/20/6 4/21/6 8/22/6
|
||||
f 13/23/7 16/24/7 15/25/7 14/26/7
|
||||
f 9/27/3 13/23/3 14/28/3 10/29/3
|
||||
f 10/30/8 14/31/8 15/32/8 11/33/8
|
||||
f 11/34/5 15/35/5 16/24/5 12/36/5
|
||||
f 13/37/9 9/38/9 12/39/9 16/40/9
|
||||
usemtl Material_NONE
|
||||
f 9/41/10 10/42/10 11/43/10 12/44/10
|
89
mods/ma_pops_furniture/models/lever2.obj
Normal file
|
@ -0,0 +1,89 @@
|
|||
# Blender v2.79 (sub 0) OBJ File: ''
|
||||
# www.blender.org
|
||||
mtllib lever2.mtl
|
||||
o Cube
|
||||
v 0.171906 -0.523666 -0.171906
|
||||
v 0.171906 -0.523666 0.171906
|
||||
v -0.171906 -0.523666 0.171906
|
||||
v -0.171906 -0.523666 -0.171906
|
||||
v 0.171906 -0.386141 -0.171906
|
||||
v 0.171906 -0.386141 0.171906
|
||||
v -0.171906 -0.386141 0.171906
|
||||
v -0.171906 -0.386141 -0.171906
|
||||
v 0.068762 -0.400288 -0.079551
|
||||
v 0.068762 -0.461698 0.043501
|
||||
v -0.068762 -0.461698 0.043501
|
||||
v -0.068762 -0.400288 -0.079551
|
||||
v 0.068762 0.030396 0.135383
|
||||
v 0.068762 -0.031014 0.258436
|
||||
v -0.068762 -0.031014 0.258436
|
||||
v -0.068762 0.030396 0.135383
|
||||
vt 0.999929 0.500000
|
||||
vt 0.000071 0.500000
|
||||
vt 0.000071 0.000071
|
||||
vt 0.999929 0.000071
|
||||
vt 0.999929 0.500000
|
||||
vt 0.000071 0.500000
|
||||
vt 0.000071 0.000071
|
||||
vt 0.999929 0.000071
|
||||
vt 0.999929 0.000071
|
||||
vt 1.000000 0.187500
|
||||
vt 0.000000 0.187500
|
||||
vt 0.000071 0.000071
|
||||
vt 0.999929 0.000071
|
||||
vt 1.000000 0.187500
|
||||
vt 0.000000 0.187500
|
||||
vt 0.000000 0.187500
|
||||
vt 0.999929 0.000071
|
||||
vt 1.000000 0.187500
|
||||
vt 0.999929 0.000071
|
||||
vt 1.000000 0.187500
|
||||
vt 0.000000 0.187500
|
||||
vt 0.000071 0.000071
|
||||
vt 1.000000 1.000000
|
||||
vt -0.000000 1.000000
|
||||
vt 0.000000 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 0.000000 1.000000
|
||||
vt -0.000000 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000035 0.999965
|
||||
vt -0.000000 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt -0.000000 0.500000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn -0.0000 -0.0000 1.0000
|
||||
vn -1.0000 -0.0000 -0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn -0.0000 0.8948 0.4465
|
||||
vn -0.0000 -0.4465 0.8948
|
||||
vn 0.0000 0.4465 -0.8948
|
||||
vn 0.0000 -0.8948 -0.4465
|
||||
usemtl Material
|
||||
s off
|
||||
f 1/1/1 2/2/1 3/3/1 4/4/1
|
||||
f 5/5/2 8/6/2 7/7/2 6/8/2
|
||||
f 1/9/3 5/10/3 6/11/3 2/12/3
|
||||
f 2/13/4 6/14/4 7/15/4 3/3/4
|
||||
f 3/16/5 7/7/5 8/17/5 4/18/5
|
||||
f 5/19/6 1/20/6 4/21/6 8/22/6
|
||||
f 13/23/7 16/24/7 15/25/7 14/26/7
|
||||
f 9/27/3 13/23/3 14/28/3 10/29/3
|
||||
f 10/30/8 14/31/8 15/32/8 11/33/8
|
||||
f 11/34/5 15/35/5 16/24/5 12/36/5
|
||||
f 13/37/9 9/38/9 12/39/9 16/40/9
|
||||
usemtl Material_NONE
|
||||
f 9/41/10 10/42/10 11/43/10 12/44/10
|
BIN
mods/ma_pops_furniture/models/mp_ceiling_fan.fbx
Normal file
BIN
mods/ma_pops_furniture/models/mp_ceiling_fan_animated.3ds
Normal file
BIN
mods/ma_pops_furniture/models/mp_ceiling_fan_animated.3ds.b3d
Normal file
12
mods/ma_pops_furniture/models/stairs.mtl
Normal file
|
@ -0,0 +1,12 @@
|
|||
# Blender MTL File: 'None'
|
||||
# Material Count: 1
|
||||
|
||||
newmtl Material
|
||||
Ns 96.078431
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.640000 0.640000 0.640000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.000000
|
||||
d 1.000000
|
||||
illum 2
|
86
mods/ma_pops_furniture/models/stairs.obj
Normal file
|
@ -0,0 +1,86 @@
|
|||
# Blender v2.79 (sub 0) OBJ File: ''
|
||||
# www.blender.org
|
||||
mtllib stairs.mtl
|
||||
o Cube.003_Cube.004
|
||||
v -0.145056 -0.155475 -0.315349
|
||||
v -0.003360 -0.155475 -0.315288
|
||||
v -0.003419 -0.155475 -0.180255
|
||||
v -0.145114 -0.155475 -0.180316
|
||||
v -0.145056 -0.297056 -0.315349
|
||||
v -0.003360 -0.297056 -0.315288
|
||||
v -0.003419 -0.297056 -0.180255
|
||||
v -0.145114 -0.297056 -0.180316
|
||||
v -0.144081 -0.482542 -0.560711
|
||||
v -0.004195 -0.482544 -0.560650
|
||||
v -0.004623 0.545783 0.468518
|
||||
v -0.144509 0.545785 0.468457
|
||||
v -0.144121 -0.572912 -0.470414
|
||||
v -0.004235 -0.572914 -0.470353
|
||||
v -0.004664 0.455413 0.558814
|
||||
v -0.144549 0.455415 0.558754
|
||||
v -0.152012 0.474149 0.261187
|
||||
v 0.003098 0.474149 0.261254
|
||||
v 0.003040 0.474149 0.396288
|
||||
v -0.152071 0.474149 0.396220
|
||||
v -0.152012 0.332569 0.261187
|
||||
v 0.003098 0.332569 0.261254
|
||||
v 0.003039 0.332569 0.396288
|
||||
v -0.152071 0.332569 0.396221
|
||||
v -0.574097 -0.097822 -0.570914
|
||||
v 0.425903 -0.097822 -0.570481
|
||||
v 0.425694 -0.097822 -0.087989
|
||||
v -0.574306 -0.097822 -0.088422
|
||||
v -0.574097 -0.153023 -0.570914
|
||||
v 0.425903 -0.153023 -0.570481
|
||||
v 0.425694 -0.153023 -0.087989
|
||||
v -0.574306 -0.153023 -0.088422
|
||||
v -0.574319 0.518663 -0.057371
|
||||
v 0.425680 0.518663 -0.056939
|
||||
v 0.425472 0.518663 0.425554
|
||||
v -0.574528 0.518663 0.425121
|
||||
v -0.574319 0.463462 -0.057371
|
||||
v 0.425681 0.463462 -0.056938
|
||||
v 0.425472 0.463462 0.425554
|
||||
v -0.574528 0.463462 0.425121
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0004 0.0000 -1.0000
|
||||
vn 1.0000 0.0000 0.0004
|
||||
vn -0.0004 -0.0000 1.0000
|
||||
vn -1.0000 -0.0000 -0.0004
|
||||
vn 0.0003 0.7074 -0.7068
|
||||
vn -0.0003 -0.7074 0.7068
|
||||
vn 0.0003 -0.7068 -0.7074
|
||||
vn -0.0003 0.7068 0.7074
|
||||
usemtl Material
|
||||
s off
|
||||
f 1//1 4//1 3//1 2//1
|
||||
f 5//2 6//2 7//2 8//2
|
||||
f 1//3 2//3 6//3 5//3
|
||||
f 2//4 3//4 7//4 6//4
|
||||
f 3//5 4//5 8//5 7//5
|
||||
f 5//6 8//6 4//6 1//6
|
||||
f 9//7 12//7 11//7 10//7
|
||||
f 13//8 14//8 15//8 16//8
|
||||
f 9//9 10//9 14//9 13//9
|
||||
f 10//4 11//4 15//4 14//4
|
||||
f 11//10 12//10 16//10 15//10
|
||||
f 13//6 16//6 12//6 9//6
|
||||
f 17//1 20//1 19//1 18//1
|
||||
f 21//2 22//2 23//2 24//2
|
||||
f 17//3 18//3 22//3 21//3
|
||||
f 18//4 19//4 23//4 22//4
|
||||
f 19//5 20//5 24//5 23//5
|
||||
f 21//6 24//6 20//6 17//6
|
||||
f 25//1 28//1 27//1 26//1
|
||||
f 29//2 30//2 31//2 32//2
|
||||
f 25//3 26//3 30//3 29//3
|
||||
f 26//4 27//4 31//4 30//4
|
||||
f 27//5 28//5 32//5 31//5
|
||||
f 29//6 32//6 28//6 25//6
|
||||
f 33//1 36//1 35//1 34//1
|
||||
f 37//2 38//2 39//2 40//2
|
||||
f 33//3 34//3 38//3 37//3
|
||||
f 34//4 35//4 39//4 38//4
|
||||
f 35//5 36//5 40//5 39//5
|
||||
f 37//6 40//6 36//6 33//6
|
339
mods/ma_pops_furniture/outside.lua
Normal file
|
@ -0,0 +1,339 @@
|
|||
function ma_pops_furniture.register_hedge(name, def)
|
||||
|
||||
-- register nodes
|
||||
if minetest.get_modpath("default") then
|
||||
def.sounds = def.sounds or default.node_sound_leaves_defaults()
|
||||
end
|
||||
|
||||
minetest.register_node(name, {
|
||||
description = def.description or "Hedge",
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
tiles = {def.texture},
|
||||
groups = def.groups or
|
||||
{snappy = 3, flammable = 2, leaves = 1, hedge = 1},
|
||||
waving = 1,
|
||||
node_box = {
|
||||
type = "connected",
|
||||
fixed = {{-5/16, -0.5, -5/16, 5/16, 5/16, 5/16}},
|
||||
connect_left = {{-0.5, -0.5, -5/16, -5/16, 5/16, 5/16}},
|
||||
connect_right = {{5/16, -0.5, -5/16, 0.5, 5/16, 5/16}},
|
||||
connect_front = {{-5/16, -0.5, -0.5, 5/16, 5/16, -5/16}},
|
||||
connect_back = {{-5/16, -0.5, 5/16, 5/16, 5/16, 0.5}},
|
||||
},
|
||||
connects_to = {"group:fence", "group:wood", "group:tree", "group:hedge"},
|
||||
light_source = def.light_source or 0,
|
||||
sounds = def.sounds,
|
||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
||||
local pos_under = {x = pos.x, y = pos.y - 1, z = pos.z}
|
||||
local pos_above = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
local node_under = string.gsub(minetest.get_node(pos_under).name, "_full$", "")
|
||||
local node_above = string.gsub(minetest.get_node(pos_above).name, "_full$", "")
|
||||
|
||||
if minetest.get_item_group(node_under, "hedge") == 1 then
|
||||
minetest.set_node(pos_under, {name = node_under .. "_full"})
|
||||
end
|
||||
if minetest.get_item_group(node_above, "hedge") == 1 then
|
||||
minetest.set_node(pos, {name = name .. "_full"})
|
||||
end
|
||||
end,
|
||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
local pos_under = {x = pos.x, y = pos.y - 1, z = pos.z}
|
||||
local node_under = string.gsub(minetest.get_node(pos_under).name, "_full$", "")
|
||||
if minetest.get_item_group(node_under, "hedge") == 1 and
|
||||
digger and digger:is_player() then
|
||||
minetest.set_node(pos_under, {name = node_under})
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node(name .. "_full", {
|
||||
description = def.description or "Hedge",
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
tiles = {def.texture},
|
||||
groups = def.groups or
|
||||
{snappy = 3, flammable = 2, leaves = 1, hedge = 1,
|
||||
not_in_creative_inventory = 1},
|
||||
waving = 1,
|
||||
node_box = {
|
||||
type = "connected",
|
||||
fixed = {{-5/16, -0.5, -5/16, 5/16, 0.5, 5/16}},
|
||||
connect_left = {{-0.5, -0.5, -5/16, -5/16, 0.5, 5/16}},
|
||||
connect_right = {{5/16, -0.5, -5/16, 0.5, 0.5, 5/16}},
|
||||
connect_front = {{-5/16, -0.5, -0.5, 5/16, 0.5, -5/16}},
|
||||
connect_back = {{-5/16, -0.5, 5/16, 5/16, 0.5, 0.5}},
|
||||
},
|
||||
connects_to = {"group:fence", "group:wood", "group:tree", "group:hedge"},
|
||||
light_source = def.light_source or 0,
|
||||
sounds = def.sounds,
|
||||
drop = name,
|
||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
local pos_under = {x = pos.x, y = pos.y - 1, z = pos.z}
|
||||
local node_under = string.gsub(minetest.get_node(pos_under).name, "_full$", "")
|
||||
if minetest.get_item_group(node_under, "hedge") == 1 and
|
||||
digger and digger:is_player() then
|
||||
minetest.set_node(pos_under, {name = node_under})
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- register crafting recipe
|
||||
minetest.register_craft({
|
||||
output = name .. " 4",
|
||||
recipe = {
|
||||
{def.material, def.material, def.material},
|
||||
{def.material, def.material, def.material},
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
-- register hedges if default mod found
|
||||
if minetest.get_modpath("default") then
|
||||
|
||||
ma_pops_furniture.register_hedge("ma_pops_furniture:apple_hedge", {
|
||||
description = "Apple Hedge",
|
||||
texture = "default_leaves.png",
|
||||
material = "default:leaves",
|
||||
})
|
||||
|
||||
ma_pops_furniture.register_hedge("ma_pops_furniture:jungle_hedge", {
|
||||
description = "Jungle Hedge",
|
||||
texture = "default_jungleleaves.png",
|
||||
material = "default:jungleleaves",
|
||||
})
|
||||
|
||||
ma_pops_furniture.register_hedge("ma_pops_furniture:pine_hedge", {
|
||||
description = "Pine Hedge",
|
||||
texture = "default_pine_needles.png",
|
||||
material = "default:pine_needles",
|
||||
})
|
||||
|
||||
ma_pops_furniture.register_hedge("ma_pops_furniture:acacia_hedge", {
|
||||
description = "Acacia Hedge",
|
||||
texture = "default_acacia_leaves.png",
|
||||
material = "default:acacia_leaves",
|
||||
})
|
||||
|
||||
ma_pops_furniture.register_hedge("ma_pops_furniture:aspen_hedge", {
|
||||
description = "Aspen Hedge",
|
||||
texture = "default_aspen_leaves.png",
|
||||
material = "default:aspen_leaves",
|
||||
})
|
||||
|
||||
end
|
||||
|
||||
|
||||
-- alternative recipes using bush leaves
|
||||
minetest.register_craft({
|
||||
output = "hedges:apple_hedge 4",
|
||||
recipe = {
|
||||
{"default:bush_leaves", "default:bush_leaves", "default:bush_leaves"},
|
||||
{"default:bush_leaves", "default:bush_leaves", "default:bush_leaves"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "hedges:acacia_hedge 4",
|
||||
recipe = {
|
||||
{"default:acacia_bush_leaves", "default:acacia_bush_leaves", "default:acacia_bush_leaves"},
|
||||
{"default:acacia_bush_leaves", "default:acacia_bush_leaves", "default:acacia_bush_leaves"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node('ma_pops_furniture:birdbath', {
|
||||
description = 'Birdbath',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'FM_birdbath.obj',
|
||||
tiles = {{name='default_stone.png'},{name='default_water_source_animated.png', animation={type='vertical_frames', aspect_w=16, aspect_h=16, length=2.0}}},
|
||||
groups = {cracky=2, oddly_breakable_by_hand=5, furniture=1},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
sounds = moditems.STONE_SOUNDS,
|
||||
})
|
||||
|
||||
minetest.register_node('ma_pops_furniture:doorbell', {
|
||||
description = 'Doorbell',
|
||||
drawtype = 'nodebox',
|
||||
tiles = {
|
||||
"mp_db_top.png",
|
||||
"mp_db_top.png",
|
||||
"mp_db_right.png",
|
||||
"mp_db_left.png",
|
||||
"default_wood.png",
|
||||
"mp_db_front.png"
|
||||
},
|
||||
groups = {cracky=2, oddly_breakable_by_hand=5, furniture=1},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
sounds = moditems.STONE_SOUNDS,
|
||||
on_rightclick = function(pos, node, clicker, itemstack)
|
||||
node.name = "ma_pops_furniture:doorbell_ring"
|
||||
minetest.swap_node(pos, node)
|
||||
-- one second ring.
|
||||
minetest.get_node_timer(pos):start(1.0)
|
||||
end,
|
||||
sounds = moditems.STONE_SOUNDS,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.125, -0.375, 0.4375, 0.125, -0.125, 0.5},
|
||||
{-0.0625, -0.3125, 0.375, 0.0625, -0.1875, 0.4375},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node('ma_pops_furniture:doorbell_ring', {
|
||||
description = 'Doorbell (ring)',
|
||||
drawtype = 'nodebox',
|
||||
tiles = {
|
||||
"mp_db_top.png",
|
||||
"mp_db_top.png",
|
||||
"mp_db_right.png",
|
||||
"mp_db_left.png",
|
||||
"default_wood.png",
|
||||
"mp_db_front.png"
|
||||
},
|
||||
groups = {cracky=2, oddly_breakable_by_hand=5, furniture=1, not_in_creative_inventory=1},
|
||||
drop = 'ma_pops_furniture:doorbell',
|
||||
on_timer = function(pos,elapsed)
|
||||
local node = minetest.get_node(pos)
|
||||
node.name = "ma_pops_furniture:doorbell"
|
||||
minetest.swap_node(pos, node)
|
||||
end,
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
sounds = moditems.STONE_SOUNDS,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.125, -0.375, 0.4375, 0.125, -0.125, 0.5},
|
||||
{-0.0625, -0.3125, 0.375, 0.0625, -0.1875, 0.4375},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node('ma_pops_furniture:stone_path_1', {
|
||||
description = 'Stone Path',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'FM_stone_path_1.obj',
|
||||
tiles = {'default_stone.png'},
|
||||
groups = {cracky=2, oddly_breakable_by_hand=5, furniture=1},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
sounds = moditems.STONE_SOUNDS,
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.5, -.5, -.5, .5, -.4, .5},
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.5, -.5, -.5, .5, -.4, .5},
|
||||
},
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local stack = ItemStack("ma_pops_furniture:stone_path_" .. math.random(1,4))
|
||||
local ret = minetest.item_place(stack, placer, pointed_thing)
|
||||
return ItemStack("ma_pops_furniture:stone_path_1 " ..
|
||||
itemstack:get_count() - (1 - ret:get_count()))
|
||||
end,
|
||||
})
|
||||
|
||||
for i = 2, 4 do
|
||||
minetest.register_node('ma_pops_furniture:stone_path_'..i, {
|
||||
description = 'Stone Path',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'FM_stone_path_'..i..'.obj',
|
||||
tiles = {'default_stone.png'},
|
||||
groups = {cracky=2, oddly_breakable_by_hand=5, furniture=1, not_in_creative_inventory=1},
|
||||
paramtype = 'light',
|
||||
paramtype2 = 'facedir',
|
||||
sounds = moditems.STONE_SOUNDS,
|
||||
drop = 'ma_pops_furniture:stone_path_1',
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.5, -.5, -.5, .5, -.4, .5},
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {-.5, -.5, -.5, .5, -.4, .5},
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_node("ma_pops_furniture:outdoor_lamp", {
|
||||
description = "Outdoor Lamp",
|
||||
tiles = {
|
||||
"default_stone.png",
|
||||
"default_stone.png^mp_light_off.png",
|
||||
"default_stone.png",
|
||||
"default_stone.png",
|
||||
"default_stone.png",
|
||||
"default_stone.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sounds = moditems.STONE_SOUNDS,
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
node.name = "ma_pops_furniture:outdoor_lamp_on"
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.125, 0.25, -0.125, 0.125, 0.5, 0.125},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:outdoor_lamp_on", {
|
||||
description = "Outdoor Lamp On",
|
||||
tiles = {
|
||||
"default_stone.png",
|
||||
"default_stone.png^mp_light_on.png",
|
||||
"default_stone.png",
|
||||
"default_stone.png",
|
||||
"default_stone.png",
|
||||
"default_stone.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
light_source = 14,
|
||||
drop = 'ma_pops_furniture:outdoor_lamp',
|
||||
sounds = moditems.STONE_SOUNDS,
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
node.name = "ma_pops_furniture:outdoor_lamp"
|
||||
minetest.set_node(pos, node)
|
||||
end,
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, not_in_creative_inventory = 1},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.125, 0.25, -0.125, 0.125, 0.5, 0.125},
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_node("ma_pops_furniture:trampoline", {
|
||||
description = "Trampoline",
|
||||
tiles = {"mp_trampoline_top.png", "default_coal_block.png", "mp_trampoline_side.png"},
|
||||
drawtype="nodebox",
|
||||
paramtype2="facedir",
|
||||
paramtype="light",
|
||||
groups = {cracky=3, oddly_breakable_by_hand=1, fall_damage_add_percent=-80, bouncy=90},
|
||||
sounds = {wood = {name="xdecor_bouncy", gain=0.8}},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.3125, -0.5, 0.5, 0, 0.5}, -- NodeBox1
|
||||
{0.1875, -0.5, 0.1875, 0.5, -0.3125, 0.5}, -- NodeBox2
|
||||
{-0.5, -0.5, 0.1875, -0.1875, -0.3125, 0.5}, -- NodeBox3
|
||||
{-0.5, -0.5, -0.5, -0.1875, -0.3125, -0.1875}, -- NodeBox4
|
||||
{0.1875, -0.5, -0.5, 0.5, -0.3125, -0.1875}, -- NodeBox5
|
||||
},
|
||||
}
|
||||
})
|
163
mods/ma_pops_furniture/oven.lua
Normal file
|
@ -0,0 +1,163 @@
|
|||
local oven_fs = "size[8,7]"
|
||||
.."image[3.5,1.5;1,1;default_furnace_fire_bg.png]"
|
||||
.."list[current_player;main;0,3;8,4;]"
|
||||
.."list[context;input;2,1.5;1,1;]"
|
||||
.."list[context;output;5,1.5;1,1;]"
|
||||
.."label[3,0.5;Oven]"
|
||||
.."label[1.5,1;Uncooked Food]"
|
||||
.."label[4.5,1;Cooked Food]"
|
||||
-- possibly add "fire" image?
|
||||
|
||||
local function get_active_oven_fs(item_percent)
|
||||
return "size[8,7]"
|
||||
.."image[3.5,1.5;1,1;default_furnace_fire_bg.png^[lowpart:"
|
||||
..(item_percent)..":default_furnace_fire_fg.png]"
|
||||
.."list[current_player;main;0,3;8,4;]"
|
||||
.."list[context;input;2,1.5;1,1;]"
|
||||
.."list[context;output;5,1.5;1,1;]"
|
||||
.."label[3,0.5;Oven]"
|
||||
.."label[1.5,1;Uncooked Food]"
|
||||
.."label[4.5,1;Cooked Food]"
|
||||
-- possibly add "fire" image?
|
||||
end
|
||||
|
||||
--x,y;w,h
|
||||
|
||||
-- Adding recipe API so we don't end up hardcoding items
|
||||
ma_pops_furniture.oven = {}
|
||||
local oven = ma_pops_furniture.oven
|
||||
oven.recipes = {}
|
||||
function oven.register_recipe(input, output) oven.recipes[input] = output end
|
||||
|
||||
local function update_formspec(progress, goal, meta)
|
||||
local formspec
|
||||
|
||||
if progress > 0 and progress <= goal then
|
||||
local item_percent = math.floor(progress / goal * 100)
|
||||
formspec = get_active_oven_fs(item_percent)
|
||||
else
|
||||
formspec = oven_fs
|
||||
end
|
||||
|
||||
meta:set_string("formspec", formspec)
|
||||
end
|
||||
|
||||
local function recalculate(pos)
|
||||
local meta, timer = minetest.get_meta(pos), minetest.get_node_timer(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local stack = inv:get_stack("input", 1)
|
||||
|
||||
local k = oven.recipes[stack:get_name()]
|
||||
if not k then return end
|
||||
|
||||
timer:stop()
|
||||
update_formspec(0, 3, meta)
|
||||
timer:start(1)
|
||||
end
|
||||
|
||||
local function do_cook_single(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
local food_uncooked = inv:get_stack("input", 1)
|
||||
food_uncooked:set_count(1)
|
||||
|
||||
--If the uncooked food wasn't removed mid-cooking, then cook it.
|
||||
if not oven.recipes[food_uncooked:get_name()] then
|
||||
minetest.chat_send_all("Oven cooked nothing because there was nothing to cook.")
|
||||
minetest.get_node_timer(pos):stop()
|
||||
update_formspec(0, 3, meta)
|
||||
else
|
||||
inv:remove_item("input", food_uncooked) -- Clear the slot
|
||||
local food_cooked = oven.recipes[food_uncooked:get_name()] -- Get the cooked food
|
||||
inv:add_item("output", food_cooked) -- Put the cooked food in the slot
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_node("ma_pops_furniture:oven", {
|
||||
description = "Oven",
|
||||
tiles = {
|
||||
"mp_oven_top.png",
|
||||
"mp_oven_bottom.png",
|
||||
"mp_oven_right.png",
|
||||
"mp_oven_left.png",
|
||||
"mp_oven_back.png",
|
||||
"mp_oven_front.png"
|
||||
},
|
||||
paramtype2 = "facedir",
|
||||
groups = {cracky = 2, tubedevice = 1, tubedevice_receiver = 1},
|
||||
legacy_facedir_simple = true,
|
||||
is_ground_content = false,
|
||||
sounds = moditems.STONE_SOUNDS,
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, 0.3125, -0.5, 0.5, 0.5, 0.5},
|
||||
{-0.5, -0.5, -0.375, 0.5, 0.3125, 0.5},
|
||||
{-0.4375, -0.4375, -0.4375, 0.4375, 0.25, -0.375},
|
||||
{-0.375, 0.125, -0.5, 0.375, 0.1875, -0.375},
|
||||
},
|
||||
},
|
||||
can_dig = function(pos, player)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
return inv:is_empty("input") and inv:is_empty("output")
|
||||
end,
|
||||
|
||||
on_timer = function(pos, elapsed)
|
||||
local meta = minetest.get_meta(pos)
|
||||
local stack = meta:get_inventory():get_stack("input", 1)
|
||||
local cooking_time = meta:get_int("cooking_time") or 0
|
||||
cooking_time = cooking_time + 1
|
||||
|
||||
if cooking_time % 3 == 0 then
|
||||
do_cook_single(pos)
|
||||
end
|
||||
|
||||
update_formspec(cooking_time % 3, 3, meta)
|
||||
meta:set_int("cooking_time", cooking_time)
|
||||
|
||||
--Keep cooking until there is nothing left to cook.
|
||||
if not stack:is_empty() then
|
||||
return true
|
||||
else
|
||||
meta:set_int("cooking_time", 0)
|
||||
update_formspec(0, 3, meta)
|
||||
return false
|
||||
end
|
||||
end,
|
||||
|
||||
on_metadata_inventory_put = recalculate,
|
||||
on_metadata_inventory_take = recalculate,
|
||||
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("formspec", oven_fs)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("input", 1)
|
||||
inv:set_size("output", 1)
|
||||
end,
|
||||
|
||||
on_blast = function(pos)
|
||||
local drops = {}
|
||||
default.get_inventory_drops(pos, "input", drops)
|
||||
default.get_inventory_drops(pos, "output", drops)
|
||||
table.insert(drops, "ma_pops_furniture:oven")
|
||||
minetest.remove_node(pos)
|
||||
return drops
|
||||
end,
|
||||
|
||||
allow_metadata_inventory_put = function(pos, list, index, stack, player)
|
||||
return oven.recipes[stack:get_name()] and stack:get_count() or 0
|
||||
end,
|
||||
})
|
||||
|
||||
-- Recipe Registration
|
||||
oven.register_recipe("default:ice", "default:water_source")
|
||||
-- No milk bucket as this doesn't support substitutes for now
|
||||
oven.register_recipe("mobs_mc:chicken_raw", "test:chicken_cooked")
|
||||
--[[ We don't need to check mod existance when registering recipe
|
||||
Recipe won't even be executed if there is no raw chicken in input ]]--
|
||||
oven.register_recipe("mobs_mc:beef_raw", "test:beef_cooked")
|
||||
oven.register_recipe("farming:coffee_cup", "farming:coffee_cup_hot") -- What a crutch there was...
|
||||
-- Add needed recipes as you go, note that other mods can add more recipes too
|
242
mods/ma_pops_furniture/sofa.lua
Normal file
|
@ -0,0 +1,242 @@
|
|||
ma_pops_furniture.default_hues = {
|
||||
"white",
|
||||
"grey",
|
||||
"dark_grey",
|
||||
"black",
|
||||
"violet",
|
||||
"blue",
|
||||
"cyan",
|
||||
"dark_green",
|
||||
"green",
|
||||
"yellow",
|
||||
"orange",
|
||||
"red",
|
||||
"magenta"
|
||||
}
|
||||
|
||||
local sofa_table = { --name, color, colorize(hex or color name:intensity(1-255))
|
||||
{'Black', 'black', 'black:225'},
|
||||
{'Blue', 'blue', 'blue:225'},
|
||||
{'Brown', 'brown', 'brown:225'},
|
||||
{'Cyan', 'cyan', 'cyan:200'},
|
||||
{'Dark Green', 'dark_green', 'green:225'},
|
||||
{'Dark Grey', 'dark_grey', 'black:200'},
|
||||
{'Green', 'green', '#32cd32:150'},
|
||||
{'Grey', 'grey', 'black:100'},
|
||||
{'Magenta', 'magenta', 'magenta:200'},
|
||||
{'Orange', 'orange', 'orange:225'},
|
||||
{'Pink', 'pink', 'pink:225'},
|
||||
{'Red', 'red', 'red:225'},
|
||||
{'Violet', 'violet', 'violet:225'},
|
||||
{'White', 'white', 'white:1'},
|
||||
{'Yellow', 'yellow', 'yellow:225'},
|
||||
}
|
||||
|
||||
local function sofa_punch(sofa_type, pos, node, clicker)
|
||||
local item = clicker:get_wielded_item():get_name()
|
||||
|
||||
-- Extract mod name and color
|
||||
split = string.split(item, ":")
|
||||
mod, color = split[1], split[2]
|
||||
|
||||
-- If dye, recolor sofa
|
||||
if mod == 'dye' then
|
||||
node.name = sofa_type..color
|
||||
minetest.set_node(pos, node)
|
||||
end
|
||||
|
||||
ma_pops_furniture.sit(pos, node, clicker)
|
||||
end
|
||||
|
||||
for i in ipairs (sofa_table) do
|
||||
local name = sofa_table[i][1]
|
||||
local color = sofa_table[i][2]
|
||||
local hex = sofa_table[i][3]
|
||||
|
||||
minetest.register_node('ma_pops_furniture:sofa_'..color, {
|
||||
description = name..' Sofa',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'FM_sofa.obj',
|
||||
tiles = {'wool_'..color..'.png'},
|
||||
groups = {cracky=3, oddly_breakable_by_hand=2, flammable=1, furniture=1, fall_damage_add_percent=-80, bouncy=80},
|
||||
--inventory_image = 'mp_sofa.png^[colorize:'..hex,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sounds = {wood = {name="furn_bouncy", gain=0.8}},
|
||||
can_dig = ma_pops_furniture.sit_dig,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
pos.y = pos.y + 0 -- Sitting position
|
||||
ma_pops_furniture.sit(pos, node, clicker, pointed_thing)
|
||||
return itemstack
|
||||
end,
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
|
||||
{-.5, -.5, -.5, .5, 0, .5}, --Right, Bottom, Back, Left, Top, Front
|
||||
{-.5, 0, .5, .5, .5, .2},
|
||||
{-.65, -.15, -.45, -.45, .3, .25}, --left
|
||||
{.65, -.15, -.45, .45, .3, .25}, --right
|
||||
},
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
{-.5, -.5, -.5, .5, 0, .5}, --base
|
||||
{-.5, 0, .5, .5, .5, .2}, --back
|
||||
{-.65, -.15, -.45, -.45, .3, .25}, --left
|
||||
{.65, -.15, -.45, .45, .3, .25}, --right
|
||||
},
|
||||
},
|
||||
on_punch = function(pos, node, clicker)
|
||||
sofa_punch("ma_pops_furniture:sofa_", pos, node, clicker)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node('ma_pops_furniture:sofa_l_'..color, {
|
||||
description = name..' Sofa',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'FM_sofa_l.obj',
|
||||
tiles = {'wool_'..color..'.png'},
|
||||
groups = {cracky=3, oddly_breakable_by_hand=2, flammable=1, not_in_creative_inventory=1, fall_damage_add_percent=-80, bouncy=80},
|
||||
drop = 'ma_pops_furniture:sofa_'..color,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
can_dig = ma_pops_furniture.sit_dig,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
pos.y = pos.y + 0 -- Sitting position
|
||||
ma_pops_furniture.sit(pos, node, clicker, pointed_thing)
|
||||
return itemstack
|
||||
end,
|
||||
sounds = {
|
||||
wood = {name="furn_bouncy", gain=0.8}
|
||||
},
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
{-.5, -.5, -.5, .5, 0, .5},
|
||||
{-.5, 0, .5, .5, .5, .2},
|
||||
{.65, -.15, -.45, .45, .3, .25},
|
||||
}
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
{-.5, -.5, -.5, .5, 0, .5},
|
||||
{-.5, 0, .5, .5, .5, .2},
|
||||
{.65, -.15, -.45, .45, .3, .25},
|
||||
}
|
||||
},
|
||||
on_punch = function(pos, node, clicker)
|
||||
sofa_punch("ma_pops_furniture:sofa_l_", pos, node, clicker)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node('ma_pops_furniture:sofa_m_'..color, {
|
||||
description = name..' Sofa',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'FM_sofa_m.obj',
|
||||
tiles = {'wool_'..color..'.png'},
|
||||
groups = {cracky=3, oddly_breakable_by_hand=2, flammable=1, not_in_creative_inventory=1, fall_damage_add_percent=-80, bouncy=80},
|
||||
drop = 'ma_pops_furniture:sofa_'..color,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
can_dig = ma_pops_furniture.sit_dig,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
pos.y = pos.y + 0 -- Sitting position
|
||||
ma_pops_furniture.sit(pos, node, clicker, pointed_thing)
|
||||
return itemstack
|
||||
end,
|
||||
sounds = {wood = {name="furn_bouncy", gain=0.8}},
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
{-.5, -.5, -.5, .5, 0, .5},
|
||||
{-.5, 0, .5, .5, .5, .2},
|
||||
}
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
{-.5, -.5, -.5, .5, 0, .5},
|
||||
{-.5, 0, .5, .5, .5, .2},
|
||||
}
|
||||
},
|
||||
on_punch = function(pos, node, clicker)
|
||||
sofa_punch("ma_pops_furniture:sofa_m_", pos, node, clicker)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node('ma_pops_furniture:sofa_r_'..color, {
|
||||
description = name..' Sofa',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'FM_sofa_r.obj',
|
||||
tiles = {'wool_'..color..'.png'},
|
||||
groups = {cracky=3, oddly_breakable_by_hand=2, flammable=1, not_in_creative_inventory=1, fall_damage_add_percent=-80, bouncy=80},
|
||||
drop = 'ma_pops_furniture:sofa_'..color,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sounds = {wood = {name="furn_bouncy", gain=0.8}},
|
||||
can_dig = ma_pops_furniture.sit_dig,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
pos.y = pos.y + 0 -- Sitting position
|
||||
ma_pops_furniture.sit(pos, node, clicker, pointed_thing)
|
||||
return itemstack
|
||||
end,
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
{-.5, -.5, -.5, .5, 0, .5},
|
||||
{-.5, 0, .5, .5, .5, .2},
|
||||
{-.65, -.15, -.45, -.45, .3, .25},
|
||||
}
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
{-.5, -.5, -.5, .5, 0, .5},
|
||||
{-.5, 0, .5, .5, .5, .2},
|
||||
{-.65, -.15, -.45, -.45, .3, .25},
|
||||
}
|
||||
},
|
||||
on_punch = function(pos, node, clicker)
|
||||
sofa_punch("ma_pops_furniture:sofa_r_", pos, node, clicker)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node('ma_pops_furniture:sofa_c_'..color, {
|
||||
description = name..' Sofa',
|
||||
drawtype = 'mesh',
|
||||
mesh = 'FM_sofa_c.obj',
|
||||
tiles = {'wool_'..color..'.png'},
|
||||
groups = {cracky=3, oddly_breakable_by_hand=2, flammable=1, not_in_creative_inventory=1, furniture=1, fall_damage_add_percent=-80, bouncy=80},
|
||||
drop = 'ma_pops_furniture:sofa_'..color,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sounds = {wood = {name="furn_bouncy", gain=0.8}},
|
||||
can_dig = ma_pops_furniture.sit_dig,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
pos.y = pos.y + 0 -- Sitting position
|
||||
ma_pops_furniture.sit(pos, node, clicker, pointed_thing)
|
||||
return itemstack
|
||||
end,
|
||||
selection_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
{-.5, -.5, -.5, .5, 0, .5}, --bottom
|
||||
{-.5, 0, .5, .5, .5, .2}, --back
|
||||
{.2, 0, -.5, .5, .5, .2}, --side
|
||||
}
|
||||
},
|
||||
collision_box = {
|
||||
type = 'fixed',
|
||||
fixed = {
|
||||
{-.5, -.5, -.5, .5, 0, .5},
|
||||
{-.5, 0, .5, .5, .5, .2},
|
||||
}
|
||||
},
|
||||
on_punch = function(pos, node, clicker)
|
||||
sofa_punch("ma_pops_furniture:sofa_c_", pos, node, clicker)
|
||||
end
|
||||
})
|
||||
end
|
BIN
mods/ma_pops_furniture/sounds/275072__kwahmah-02__doorbell-a.ogg
Normal file
BIN
mods/ma_pops_furniture/sounds/mp_blast.ogg
Normal file
BIN
mods/ma_pops_furniture/sounds/mp_glass.ogg
Normal file
BIN
mods/ma_pops_furniture/sounds/mp_radio_static.ogg
Normal file
BIN
mods/ma_pops_furniture/sounds/mp_rainbow.ogg
Normal file
BIN
mods/ma_pops_furniture/sounds/mp_smoke_detector.ogg
Normal file
BIN
mods/ma_pops_furniture/sounds/mp_static.ogg
Normal file
38
mods/ma_pops_furniture/stereo.lua
Normal file
|
@ -0,0 +1,38 @@
|
|||
local songs = { "static"
|
||||
}
|
||||
|
||||
minetest.register_node("ma_pops_furniture:stereo", {
|
||||
description = "Stereo",
|
||||
tiles = {
|
||||
"mp_radio_top.png",
|
||||
"mp_radio_bottom.png",
|
||||
"mp_radio_right.png",
|
||||
"mp_radio_left.png",
|
||||
"mp_radio_back.png",
|
||||
"mp_radio_front.png"
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, furniture = 1},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, 0.1875, 0.5, -0.125, 0.5}, -- NodeBox1
|
||||
{-0.25, -0.5, 0.125, 0.25, -0.0625, 0.5}, -- NodeBox2
|
||||
}
|
||||
},
|
||||
on_rightclick = function(pos, node, clicker, itemstack)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
if string.len(meta:get_string("hwnd")) > 0 then
|
||||
minetest.sound_stop(meta:get_string("hwnd"))
|
||||
meta:set_string("hwnd",nil)
|
||||
else
|
||||
meta:set_string("hwnd",minetest.sound_play("radio_" .. songs[math.random(1,#songs)], {gain = 0.5, max_hear_distance = 25}))
|
||||
end
|
||||
end,
|
||||
on_destruct = function(pos)
|
||||
local meta = minetest.env:get_meta(pos)
|
||||
if string.len(meta:get_string("hwnd")) > 0 then minetest.sound_stop(meta:get_string("hwnd")) end
|
||||
end,
|
||||
})
|
BIN
mods/ma_pops_furniture/textures/mp_TV.png
Normal file
After Width: | Height: | Size: 412 B |
BIN
mods/ma_pops_furniture/textures/mp_ac_b.png
Normal file
After Width: | Height: | Size: 307 B |
BIN
mods/ma_pops_furniture/textures/mp_ac_f.png
Normal file
After Width: | Height: | Size: 318 B |
BIN
mods/ma_pops_furniture/textures/mp_ac_s.png
Normal file
After Width: | Height: | Size: 292 B |
BIN
mods/ma_pops_furniture/textures/mp_ac_top.png
Normal file
After Width: | Height: | Size: 273 B |
BIN
mods/ma_pops_furniture/textures/mp_b.png
Normal file
After Width: | Height: | Size: 183 B |
BIN
mods/ma_pops_furniture/textures/mp_barrel.png
Normal file
After Width: | Height: | Size: 538 B |
BIN
mods/ma_pops_furniture/textures/mp_barrel_top.png
Normal file
After Width: | Height: | Size: 541 B |
BIN
mods/ma_pops_furniture/textures/mp_bathroom_tile.png
Normal file
After Width: | Height: | Size: 395 B |
BIN
mods/ma_pops_furniture/textures/mp_blade.png
Normal file
After Width: | Height: | Size: 307 B |
BIN
mods/ma_pops_furniture/textures/mp_blinds.png
Normal file
After Width: | Height: | Size: 455 B |
BIN
mods/ma_pops_furniture/textures/mp_boygame.png
Normal file
After Width: | Height: | Size: 249 B |
BIN
mods/ma_pops_furniture/textures/mp_boygame_back.png
Normal file
After Width: | Height: | Size: 223 B |
BIN
mods/ma_pops_furniture/textures/mp_boygame_front.png
Normal file
After Width: | Height: | Size: 202 B |
BIN
mods/ma_pops_furniture/textures/mp_boygame_left.png
Normal file
After Width: | Height: | Size: 189 B |
BIN
mods/ma_pops_furniture/textures/mp_boygame_right.png
Normal file
After Width: | Height: | Size: 201 B |
BIN
mods/ma_pops_furniture/textures/mp_boygame_top.png
Normal file
After Width: | Height: | Size: 193 B |
BIN
mods/ma_pops_furniture/textures/mp_breadmaker_back.png
Normal file
After Width: | Height: | Size: 379 B |
BIN
mods/ma_pops_furniture/textures/mp_breadmaker_side.png
Normal file
After Width: | Height: | Size: 321 B |
BIN
mods/ma_pops_furniture/textures/mp_breadmaker_top.png
Normal file
After Width: | Height: | Size: 464 B |
BIN
mods/ma_pops_furniture/textures/mp_breadmaker_top2.png
Normal file
After Width: | Height: | Size: 464 B |
BIN
mods/ma_pops_furniture/textures/mp_breadslice.png
Normal file
After Width: | Height: | Size: 482 B |
BIN
mods/ma_pops_furniture/textures/mp_camp_back.png
Normal file
After Width: | Height: | Size: 101 B |
BIN
mods/ma_pops_furniture/textures/mp_camp_bottom.png
Normal file
After Width: | Height: | Size: 140 B |
BIN
mods/ma_pops_furniture/textures/mp_camp_front.png
Normal file
After Width: | Height: | Size: 112 B |
BIN
mods/ma_pops_furniture/textures/mp_camp_left.png
Normal file
After Width: | Height: | Size: 101 B |
BIN
mods/ma_pops_furniture/textures/mp_camp_right.png
Normal file
After Width: | Height: | Size: 101 B |
BIN
mods/ma_pops_furniture/textures/mp_camp_top.png
Normal file
After Width: | Height: | Size: 110 B |
BIN
mods/ma_pops_furniture/textures/mp_cartridge.png
Normal file
After Width: | Height: | Size: 231 B |
BIN
mods/ma_pops_furniture/textures/mp_cartridge_back.png
Normal file
After Width: | Height: | Size: 246 B |
BIN
mods/ma_pops_furniture/textures/mp_cartridge_bottom.png
Normal file
After Width: | Height: | Size: 259 B |
BIN
mods/ma_pops_furniture/textures/mp_cartridge_front.png
Normal file
After Width: | Height: | Size: 257 B |
BIN
mods/ma_pops_furniture/textures/mp_cb.png
Normal file
After Width: | Height: | Size: 587 B |
BIN
mods/ma_pops_furniture/textures/mp_ceiling_light_bottom.png
Normal file
After Width: | Height: | Size: 328 B |
BIN
mods/ma_pops_furniture/textures/mp_ceiling_light_side.png
Normal file
After Width: | Height: | Size: 306 B |
BIN
mods/ma_pops_furniture/textures/mp_cf.png
Normal file
After Width: | Height: | Size: 213 B |
BIN
mods/ma_pops_furniture/textures/mp_chair_acacia_wood.png
Normal file
After Width: | Height: | Size: 276 B |
BIN
mods/ma_pops_furniture/textures/mp_chair_aspen_wood.png
Normal file
After Width: | Height: | Size: 277 B |
BIN
mods/ma_pops_furniture/textures/mp_chair_junglewood.png
Normal file
After Width: | Height: | Size: 276 B |
BIN
mods/ma_pops_furniture/textures/mp_chair_pine_wood.png
Normal file
After Width: | Height: | Size: 277 B |
BIN
mods/ma_pops_furniture/textures/mp_chair_stone.png
Normal file
After Width: | Height: | Size: 230 B |
BIN
mods/ma_pops_furniture/textures/mp_chair_wood.png
Normal file
After Width: | Height: | Size: 265 B |
BIN
mods/ma_pops_furniture/textures/mp_channel_blast.png
Normal file
After Width: | Height: | Size: 274 KiB |
BIN
mods/ma_pops_furniture/textures/mp_channel_cube.png
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
mods/ma_pops_furniture/textures/mp_channel_rainbow.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
mods/ma_pops_furniture/textures/mp_channel_screen.png
Normal file
After Width: | Height: | Size: 1.3 KiB |