389 lines
9.7 KiB
Lua
389 lines
9.7 KiB
Lua
|
|
-- More Ores
|
|
-- Original mod by Calinou with help from Nore
|
|
-- Re-coded by TenPlus1
|
|
|
|
|
|
-- Load support for intllib.
|
|
|
|
local MP = minetest.get_modpath(minetest.get_current_modname())
|
|
local S = minetest.get_translator and minetest.get_translator("moreores") or
|
|
dofile(MP .. "/intllib.lua")
|
|
|
|
-- Minerals
|
|
|
|
minetest.register_node("moreores:mineral_silver", {
|
|
description = S("@1 Ore", S("Silver")),
|
|
tiles = {"default_stone.png^moreores_mineral_silver.png"},
|
|
groups = {cracky = 3},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
drop = "moreores:silver_lump"
|
|
})
|
|
|
|
minetest.register_node("moreores:mineral_mithril", {
|
|
description = S("@1 Ore", S("Mithril")),
|
|
tiles = {"default_stone.png^moreores_mineral_mithril.png"},
|
|
groups = {cracky = 3},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
drop = "moreores:mithril_lump"
|
|
})
|
|
|
|
-- Ores
|
|
|
|
minetest.register_craftitem("moreores:silver_lump", {
|
|
description = S("@1 Lump", S("Silver")),
|
|
inventory_image = "moreores_silver_lump.png"
|
|
})
|
|
|
|
minetest.register_craftitem("moreores:mithril_lump", {
|
|
description = S("@1 Lump", S("Mithril")),
|
|
inventory_image = "moreores_mithril_lump.png"
|
|
})
|
|
|
|
-- Ingots
|
|
|
|
minetest.register_craftitem("moreores:silver_ingot", {
|
|
description = S("@1 Ingot", S("Silver")),
|
|
inventory_image = "moreores_silver_ingot.png"
|
|
})
|
|
|
|
minetest.register_craftitem("moreores:mithril_ingot", {
|
|
description = S("@1 Ingot", S("Mithril")),
|
|
inventory_image = "moreores_mithril_ingot.png"
|
|
})
|
|
|
|
-- Helpers
|
|
|
|
local c = "moreores:silver_ingot"
|
|
local m = "moreores:mithril_ingot"
|
|
|
|
-- Cooking Ores into Ingots
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = c,
|
|
recipe = "moreores:silver_lump"
|
|
})
|
|
|
|
minetest.register_craft({
|
|
type = "cooking",
|
|
output = m,
|
|
recipe = "moreores:mithril_lump"
|
|
})
|
|
|
|
-- Blocks
|
|
|
|
minetest.register_node("moreores:silver_block", {
|
|
description = S("@1 Block", S("Silver")),
|
|
tiles = {"moreores_silver_block.png"},
|
|
groups = {snappy = 1, bendy = 2, cracky = 1, melty = 2, level = 2},
|
|
sounds = default.node_sound_metal_defaults()
|
|
})
|
|
|
|
minetest.register_node("moreores:mithril_block", {
|
|
description = S("@1 Block", S("Mithril")),
|
|
tiles = {"moreores_mithril_block.png"},
|
|
groups = {snappy = 1, bendy = 2, cracky = 1, melty = 2, level = 2},
|
|
sounds = default.node_sound_metal_defaults()
|
|
})
|
|
|
|
-- Ingot to Block Crafts and vice-versa
|
|
|
|
minetest.register_craft( {
|
|
output = "moreores:silver_block",
|
|
recipe = {{c, c, c}, {c, c, c}, {c, c, c}}
|
|
})
|
|
|
|
minetest.register_craft( {
|
|
output = c .. " 9",
|
|
recipe = {{"moreores:silver_block"}}
|
|
})
|
|
|
|
minetest.register_craft( {
|
|
output = "moreores:mithril_block",
|
|
recipe = {{m, m, m}, {m, m, m}, {m, m, m}}
|
|
})
|
|
|
|
minetest.register_craft( {
|
|
output = m .. " 9",
|
|
recipe = {{"moreores:mithril_block"}}
|
|
})
|
|
|
|
-- Mapgen Ores
|
|
|
|
minetest.register_ore({
|
|
ore_type = "scatter",
|
|
ore = "moreores:mineral_silver",
|
|
wherein = "default:stone",
|
|
clust_scarcity = 11 * 11 * 11,
|
|
clust_num_ores = 4,
|
|
clust_size = 11,
|
|
y_min = -31000,
|
|
y_max = -2
|
|
})
|
|
|
|
minetest.register_ore({
|
|
ore_type = "scatter",
|
|
ore = "moreores:mineral_mithril",
|
|
wherein = "default:stone",
|
|
clust_scarcity = 11 * 11 * 11,
|
|
clust_num_ores = 1,
|
|
clust_size = 11,
|
|
y_min = -31000,
|
|
y_max = -512
|
|
})
|
|
|
|
-- Silver Tools
|
|
|
|
minetest.register_tool("moreores:pick_silver", {
|
|
description = S("@1 Pickaxe", S("Silver")),
|
|
inventory_image = "moreores_tool_silverpick.png",
|
|
sound = {breaks = "default_tool_breaks"},
|
|
tool_capabilities = {
|
|
full_punch_interval = 1.0,
|
|
max_drop_level = 3,
|
|
damage_groups = {fleshy = 4},
|
|
groupcaps = {
|
|
cracky = {
|
|
times = {[1] = 2.60, [2] = 1.00, [3] = 0.60}, uses = 300, maxlevel = 1}
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_tool("moreores:shovel_silver", {
|
|
description = S("@1 Shovel", S("Silver")),
|
|
inventory_image = "moreores_tool_silvershovel.png",
|
|
wield_image = "moreores_tool_silvershovel.png^[transformR90",
|
|
sound = {breaks = "default_tool_breaks"},
|
|
tool_capabilities = {
|
|
full_punch_interval = 1.0,
|
|
max_drop_level = 3,
|
|
damage_groups = {fleshy = 3},
|
|
groupcaps = {
|
|
crumbly = {
|
|
times = {[1] = 1.10, [2] = 0.40, [3] = 0.25}, uses = 100, maxlevel = 1}
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_tool("moreores:axe_silver", {
|
|
description = S("@1 Axe", S("Silver")),
|
|
inventory_image = "moreores_tool_silveraxe.png",
|
|
sound = {breaks = "default_tool_breaks"},
|
|
tool_capabilities = {
|
|
full_punch_interval = 1.0,
|
|
max_drop_level = 3,
|
|
damage_groups = {fleshy = 5},
|
|
groupcaps = {
|
|
fleshy = {times = {[2] = 1.10, [3] = 0.60}, uses = 100, maxlevel = 1},
|
|
choppy = {
|
|
times = {[1] = 2.50, [2] = 0.80, [3] = 0.50}, uses = 100, maxlevel = 1}
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_tool("moreores:sword_silver", {
|
|
description = S("@1 Sword", S("Silver")),
|
|
inventory_image = "moreores_tool_silversword.png",
|
|
sound = {breaks = "default_tool_breaks"},
|
|
tool_capabilities = {
|
|
full_punch_interval = 1.0,
|
|
max_drop_level = 3,
|
|
damage_groups = {fleshy = 6},
|
|
groupcaps = {
|
|
fleshy = {times = {[2] = 0.70, [3] = 0.30}, uses = 100, maxlevel = 1},
|
|
snappy = {times = {[2] = 0.70, [3] = 0.30}, uses = 100, maxlevel = 1},
|
|
choppy = {times = {[3] = 0.80}, uses = 100, maxlevel = 0}
|
|
}
|
|
}
|
|
})
|
|
|
|
-- Silver Tool Crafts
|
|
|
|
minetest.register_craft({
|
|
output = "moreores:pick_silver",
|
|
recipe = {{c, c, c}, {"", "group:stick", ""}, {"", "group:stick", ""}}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "moreores:shovel_silver",
|
|
recipe = {{c}, {"group:stick"}, {"group:stick"}}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "moreores:axe_silver",
|
|
recipe = {{c, c}, {c, "group:stick"}, {"", "group:stick"}}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "moreores:sword_silver",
|
|
recipe = {{c}, {c}, {"group:stick"}}
|
|
})
|
|
|
|
-- Mithril Tools
|
|
|
|
minetest.register_tool("moreores:pick_mithril", {
|
|
description = S("@1 Pickaxe", S("Mithril")),
|
|
inventory_image = "moreores_tool_mithrilpick.png",
|
|
sound = {breaks = "default_tool_breaks"},
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.45,
|
|
max_drop_level = 3,
|
|
damage_groups = {fleshy = 6},
|
|
groupcaps = {
|
|
cracky = {
|
|
times = {[1] = 2.25, [2] = 0.55, [3] = 0.35}, uses = 200, maxlevel = 3}
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_tool("moreores:shovel_mithril", {
|
|
description = S("@1 Shovel", S("Mithril")),
|
|
inventory_image = "moreores_tool_mithrilshovel.png",
|
|
wield_image = "moreores_tool_mithrilshovel.png^[transformR90",
|
|
sound = {breaks = "default_tool_breaks"},
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.45,
|
|
max_drop_level = 3,
|
|
damage_groups = {fleshy = 5},
|
|
groupcaps = {
|
|
crumbly = {
|
|
times = {[1] = 0.70, [2] = 0.35, [3] = 0.20}, uses = 200, maxlevel = 3}
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_tool("moreores:axe_mithril", {
|
|
description = S("@1 Axe", S("Mithril")),
|
|
inventory_image = "moreores_tool_mithrilaxe.png",
|
|
sound = {breaks = "default_tool_breaks"},
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.45,
|
|
max_drop_level = 3,
|
|
damage_groups = {fleshy = 8},
|
|
groupcaps = {
|
|
fleshy = {times = {[2] = 0.95, [3] = 0.30}, uses = 200, maxlevel = 2},
|
|
choppy = {
|
|
times = {[1] = 1.75, [2] = 0.45, [3] = 0.45}, uses = 200, maxlevel = 3}
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_tool("moreores:sword_mithril", {
|
|
description = S("@1 Sword", S("Mithril")),
|
|
inventory_image = "moreores_tool_mithrilsword.png",
|
|
sound = {breaks = "default_tool_breaks"},
|
|
tool_capabilities = {
|
|
full_punch_interval = 0.45,
|
|
max_drop_level = 3,
|
|
damage_groups = {fleshy = 10},
|
|
groupcaps = {
|
|
fleshy = {times = {[2] = 0.65, [3] = 0.25}, uses = 200, maxlevel = 2},
|
|
snappy = {
|
|
times = {[1] = 1.70, [2] = 0.70, [3] = 0.25}, uses = 200, maxlevel = 3},
|
|
choppy = {times = {[3] = 0.65}, uses = 200, maxlevel = 0}
|
|
}
|
|
}
|
|
})
|
|
|
|
-- Mithril Tool Crafts
|
|
|
|
minetest.register_craft({
|
|
output = "moreores:pick_mithril",
|
|
recipe = {{m, m, m}, {"", "group:stick", ""}, {"", "group:stick", ""}}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "moreores:shovel_mithril",
|
|
recipe = {{m}, {"group:stick"}, {"group:stick"}}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "moreores:axe_mithril",
|
|
recipe = {{m, m}, {m, "group:stick"}, {"", "group:stick"}}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = "moreores:sword_mithril",
|
|
recipe = {{m}, {m}, {"group:stick"}}
|
|
})
|
|
|
|
-- Compatibility
|
|
|
|
minetest.register_alias("moreores:mineral_tin", "default:stone_with_tin")
|
|
minetest.register_alias("moreores:tin_ingot", "default:tin_ingot")
|
|
minetest.register_alias("moreores:tin_block", "default:tinblock")
|
|
minetest.register_alias("moreores:tin_lump", "default:tin_lump")
|
|
minetest.register_alias("moreores:copper_rail", "carts:rail")
|
|
|
|
-- Toolranks Mod Support
|
|
|
|
if minetest.get_modpath("toolranks") then
|
|
|
|
local tools = {
|
|
|
|
"moreores:pick_silver", "moreores:axe_silver",
|
|
"moreores:shovel_silver", "moreores:sword_silver",
|
|
|
|
"moreores:pick_mithril", "moreores:axe_mithril",
|
|
"moreores:shovel_mithril", "moreores:sword_mithril",
|
|
}
|
|
|
|
|
|
-- Loop through tool list and add new toolranks description
|
|
for n = 1, #tools do
|
|
|
|
local name = tools[n]
|
|
local def = minetest.registered_tools[name]
|
|
local desc = def and def.description
|
|
|
|
if desc then
|
|
|
|
minetest.override_item(name, {
|
|
original_description = desc,
|
|
description = toolranks.create_description(desc, 0, 1),
|
|
after_use = toolranks.new_afteruse
|
|
})
|
|
end
|
|
end
|
|
end
|
|
|
|
-- Farming Hoes
|
|
if minetest.get_modpath("farming") then
|
|
|
|
local tr = minetest.get_modpath("toolranks")
|
|
|
|
local desc = S("Silver Hoe")
|
|
|
|
farming.register_hoe(":moreores:hoe_silver", {
|
|
description = desc,
|
|
inventory_image = "moreores_tool_silverhoe.png",
|
|
max_uses = 300,
|
|
material = "moreores:silver_ingot"
|
|
})
|
|
|
|
if tr then
|
|
minetest.override_item("moreores:hoe_silver", {
|
|
original_description = desc,
|
|
description = toolranks.create_description(desc)})
|
|
end
|
|
|
|
desc = S("Mithril Hoe")
|
|
|
|
farming.register_hoe(":moreores:hoe_mithril", {
|
|
description = desc,
|
|
inventory_image = "moreores_tool_mithrilhoe.png",
|
|
max_uses = 1000,
|
|
material = "moreores:mithril_ingot"
|
|
})
|
|
|
|
if tr then
|
|
minetest.override_item("moreores:hoe_mithril", {
|
|
original_description = desc,
|
|
description = toolranks.create_description(desc)})
|
|
end
|
|
end
|
|
|
|
|
|
print ("[MOD] More Ores loaded")
|