Compare commits

...

5 Commits

Author SHA1 Message Date
Andrey 5f55b1398e
Updated README.md for 1.0.3 version. 2022-08-30 18:16:35 +03:00
Andrey2470T 7b5c81b705 Release 1.0.3 2022-08-30 18:14:29 +03:00
Andrey2470T 855ad4fe73 Release 1.0.2. Added white laminate, pine parquet and jungle linoleum 2022-08-28 19:20:25 +03:00
Andrey2470T 6b6eb9e627 Added sounds for doors, drawers and floor clock 2022-08-28 17:56:43 +03:00
Andrey e7b123063c
Updated the README.md for 1.0.1 version. 2022-08-22 00:41:42 +03:00
30 changed files with 360 additions and 162 deletions

View File

@ -1,16 +1,19 @@
# MultiDecor 1.0.0. Modpack For Minetest.
# MultiDecor 1.0.3. Modpack For Minetest.
![logo](https://user-images.githubusercontent.com/25750346/185758916-9acf0ba5-5953-484f-825c-347c6ca7cddd.png)
## Description
This modpack adds various detailed furniture components, decorations and exterior stuff with various designs and styles of each epoch. Inspired by Homedecor and based on my abandoned Luxury Decor. Currently it contains the decor stuff only of "modern" style. A simple cheap style without any quaintness and luxury. In future there will be added still few sorts of that: baroque, high-tech, classic and royal.
## Changelog List
### [20.08.22] Release 1.0.0.
### [20.08.22] 1.0.0-beta.
### [10.01.22] The mod is born.
#### [30.08.22] Release 1.0.3.
#### [28.08.22] Release 1.0.2.
#### [22.08.22] Release 1.0.1.
#### [20.08.22] Release 1.0.0.
#### [20.08.22] 1.0.0-beta.
#### [10.01.22] The mod is born.
License (code & media): MIT.
Dependencies: default, wool, dye, xpanes, beds, flowers, moreores.
Minimal MT version supported: 5.6.0.
Minimal MT version supported: 5.5.0.

View File

@ -5,10 +5,10 @@ minetest.register_node(":multidecor:wolfram_ore", {
paramtype = "light",
light_source = 2,
drop = {
max_items = 4,
max_items = 3,
items = {
{
rarity = 1000,
rarity = 1,
items = {"multidecor:wolfram_lump"}
}
}
@ -24,10 +24,10 @@ minetest.register_node(":multidecor:desert_wolfram_ore", {
paramtype = "light",
light_source = 2,
drop = {
max_items = 4,
max_items = 3,
items = {
{
rarity = 1000,
rarity = 1,
items = {"multidecor:wolfram_lump"}
}
}
@ -40,7 +40,7 @@ minetest.register_ore({
ore_type = "scatter",
ore = "multidecor:wolfram_ore",
wherein = "default:stone",
clust_scarcity = 800,
clust_scarcity = 1500,
clust_num_ores = 4,
clust_size = 2,
height_min = -31000,
@ -51,7 +51,7 @@ minetest.register_ore({
ore_type = "scatter",
ore = "multidecor:desert_wolfram_ore",
wherein = "default:desert_stone",
clust_scarcity = 800,
clust_scarcity = 1500,
clust_num_ores = 4,
clust_size = 2,
height_min = -31000,
@ -87,7 +87,7 @@ minetest.register_node(":multidecor:zinc_ore", {
max_items = 5,
items = {
{
rarity = 1000,
rarity = 1,
items = {"multidecor:zinc_fragment"}
}
}
@ -106,7 +106,7 @@ minetest.register_node(":multidecor:desert_zinc_ore", {
max_items = 5,
items = {
{
rarity = 1000,
rarity = 1,
items = {"multidecor:zinc_fragment"}
}
}
@ -119,7 +119,7 @@ minetest.register_ore({
ore_type = "scatter",
ore = "multidecor:zinc_ore",
wherein = "default:stone",
clust_scarcity = 400,
clust_scarcity = 900,
clust_num_ores = 5,
clust_size = 3,
height_min = -31000,
@ -129,8 +129,8 @@ minetest.register_ore({
minetest.register_ore({
ore_type = "scatter",
ore = "multidecor:desert_zinc_ore",
wherein = "default:stone",
clust_scarcity = 400,
wherein = "default:desert_stone",
clust_scarcity = 900,
clust_num_ores = 5,
clust_size = 3,
height_min = -31000,

View File

@ -85,7 +85,8 @@ function doors.convert_to_entity(pos)
minetest.remove_node(pos)
local is_open = minetest.registered_nodes[node.name].add_properties.door.mode == "open"
local add_props = minetest.registered_nodes[node.name].add_properties
local is_open = add_props.door.mode == "open"
local obj_name = is_open and node.name:gsub("_open", "") or node.name
@ -108,6 +109,10 @@ function doors.convert_to_entity(pos)
rot = rot2
end
if add_props.door.sounds and not is_open then
minetest.sound_play(add_props.door.sounds.open, {pos=pos, max_hear_distance=10})
end
local obj = minetest.add_entity(new_pos, obj_name)
obj:set_rotation(rot)
obj:set_properties({
@ -129,6 +134,13 @@ function doors.convert_from_entity(obj)
local pos = obj:get_pos()
local self = obj:get_luaentity()
local add_props = minetest.registered_nodes[self.name].add_properties
if add_props.door.sounds and self.action == "close" then
minetest.sound_play(add_props.door.sounds.close, {pos=pos, max_hear_distance=10})
end
obj:remove()
local name = self.action == "open" and self.name .. "_open" or self.name

View File

@ -173,15 +173,14 @@ function register.register_furniture_unit(name, def, craft_def)
end
end
if def.type ~= "decoration" then
f_def.callbacks = def.callbacks or {}
for cb_name, f in pairs(f_def.callbacks) do
f_def[cb_name] = f
end
f_def.add_properties = def.add_properties or {}
f_def.callbacks = def.callbacks or {}
for cb_name, f in pairs(f_def.callbacks) do
f_def[cb_name] = f
end
f_def.add_properties = def.add_properties or {}
local f_name = "multidecor:" .. name
minetest.register_node(":" .. f_name, f_def)

View File

@ -105,6 +105,12 @@ function shelves.open_shelf(obj, dir_sign)
end
end
end
if shelf.sounds then
local play_sound = dir_sign == 1 and shelf.sounds.open or shelf.sounds.close
minetest.sound_play(play_sound, {pos=obj:get_pos(), fade=1.0, max_hear_distance=10})
end
end
-- Adds shelf objects for the node with 'pos' position. They should save formspec inventory and position of the node which they are connected to
@ -265,7 +271,7 @@ shelves.default_drawer_on_step = function(self)
local target_pos = self.dir == 1 and self.end_v or self.start_v
local dist = vector.distance(self.object:get_pos(), target_pos)
if dist <= 0.1 then
if dist <= 0.05 then
self.dir = 0
self.object:set_velocity(vector.zero())
self.object:set_pos(target_pos)

View File

@ -22,6 +22,7 @@ function sitting.attach_player_to_node(attacher, seat_data)
if seat_data.model then
attacher:set_properties({mesh = seat_data.model.mesh})
attacher:set_animation(seat_data.model.anim.range, seat_data.model.anim.speed, seat_data.model.anim.blend, seat_data.model.anim.loop)
minetest.debug("anim: " .. dump({attacher:get_animation()}))
end
end
@ -71,7 +72,7 @@ function sitting.sit_player(player, node_pos)
physics = {speed = physics.speed, jump = physics.jump}
}
local node = minetest.get_node(node_pos)
local seat_data = minetest.registered_nodes[node.name].add_properties.seat_data
local seat_data = table.copy(minetest.registered_nodes[node.name].add_properties.seat_data)
local rand_model
if seat_data.models then
@ -80,6 +81,21 @@ function sitting.sit_player(player, node_pos)
prev_pdata.mesh = player:get_properties().mesh
prev_pdata.anim = {range = range, speed = speed, blend = blend, loop = loop}
local node_dir = vector.multiply(minetest.facedir_to_dir(minetest.get_node(node_pos).param2), -1)
local near_node = minetest.get_node(vector.add(node_pos, node_dir))
if minetest.get_item_group(near_node.name, "table") ~= 1 then
local models2 = {}
for i=1, #seat_data.models do
if not seat_data.models[i].is_near_block_required then
table.insert(models2, seat_data.models[i])
end
end
seat_data.models = models2
end
rand_model = seat_data.models[math.random(1, #seat_data.models)]
end

View File

@ -107,7 +107,11 @@ register.register_table("dresser_with_mirror", {
pos = {x=-0.02, y=0.28, z=0},
object = "modern:wooden_drawer_with_round_handle",
length = 0.5,
inv_size = {w=6,h=1}
inv_size = {w=6,h=1},
sounds = {
open = "multidecor_drawer_open",
close = "multidecor_drawer_close"
}
},
{
type = "drawer",
@ -116,7 +120,11 @@ register.register_table("dresser_with_mirror", {
pos = {x=-0.02, y=0, z=0},
object = "modern:wooden_drawer_with_round_handle",
length = 0.5,
inv_size = {w=6,h=1}
inv_size = {w=6,h=1},
sounds = {
open = "multidecor_drawer_open",
close = "multidecor_drawer_close"
}
},
{
type = "drawer",
@ -125,7 +133,11 @@ register.register_table("dresser_with_mirror", {
pos = {x=-0.02, y=-0.28, z=0},
object = "modern:wooden_drawer_with_round_handle",
length = 0.5,
inv_size = {w=6,h=1}
inv_size = {w=6,h=1},
sounds = {
open = "multidecor_drawer_open",
close = "multidecor_drawer_close"
}
},
{
type = "drawer",
@ -134,7 +146,11 @@ register.register_table("dresser_with_mirror", {
pos = {x=-1, y=0.28, z=0},
object = "modern:wooden_drawer_with_round_handle",
length = 0.5,
inv_size = {w=6,h=1}
inv_size = {w=6,h=1},
sounds = {
open = "multidecor_drawer_open",
close = "multidecor_drawer_close"
}
},
{
type = "drawer",
@ -143,7 +159,11 @@ register.register_table("dresser_with_mirror", {
pos = {x=-1, y=0, z=0},
object = "modern:wooden_drawer_with_round_handle",
length = 0.5,
inv_size = {w=6,h=1}
inv_size = {w=6,h=1},
sounds = {
open = "multidecor_drawer_open",
close = "multidecor_drawer_close"
}
},
{
type = "drawer",
@ -152,7 +172,11 @@ register.register_table("dresser_with_mirror", {
pos = {x=-1, y=-0.28, z=0},
object = "modern:wooden_drawer_with_round_handle",
length = 0.5,
inv_size = {w=6,h=1}
inv_size = {w=6,h=1},
sounds = {
open = "multidecor_drawer_open",
close = "multidecor_drawer_close"
}
},
}
},

View File

@ -1,3 +1,19 @@
local models = {
{
mesh = "multidecor_character_sitting.b3d",
anim = {range = {x=1, y=80}, speed = 1}
},
{
mesh = "multidecor_character_sitting.b3d",
anim = {range = {x=81, y=82}, speed = 1}
},
{
mesh = "multidecor_character_sitting.b3d",
anim = {range = {x=83, y=84}, speed = 1},
is_near_block_required = true
}
}
register.register_seat("kitchen_modern_wooden_chair", {
style = "modern",
material = "wood",
@ -13,12 +29,7 @@ register.register_seat("kitchen_modern_wooden_chair", {
seat_data = {
pos = {x=0.0, y=0.35, z=0.0},
rot = {x=0, y=0, z=0},
models = {
{
mesh = "multidecor_character_sitting.b3d",
anim = {range = {x=1, y=80}, speed = 15}
}
}
models = models
}
},
{
@ -44,12 +55,7 @@ register.register_seat("soft_kitchen_modern_wooden_chair", {
seat_data = {
pos = {x=0.0, y=0.4, z=0.0},
rot = {x=0, y=0, z=0},
models = {
{
mesh = "multidecor_character_sitting.b3d",
anim = {range = {x=1, y=80}, speed = 15}
}
}
models = models
}
},
{
@ -75,12 +81,7 @@ register.register_seat("soft_modern_jungle_chair", {
seat_data = {
pos = {x=0.0, y=0.3, z=0.0},
rot = {x=0, y=0, z=0},
models = {
{
mesh = "multidecor_character_sitting.b3d",
anim = {range = {x=1, y=80}, speed = 15}
}
}
models = models
}
},
{
@ -106,12 +107,7 @@ register.register_seat("soft_round_modern_metallic_chair", {
seat_data = {
pos = {x=0.0, y=0.3, z=0.0},
rot = {x=0, y=0, z=0},
models = {
{
mesh = "multidecor_character_sitting.b3d",
anim = {range = {x=1, y=80}, speed = 15}
}
}
models = models
}
},
{
@ -136,12 +132,7 @@ register.register_seat("round_modern_metallic_stool", {
seat_data = {
pos = {x=0.0, y=0.4, z=0.0},
rot = {x=0, y=0, z=0},
models = {
{
mesh = "multidecor_character_sitting.b3d",
anim = {range = {x=1, y=80}, speed = 15}
}
}
models = models
}
},
{
@ -171,12 +162,7 @@ register.register_seat("armchair_with_wooden_legs", {
seat_data = {
pos = {x=0.0, y=0.2, z=0.0},
rot = {x=0, y=0, z=0},
models = {
{
mesh = "multidecor_character_sitting.b3d",
anim = {range = {x=1, y=80}, speed = 15}
}
}
models = models
}
},
{
@ -220,12 +206,7 @@ register.register_seat("sofa", {
seat_data = {
pos = {x=0.0, y=0.1, z=0.0},
rot = {x=0, y=0, z=0},
models = {
{
mesh = "multidecor_character_sitting.b3d",
anim = {range = {x=1, y=80}, speed = 15}
}
}
models = models
}
},
{

View File

@ -16,7 +16,11 @@ register.register_door("high_dark_rusty_gate", {
door = {
mesh_open = "multidecor_high_dark_rusty_gate_open.b3d",
mesh_activated = "multidecor_high_dark_rusty_gate_activated.b3d",
vel = 100 -- degrees per sec
vel = 90, -- degrees per sec
sounds = {
open = "multidecor_metallic_door_open",
close = "multidecor_metallic_door_close"
}
}
},
{
@ -46,7 +50,11 @@ register.register_door("dark_rusty_gate", {
door = {
mesh_open = "multidecor_dark_rusty_gate_open.b3d",
mesh_activated = "multidecor_dark_rusty_gate_activated.b3d",
vel = 90 -- degrees per sec
vel = 90, -- degrees per sec
sounds = {
open = "multidecor_metallic_door_open",
close = "multidecor_metallic_door_close"
}
}
},
{
@ -70,7 +78,11 @@ register.register_door("wooden_door", {
door = {
mesh_open = "multidecor_modern_wooden_door_open.b3d",
mesh_activated = "multidecor_modern_wooden_door_activated.b3d",
vel = 90 -- degrees per sec
vel = 100, -- degrees per sec
sounds = {
open = "multidecor_wooden_door_open",
close = "multidecor_wooden_door_close"
}
}
},
{
@ -100,7 +112,11 @@ register.register_door("pine_glass_door", {
door = {
mesh_open = "multidecor_pine_glass_door_open.b3d",
mesh_activated = "multidecor_pine_glass_door_activated.b3d",
vel = 90 -- degrees per sec
vel = 100, -- degrees per sec
sounds = {
open = "multidecor_wooden_door_open",
close = "multidecor_wooden_door_close"
}
}
},
{
@ -130,7 +146,11 @@ register.register_door("technical_door", {
door = {
mesh_open = "multidecor_technical_door_open.b3d",
mesh_activated = "multidecor_technical_door_activated.b3d",
vel = 90 -- degrees per sec
vel = 80, -- degrees per sec
sounds = {
open = "multidecor_metallic_door_open",
close = "multidecor_metallic_door_close"
}
}
},
{

View File

@ -1,9 +1,29 @@
minetest.register_node(":multidecor:modern_floor_clock", {
local function get_current_time()
--[[local time = minetest.get_timeofday()
local total_seconds = math.floor(time * 1440)
local total_minutes = total_seconds % 60
local total_hours = total_minutes % 60
local seconds = total_seconds - (total_minutes*60)
local minutes = total_minutes - (total_hours*60)]]
local timeofday = minetest.get_timeofday()
local time = math.floor(timeofday * 1440)
local minute = time % 60
local hour = (time - minute) / 60
return hour, minute
end
local function get_formatted_time_str(hours, minutes, seconds)
return ("Current time: %d:%d"):format(hours, minutes)
end
register.register_furniture_unit("modern_floor_clock", {
type = "decoration",
style = "modern",
material = "wood",
visual_scale = 0.5,
drawtype = "mesh",
description = "Floor Clock",
paramtype = "light",
paramtype2 = "facedir",
inventory_image = "multidecor_floor_clock_inv.png",
use_texture_alpha = "blend",
mesh = "multidecor_floor_clock.b3d",
@ -13,70 +33,82 @@ minetest.register_node(":multidecor:modern_floor_clock", {
"multidecor_dial.png",
"multidecor_glass_material.png"
},
groups = {choppy=1.5},
collision_box = {
type = "fixed",
fixed = {-0.4, -0.5, -0.3, 0.4, 2, 0.4}
},
selection_box = {
type = "fixed",
fixed = {-0.4, -0.5, -0.3, 0.4, 2, 0.4}
},
on_construct = function(pos)
local wheel = minetest.add_entity(pos, "modern:floor_clock_balance_wheel")
bounding_boxes = {{-0.4, -0.5, -0.3, 0.4, 2, 0.4}},
callbacks = {
on_construct = function(pos)
local wheel = minetest.add_entity(pos, "modern:floor_clock_balance_wheel")
local dir = vector.multiply(minetest.facedir_to_dir(minetest.get_node(pos).param2), -1)
local y_rot = vector.dir_to_rotation(dir).y
local dir = vector.multiply(minetest.facedir_to_dir(minetest.get_node(pos).param2), -1)
local y_rot = vector.dir_to_rotation(dir).y
wheel:set_rotation({x=0, y=y_rot, z=0})
wheel:set_rotation({x=0, y=y_rot, z=0})
minetest.get_meta(pos):set_string("is_activated", "false")
end,
on_rightclick = function(pos, node, clicker)
local wheel = minetest.get_objects_inside_radius(pos, 0.3)
minetest.get_meta(pos):set_string("is_activated", "false")
end,
on_rightclick = function(pos, node, clicker)
local wheel = minetest.get_objects_inside_radius(pos, 0.3)
-- Not found the balance wheel
if #wheel == 0 then
return
-- Not found the balance wheel
if #wheel == 0 then
return
end
wheel = wheel[1]
if wheel:get_luaentity().name ~= "modern:floor_clock_balance_wheel" then
return
end
local meta = minetest.get_meta(pos)
if meta:get_string("is_activated") == "false" then
wheel:set_animation({x=1, y=40}, 40.0, 0.0, true)
meta:set_string("is_activated", "true")
local handle = minetest.sound_play("multidecor_clock_chime", {object=wheel, fade=1.0, max_hear_distance=10, loop=true})
meta:set_string("sound_handle", minetest.serialize(handle))
minetest.get_node_timer(pos):start(1)
else
wheel:set_animation({x=1, y=1}, 0.0)
meta:set_string("is_activated", "false")
local handle = minetest.deserialize(meta:get_string("sound_handle"))
minetest.sound_stop(handle)
minetest.get_node_timer(pos):stop()
end
end,
after_dig_node = function(pos, oldnode, oldmeta)
local wheel = minetest.get_objects_inside_radius(pos, 0.3)
-- Not found the balance wheel
if #wheel == 0 then
return
end
wheel = wheel[1]
if wheel:get_luaentity().name ~= "modern:floor_clock_balance_wheel" then
return
end
local handle = minetest.deserialize(oldmeta.fields.sound_handle)
if handle then
minetest.sound_stop(handle)
end
wheel:remove()
end,
on_timer = function(pos, elapsed)
local hours, minutes, seconds = get_current_time()
minetest.get_meta(pos):set_string("infotext", get_formatted_time_str(hours, minutes, seconds))
return true
end
wheel = wheel[1]
if wheel:get_luaentity().name ~= "modern:floor_clock_balance_wheel" then
return
end
local meta = minetest.get_meta(pos)
if meta:get_string("is_activated") == "false" then
wheel:set_animation({x=1, y=40}, 25.0, 0.0, true)
meta:set_string("is_activated", "true")
else
wheel:set_animation({x=1, y=1}, 0.0)
meta:set_string("is_activated", "false")
end
end,
after_destruct = function(pos)
local wheel = minetest.get_objects_inside_radius(pos, 0.3)
-- Not found the balance wheel
if #wheel == 0 then
return
end
wheel = wheel[1]
if wheel:get_luaentity().name ~= "modern:floor_clock_balance_wheel" then
return
end
wheel:remove()
end
})
minetest.register_craft(
}
},
{
output = "multidecor:modern_floor_clock",
recipe = {
{"multidecor:jungleboard", "multidecor:jungleboard", "multidecor:jungleboard"},
{"doors:door_glass", "multidecor:digital_dial", "multidecor:jungleboard"},
@ -84,6 +116,7 @@ minetest.register_craft(
}
})
minetest.register_entity("modern:floor_clock_balance_wheel", {
visual = "mesh",
visual_size = {x=5, y=5, z=5},
@ -153,7 +186,56 @@ register.register_furniture_unit("alarm_clock", {
"multidecor_glass_material.png"
},
use_texture_alpha = "blend",
bounding_boxes = {{-0.25, -0.5, -0.175, 0.25, 0.1, 0.175}}
bounding_boxes = {{-0.25, -0.5, -0.175, 0.25, 0.1, 0.175}},
callbacks = {
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("is_activated", "false")
meta:set_int("nodetime_elapsed", -1)
end,
on_rightclick = function(pos)
local meta = minetest.get_meta(pos)
if meta:get_string("is_activated") == "false" then
meta:set_string("is_activated", "true")
minetest.get_node_timer(pos):start(1)
else
meta:set_string("is_activated", "false")
meta:set_int("nodetime_elapsed", -1)
minetest.get_node_timer(pos):stop()
local handle = minetest.deserialize(meta:get_string("sound_handle"))
if handle then
minetest.sound_stop(handle)
end
end
end,
on_timer = function(pos)
local meta = minetest.get_meta(pos)
local elapsed = meta:get_int("nodetime_elapsed")
elapsed = elapsed + 1
meta:set_int("nodetime_elapsed", elapsed)
local hours, minutes, seconds = get_current_time()
meta:set_string("infotext", get_formatted_time_str(hours, minutes, seconds))
if elapsed % 8 == 0 then
local handle = minetest.sound_play("multidecor_clock_ticking", {pos=pos, fade=1.0, max_hear_distance=10})
meta:set_string("sound_handle", minetest.serialize(handle))
end
return true
end,
after_dig_node = function(pos, oldnode, oldmeta)
local handle = minetest.deserialize(oldmeta.fields.sound_handle)
if handle then
minetest.sound_stop(handle)
end
end
}
},
{
recipe = {
@ -164,23 +246,54 @@ register.register_furniture_unit("alarm_clock", {
replacements = {{"multidecor:steel_scissors", "multidecor:steel_scissors"}}
})
minetest.register_node(":multidecor:laminate",
{
drawtype = "nodebox",
description = "Laminate",
paramtype = "light",
paramtype2 = "facedir",
tiles = {"multidecor_laminate.png"},
node_box = {
local floors_defs = {
["laminate"] = {
"Laminate",
"multidecor_laminate.png",
{"multidecor:plank", "multidecor:plank", "multidecor:plank", "multidecor:plank"}
},
["white_laminate"] = {
"White Laminate",
"multidecor_white_laminate.png",
{"multidecor:plank", "multidecor:plank", "multidecor:plank", "multidecor:plank", "dye:white"}
},
["pine_parquet"] = {
"Pine Parquet",
"multidecor_pine_parquet.png",
{"multidecor:pine_plank", "multidecor:pine_plank", "multidecor:pine_plank", "multidecor:pine_plank"}
},
["jungle_linoleum"] = {
"Jungle Linoleum",
"multidecor_jungle_linoleum.png",
{"multidecor:jungleplank", "multidecor:jungleplank", "multidecor:jungleplank", "multidecor:jungleplank"}
}
}
for name, def in pairs(floors_defs) do
minetest.register_node(":multidecor:" .. name, {
drawtype = "nodebox",
description = def[1],
paramtype = "light",
paramtype2 = "facedir",
tiles = {def[2]},
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -0.45, 0.5}
},
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -0.45, 0.5}
},
groups = {choppy=1.5}
})
},
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -0.45, 0.5}
},
groups = {choppy=1.5}
})
minetest.register_craft({
type = "shapeless",
output = "multidecor:" .. name,
recipe = def[3]
})
end
local flowers = {

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -92,7 +92,11 @@ register.register_table("modern_wooden_desk", {
pos = {x=-1.15, y=0.225, z=0.025},
object = "modern:wooden_drawer",
length = 0.8,
inv_size = {w=6,h=1}
inv_size = {w=6,h=1},
sounds = {
open = "multidecor_drawer_open",
close = "multidecor_drawer_close"
}
},
{
type = "door",
@ -100,7 +104,11 @@ register.register_table("modern_wooden_desk", {
object = "modern:wooden_door",
side = "left",
inv_size = {w=6,h=3},
acc = 1
acc = 1,
sounds = {
open = "multidecor_cabinet_door_open",
close = "multidecor_cabinet_door_close"
}
}
}
},
@ -183,7 +191,11 @@ register.register_table("modern_bedside_table", {
pos = {x=0, y=-0.22, z=0.2375},
object = "modern:wooden_drawer",
length = 0.8,
inv_size = {w=6,h=1}
inv_size = {w=6,h=1},
sounds = {
open = "multidecor_drawer_open",
close = "multidecor_drawer_close"
}
},
{
type = "drawer",
@ -192,7 +204,11 @@ register.register_table("modern_bedside_table", {
pos = {x=0, y=0.205, z=0.2375},
object = "modern:wooden_drawer",
length = 0.8,
inv_size = {w=6,h=1}
inv_size = {w=6,h=1},
sounds = {
open = "multidecor_drawer_open",
close = "multidecor_drawer_close"
}
}
}
},

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -23,7 +23,11 @@ register.register_table("modern_cupboard_with_glass_doors", {
pos2 = {x=-0.5, y=1.6625, z=0.25},
object = "modern:wardrobe_wooden_glass_door",
inv_size = {w=8,h=6},
acc = 1
acc = 1,
sounds = {
open = "multidecor_cabinet_door_open",
close = "multidecor_cabinet_door_close"
}
},
{
type = "sym_doors",
@ -31,7 +35,11 @@ register.register_table("modern_cupboard_with_glass_doors", {
pos2 = {x=-0.5, y=0.2375, z=0.25},
object = "modern:wardrobe_wooden_door",
inv_size = {w=8,h=6},
acc = 1
acc = 1,
sounds = {
open = "multidecor_cabinet_door_open",
close = "multidecor_cabinet_door_close"
}
}
}
},