diff --git a/nc_sieve/sieve.lua b/nc_sieve/sieve.lua index d5a3152..aa668cd 100644 --- a/nc_sieve/sieve.lua +++ b/nc_sieve/sieve.lua @@ -15,8 +15,10 @@ local sside = "nc_terrain_stone.png" local stop_sieve = "nc_terrain_stone.png^[mask:"..modname.."_sieve.png^nc_terrain_cobble.png" function regsieve(suff,top,side,top_sieve,groups) +local mname = #suff == 0 and "Wooden" or suff:sub(1,1):upper()..suff:sub(2) +suff = #suff == 0 and suff or "_"..suff minetest.register_node(modname .. ":table"..suff, { - description = "Wooden Table", + description = mname.." Table", drawtype = "nodebox", node_box = nodecore.fixedbox( {-0.5, 7/16, -0.5, 0.5, 0.5, 0.5}, @@ -34,7 +36,7 @@ minetest.register_node(modname .. ":table"..suff, { }) minetest.register_node(modname .. ":table_broken"..suff, { - description = "Broken Wooden Table", + description = "Broken "..mname.." Table", drawtype = "nodebox", node_box = nodecore.fixedbox( {-0.5, 7/16, -0.5, -0.5+4/16,0.5,0.5}, @@ -54,7 +56,7 @@ minetest.register_node(modname .. ":table_broken"..suff, { sounds = nodecore.sounds("nc_tree_woody"), }) minetest.register_node(modname .. ":sieve"..suff, { - description = "Wooden Sieve", + description = mname.." Sieve", drawtype = "nodebox", use_texture_alpha = true, node_box = nodecore.fixedbox( @@ -83,7 +85,7 @@ regsieve("",top,side,top_sieve,{ fire_fuel = 3, }) -regsieve("_stone",stop,sside,stop_sieve,{ +regsieve("stone",stop,sside,stop_sieve,{ cracky = 2, }) @@ -92,6 +94,11 @@ minetest.register_craftitem(modname..":random_dust",{ inventory_image = modname.."_random_dust.png" }) +minetest.register_craftitem(modname..":super_random_dust",{ + description = "Dust of very random minerals", + inventory_image = modname.."_random_dust.png" +}) + nodecore.register_craft({ label = "break a wooden table", action = "pummel", @@ -110,33 +117,24 @@ nodecore.register_craft({ }, }) -local dio = { - items={{name = "nc_stonework:chip", count = 4, scatter = 2}} -} local duo = { items={{name = modname..":random_dust", count = 1, scatter = 2}} } -local dio2 = { - items={{name = "nc_stonework:chip", count = 8, scatter = 2}} -} local duo2 = { items={{name = modname..":random_dust", count = 2, scatter = 2}} } -local dio3 = { - items={{name = "nc_stonework:chip", count = 16, scatter = 2}} -} local duo3 = { - items={{name = modname..":random_dust", count = 4, scatter = 2}} + items={{name = modname..":super_random_dust", count = 2, scatter = 2}} +} + +local duo4 = { + items={{name = modname..":super_random_dust", count = 4, scatter = 2}} } local dirts = { - ["nc_terrain:dirt"] = dio, - ["nc_terrain:dirt_loose"] = dio, - ["nc_tree:humus"] = dio2, - ["nc_tree:humus_loose"] = dio2, ["nc_terrain:gravel"] = duo, ["nc_terrain:gravel_loose"] = duo, ["nc_terrain:sand"] = duo2, @@ -145,14 +143,10 @@ local dirts = { } local dirtss = { - ["nc_terrain:dirt"] = dio2, - ["nc_terrain:dirt_loose"] = dio2, - ["nc_tree:humus"] = dio3, - ["nc_tree:humus_loose"] = dio3, - ["nc_terrain:gravel"] = duo2, - ["nc_terrain:gravel_loose"] = duo2, - ["nc_terrain:sand"] = duo3, - ["nc_terrain:sand_loose"] = duo3, + ["nc_terrain:gravel"] = duo3, + ["nc_terrain:gravel_loose"] = duo3, + ["nc_terrain:sand"] = duo4, + ["nc_terrain:sand_loose"] = duo4, ["nc_tree:leaves_loose"] = {node = "nc_sky_liquids:hm_water_source"}, } @@ -187,11 +181,18 @@ nodecore.register_craft({ end local ores = { - ["nc_lode:cobble_loose"] = 100, - ["nc_lux:cobble1_loose"] = 10, + ["nc_lode:cobble_loose"] = 10, + ["nc_lux:cobble1_loose"] = 1, ["nc_sponge:sponge_living"]=1 } +local sores = { + ["nc_lode:cobble_loose"] = 50, + ["nc_lux:cobble1_loose"] = 5, + ["nc_sponge:sponge_living"]=5, + ["rdust"]=1 +} + nodecore.register_craft({ label = "pack random dust into cobble", action = "pummel", @@ -212,6 +213,30 @@ nodecore.register_craft({ minetest.set_node(pos,{name=ore}) end }) +nodecore.register_craft({ + label = "pack very random dust into cobble", + action = "pummel", + toolgroups = {thumpy = 2}, + nodes = { + {match = {name = modname..":super_random_dust",count=8},replace = "nc_terrain:cobble"} + }, + after = function(pos) + local chances = {} + local mc = 1 + for k,v in pairs(sores) do + for n=mc,mc-1+v do + chances[n] = k + end + mc=mc+v + end + local ore = chances[math.random(1,mc-1)] + if ore == "rdust" then + nodecore.item_eject(pos,modname..":super_random_dust",5,10) + else + minetest.set_node(pos,{name=ore}) + end + end + }) nodecore.register_craft({ label = "assemble wood sieve", diff --git a/nc_sky_inject/init.lua b/nc_sky_inject/init.lua index 4cb48e2..9cd636c 100644 --- a/nc_sky_inject/init.lua +++ b/nc_sky_inject/init.lua @@ -9,30 +9,4 @@ local ntgr = nodecore.tree_growth_rate function nodecore.tree_growth_rate(pos) return ntgr(pos)*10 -end - -nodecore.register_craft({ - label = "break gravel to chips", - action = "pummel", - nodes = { - {match = "nc_terrain:gravel_loose", replace = "nc_terrain:sand"} - }, - items = { - {name = "nc_stonework:chip", count = 2, scatter = 5} - }, - toolgroups = {cracky = 2}, - itemscatter = 5 - }) - -nodecore.register_craft({ - label = "break packed gravel to chips", - action = "pummel", - nodes = { - {match = "nc_terrain:gravel", replace = "nc_terrain:sand"} - }, - items = { - {name = "nc_stonework:chip", count = 2, scatter = 5} - }, - toolgroups = {cracky = 2}, - itemscatter = 5 - }) \ No newline at end of file +end \ No newline at end of file