Added books, brass candlestick, alarm clock and zinc ore

master
Andrey2470T 2022-08-13 23:55:45 +03:00
parent 904742239f
commit 9d91e6be38
34 changed files with 305 additions and 29 deletions

View File

@ -152,6 +152,18 @@ minetest.register_craftitem(":multidecor:four_lampshades_set",
inventory_image = "multidecor_four_lampshades_set.png" inventory_image = "multidecor_four_lampshades_set.png"
}) })
minetest.register_craftitem(":multidecor:digital_dial",
{
description = "Digital Dial",
inventory_image = "multidecor_digital_dial.png"
})
minetest.register_craftitem(":multidecor:brass_ingot",
{
description = "Brass Ingot",
inventory_image = "multidecor_brass_ingot.png"
})
minetest.register_craft( minetest.register_craft(
{ {
type = "shapeless", type = "shapeless",
@ -255,6 +267,28 @@ minetest.register_craft({
recipe = {"multidecor:lampshade", "multidecor:lampshade", "multidecor:lampshade", "multidecor:lampshade"} recipe = {"multidecor:lampshade", "multidecor:lampshade", "multidecor:lampshade", "multidecor:lampshade"}
}) })
minetest.register_craft({
type = "shapeless",
output = "multidecor:brass_ingot",
recipe = {"default:copper_ingot", "multidecor:zinc_ingot"}
})
minetest.register_craft({
type = "shapeless",
output = "multidecor:brass_ingot",
recipe = {"default:copper_ingot", "default:tin_ingot"}
})
minetest.register_craft({
output = "multidecor:digital_dial",
recipe = {
{"multidecor:plastic_sheet", "dye:white", "dye:black"},
{"multidecor:steel_scissors", "", ""},
{"", "", ""}
},
replacements = {{"multidecor:steel_scissors", "multidecor:steel_scissors"}}
})
minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv) minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv)
local contains_saw = false local contains_saw = false
local contains_steel_scissors = false local contains_steel_scissors = false

View File

