Compare commits
5 Commits
5dc2670705
...
a04573314b
Author | SHA1 | Date |
---|---|---|
Andrey | a04573314b | |
Andrey2470T | c315f00a31 | |
Andrey2470T | 1ce0cde35a | |
Andrey2470T | f3e87e82d3 | |
Andrey2470T | 573353d865 |
49
README.md
49
README.md
|
@ -1,9 +1,56 @@
|
|||
# Luxury Decor Mod v.1.1.3 For Minetest!
|
||||
# Luxury Decor Mod For Minetest! Current version is 1.1.5!
|
||||
![Luxury Decor](screenshot.png?raw=true)
|
||||
|
||||
## Description
|
||||
This mod adds big amount of new furniture stuff of various sorts, decorations and exterior. Currently it adds one kitchen style (simple), a few types of chairs/tables, luxury lamp, simple sofas/footstools/armchairs/, iron chandelier, shelves, glass vase, pots, royal beds, simple wooden wall clock and simple bedside table. Lots of furniture items are ensured with crafting recipes.
|
||||
|
||||
## Changelog List
|
||||
### [18.07.20] 1.1.5:
|
||||
#### 1.Added solid oil.
|
||||
#### 2.Decreased alpha of oil source.
|
||||
#### 3.Optimized generation of ores.
|
||||
|
||||
### [26.09.19] 1.1.4:
|
||||
#### 1.Added wood sawing sound while crafting with saw usage.
|
||||
#### 2.Fixed an error causing due to '[[...]]' inside the comment.
|
||||
#### 3.Fridges dont cause any errors anymore.
|
||||
|
||||
### [27.08.19] 1.1.3:
|
||||
#### 1.Moved sitting API into new folder named "api" into "sitting.lua".
|
||||
#### 2.Scaled down some chairs and lamps.
|
||||
|
||||
### [25.08.19] 1.1.2:
|
||||
#### 1.Fixed a serious bug is bound with disappearance of lying items as a result of switching other cabinet departmenrs.
|
||||
|
||||
### [??.??.??] 1.1.1:
|
||||
#### 1.Fixed overlaying of textures of some items (plastic chands).
|
||||
#### 2.Scaled down candlesticks and plastic desk lamps.
|
||||
|
||||
### [03.05.19] 1.1.0:
|
||||
#### 1.Added a whole set of chandeliers (plastic, luxury, glass and others), brass candlesticks and street lanterns.
|
||||
|
||||
### [31.03.19] 1.0.2:
|
||||
#### 1.Added crafting recipes for all items.
|
||||
#### 2.Added more craft ingredients.
|
||||
|
||||
### [27.03.19] 1.0.1:
|
||||
#### 1.The simple sofas connect between themselves correctly.
|
||||
#### 2.The sofas can be disconnectable by destroying them.
|
||||
#### 3.Fixed overlaying of sofas textures.
|
||||
|
||||
### [16.03.19] 1.0.0:
|
||||
#### 1.Added simple wooden kitchen furniture.
|
||||
#### 2.Added piano.
|
||||
#### 3.Added iron chandelier and wall glass lamp.
|
||||
#### 4.Added simple & luxury pots.
|
||||
#### 5.Added laminate floor.
|
||||
#### 6.Added simple colorful sofas and armchairs.
|
||||
#### 7.Added wall clock.
|
||||
#### 8.Added bedside table.
|
||||
#### 9.Added tables & chairs.
|
||||
#### 10.Added royal beds (single, double).
|
||||
|
||||
|
||||
## Crafting & Cooking Recipes
|
||||
Crafting:
|
||||
-- Simple Wooden Bedside Table --
|
||||
|
|
19
bedroom.lua
19
bedroom.lua
|
@ -184,25 +184,6 @@ minetest.register_craft({
|
|||
{"default:stick", "", ""}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
local rgb_colors = {
|
||||
["black"] = "#000000",
|
||||
["red"] = "#FF0000",
|
||||
["green"] = "#00FF00",
|
||||
["white"] = "#FFFFFF",
|
||||
["blue"] = "#0000FF",
|
||||
["yellow"] = "#FFFF00",
|
||||
["magenta"] = "#FF00FF",
|
||||
["cyan"] = "#00FFFF",
|
||||
["dark_green"] = "#008000",
|
||||
["dark_grey"] = "#808080",
|
||||
["grey"] = "#C0C0C0",
|
||||
["brown"] = "#A52A2A",
|
||||
["orange"] = "#FF4500",
|
||||
["pink"] = "#F08080",
|
||||
["violet"] = "#4B0082"
|
||||
}
|
||||
|
||||
|
||||
for color, rgb_code in pairs(rgb_colors) do
|
||||
|
|
19
init.lua
19
init.lua
|
@ -1,4 +1,23 @@
|
|||
cabs_table = {}
|
||||
|
||||
rgb_colors = {
|
||||
["black"] = "#000000",
|
||||
["red"] = "#FF0000",
|
||||
["green"] = "#00FF00",
|
||||
["white"] = "#FFFFFF",
|
||||
["blue"] = "#0000FF",
|
||||
["yellow"] = "#FFFF00",
|
||||
["magenta"] = "#FF00FF",
|
||||
["cyan"] = "#00FFFF",
|
||||
["dark_green"] = "#008000",
|
||||
["dark_grey"] = "#808080",
|
||||
["grey"] = "#C0C0C0",
|
||||
["brown"] = "#A52A2A",
|
||||
["orange"] = "#FF4500",
|
||||
["pink"] = "#F08080",
|
||||
["violet"] = "#4B0082"
|
||||
}
|
||||
|
||||
local modpath = minetest.get_modpath("luxury_decor")
|
||||
|
||||
dofile(modpath.."/api/sitting.lua")
|
||||
|
|
|
@ -44,7 +44,6 @@ cabinets.open = function (pos, node_replace, clicked_button_name, formspec, soun
|
|||
cabs_table[general_name].inv_list[depart_num][str_pos] = list
|
||||
end
|
||||
if type(depart_data) == "table" and depart_data.button == clicked_button_name then
|
||||
minetest.debug("TRUE")
|
||||
minetest.sound_play(sounds_play[depart_num], {
|
||||
pos = pos,
|
||||
max_hear_distance = 15
|
||||
|
@ -71,14 +70,13 @@ cabinets.close = function (pos, node_replace, clicked_button_name, formspec, sou
|
|||
local list = inv:get_list(depart_data.listname)
|
||||
local str_pos = tostring(pos.x) .. ", " .. tostring(pos.y) .. ", " .. tostring(pos.z)
|
||||
cabs_table[general_name].inv_list[depart_num][str_pos] = list
|
||||
if depart_data.button == clicked_button_name then
|
||||
minetest.sound_play(sounds_play[depart_num], {
|
||||
pos = pos,
|
||||
max_hear_distance = 15
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
if type(depart_data) == "table" and depart_data.button == clicked_button_name then
|
||||
minetest.sound_play(sounds_play[depart_num], {
|
||||
pos = pos,
|
||||
max_hear_distance = 15
|
||||
})
|
||||
end
|
||||
end
|
||||
minetest.remove_node(pos)
|
||||
minetest.set_node(pos, {name=node_replace, param1=node.param1, param2=node.param2})
|
||||
|
@ -88,12 +86,7 @@ end
|
|||
local modes = {}
|
||||
cabinets.define_needed_cabinet = function (fields, nodename)
|
||||
local substring = string.sub(nodename, 14)
|
||||
local generalized_name
|
||||
if string.find(substring, "fridge") then
|
||||
generalized_name = string.sub(substring, 1, -8)
|
||||
else
|
||||
generalized_name = string.sub(substring, 1, -3)
|
||||
end
|
||||
local generalized_name = string.sub(substring, 1, -3)
|
||||
for _, depart in ipairs(cabs_table[generalized_name][substring]) do
|
||||
modes[#modes+1] = depart.mode
|
||||
end
|
||||
|
@ -132,12 +125,7 @@ end
|
|||
local number = 0
|
||||
cabinets.define_mode = function (fields, nodename)
|
||||
local substring = string.sub(nodename, 14)
|
||||
local general_name
|
||||
if string.find(substring, "fridge") then
|
||||
general_name = string.sub(substring, 1, -8)
|
||||
else
|
||||
general_name = string.sub(substring, 1, -3)
|
||||
end
|
||||
local general_name = string.sub(substring, 1, -3)
|
||||
for num, depart in pairs(cabs_table[general_name][substring]) do
|
||||
if type(depart) == "table" then
|
||||
local name = depart.button
|
||||
|
@ -1408,12 +1396,7 @@ for cab, cab_boxes in pairs(cabs_table["fridge"]) do
|
|||
end,
|
||||
after_dig_node = function (pos, oldnode, oldmetadata, digger)
|
||||
local name = string.sub(oldnode.name, 14)
|
||||
local generalized_name
|
||||
if string.find(name, "fridge") then
|
||||
generalized_name = string.sub(name, 1, -8)
|
||||
else
|
||||
generalized_name = string.sub(name, 1, -3)
|
||||
end
|
||||
local generalized_name = string.sub(name, 1, -3)
|
||||
|
||||
if cabs_table[generalized_name][name] then
|
||||
for num, drawer_lists in pairs(cabs_table[generalized_name].inv_list) do
|
||||
|
|
20
lighting.lua
20
lighting.lua
|
@ -295,26 +295,8 @@ minetest.register_node("luxury_decor:luxury_steel_chandelier_on", {
|
|||
end
|
||||
|
||||
})
|
||||
|
||||
local plastic_chands_colors = {
|
||||
["black"] = "#000000",
|
||||
["red"] = "#FF0000",
|
||||
["green"] = "#00FF00",
|
||||
["white"] = "#FFFFFF",
|
||||
["blue"] = "#0000FF",
|
||||
["yellow"] = "#FFFF00",
|
||||
["magenta"] = "#FF00FF",
|
||||
["cyan"] = "#00FFFF",
|
||||
["dark_green"] = "#008000",
|
||||
["dark_grey"] = "#808080",
|
||||
["grey"] = "#C0C0C0",
|
||||
["brown"] = "#A52A2A",
|
||||
["orange"] = "#FF4500",
|
||||
["pink"] = "#F08080",
|
||||
["violet"] = "#4B0082"
|
||||
}
|
||||
|
||||
for color, rgb_code in pairs(plastic_chands_colors) do
|
||||
for color, rgb_code in pairs(rgb_colors) do
|
||||
minetest.register_node("luxury_decor:simple_plastic_"..color.."_chandelier_off", {
|
||||
description = "Simple Plastic Chandelier (with ".. color .. " plastic shades)",
|
||||
visual_scale = 0.5,
|
||||
|
|
|
@ -503,7 +503,7 @@ for color, rgb_color in pairs(sofas_rgb_colors) do
|
|||
end,
|
||||
after_dig_node = function (pos, oldnode, oldmetadata, digger)
|
||||
local seat = minetest.deserialize(oldmetadata.fields.seat)
|
||||
if seat then
|
||||
if seat.busy_by then
|
||||
local player = minetest.get_player_by_name(seat.busy_by)
|
||||
chairs.standup_player(player, pos, seat)
|
||||
end
|
||||
|
@ -580,7 +580,7 @@ for ind, sofa_count in pairs({"1", "2", "3", "4", "5"}) do
|
|||
end,
|
||||
after_dig_node = function (pos, oldnode, oldmetadata, digger)
|
||||
local seat = minetest.deserialize(oldmetadata.fields.seat)
|
||||
if seat then
|
||||
if seat.busy_by then
|
||||
local player = minetest.get_player_by_name(seat.busy_by)
|
||||
chairs.standup_player(player, pos, seat)
|
||||
end
|
||||
|
@ -835,7 +835,7 @@ for ind, footstool_type in pairs({"small", "middle", "long"}) do
|
|||
end,
|
||||
after_dig_node = function (pos, oldnode, oldmetadata, digger)
|
||||
local seat = minetest.deserialize(oldmetadata.fields.seat)
|
||||
if seat then
|
||||
if seat.busy_by then
|
||||
local player = minetest.get_player_by_name(seat.busy_by)
|
||||
chairs.standup_player(player, pos, seat)
|
||||
end
|
||||
|
|
|
@ -52,7 +52,7 @@ minetest.register_node("luxury_decor:oil_source", {
|
|||
description = "Oil Source",
|
||||
drawtype = "liquid",
|
||||
tiles = {"oil_source.png"},
|
||||
alpha = 160,
|
||||
alpha = 250,
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
|
@ -64,11 +64,10 @@ minetest.register_node("luxury_decor:oil_source", {
|
|||
liquidtype = "source",
|
||||
liquid_alternative_flowing = "luxury_decor:oil_flowing",
|
||||
liquid_alternative_source = "luxury_decor:oil_source",
|
||||
liquid_viscosity = 5,
|
||||
liquid_viscosity = 7,
|
||||
liquid_range = 5,
|
||||
damage_per_second = 1,
|
||||
post_effect_color = {a = 103, r = 30, g = 60, b = 90},
|
||||
groups = {water = 3, liquid = 3, cools_lava = 1, not_in_creative_inventory=1},
|
||||
groups = {water = 3, liquid = 3, not_in_creative_inventory=1},
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
if itemstack:get_name() == "bucket:bucket_empty" then
|
||||
minetest.remove_node(pos)
|
||||
|
@ -80,11 +79,20 @@ minetest.register_node("luxury_decor:oil_source", {
|
|||
end
|
||||
})
|
||||
|
||||
minetest.register_node("luxury_decor:solid_oil", {
|
||||
description = "Solid Oil (use furnace to melt)",
|
||||
tiles = {"solid_oil.png"},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {cracky = 2},
|
||||
sounds = default.node_sound_stone_defaults()
|
||||
})
|
||||
|
||||
minetest.register_node("luxury_decor:oil_flowing", {
|
||||
description = "Flowing Oil",
|
||||
drawtype = "flowingliquid",
|
||||
tiles = {"oil_source.png"},
|
||||
special_tiles = {
|
||||
special_tiles = {
|
||||
{
|
||||
name = "oil_source_animated.png",
|
||||
backface_culling = false,
|
||||
|
@ -92,7 +100,7 @@ minetest.register_node("luxury_decor:oil_flowing", {
|
|||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 5,
|
||||
length = 10,
|
||||
},
|
||||
},
|
||||
{
|
||||
|
@ -102,11 +110,11 @@ minetest.register_node("luxury_decor:oil_flowing", {
|
|||
type = "vertical_frames",
|
||||
aspect_w = 16,
|
||||
aspect_h = 16,
|
||||
length = 5,
|
||||
length = 10,
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
alpha = 160,
|
||||
alpha = 250,
|
||||
paramtype = "light",
|
||||
paramtype2 = "flowingliquid",
|
||||
walkable = false,
|
||||
|
@ -117,12 +125,12 @@ minetest.register_node("luxury_decor:oil_flowing", {
|
|||
drop = "",
|
||||
drowning = 1,
|
||||
liquidtype = "flowing",
|
||||
liquid_range = 4,
|
||||
liquid_alternative_flowing = "luxury_decor:oil_flowing",
|
||||
liquid_alternative_source = "luxury_decor:oil_source",
|
||||
liquid_viscosity = 5,
|
||||
liquid_viscosity = 7,
|
||||
post_effect_color = {a = 103, r = 30, g = 60, b = 90},
|
||||
groups = {water = 3, liquid = 3, not_in_creative_inventory = 1,
|
||||
cools_lava = 1, not_in_creative_inventory=1},
|
||||
groups = {water = 3, liquid = 3, not_in_creative_inventory = 1},
|
||||
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
||||
if itemstack:get_name() == "bucket:bucket_empty" then
|
||||
minetest.remove_node(pos)
|
||||
|
@ -306,7 +314,7 @@ minetest.register_ore({
|
|||
ore_type = "scatter",
|
||||
ore = "luxury_decor:zinc_ore",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 100,
|
||||
clust_scarcity = 400,
|
||||
clust_num_ores = 5,
|
||||
clust_size = 3,
|
||||
height_min = -31000,
|
||||
|
@ -317,7 +325,7 @@ minetest.register_ore({
|
|||
ore_type = "scatter",
|
||||
ore = "luxury_decor:wolfram_ore",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 200,
|
||||
clust_scarcity = 800,
|
||||
clust_num_ores = 4,
|
||||
clust_size = 2,
|
||||
height_min = -31000,
|
||||
|
@ -326,15 +334,28 @@ minetest.register_ore({
|
|||
|
||||
minetest.register_ore({
|
||||
ore_type = "scatter",
|
||||
ore = "luxury_decor:oil_source",
|
||||
ore = "luxury_decor:solid_oil",
|
||||
wherein = "default:stone",
|
||||
clust_scarcity = 400,
|
||||
clust_scarcity = 700,
|
||||
clust_num_ores = 3,
|
||||
clust_size = 1,
|
||||
clust_size = 3,
|
||||
height_min = -31000,
|
||||
height_max = -25
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = "luxury_decor:bucket_oil",
|
||||
recipe = {"bucket:bucket_empty", "luxury_decor:oil_source"}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "luxury_decor:oil_source",
|
||||
recipe = "luxury_decor:solid_oil",
|
||||
cooktime = 4
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "luxury_decor:paraffin_cake 2",
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
Loading…
Reference in New Issue