start to rewrite api: register nodes
parent
4ad92ab151
commit
f4289fe51c
|
@ -120,21 +120,49 @@ end
|
|||
|
||||
|
||||
minerdream.register_ore=function(i,tdef)
|
||||
minerdream.items[i]={}
|
||||
minerdream.itemdef[i]=tdef
|
||||
if minerdream.items[i] == nil then
|
||||
local ore_name=tdef.name or i
|
||||
tdef.ore_name=ore_name
|
||||
tdef.ore_modname=minerdream.modname
|
||||
if tdef.orig_modname then
|
||||
tdef.ore_modname=tdef.orig_modname
|
||||
end
|
||||
local needs_mapgen=false
|
||||
local mapgen_name=""
|
||||
tdef.tier_string=""
|
||||
tdef.tierd={}
|
||||
if tdef.tier then
|
||||
tdef.tierd=tier_definition[tostring(tdef.tier)]
|
||||
tdef.tier_string=core.colorize("#A0A0A0", "tier: "..tdef.tier.." ("..tdef.tierd.desc..")")
|
||||
minerdream.items[i].tierdef=table.copy(tier_definition[tostring(tdef.tier)])
|
||||
tdef.tierdef=table.copy(tier_definition[tostring(tdef.tier)])
|
||||
end
|
||||
minerdream.items[ore_name]=tdef
|
||||
|
||||
-- register ore
|
||||
if tdef.ore ~= nil then
|
||||
tdef.ore.ore_name=ore_name
|
||||
tdef.ore.lump_name=ore_name
|
||||
if tdef.lump ~= nil then
|
||||
tdef.ore.lump_name=tdef.lump.lump_name or ore.."_lump"
|
||||
tdef.lump.lump_name=tdef.ore.lump_name
|
||||
end
|
||||
minerdream.register_node_ore(tdef,tdef.ore)
|
||||
minerdream.register_node_mapgen(tdef,tdef.ore)
|
||||
end
|
||||
-- register ore
|
||||
if tdef.poorore ~= nil then
|
||||
tdef.poorore.ore_name=ore_name.."_poor"
|
||||
tdef.poorore.lump_name=ore_name.."_poor"
|
||||
if tdef.nugget ~= nil then
|
||||
tdef.poorore.lump_name=tdef.nugget.lump_name or ore.."_nugget"
|
||||
tdef.nugget.lump_name=tdef.poorore.lump_name
|
||||
end
|
||||
minerdream.register_node_ore(tdef,tdef.poorore)
|
||||
minerdream.register_node_mapgen(tdef,tdef.poorore)
|
||||
end
|
||||
print(dump(tdef))
|
||||
if tdef.ore.lump_name ~= tdef.ore.ore_name then
|
||||
end
|
||||
end
|
||||
end
|
||||
local commentfunction=function(i)
|
||||
if true then
|
||||
|
||||
-- local tierd=tier_definition[tostring(tdef.tier)]
|
||||
-- register ores within stone
|
||||
if tdef.ore ~= nil and tdef.lump ~= nil then
|
||||
|
@ -297,6 +325,52 @@ minerdream.register_ore=function(i,tdef)
|
|||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
minerdream.register_node_ore=function(tdef,odef)
|
||||
if odef.lump_name == nil then
|
||||
odef.lump_name=tdef.ore_name.."_lump"
|
||||
end
|
||||
if odef.wherein == nil then
|
||||
odef.wherein="stone"
|
||||
end
|
||||
if odef.inventory_image == nil then
|
||||
odef.inventory_image=minerdream.modname.."_"..odef.ore_name.."ore.png"
|
||||
end
|
||||
if odef.node_name == nil then
|
||||
odef.node_name=tdef.ore_modname..":"..odef.ore_name
|
||||
end
|
||||
local ore_def={description=S(odef.ore_name:gsub("^%l", string.upper)).." "..S("ore"),
|
||||
groups={cracky=odef.crack},
|
||||
sound=default.node_sound_stone_defaults(),
|
||||
drop=odef.lump_name
|
||||
}
|
||||
if tdef.groups.is_metall then
|
||||
ore_def.groups["metall"..tdef.groups.is_metall]=tdef.groups.is_metall
|
||||
end
|
||||
if tdef.groups.is_mineral then
|
||||
ore_def.groups["mineral"..tdef.groups.is_mineral]=tdef.groups.is_mineral
|
||||
end
|
||||
if odef.stackmax then
|
||||
ore_def.stack_max=odef.stackmax
|
||||
end
|
||||
if tdef.tier then
|
||||
ore_def.description=core.colorize("#00FF00", ore_def.description.."\n")..tdef.tier_string
|
||||
end
|
||||
odef.node_name={}
|
||||
if odef.wherein==nil then
|
||||
odef.wherein="stone"
|
||||
end
|
||||
for _,wi in pairs(odef.wherein) do
|
||||
local oredef=table.copy(ore_def)
|
||||
oredef.name=minerdream.modname..":"..wi.."_with_"..odef.ore_name
|
||||
oredef.tiles={"default_"..wi..".png^"..odef.inventory_image}
|
||||
odef.node_name[wi]=oredef.name
|
||||
minetest.register_node(oredef.name,oredef)
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
minerdream.register_ore_lump=function(ore_name,tdef)
|
||||
-- base config of ore found in normal stone
|
||||
|
@ -445,6 +519,26 @@ minerdream.register_ore_lump=function(ore_name,tdef)
|
|||
end
|
||||
end
|
||||
|
||||
minerdream.register_node_mapgen=function(tdef,odef)
|
||||
local wherein={"default:stone"}
|
||||
if odef.wherein ~= nil then
|
||||
wherein={}
|
||||
for _,wi in pairs(odef.wherein) do
|
||||
local tscar=odef.scarcity or 13
|
||||
local map_def={ore_type = "scatter",
|
||||
ore = odef.node_name[wi],
|
||||
wherein = wi,
|
||||
clust_scarcity = tscar * tscar * tscar,
|
||||
clust_num_ores = odef.num_ores or 1,
|
||||
clust_size = odef.clust_size or 1,
|
||||
y_min = odef.y_min or (-31000),
|
||||
y_max = odef.y_max or 0,
|
||||
}
|
||||
minetest.register_ore(map_def)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
minerdream.register_mapgen=function(ore_name,tdef,mapgen_name,odef)
|
||||
local wherein={"default:stone"}
|
||||
if tdef.groups.in_desert ~= nil then -- check, if ore can be found in desert stone
|
||||
|
@ -625,3 +719,5 @@ minerdream.register_dust=function(ore_name,tdef)
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
{"color":"835749D0",
|
||||
"groups":{"drop_as_lump":1,
|
||||
"groups":{
|
||||
"has_bow":1,
|
||||
"in_desert":1,
|
||||
"is_metall":5},
|
||||
"name":"ruthenium",
|
||||
"ore_modname":"minerdream",
|
||||
"block":{
|
||||
"inventory_image":"minerdream_ruthenium_block.png"
|
||||
},
|
||||
|
@ -12,8 +11,14 @@
|
|||
"inventory_image":"minerdream_ruthenium_ingot.png"
|
||||
},
|
||||
"ore":{
|
||||
"wherein":["stone","desert_stone"],
|
||||
"crack":4,
|
||||
"inventory_image":"minerdream_ruthenium_ore.png"
|
||||
"inventory_image":"minerdream_ruthenium_ore.png",
|
||||
"clust_size":3,
|
||||
"num_ores":3,
|
||||
"scarcity":15,
|
||||
"y_max":-500,
|
||||
"y_min":-31000
|
||||
},
|
||||
"lump":{
|
||||
"crack":4,
|
||||
|
@ -27,14 +32,14 @@
|
|||
"cooking_time":25,
|
||||
"inventory_image":"minerdream_ruthenium_dust.png"
|
||||
},
|
||||
"mapgen":{
|
||||
"clust_size":3,
|
||||
"num_ores":3,
|
||||
"scarcity":15,
|
||||
"y_max":-500,
|
||||
"y_min":-31000
|
||||
},
|
||||
"nugget":{
|
||||
"crack":4,
|
||||
"inventory_image":"minerdream_ruthenium_nugget.png",
|
||||
"stack_max":99,
|
||||
"cooking_time":32
|
||||
},
|
||||
"poorore":{
|
||||
"wherein":["stone","desert_stone"],
|
||||
"inventory_image":"minerdream_ruthenium_poorore.png",
|
||||
"cracky":3,
|
||||
"clust_size":3,
|
||||
|
@ -43,7 +48,6 @@
|
|||
"y_max":-250
|
||||
},
|
||||
"tier":5,
|
||||
"tool_cotton":"steel_wire",
|
||||
"tools":{"range":6.9,"maxlevel":3,"tool_stick":"minerdream:steelstick",
|
||||
"axe":{"choppy":[1.5,0.5,0.3],"fleshy":11},
|
||||
"shovel":{"crumbly":[0.8,0.3,0.15],"fleshy":9},
|
||||
|
@ -51,7 +55,7 @@
|
|||
"sword":{"fleshy":11,"snappy":[1.5,0.7,0.1]},
|
||||
"pick":{"cracky":[1.5,0.7,0.25,3.5,5],"fleshy":10}
|
||||
},
|
||||
"3d_armor":{"cracky":2,"crumbly":1,"heal":8,"use":80,"snappy":3,"level":2,"choppy":2,
|
||||
"3d_armor":{"cracky":2,"crumbly":1,"heal":8,"use":80,"snappy":3,"level":2,"choppy":2,"tool_cotton":"steel_wire",
|
||||
"boots":{"fleshy":13.75,"gravity":-0.075,"jump":0.075,"speed":0.075},
|
||||
"chestplate":{"fleshy":18.75,"gravity":-0.08,"jump":0.08,"speed":0.08},
|
||||
"helmet":{"fleshy":13.75,"gravity":-0.08,"jump":0.08,"speed":0.08},
|
||||
|
|
Loading…
Reference in New Issue