@ -13,7 +13,7 @@ minetest.register_node(":multidecor:wolfram_ore", {
} }
} }
}, },
groups = {cracky=3.5}, groups = {cracky=2.5},
sounds = default.node_sound_stone_defaults() sounds = default.node_sound_stone_defaults()
}) })
@ -32,7 +32,7 @@ minetest.register_node(":multidecor:desert_wolfram_ore", {
} }
} }
}, },
groups = {cracky=3.5}, groups = {cracky=2.5},
sounds = default.node_sound_stone_defaults() sounds = default.node_sound_stone_defaults()
}) })
@ -76,3 +76,82 @@ minetest.register_craft({
recipe = "multidecor:wolfram_ore", recipe = "multidecor:wolfram_ore",
cooktime = 8 cooktime = 8
}) })
minetest.register_node(":multidecor:zinc_ore", {
description = "Zinc Ore",
tiles = {"default_stone.png^multidecor_zinc_mineral.png"},
is_ground_content = true,
paramtype = "light",
light_source = 6,
drop = {
max_items = 5,
items = {
{
rarity = 1000,
items = {"multidecor:zinc_fragment"}
}
}
},
groups = {cracky=3.5},
sounds = default.node_sound_stone_defaults()
})
minetest.register_node(":multidecor:desert_zinc_ore", {
description = "Desert Zinc Ore",
tiles = {"default_desert_stone.png^multidecor_zinc_mineral.png"},
is_ground_content = true,
paramtype = "light",
light_source = 6,
drop = {
max_items = 5,
items = {
{
rarity = 1000,
items = {"multidecor:zinc_lump"}
}
}
},
groups = {cracky=3.5},
sounds = default.node_sound_stone_defaults()
})
minetest.register_ore({
ore_type = "scatter",
ore = "multidecor:zinc_ore",
wherein = "default:stone",
clust_scarcity = 400,
clust_num_ores = 5,
clust_size = 3,
height_min = -31000,
height_max = -125
})
minetest.register_ore({
ore_type = "scatter",
ore = "multidecor:desert_zinc_ore",
wherein = "default:stone",
clust_scarcity = 400,
clust_num_ores = 5,
clust_size = 3,
height_min = -31000,
height_max = -125
})
minetest.register_craftitem(":multidecor:zinc_fragment",
{
description = "Zinc Fragment",
inventory_image = "multidecor_zinc_fragment.png"
})
minetest.register_craftitem(":multidecor:zinc_ingot",
{
description = "Zinc Ingot",
inventory_image = "multidecor_zinc_ingot.png"
})
minetest.register_craft({
type = "cooking",
output = "multidecor:zinc_ingot",
recipe = "multidecor:zinc_fragment",
cooktime = 5
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

@ -78,6 +78,7 @@ function connecting.replace_node_to(pos, disconnect)
end end
minetest.debug("target_node: " .. target_node) minetest.debug("target_node: " .. target_node)
target_node = target_node ~= "" and "_" .. target_node or "" target_node = target_node ~= "" and "_" .. target_node or ""
if not disconnect and target_node == "" then if not disconnect and target_node == "" then
return return
end end
@ -103,18 +104,13 @@ function connecting.directional_replace_node_to(pos, dir, side, disconnect)
local dir_rot = math.deg(vector.dir_to_rotation(dir).y) local dir_rot = math.deg(vector.dir_to_rotation(dir).y)
local dir_rot2 = math.deg(vector.dir_to_rotation(helpers.get_dir(pos)).y) local dir_rot2 = math.deg(vector.dir_to_rotation(helpers.get_dir(pos)).y)
minetest.debug("side: " .. dump(side))
minetest.debug("dir_rot: " .. dir_rot)
minetest.debug("dir_rot2: " .. dir_rot2)
local is_left_corner = add_props.connect_parts.left_side == def.mesh and side == "right" and local is_left_corner = add_props.connect_parts.left_side == def.mesh and side == "right" and
dir_rot-90 == dir_rot2 dir_rot-90 == dir_rot2
local is_right_corner = add_props.connect_parts.right_side == def.mesh and side == "left" and local is_right_corner = add_props.connect_parts.right_side == def.mesh and side == "left" and
dir_rot+90 == dir_rot2 dir_rot+90 == dir_rot2
if is_left_corner then if is_left_corner then
--minetest.debug("left corner")
right_dir = dir right_dir = dir
elseif is_right_corner then elseif is_right_corner then
--minetest.debug("right corner")
left_dir = dir left_dir = dir
end end

View File

@ -35,7 +35,8 @@ function register.register_light(name, base_def, add_def, craft_def)
end end
local sound_off local sound_off
if def.add_properties then local are_props = def.add_properties and def.add_properties.swap_light
if are_props then
sound_off = def.add_properties.swap_light.sound_off or "multidecor_light_off" sound_off = def.add_properties.swap_light.sound_off or "multidecor_light_off"
def.add_properties.swap_light.sound = def.add_properties.swap_light.sound_on or "multidecor_light_on" def.add_properties.swap_light.sound = def.add_properties.swap_light.sound_on or "multidecor_light_on"
def.add_properties.swap_light.sound_on = nil def.add_properties.swap_light.sound_on = nil
@ -44,7 +45,7 @@ function register.register_light(name, base_def, add_def, craft_def)
register.register_furniture_unit(name, def, craft_def) register.register_furniture_unit(name, def, craft_def)
if def.add_properties then if are_props then
local def2 = table.copy(def) local def2 = table.copy(def)
local swap_light_name = def2.add_properties.swap_light.name local swap_light_name = def2.add_properties.swap_light.name
def2.light_source = def2.add_properties.swap_light.light_level or 8 def2.light_source = def2.add_properties.swap_light.light_level or 8

View File

@ -87,6 +87,7 @@ register.register_table("dresser_with_mirror", {
visual_scale = 0.5, visual_scale = 0.5,
mesh = "multidecor_dresser_with_mirror.b3d", mesh = "multidecor_dresser_with_mirror.b3d",
tiles = {"multidecor_aspen_wood.png", "multidecor_gloss.png"}, tiles = {"multidecor_aspen_wood.png", "multidecor_gloss.png"},
inventory_image = "multidecor_dresser_with_mirror_inv.png",
use_texture_alpha = "blend", use_texture_alpha = "blend",
bounding_boxes = { bounding_boxes = {
{-0.5, -0.5, -0.5, 1.5, 0.5, 0.5} {-0.5, -0.5, -0.5, 1.5, 0.5, 0.5}

View File

@ -193,3 +193,34 @@ register.register_light("metal_chandelier_with_plastic_plafonds_off", {
{"multidecor:metal_bar", "", ""} {"multidecor:metal_bar", "", ""}
} }
}) })
register.register_light("brass_candlestick", {
style = "modern",
material = "metal",
description = "Brass Candlestick",
visual_scale = 0.5,
use_texture_alpha = "blend",
light_source = 10,
mesh = "multidecor_brass_candlestick.b3d",
tiles = {
"multidecor_brass_material.png",
"multidecor_candle.png",
{name="multidecor_flame_anim.png", animation={
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 3.0
}}
},
bounding_boxes = {
{-0.25, -0.5, -0.25, 0.25, -0.4, 0.25},
{-0.1, -0.4, -0.1, 0.1, 0.125, 0.1}
},
},
{
recipe = {
{"multidecor:steel_sheet", "multidecor:steel_sheet", "multidecor:brass_ingot"},
{"", "", ""},
{"", "", ""}
}
})

View File

@ -15,3 +15,74 @@ register.register_furniture_unit("modern_floor_clock", {
}, },
bounding_boxes = {{-0.4, -0.5, -0.3, 0.4, 2, 0.4}} bounding_boxes = {{-0.4, -0.5, -0.3, 0.4, 2, 0.4}}
}) })
register.register_furniture_unit("book", {
type = "decoration",
style = "modern",
material = "wood",
visual_scale = 0.5,
description = "Book",
mesh = "multidecor_book.b3d",
tiles = {
"multidecor_book_envelope.png^[multiply:blue^multidecor_book_pattern.png",
"multidecor_book.png"
},
bounding_boxes = {{-0.2, -0.5, -0.3, 0.2, -0.35, 0.3}}
},
{
recipe = {
{"default:paper", "default:paper", "dye:blue"},
{"default:paper", "default:paper", "default:paper"},
{"default:paper", "default:paper", "default:paper"}
}
})
register.register_furniture_unit("books_stack", {
type = "decoration",
style = "modern",
material = "wood",
visual_scale = 0.5,
description = "Books Stack",
mesh = "multidecor_books_stack.b3d",
tiles = {
"multidecor_book_envelope.png^[multiply:green^multidecor_book_pattern.png",
"multidecor_book.png",
"multidecor_book_envelope.png^[multiply:blueviolet^multidecor_book_pattern.png",
"multidecor_book_envelope.png^[multiply:red",
"multidecor_book_envelope.png^[multiply:darkorange^multidecor_book_pattern2.png",
},
bounding_boxes = {{-0.2, -0.5, -0.3, 0.2, -0.1, 0.3}}
},
{
type = "shapeless",
recipe = {
"multidecor:book", "multidecor:book",
"multidecor:book", "multidecor:book"
}
})
register.register_furniture_unit("alarm_clock", {
type = "decoration",
style = "modern",
material = "plastic",
visual_scale = 0.5,
description = "Alarm Clock",
mesh = "multidecor_alarm_clock.b3d",
tiles = {
"multidecor_plastic_material.png^[multiply:green",
"multidecor_metal_material.png",
"multidecor_digital_dial.png",
"multidecor_glass_material.png"
},
use_texture_alpha = "blend",
bounding_boxes = {{-0.25, -0.5, -0.175, 0.25, 0.1, 0.175}}
},
{
recipe = {
{"multidecor:steel_sheet", "multidecor:steel_sheet", "dye:green"},
{"multidecor:plastic_sheet", "multidecor:digital_dial", "multidecor:plastic_sheet"},
{"", "multidecor:plastic_sheet", ""}
}
})

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

@ -9,29 +9,73 @@ local frame_types = {
local materials = {"wood", "plastic"} local materials = {"wood", "plastic"}
local dyes = {
"black",
"blue",
"brown",
"cyan",
"dark_green",
"dark_grey",
"green",
"grey",
"magenta",
"orange",
"pink",
"red",
"violet",
"white",
"yellow"
}
local bbox = {-0.5, -0.5, 0.35, 0.5, 0.5, 0.5} local bbox = {-0.5, -0.5, 0.35, 0.5, 0.5, 0.5}
local images = { local images = {
--{<image_name>, <frame_types_i>, <materials_i>, <size>} --{<image_name>, <frame_types_i>, <materials_i>, <size>}
{"alps", 1, 1, 1}, {"alps", 1, 1, 1, {4, 5, 8, 14, 6}},
{"cactus_valley", 1, 2, 1}, {"cactus_valley", 1, 2, 1, {3, 7, 14, 15, 11}},
{"cefeus", 1, 2, 1}, {"cefeus", 1, 2, 1, {1, 14, 8, 13}},
{"chamomile", 4, 1, 1}, {"chamomile", 4, 1, 1, {7, 14, 15, 10}},
{"dark_forest", 2, 1, 1}, {"dark_forest", 2, 1, 1, {1, 2, 13, 5, 4}},
{"elk", 1, 2, 1}, {"elk", 1, 2, 1, {15, 7, 3, 14}},
{"forest", 4, 1, 1}, {"forest", 4, 1, 1, {15, 3, 7, 14}},
{"jupiter_and_saturn", 2, 2, 2}, {"jupiter_and_saturn", 2, 2, 2, {1, 3, 12, 11, 15}},
{"minetest_castle", 5, 1, 1}, {"minetest_castle", 5, 1, 1, {4, 14, 8, 3, 2}},
{"minetest_logo", 1, 2, 1}, {"minetest_logo", 1, 2, 1, {2, 5, 14, 15, 4}},
{"prairie", 1, 1, 1}, {"prairie", 1, 1, 1, {15, 4, 14, 2}},
{"rose", 4, 1, 1}, {"rose", 4, 1, 1, {12, 5, 11, 7}},
{"ship_in_lava", 4, 1, 2}, {"ship_in_lava", 4, 1, 2, {1, 12, 10, 15, 2}},
{"sky", 3, 2, 1}, {"sky", 3, 2, 1, {4, 14, 12, 15, 7}},
{"sunset_in_sea", 6, 1, 1}, {"sunset_in_sea", 6, 1, 1, {14, 15, 2, 13}},
{"supernova", 3, 1, 2}, {"supernova", 3, 1, 2, {1, 11, 14, 13}},
{"tropic", 2, 2, 1} {"tropic", 2, 2, 1, {4, 2, 7, 5, 14}}
} }
local function painting_craft_recipe(inds)
local recipe = {
{"", "", ""},
{"", "multidecor:painting_frame", ""},
{"", "", ""}
}
local c = 0
local n = 0
for i, dye_i in ipairs(inds) do
n = n + 1
if i == 5 then
n = n+1
c = c+1
end
if c == 3 then
c = 0
end
c = c + 1
recipe[math.ceil(n/3)][c] = "dye:" .. dyes[dye_i]
end
return recipe
end
for _, img in ipairs(images) do for _, img in ipairs(images) do
local img_bbox = table.copy(bbox) local img_bbox = table.copy(bbox)
@ -68,5 +112,24 @@ for _, img in ipairs(images) do
mesh = "multidecor_" .. mesh .. ".b3d", mesh = "multidecor_" .. mesh .. ".b3d",
tiles = {base_tile, "multidecor_image_" .. img[1] .. ".png"}, tiles = {base_tile, "multidecor_image_" .. img[1] .. ".png"},
bounding_boxes = {img_bbox} bounding_boxes = {img_bbox}
},
{
recipe = painting_craft_recipe(img[5])
}) })
end end
minetest.register_craftitem(":multidecor:painting_frame", {
description = "Painting Frame",
inventory_image = "multidecor_painting_frame.png"
})
minetest.register_craft({
output = "multidecor:painting_frame",
recipe = {
{"default:paper", "multidecor:plank", "multidecor:saw"},
{"", "", ""},
{"", "", ""}
},
replacements = {{"multidecor:saw", "multidecor:saw"}}
})

View File

@ -86,9 +86,9 @@ for _, wood_n in ipairs({"", "jungle", "pine", "aspen"}) do
{-0.5, 0, 0.15, -0.4, -0.5, 0.4}, {-0.5, 0, 0.15, -0.4, -0.5, 0.4},
{0.4, 0, 0.15, 0.5, -0.5, 0.4} {0.4, 0, 0.15, 0.5, -0.5, 0.4}
} }
}--[[, },
{ {
type = "shapeless", type = "shapeless",
recipe = {"multidecor:" .. wood_n .. "plank", "multidecor:" .. wood_n .. "plank"} recipe = {"multidecor:modern_wooden_" .. wood_n .. "wall_shelf", "multidecor:books_stack"}
}]]) })
end end

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 867 B