copy from minerdream

master
A. Demant 2019-02-06 06:22:18 +01:00
parent 9a098ef2c2
commit 38ea659858
5 changed files with 201 additions and 4 deletions

19
api.lua
View File

@ -2,18 +2,33 @@
local M=treasures
M.update_treasure=function(name,tdef)
if M.registered_treasures[name] == nil then
if minetest.registered_items[name] == nil then
M.add_treasure(name,tdef)
else
minetest.override_item(name,tdef)
end
end
M.map_treasure=function(name,tdef)
if tdef == nil then return end
if minetest.registered_items[name] == nil then
print(name.." not yet registered")
M.add_treasure(name,M.treasure_default)
end
for i,attr in ipairs({"ore_type","wherein","clust_scarcity","clust_num_ores","clust_size","y_min","y_max"}) do
if tdef[attr]==nil then
tdef[attr]=M.map_def[attr]
end
end
if tdef.ore == nil then tdef.ore=name end
minetest.register_ore(tdef)
end
M.add_treasure=function(name,tdef)
if tdef.tiles == nil then
return
end
if M.registered_treasures[name] ~= nil then
if minetest.registered_items[name] ~= nil then
minetest.override_item(name,tdef)
else
for i,attr in ipairs({"is_ground_content","groups","sounds","drop"}) do

View File

@ -1,5 +1,7 @@
treasures.max_level = tonumber(minetest.settings:get("treasures.max_level")) or 5
treasures.registered_treasures={}
treasures.treasure_default={
is_ground_content = false,
groups = {cracky = 3, choppy = 3},
@ -14,7 +16,7 @@ treasures.treasure_default={
},
}
trasures.map_def={ore_type = "scatter",
treasures.map_def={ore_type = "scatter",
wherein = "default:stone",
clust_scarcity = 10 * 10 * 10,
clust_num_ores = 1,

View File

@ -15,6 +15,6 @@ basic_functions.import_settingtype(treasures.path .. "/settingtypes.txt")
dofile(treasures.path .. "/config.lua") -- config
dofile(treasures.path .. "/api.lua") -- API
dofile(treasures.path .. "/treasures.lua") -- API
dofile(treasures.path .. "/map_gen.lua") -- API
minetest.log("action", "[MOD]"..minetest.get_current_modname().." -- loaded ")

39
map_gen.lua Normal file
View File

@ -0,0 +1,39 @@
treasures.map_treasure("treasures:treasure1",
{clust_scarcity = 8 * 8 * 8,
clust_num_ores = 1,
clust_size = 1,
y_min = (-200),
y_max = 50,
})
treasures.map_treasure("treasures:treasure2",
{clust_scarcity = 10 * 10 * 10,
clust_num_ores = 1,
clust_size = 1,
y_min = (-400),
y_max = (-100),
})
treasures.map_treasure("treasures:treasure3",
{clust_scarcity = 12 * 12 * 12,
clust_num_ores = 1,
clust_size = 1,
y_min = (-750),
y_max = (-250),
})
treasures.map_treasure("treasures:treasure4",
{clust_scarcity = 14 * 14 * 14,
clust_num_ores = 1,
clust_size = 1,
y_min = (-2000),
y_max = (-500),
})
treasures.map_treasure("treasures:treasure5",
{clust_scarcity = 15 * 15 * 15,
clust_num_ores = 1,
clust_size = 1,
y_min = (-4000),
y_max = (-1500),
})

View File

@ -0,0 +1,141 @@
treasures.add_treasure("treasures:treasure1", {
description = "".. core.colorize("#BFFFFF", "Wooden loot crate\n")..core.colorize("#A0A0A0", "tier: 2 (uncommon)"),
tiles = {"minerdream_treasure1.png"},
groups = {cracky = 3, choppy = 3},
drop = {
max_items = 5,
items = {
{items = {'minerdream:dagger 1'},rarity = 25,},
{items = {'minerdream:treasure2'},rarity = 15,},
{items = {'default:wood 5'},rarity = 5,},
{items = {'default:stick 5'},rarity = 5,},
{items = {'default:torch 10'},rarity = 5,},
{items = {'default:apple 3'},rarity = 5,},
{items = {'minerdream:arrow 10'},rarity = 5,},
{items = {'minerdream:shuriken 15'},rarity = 5,},
{items = {'default:coal_lump 3'},rarity = 10,},
{items = {'minerdream:potassium_lump 3'},rarity = 10,},
{items = {'minerdream:calcium_lump 3'},rarity = 10,},
{items = {'default:flint 2'},rarity = 10,},
{items = {'minerdream:zinc_lump 3'},rarity = 15,},
{items = {'minerdream:nickel_lump 3'},rarity = 15,},
{items = {'default:iron_lump 3'},rarity = 15,},
{items = {'default:copper_lump 3'},rarity = 15,},
{items = {'default:tin_lump 3'},rarity = 15,},
}
},
})
treasures.add_treasure("treasures:treasure2", {
description = "".. core.colorize("#00FFFF", "Sturdy wooden loot crate\n")..core.colorize("#A0A0A0", "tier: 3 (almost rare)"),
tiles = {"minerdream_treasure2.png"},
groups = {cracky = 2, choppy = 2},
drop = {
max_items = 5,
items = {
{items = {'minerdream:shortsword 1'},rarity = 25,},
{items = {'minerdream:club 1'},rarity = 25,},
{items = {'minerdream:grenade 1'},rarity = 5,},
{items = {'minerdream:treasure3'},rarity = 25,},
{items = {'minerdream:shuriken 25'},rarity = 5,},
{items = {'default:tree 5'},rarity = 5,},
{items = {'default:wood 5'},rarity = 5,},
{items = {'default:torch 15'},rarity = 5,},
{items = {'minerdream:vitamin 3'},rarity = 5,},
{items = {'minerdream:potion_tiny 1'},rarity = 5,},
{items = {'default:coal_lump 5'},rarity = 10,},
{items = {'default:steel_ingot 3'},rarity = 10,},
{items = {'default:ladder_wood 15'},rarity = 5,},
{items = {'minerdream:lead_lump 3'},rarity = 15,},
{items = {'default:gold_lump 3'},rarity = 15,},
{items = {'default:mese_crystal 3'},rarity = 15,},
{items = {'default:diamond 2'},rarity = 20,},
{items = {'minerdream:arrow 15'},rarity = 5,},
}
},
})
treasures.add_treasure("treasures:treasure3", {
description = "".. core.colorize("#40FF80", "Reinforced wooden loot crate\n")..core.colorize("#A0A0A0", "tier: 4 (rare)"),
tiles = {"minerdream_treasure3.png"},
groups = {cracky = 1, choppy = 1},
drop = {
max_items = 5,
items = {
{items = {'minerdream:mace 1'},rarity = 25,},
{items = {'minerdream:treasure4'},rarity = 30,},
{items = {'minerdream:grenade 2'},rarity = 5,},
{items = {'minerdream:throwing_knife 15'},rarity = 5,},
{items = {'default:tree 5'},rarity = 5,},
{items = {'default:torch 25'},rarity = 5,},
{items = {'farming:bread 3'},rarity = 5,},
{items = {'minerdream:potion_tiny 2'},rarity = 3,},
{items = {'default:coal_lump 8'},rarity = 10,},
{items = {'default:steel_ingot 5'},rarity = 10,},
{items = {'minerdream:platinum_lump 3'},rarity = 15,},
{items = {'default:ladder_wood 20'},rarity = 5,},
{items = {'minerdream:arrow 20'},rarity = 5,},
}
},
})
treasures.add_treasure("treasures:treasure4", {
description = "".. core.colorize("#0040FF", "Well-reinforced wooden loot crate\n")..core.colorize("#A0A0A0", "tier: 5 (extra rare)"),
tiles = {"minerdream_treasure4.png"},
groups = {cracky = 4, choppy = 1},
drop = {
max_items = 5,
items = {
{items = {'minerdream:revolver'},rarity = 25,},
{items = {'minerdream:claymore'},rarity = 20,},
{items = {'minerdream:treasure5'},rarity = 20,},
{items = {'minerdream:throwing_knife 25'},rarity = 5,},
{items = {'minerdream:grenade 3'},rarity = 5,},
{items = {'default:torch 35'},rarity = 5,},
{items = {'farming:bread 5'},rarity = 5,},
{items = {'minerdream:potion_lesser 1'},rarity = 3,},
{items = {'default:coal_lump 10'},rarity = 10,},
{items = {'minerdream:bituminous_coal 5'},rarity = 15,},
{items = {'default:steel_ingot 8'},rarity = 10,},
{items = {'minerdream:cobalt_lump 3'},rarity = 15,},
{items = {'minerdream:ruthenium_lump 3'},rarity = 15,},
{items = {'minerdream:amethyst 1'},rarity = 15,},
{items = {'minerdream:garnet 1'},rarity = 15,},
{items = {'minerdream:jade 1'},rarity = 15,},
{items = {'default:ladder_wood 25'},rarity = 5,},
{items = {'minerdream:arrow 25'},rarity = 5,},
{items = {'minerdream:bullet 25'},rarity = 7,},
}
},
})
treasures.add_treasure("treasures:treasure5", {
description = "".. core.colorize("#00FF00", "Steel loot crate\n")..core.colorize("#A0A0A0", "tier: 6 (epic)"),
tiles = {"minerdream_treasure5.png"},
groups = {cracky = 5},
drop = {
max_items = 5,
items = {
{items = {'minerdream:shotgun'},rarity = 25,},
{items = {'minerdream:katana'},rarity = 20,},
{items = {'minerdream:treasure5'},rarity = 25,},
{items = {'minerdream:throwing_knife 30'},rarity = 5,},
{items = {'minerdream:grenade 4'},rarity = 5,},
{items = {'default:torch 50'},rarity = 5,},
{items = {'farming:bread 7'},rarity = 5,},
{items = {'minerdream:potion_lesser 2'},rarity = 3,},
{items = {'minerdream:bituminous_coal 8'},rarity = 10,},
{items = {'default:steel_ingot 10'},rarity = 10,},
{items = {'minerdream:rhodium_lump 3'},rarity = 15,},
{items = {'minerdream:tantalum_lump 3'},rarity = 15,},
{items = {'minerdream:onyx 1'},rarity = 15,},
{items = {'minerdream:spinel 1'},rarity = 15,},
{items = {'minerdream:topaz 1'},rarity = 15,},
{items = {'minerdream:aquamarine 1'},rarity = 15,},
{items = {'default:ladder_wood 30'},rarity = 5,},
{items = {'minerdream:arrow 30'},rarity = 5,},
{items = {'minerdream:bullet 30'},rarity = 7,},
}
},
})