lapis/init.lua
2020-10-27 13:43:26 +00:00

256 lines
6.5 KiB
Lua

-- lapis ore
minetest.register_node("lapis:stone_with_lapis", {
description = "Lapis Ore",
tiles = {"default_stone.png^lapis_ore.png"},
groups = {cracky = 2},
drop = {
items = {
{items = {"lapis:lapis_stone 4"}},
{items = {"lapis:lapis_stone 2"}, rarity = 2},
{items = {"lapis:lapis_stone 2"}, rarity = 2}
}
},
sounds = default.node_sound_stone_defaults()
})
-- lapis gem
minetest.register_craftitem("lapis:lapis_stone", {
description = "Lapis Lazuli",
inventory_image = "lapis_gem.png"
})
-- lapis block
minetest.register_node("lapis:lapis_block", {
description = "Lapis Block",
tiles = {"lapis_block_side.png"},
groups = {cracky = 2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_craft({
output = "lapis:lapis_block",
recipe = {
{"lapis:lapis_stone", "lapis:lapis_stone", "lapis:lapis_stone"},
{"lapis:lapis_stone", "lapis:lapis_stone", "lapis:lapis_stone"},
{"lapis:lapis_stone", "lapis:lapis_stone", "lapis:lapis_stone"}
}
})
minetest.register_craft({
type = "shapeless",
output = "lapis:lapis_stone 9",
recipe = {"lapis:lapis_block"}
})
-- lapis brick
minetest.register_node("lapis:lapis_brick", {
description = "Lapis Brick",
tiles = {
"lapis_brick_top.png", "lapis_brick_top.png^[transformFXR90",
"lapis_brick_side.png", "lapis_brick_side.png^[transformFX",
"lapis_brick.png^[transformFX", "lapis_brick.png"
},
paramtype2="facedir",
is_ground_content = false,
groups = {cracky = 1},
sounds = default.node_sound_stone_defaults()
})
minetest.register_craft({
output = "lapis:lapis_brick 4",
recipe = {
{"lapis:lapis_block", "lapis:lapis_block"},
{"lapis:lapis_block", "lapis:lapis_block"}
}
})
-- lapis cobble
minetest.register_node("lapis:lapis_cobble", {
description = "Lapis Cobble",
tiles = {"lapis_cobble.png"},
groups = {cracky = 2},
sounds = default.node_sound_stone_defaults()
})
minetest.register_craft({
type = "cooking",
output = "lapis:lapis_cobble",
recipe = "lapis:lapis_block"
})
-- lapis cobble tile
minetest.register_node("lapis:lapis_tile", {
description = "Lapis Cobble Tile",
inventory_image ="lapis_paver.png",
tiles = {"lapis_paver.png"},
drawtype = "nodebox",
paramtype2 = "facedir",
walkable = false,
is_ground_content = false,
groups = {cracky = 2},
paramtype = "light",
paramtype2 = "facedir",
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -0.45, 0.5}
},
sounds = default.node_sound_stone_defaults(),
on_place = minetest.rotate_node
})
minetest.register_craft({
type = "shapeless",
output = "lapis:lapis_tile 4",
recipe = {"lapis:lapis_cobble"}
})
-- blue dye from lapis
minetest.register_craft({
type = "shapeless",
output = "dye:blue 2",
recipe = {"lapis:lapis_stone"}
})
-- pyrite ore
minetest.register_node("lapis:stone_with_pyrite", {
description = "Pyrite Ore",
tiles = {"default_stone.png^lapis_mineral_pyrite.png"},
groups = {cracky = 2},
drop = {
items = {
{items = {"lapis:pyrite_lump"}},
{items = {"lapis:pyrite_lump 2"}, rarity = 2}
}
},
sounds = default.node_sound_stone_defaults()
})
-- pyrite lump
minetest.register_craftitem("lapis:pyrite_lump", {
description = "Pyrite Lump",
inventory_image = "lapis_pyrite_lump.png"
})
-- pyrite ingot
minetest.register_craftitem("lapis:pyrite_ingot", {
description = "Pyrite Ingot",
inventory_image = "lapis_pyrite_ingot.png"
})
minetest.register_craft({
type = "cooking",
output = "lapis:pyrite_ingot",
recipe = "lapis:pyrite_lump"
})
-- pyrite block
minetest.register_node("lapis:pyrite_block", {
description = "Pyrite Block",
tiles = {"lapis_pyrite_block.png"},
groups = {cracky = 1},
sounds = default.node_sound_stone_defaults()
})
minetest.register_craft({
output = "lapis:pyrite_block",
recipe = {
{"lapis:pyrite_ingot", "lapis:pyrite_ingot", "lapis:pyrite_ingot"},
{"lapis:pyrite_ingot", "lapis:pyrite_ingot", "lapis:pyrite_ingot"},
{"lapis:pyrite_ingot", "lapis:pyrite_ingot", "lapis:pyrite_ingot"}
}
})
minetest.register_craft({
type = "shapeless",
output = "lapis:pyrite_ingot 9",
recipe = {"lapis:pyrite_block"}
})
-- lapis & pyrite brick
minetest.register_node("lapis:lapispyrite_brick", {
description = "Lapis and Pyrite Brick",
tiles = {
"lapis_lazurite_brick_top.png",
"lapis_lazurite_brick_top.png^[transformFXR90",
"lapis_lazurite_brick_side.png",
"lapis_lazurite_brick_side.png^[transformFX",
"lapis_lazurite_brick.png^[transformFX",
"lapis_lazurite_brick.png"
},
paramtype2 = "facedir",
is_ground_content = false,
groups = {cracky = 1},
sounds = default.node_sound_stone_defaults()
})
minetest.register_craft({
output = "lapis:lapispyrite_brick 6",
recipe = {
{"lapis:lapis_brick", "lapis:pyrite_ingot", "lapis:lapis_brick"},
{"lapis:pyrite_ingot", "lapis:lapis_brick", "lapis:pyrite_ingot"},
{"lapis:lapis_brick", "lapis:pyrite_ingot", "lapis:lapis_brick"}
}
})
--lapis & pyrite tile
minetest.register_node("lapis:lapispyrite_tile", {
description = "Lapis and Pyrite Tile",
inventory_image ="lapis_tile.png",
tiles = {"lapis_tile.png"},
drawtype = "nodebox",
paramtype2 = "facedir",
walkable = false,
paramtype = "light",
sunlight_propagates = true,
groups = {cracky = 2},
paramtype2 = "facedir",
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -0.45, 0.5}
},
sounds = default.node_sound_stone_defaults(),
on_place = minetest.rotate_node
})
minetest.register_craft({
type = "shapeless",
output = "lapis:lapispyrite_tile 4",
recipe = {"lapis:lapispyrite_brick"}
})
-- lapis and pyrite ore generation
-- almost real to life settings, lapis found high up in mountains,
-- and pyrite (fools gold) close to surface
minetest.register_ore({
ore_type = "scatter",
ore = "lapis:stone_with_lapis",
wherein = "default:stone",
clust_scarcity = 18 * 18* 18,
clust_num_ores = 6,
clust_size = 6,
y_min = -10,
y_max = 500
})
minetest.register_ore({
ore_type = "scatter",
ore = "lapis:stone_with_pyrite",
wherein = "default:stone",
clust_scarcity = 16 * 16 * 16,
clust_num_ores = 5,
clust_size = 5,
y_min = -30,
y_max = 250
})
-- compatibility with original lapis mod
minetest.register_alias("lapis:lapisblock", "lapis:stone_with_lapis")
minetest.register_alias("lapis:lapis_paver", "lapis:lapis_tile")
minetest.register_alias("lapis:pyrite_ore", "lapis:stone_with_pyrite")
minetest.register_alias("lapis:sacred_ore", "lapis:stone_with_pyrite")
minetest.register_alias("lapis:pyrite_sacred", "lapis:pyrite_block")
minetest.register_alias("lapis:lazurite_brick", "lapis:lapispyrite_brick")
minetest.register_alias("lapis:lazurite", "lapis:lapis_block")
minetest.register_alias("lapis:pyrite_coin", "lapis:pyrite_lump")