Compare commits

...

5 Commits

Author SHA1 Message Date
Andrey a04573314b
1.1.5 Release. 2020-07-18 17:02:08 +03:00
Andrey2470T c315f00a31 1.1.4: Decreased alpha of oil source, added solid oil, small optimization fixes in ores generation 2020-07-18 16:58:01 +03:00
Andrey2470T 1ce0cde35a
Added changelog list 2019-09-26 21:40:10 +03:00
Andrey2470T f3e87e82d3 1.1.4: Added wood sawing sound, sticks can be crafted from planks 2019-09-08 23:12:05 +03:00
Andrey2470T 573353d865 1.1.4: Fixed an error with nesting [[..]] and open/close fridges 2019-09-03 20:19:35 +03:00
11 changed files with 118 additions and 85 deletions

View File

@ -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 --

View File

@ -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

View File

@ -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")

View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -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",

BIN
sounds/wood_sawing.ogg Normal file

Binary file not shown.

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
textures/solid_oil.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB