522 lines
14 KiB
Lua
522 lines
14 KiB
Lua
local function random_dropped_items_amount(player, itemstack, max_items_amount)
|
|
local random_items_amount_to_give = math.random(max_items_amount)
|
|
|
|
local stack = ItemStack(itemstack.. tostring(random_items_amount_to_give))
|
|
local inv = minetest.get_inventory({type="player", name=player:get_player_name()})
|
|
inv:add_item("main", stack)
|
|
end
|
|
|
|
for _, material in ipairs({"", "jungle_", "pine_"}) do
|
|
minetest.register_craftitem("luxury_decor:" .. material .. "wooden_plank", {
|
|
description = string.upper(string.sub(material, 1, 1)) .. string.sub(material, 2, -2) .. " Wooden Plank",
|
|
inventory_image = material .. "wooden_plank.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
end
|
|
|
|
minetest.register_craft({
|
|
type = "shapeless",
|
|
output = "luxury_decor:wooden_plank 2",
|
|
recipe = {"luxury_decor:wooden_board", "luxury_decor:saw"},
|
|
replacements = {
|
|
{"", "luxury_decor:saw"}
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "shapeless",
|
|
output = "luxury_decor:jungle_wooden_plank 2",
|
|
recipe = {"luxury_decor:jungle_wooden_board", "luxury_decor:saw"},
|
|
replacements = {
|
|
{"", "luxury_decor:saw"}
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "shapeless",
|
|
output = "luxury_decor:pine_wooden_plank 2",
|
|
recipe = {"luxury_decor:pine_wooden_board", "luxury_decor:saw"},
|
|
replacements = {
|
|
{"", "luxury_decor:saw"}
|
|
}
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:bucket_oil", {
|
|
description = "Bucket Oil",
|
|
inventory_image = "bucket_oil.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_node("luxury_decor:oil_source", {
|
|
description = "Oil Source",
|
|
drawtype = "liquid",
|
|
tiles = {"oil_source.png"},
|
|
alpha = 250,
|
|
paramtype = "light",
|
|
walkable = false,
|
|
pointable = false,
|
|
diggable = false,
|
|
buildable_to = true,
|
|
is_ground_content = false,
|
|
drop = "",
|
|
drowning = 1,
|
|
liquidtype = "source",
|
|
liquid_alternative_flowing = "luxury_decor:oil_flowing",
|
|
liquid_alternative_source = "luxury_decor:oil_source",
|
|
liquid_viscosity = 7,
|
|
liquid_range = 5,
|
|
post_effect_color = {a = 103, r = 30, g = 60, b = 90},
|
|
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)
|
|
itemstack:take_item()
|
|
local stack = ItemStack("luxury_decor:bucket_oil")
|
|
local inv = minetest.get_inventory({type="player", name=player:get_player_name()})
|
|
inv:add_item("main", stack)
|
|
end
|
|
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 = {
|
|
{
|
|
name = "oil_source_animated.png",
|
|
backface_culling = false,
|
|
animation = {
|
|
type = "vertical_frames",
|
|
aspect_w = 16,
|
|
aspect_h = 16,
|
|
length = 10,
|
|
},
|
|
},
|
|
{
|
|
name = "oil_source_animated.png",
|
|
backface_culling = true,
|
|
animation = {
|
|
type = "vertical_frames",
|
|
aspect_w = 16,
|
|
aspect_h = 16,
|
|
length = 10,
|
|
},
|
|
}
|
|
},
|
|
alpha = 250,
|
|
paramtype = "light",
|
|
paramtype2 = "flowingliquid",
|
|
walkable = false,
|
|
pointable = false,
|
|
diggable = false,
|
|
buildable_to = true,
|
|
is_ground_content = false,
|
|
drop = "",
|
|
drowning = 1,
|
|
liquidtype = "flowing",
|
|
liquid_range = 4,
|
|
liquid_alternative_flowing = "luxury_decor:oil_flowing",
|
|
liquid_alternative_source = "luxury_decor:oil_source",
|
|
liquid_viscosity = 7,
|
|
post_effect_color = {a = 103, r = 30, g = 60, b = 90},
|
|
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)
|
|
itemstack:take_item()
|
|
local stack = ItemStack("luxury_decor:bucket_oil")
|
|
local inv = minetest.get_inventory({type="player", name=player:get_player_name()})
|
|
inv:add_item("main", stack)
|
|
|
|
end
|
|
end
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:bucket_oil", {
|
|
description = "Oil Bucket",
|
|
inventory_image = "bucket_oil.png",
|
|
on_place = function(itemstack, placer, pointed_thing)
|
|
itemstack:take_item()
|
|
local stack = ItemStack("bucket:bucket_empty")
|
|
local inv = minetest.get_inventory({type="player", name=placer:get_player_name()})
|
|
inv:add_item("main", stack)
|
|
minetest.set_node(pointed_thing.above, {name="luxury_decor:oil_source"})
|
|
return itemstack
|
|
end
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:steel_scissors", {
|
|
description = "Steel Scissors",
|
|
inventory_image = "steel_scissors.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:lampshade", {
|
|
description = "Lampshade",
|
|
inventory_image = "lampshade.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:lampshades", {
|
|
description = "Lampshades",
|
|
inventory_image = "lampshades.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:paraffin_cake", {
|
|
description = "Paraffin Cake",
|
|
inventory_image = "paraffin.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:wax_lump", {
|
|
description = "Wax Lump",
|
|
inventory_image = "wax_lump.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:brass_ingot", {
|
|
description = "Brass Ingot",
|
|
inventory_image = "brass_ingot.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:brass_stick", {
|
|
description = "Brass Stick",
|
|
inventory_image = "brass_stick.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:zinc_ingot", {
|
|
description = "Zinc Ingot",
|
|
inventory_image = "zinc_ingot.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:zinc_fragments", {
|
|
description = "Zinc Fragments",
|
|
inventory_image = "zinc_fragments.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:copper_and_zinc", {
|
|
description = "Copper and Zinc",
|
|
inventory_image = "copper_and_zinc.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:wooden_board", {
|
|
description = "Wooden Board",
|
|
inventory_image = "wooden_board.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:jungle_wooden_board", {
|
|
description = "Jungle Board",
|
|
inventory_image = "jungle_board.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:pine_wooden_board", {
|
|
description = "Pine Board",
|
|
inventory_image = "pine_board.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:plastic_sheet", {
|
|
description = "Plastic Sheet",
|
|
inventory_image = "plastic_sheet.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:incandescent_bulb", {
|
|
description = "Incandescent Bulb",
|
|
inventory_image = "incandescent_bulb.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:incandescent_bulbs", {
|
|
description = "Incandescent Bulbs",
|
|
inventory_image = "incandescent_bulbs.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:wolfram_lump", {
|
|
description = "Wolfram Lump",
|
|
inventory_image = "wolfram_lump.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:wolfram_ingot", {
|
|
description = "Wolfram Ingot",
|
|
inventory_image = "wolfram_ingot.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:wolfram_wire_reel", {
|
|
description = "Wolfram Wire Reel",
|
|
inventory_image = "wolfram_wire_reel.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:dial", {
|
|
description = "Dial",
|
|
inventory_image = "dial.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:siphon", {
|
|
description = "Siphon",
|
|
inventory_image = "siphon.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_node("luxury_decor:zinc_ore", {
|
|
description = "Zinc Ore",
|
|
tiles = {"default_stone.png^mineral_zinc.png"},
|
|
is_ground_content = true,
|
|
paramtype = "light",
|
|
light_source = 6,
|
|
drop="",
|
|
groups = {cracky=3},
|
|
sounds = default.node_sound_defaults(),
|
|
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
|
random_dropped_items_amount(digger, "luxury_decor:zinc_fragments ", 5)
|
|
end
|
|
})
|
|
|
|
minetest.register_node("luxury_decor:wolfram_ore", {
|
|
description = "Wolfram Ore",
|
|
tiles = {"default_stone.png^mineral_wolfram.png"},
|
|
is_ground_content = true,
|
|
paramtype = "light",
|
|
light_source = 2,
|
|
drop="",
|
|
groups = {cracky=3.5},
|
|
sounds = default.node_sound_defaults(),
|
|
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
|
random_dropped_items_amount(digger, "luxury_decor:wolfram_lump ", 4)
|
|
end
|
|
})
|
|
|
|
minetest.register_ore({
|
|
ore_type = "scatter",
|
|
ore = "luxury_decor: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 = "luxury_decor:wolfram_ore",
|
|
wherein = "default:stone",
|
|
clust_scarcity = 800,
|
|
clust_num_ores = 4,
|
|
clust_size = 2,
|
|
height_min = -31000,
|
|
height_max = -150
|
|
})
|
|
|
|
minetest.register_ore({
|
|
ore_type = "scatter",
|
|
ore = "luxury_decor:solid_oil",
|
|
wherein = "default:stone",
|
|
clust_scarcity = 700,
|
|
clust_num_ores = 3,
|
|
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",
|
|
recipe = "luxury_decor:bucket_oil",
|
|
cooktime = 15--[[,
|
|
replacements = {"bucket:bucket_empty"}]]
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "luxury_decor:wax_lump",
|
|
recipe = "luxury_decor:paraffin_cake",
|
|
cooktime = 8
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "luxury_decor:plastic_sheet",
|
|
recipe = "default:leaves"
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "luxury_decor:incandescent_bulb 3",
|
|
recipe = {
|
|
{"luxury_decor:plastic_sheet", "luxury_decor:wolfram_wire_reel", ""},
|
|
{"luxury_decor:plastic_sheet", "default:steel_ingot", ""},
|
|
{"", "", ""}
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "luxury_decor:wolfram_ingot",
|
|
recipe = "luxury_decor:wolfram_lump",
|
|
cooktime = 18
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "luxury_decor:steel_scissors",
|
|
recipe = {
|
|
{"default:steel_ingot", "default:stick", ""},
|
|
{"default:stick", "", ""},
|
|
{"", "", ""}
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "luxury_decor:lampshade 3",
|
|
recipe = {
|
|
{"wool:white", "luxury_decor:brass_ingot", ""},
|
|
{"luxury_decor:steel_scissors", "", ""},
|
|
{"", "", ""}
|
|
},
|
|
replacements = {
|
|
{"", "", ""},
|
|
{"luxury_decor:steel_scissors", "", ""},
|
|
{"", "", ""}
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "shapeless",
|
|
output = "luxury_decor:lampshades",
|
|
recipe = {"luxury_decor:lampshade", "luxury_decor:lampshade", "luxury_decor:lampshade"}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "shapeless",
|
|
output = "luxury_decor:incandescent_bulbs",
|
|
recipe = {"luxury_decor:incandescent_bulb", "luxury_decor:incandescent_bulb", "luxury_decor:incandescent_bulb"}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "shapeless",
|
|
output = "luxury_decor:wolfram_wire_reel",
|
|
recipe = {"luxury_decor:wolfram_ingot"}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "shapeless",
|
|
output = "luxury_decor:brass_stick 3",
|
|
recipe = {"luxury_decor:brass_ingot"}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "shapeless",
|
|
output = "luxury_decor:copper_and_zinc",
|
|
recipe = {"default:copper_ingot", "luxury_decor:zinc_ingot"}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "luxury_decor:brass_ingot",
|
|
recipe = "luxury_decor:copper_and_zinc",
|
|
cooktime = 10
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = "luxury_decor:zinc_ingot",
|
|
recipe = "luxury_decor:zinc_fragments",
|
|
cooktime = 7
|
|
})
|
|
|
|
minetest.register_craftitem("luxury_decor:saw", {
|
|
description = "Saw",
|
|
inventory_image = "saw.png",
|
|
stack_max = 99
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "shapeless",
|
|
output = "luxury_decor:wooden_board 3",
|
|
recipe = {"stairs:slab_wood", "luxury_decor:saw"}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "shapeless",
|
|
output = "luxury_decor:jungle_wooden_board 3",
|
|
recipe = {"stairs:slab_junglewood", "luxury_decor:saw"}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "shapeless",
|
|
output = "luxury_decor:pine_wooden_board 3",
|
|
recipe = {"stairs:slab_pine_wood", "luxury_decor:saw"}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "shapeless",
|
|
output = "luxury_decor:saw",
|
|
recipe = {"default:wood", "default:steel_ingot"},
|
|
replacements = {
|
|
{"luxury_decor:wooden_board", ""}
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "shapeless",
|
|
output = "luxury_decor:glass_vase 2",
|
|
recipe = {"stairs:slab_glass", "luxury_decor:saw"},
|
|
replacements = {
|
|
{"", "luxury_decor:saw"}
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "luxury_decor:siphon",
|
|
recipe = {
|
|
{"luxury_decor:plastic_sheet", "luxury_decor:plastic_sheet", ""},
|
|
{"default:copper_ingot", "", ""},
|
|
{"", "", ""}
|
|
}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "luxury_decor:dial 2",
|
|
recipe = {
|
|
{"luxury_decor:plastic_sheet", "dye:black", ""},
|
|
{"luxury_decor:brass_stick", "", ""},
|
|
{"dye:yellow", "", ""}
|
|
}
|
|
})
|