Cleaning up code
parent
99b4cbd227
commit
083aa8343a
|
@ -1,6 +1,4 @@
|
||||||
display_blocks
|
display_blocks
|
||||||
==============
|
==============
|
||||||
The original mod was from the diamond mod the garden part.
|
|
||||||
I thought the garden could be better so i made diplay_blocks to expand.
|
|
||||||
This mod adds blocks that create crystals on top.
|
This mod adds blocks that create crystals on top.
|
||||||
Some have different light levels others can be seen through and i hope i can make them do other things too.
|
Some have different light levels others can be seen through and i hope i can make them do other things too.
|
|
@ -1 +1,3 @@
|
||||||
default
|
default
|
||||||
|
titanium?
|
||||||
|
technic?
|
448
init.lua
448
init.lua
|
@ -1,56 +1,74 @@
|
||||||
--Loads dependencies so there is no need to have the other mods
|
dofile(minetest.get_modpath("display_blocks").."/config.txt")
|
||||||
dofile(minetest.get_modpath("display_blocks").."/ores.lua");
|
|
||||||
|
|
||||||
--
|
function disp(base, name, light, rec, rp)
|
||||||
--Mese Display
|
minetest.register_node( "display_blocks:"..base.."_base", {
|
||||||
--
|
description = name.."Display Base",
|
||||||
|
tile_images = { "display_blocks_"..base.."_block.png" },
|
||||||
|
is_ground_content = true,
|
||||||
|
groups = {cracky=3,},
|
||||||
|
light_source = light,
|
||||||
|
sunlight_propagates = true,
|
||||||
|
paramtype = "light",
|
||||||
|
drawtype = "glasslike",
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_node( "display_blocks:mese_base", {
|
minetest.register_node( "display_blocks:"..base.."_crystal", {
|
||||||
description = "Mese Display Base",
|
drawtype = "plantlike",
|
||||||
tile_images = { "display_blocks_mese_block.png" },
|
description = name.." Display Crystal",
|
||||||
is_ground_content = true,
|
tile_images = { "display_blocks_"..base.."_crystal.png" },
|
||||||
groups = {cracky=3},
|
is_ground_content = true,
|
||||||
})
|
paramtype = "light",
|
||||||
|
visual_scale = 1.2,
|
||||||
|
groups = {immortal=1, not_in_creative_inventory=1},
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_node( "display_blocks:mese_crystal", {
|
minetest.register_abm({
|
||||||
drawtype = "plantlike",
|
nodenames = {"display_blocks:"..base.."_base"},
|
||||||
description = "Mese Display Crystal",
|
interval = 1.0,
|
||||||
tile_images = { "default_mese_crystal.png" },
|
chance = 1.0,
|
||||||
is_ground_content = true,
|
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||||
paramtype = "light",
|
pos.y = pos.y + 1
|
||||||
visual_scale = 1.2,
|
minetest.env:add_node(pos, {name="display_blocks:"..base.."_crystal"})
|
||||||
groups = {immortal=1, not_in_creative_inventory=1},
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_abm({
|
function remove_crystal(pos, node, active_object_count, active_object_count_wider)
|
||||||
nodenames = {"display_blocks:mese_base"},
|
if
|
||||||
interval = 1.0,
|
node.name == "display_blocks:"..base.."_base"
|
||||||
chance = 1,
|
then
|
||||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
pos.y = pos.y + 1
|
||||||
pos.y = pos.y + 1
|
minetest.env:remove_node(pos, {name="display_blocks:"..base.."_crystal"})
|
||||||
minetest.env:add_node(pos, {name="display_blocks:mese_crystal"})
|
end
|
||||||
end
|
end
|
||||||
})
|
minetest.register_on_dignode(remove_crystal)
|
||||||
|
|
||||||
function remove_crystal(pos, node, active_object_count, active_object_count_wider)
|
minetest.register_craft({
|
||||||
if
|
output = 'display_blocks:,..base..'_base 5',
|
||||||
node.name == "display_blocks:mese_base"
|
recipe = {
|
||||||
then
|
{'', 'default:mese_crystal_fragment', ''},
|
||||||
pos.y = pos.y + 1
|
{rec, 'default:glass', rec},
|
||||||
minetest.env:remove_node(pos, {name="display_blocks:mese_crystal"})
|
{'', rec, ''},
|
||||||
end
|
}
|
||||||
|
replacements = {{rec, rp}},
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
-- disp(base, name, rec, rp)
|
||||||
|
disp("mese", "Mese", 0, "default:mese_block", "")
|
||||||
|
disp("titanium", "Titanium", 0, "titanium:block", '')
|
||||||
|
disp("glass", "Glass", 0, "default:sand", "")
|
||||||
|
disp("fire", "Fire", 15, "bucket:bucket_lava", "bucket:bucket_empty")
|
||||||
|
disp("air", "Air", 5, "bucket:bucket_empty", "bucket:bucket_empty")
|
||||||
|
disp("water", "Water", 0, "bucket:bucket_water", "bucket:bucket_empty")
|
||||||
|
|
||||||
|
if minetest.get_modpath("technic") and uranium_with_technic == false then
|
||||||
|
dofile(minetest.get_modpath("display_blocks").."/technic.lua")
|
||||||
|
elseif minetest.get_modpath("technic") and uranium_with_technic == true then
|
||||||
|
dofile(minetest.get_modpath("display_blocks").."/technic.lua")
|
||||||
|
dofile(minetest.get_modpath("display_blocks").."/uranium.lua")
|
||||||
|
else
|
||||||
|
dofile(minetest.get_modpath("display_blocks").."/uranium.lua")
|
||||||
end
|
end
|
||||||
minetest.register_on_dignode(remove_crystal)
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'display_blocks:mese_base 5',
|
|
||||||
recipe = {
|
|
||||||
{'', 'default:mese_crystal_fragment', ''},
|
|
||||||
{'default:mese_crystal', 'default:mese_block', 'default:mese_crystal'},
|
|
||||||
{'', 'default:mese_crystal', ''},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
--
|
--
|
||||||
--Mese Giver Display
|
--Mese Giver Display
|
||||||
|
@ -67,8 +85,8 @@ minetest.register_node( "display_blocks:mese_giver_base", {
|
||||||
|
|
||||||
minetest.register_abm({
|
minetest.register_abm({
|
||||||
nodenames = {"display_blocks:mese_giver_base"},
|
nodenames = {"display_blocks:mese_giver_base"},
|
||||||
interval = 600.0,
|
interval = 60.0,
|
||||||
chance = 6,
|
chance = 2,
|
||||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||||
pos.y = pos.y + 1
|
pos.y = pos.y + 1
|
||||||
minetest.env:add_node(pos, {name="default:mese"})
|
minetest.env:add_node(pos, {name="default:mese"})
|
||||||
|
@ -94,338 +112,4 @@ minetest.register_craft({
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
--Titanium Display
|
|
||||||
--
|
|
||||||
|
|
||||||
minetest.register_node( "display_blocks:titanium_base", {
|
|
||||||
description = "Titanium Display Base",
|
|
||||||
tile_images = { "display_blocks_titanium_block.png" },
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {cracky=3},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node( "display_blocks:titanium_crystal", {
|
|
||||||
drawtype = "plantlike",
|
|
||||||
description = "Titanium Display Crystal",
|
|
||||||
tile_images = { "display_blocks_titanium_crystal.png" },
|
|
||||||
is_ground_content = true,
|
|
||||||
paramtype = "light",
|
|
||||||
visual_scale = 1.2,
|
|
||||||
groups = {immortal=1, not_in_creative_inventory=1},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_abm({
|
|
||||||
nodenames = {"display_blocks:titanium_base"},
|
|
||||||
interval = 1.0,
|
|
||||||
chance = 1,
|
|
||||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
|
||||||
pos.y = pos.y + 1
|
|
||||||
minetest.env:add_node(pos, {name="display_blocks:titanium_crystal"})
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
function remove_crystal(pos, node, active_object_count, active_object_count_wider)
|
|
||||||
if
|
|
||||||
node.name == "display_blocks:titanium_base"
|
|
||||||
then
|
|
||||||
pos.y = pos.y + 1
|
|
||||||
minetest.env:remove_node(pos, {name="display_blocks:titanium_crystal"})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
minetest.register_on_dignode(remove_crystal)
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'display_blocks:titanium_base 5',
|
|
||||||
recipe = {
|
|
||||||
{'', 'default:mese_crystal_fragment', ''},
|
|
||||||
{'titanium:tougher_titanium', 'titanium:block', 'titanium:tougher_titanium'},
|
|
||||||
{'', 'titanium:tougher_titanium', ''},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
--Uranium Display
|
|
||||||
--
|
|
||||||
|
|
||||||
minetest.register_node( "display_blocks:uranium_base", {
|
|
||||||
description = "Uranium Display Base",
|
|
||||||
tile_images = { "display_blocks_uranium_block.png" },
|
|
||||||
is_ground_content = true,
|
|
||||||
light_source = 15,
|
|
||||||
groups = {cracky=3},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node( "display_blocks:uranium_crystal", {
|
|
||||||
drawtype = "plantlike",
|
|
||||||
description = "Uranium Display Crystal",
|
|
||||||
tile_images = { "display_blocks_uranium_crystal.png" },
|
|
||||||
is_ground_content = true,
|
|
||||||
paramtype = "light",
|
|
||||||
visual_scale = 1.2,
|
|
||||||
groups = {immortal=1, not_in_creative_inventory=1},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_abm({
|
|
||||||
nodenames = {"display_blocks:uranium_base"},
|
|
||||||
interval = 1.0,
|
|
||||||
chance = 1,
|
|
||||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
|
||||||
pos.y = pos.y + 1
|
|
||||||
minetest.env:add_node(pos, {name="display_blocks:uranium_crystal"})
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
function remove_crystal(pos, node, active_object_count, active_object_count_wider)
|
|
||||||
if
|
|
||||||
node.name == "display_blocks:uranium_base"
|
|
||||||
then
|
|
||||||
pos.y = pos.y + 1
|
|
||||||
minetest.env:remove_node(pos, {name="display_blocks:uranium_crystal"})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
minetest.register_on_dignode(remove_crystal)
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'display_blocks:uranium_base 5',
|
|
||||||
recipe = {
|
|
||||||
{'', 'default:mese_crystal_fragment', ''},
|
|
||||||
{'display_blocks:uranium_dust', 'display_blocks:uranium_block', 'display_blocks:uranium_dust'},
|
|
||||||
{'', 'display_blocks:uranium_dust', ''},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
--Glass Display
|
|
||||||
--
|
|
||||||
|
|
||||||
minetest.register_node( "display_blocks:glass_base", {
|
|
||||||
description = "Glass Display Base",
|
|
||||||
tile_images = { "display_blocks_glass_block.png" },
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {cracky=3,},
|
|
||||||
sunlight_propagates = true,
|
|
||||||
paramtype = "light",
|
|
||||||
drawtype = "glasslike",
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node( "display_blocks:glass_crystal", {
|
|
||||||
drawtype = "plantlike",
|
|
||||||
description = "Glass Display Crystal",
|
|
||||||
tile_images = { "display_blocks_glass_crystal.png" },
|
|
||||||
is_ground_content = true,
|
|
||||||
paramtype = "light",
|
|
||||||
visual_scale = 1.2,
|
|
||||||
groups = {immortal=1, not_in_creative_inventory=1},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_abm({
|
|
||||||
nodenames = {"display_blocks:glass_base"},
|
|
||||||
interval = 1.0,
|
|
||||||
chance = 1,
|
|
||||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
|
||||||
pos.y = pos.y + 1
|
|
||||||
minetest.env:add_node(pos, {name="display_blocks:glass_crystal"})
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
function remove_crystal(pos, node, active_object_count, active_object_count_wider)
|
|
||||||
if
|
|
||||||
node.name == "display_blocks:glass_base"
|
|
||||||
then
|
|
||||||
pos.y = pos.y + 1
|
|
||||||
minetest.env:remove_node(pos, {name="display_blocks:glass_crystal"})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
minetest.register_on_dignode(remove_crystal)
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'display_blocks:glass_base 5',
|
|
||||||
recipe = {
|
|
||||||
{'', 'default:mese_crystal_fragment', ''},
|
|
||||||
{'default:sand', 'default:glass', 'default:sand'},
|
|
||||||
{'', 'default:sand', ''},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
--Fire Display
|
|
||||||
--
|
|
||||||
|
|
||||||
minetest.register_node( "display_blocks:fire_base", {
|
|
||||||
description = "Fire Display Base",
|
|
||||||
tile_images = { "display_blocks_fire_block.png" },
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {cracky=3,},
|
|
||||||
sunlight_propagates = true,
|
|
||||||
paramtype = "light",
|
|
||||||
drawtype = "glasslike",
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node( "display_blocks:fire_crystal", {
|
|
||||||
drawtype = "plantlike",
|
|
||||||
description = "Fire Display Crystal",
|
|
||||||
tile_images = { "display_blocks_fire_crystal.png" },
|
|
||||||
is_ground_content = true,
|
|
||||||
paramtype = "light",
|
|
||||||
visual_scale = 1.2,
|
|
||||||
light_source = 10,
|
|
||||||
groups = {immortal=1, not_in_creative_inventory=1},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_abm({
|
|
||||||
nodenames = {"display_blocks:fire_base"},
|
|
||||||
interval = 1.0,
|
|
||||||
chance = 1,
|
|
||||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
|
||||||
pos.y = pos.y + 1
|
|
||||||
minetest.env:add_node(pos, {name="display_blocks:fire_crystal"})
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
function remove_crystal(pos, node, active_object_count, active_object_count_wider)
|
|
||||||
if
|
|
||||||
node.name == "display_blocks:fire_base"
|
|
||||||
then
|
|
||||||
pos.y = pos.y + 1
|
|
||||||
minetest.env:remove_node(pos, {name="display_blocks:fire_crystal"})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
minetest.register_on_dignode(remove_crystal)
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'display_blocks:fire_base 5',
|
|
||||||
recipe = {
|
|
||||||
{'', 'default:mese_crystal_fragment', ''},
|
|
||||||
{'bucket:bucket_lava', 'default:glass', 'bucket:bucket_lava'},
|
|
||||||
{'', 'bucket:bucket_lava', ''},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
--Air Display
|
|
||||||
--
|
|
||||||
|
|
||||||
minetest.register_node( "display_blocks:air_base", {
|
|
||||||
description = "Air Display Base",
|
|
||||||
tile_images = { "display_blocks_air_block.png" },
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {cracky=3,},
|
|
||||||
sunlight_propagates = true,
|
|
||||||
paramtype = "light",
|
|
||||||
drawtype = "glasslike",
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node( "display_blocks:air_crystal", {
|
|
||||||
drawtype = "plantlike",
|
|
||||||
description = "Air Display Crystal",
|
|
||||||
tile_images = { "display_blocks_air_crystal.png" },
|
|
||||||
is_ground_content = true,
|
|
||||||
paramtype = "light",
|
|
||||||
visual_scale = 1.2,
|
|
||||||
groups = {immortal=1, not_in_creative_inventory=1},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_abm({
|
|
||||||
nodenames = {"display_blocks:air_base"},
|
|
||||||
interval = 1.0,
|
|
||||||
chance = 1,
|
|
||||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
|
||||||
pos.y = pos.y + 1
|
|
||||||
minetest.env:add_node(pos, {name="display_blocks:air_crystal"})
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
function remove_crystal(pos, node, active_object_count, active_object_count_wider)
|
|
||||||
if
|
|
||||||
node.name == "display_blocks:air_base"
|
|
||||||
then
|
|
||||||
pos.y = pos.y + 1
|
|
||||||
minetest.env:remove_node(pos, {name="display_blocks:air_crystal"})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
minetest.register_on_dignode(remove_crystal)
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'display_blocks:air_base 5',
|
|
||||||
recipe = {
|
|
||||||
{'', 'default:mese_crystal_fragment', ''},
|
|
||||||
{'bucket:bucket', 'default:glass', 'bucket:bucket'},
|
|
||||||
{'', 'bucket:bucket', ''},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
--
|
|
||||||
--Water Display
|
|
||||||
--
|
|
||||||
|
|
||||||
minetest.register_node( "display_blocks:water_base", {
|
|
||||||
description = "Water Display Base",
|
|
||||||
tile_images = { "display_blocks_water_block.png" },
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {cracky=3,},
|
|
||||||
sunlight_propagates = true,
|
|
||||||
paramtype = "light",
|
|
||||||
drawtype = "glasslike",
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node( "display_blocks:water_crystal", {
|
|
||||||
drawtype = "plantlike",
|
|
||||||
description = "Water Display Crystal",
|
|
||||||
tile_images = { "display_blocks_water_crystal.png" },
|
|
||||||
is_ground_content = true,
|
|
||||||
paramtype = "light",
|
|
||||||
visual_scale = 1.2,
|
|
||||||
groups = {immortal=1, not_in_creative_inventory=1},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_abm({
|
|
||||||
nodenames = {"display_blocks:water_base"},
|
|
||||||
interval = 1.0,
|
|
||||||
chance = 1,
|
|
||||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
|
||||||
pos.y = pos.y + 1
|
|
||||||
minetest.env:add_node(pos, {name="display_blocks:water_crystal"})
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
function remove_crystal(pos, node, active_object_count, active_object_count_wider)
|
|
||||||
if
|
|
||||||
node.name == "display_blocks:water_base"
|
|
||||||
then
|
|
||||||
pos.y = pos.y + 1
|
|
||||||
minetest.env:remove_node(pos, {name="display_blocks:water_crystal"})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
minetest.register_on_dignode(remove_crystal)
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'display_blocks:water_base 5',
|
|
||||||
recipe = {
|
|
||||||
{'', 'default:mese_crystal_fragment', ''},
|
|
||||||
{'bucket:bucket_water', 'default:glass', 'bucket:bucket_water'},
|
|
||||||
{'', 'bucket:bucket_water', ''},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
--Aliases
|
|
||||||
minetest.register_alias("mesebase", "display_blocks:mese_base")
|
|
||||||
minetest.register_alias("mesegiverbase", "display_blocks:mese_giver_base")
|
|
||||||
minetest.register_alias("titaniumbase", "display_blocks:titanium_base")
|
|
||||||
minetest.register_alias("uraniumbase", "display_blocks:uranium_base")
|
|
||||||
minetest.register_alias("glassbase", "display_blocks:glass_base")
|
|
||||||
minetest.register_alias("firebase", "display_blocks:fire_base")
|
|
||||||
minetest.register_alias("airbase", "display_blocks:air_base")
|
|
||||||
minetest.register_alias("waterbase", "display_blocks:water_base")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
print("[Display Blocks] Loaded! by jojoa1997 :-)")
|
print("[Display Blocks] Loaded! by jojoa1997 :-)")
|
||||||
|
|
88
ores.lua
88
ores.lua
|
@ -1,88 +0,0 @@
|
||||||
--
|
|
||||||
--Uranium
|
|
||||||
--
|
|
||||||
|
|
||||||
|
|
||||||
minetest.register_node( "display_blocks:uranium_ore", {
|
|
||||||
description = "Uranium Ore",
|
|
||||||
tile_images = { "default_stone.png^uranium_ore.png" },
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {cracky=3},
|
|
||||||
drop = 'craft "display_blocks:uranium_dust" 3',
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craftitem( "display_blocks:uranium_dust", {
|
|
||||||
description = "Uranium Dust",
|
|
||||||
inventory_image = "uranium_dust.png",
|
|
||||||
on_place_on_ground = minetest.craftitem_place_item,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node( "display_blocks:uranium_block", {
|
|
||||||
description = "Uranium Block",
|
|
||||||
tile_images = { "uranium_block.png" },
|
|
||||||
light_propagates = true,
|
|
||||||
paramtype = "light",
|
|
||||||
sunlight_propagates = true,
|
|
||||||
light_source = 15,
|
|
||||||
is_ground_content = true,
|
|
||||||
groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2},
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
minetest.register_craft( {
|
|
||||||
output = 'node "display_blocks:uranium_block" 1',
|
|
||||||
recipe = {
|
|
||||||
{ 'display_blocks:uranium_dust', 'display_blocks:uranium_dust', 'display_blocks:uranium_dust' },
|
|
||||||
{ 'display_blocks:uranium_dust', 'display_blocks:uranium_dust', 'display_blocks:uranium_dust' },
|
|
||||||
{ 'display_blocks:uranium_dust', 'display_blocks:uranium_dust', 'display_blocks:uranium_dust' },
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Ore generation
|
|
||||||
|
|
||||||
local function generate_ore(name, wherein, minp, maxp, seed, chunks_per_volume, ore_per_chunk, height_min, height_max)
|
|
||||||
if maxp.y < height_min or minp.y > height_max then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
local y_min = math.max(minp.y, height_min)
|
|
||||||
local y_max = math.min(maxp.y, height_max)
|
|
||||||
local volume = (maxp.x-minp.x+1)*(y_max-y_min+1)*(maxp.z-minp.z+1)
|
|
||||||
local pr = PseudoRandom(seed)
|
|
||||||
local num_chunks = math.floor(chunks_per_volume * volume)
|
|
||||||
local chunk_size = 3
|
|
||||||
if ore_per_chunk <= 4 then
|
|
||||||
chunk_size = 2
|
|
||||||
end
|
|
||||||
local inverse_chance = math.floor(chunk_size*chunk_size*chunk_size / ore_per_chunk)
|
|
||||||
--print("generate_ore num_chunks: "..dump(num_chunks))
|
|
||||||
for i=1,num_chunks do
|
|
||||||
if (y_max-chunk_size+1 <= y_min) then return end
|
|
||||||
local y0 = pr:next(y_min, y_max-chunk_size+1)
|
|
||||||
if y0 >= height_min and y0 <= height_max then
|
|
||||||
local x0 = pr:next(minp.x, maxp.x-chunk_size+1)
|
|
||||||
local z0 = pr:next(minp.z, maxp.z-chunk_size+1)
|
|
||||||
local p0 = {x=x0, y=y0, z=z0}
|
|
||||||
for x1=0,chunk_size-1 do
|
|
||||||
for y1=0,chunk_size-1 do
|
|
||||||
for z1=0,chunk_size-1 do
|
|
||||||
if pr:next(1,inverse_chance) == 1 then
|
|
||||||
local x2 = x0+x1
|
|
||||||
local y2 = y0+y1
|
|
||||||
local z2 = z0+z1
|
|
||||||
local p2 = {x=x2, y=y2, z=z2}
|
|
||||||
if minetest.env:get_node(p2).name == wherein then
|
|
||||||
minetest.env:set_node(p2, {name=name})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
--print("generate_ore done")
|
|
||||||
end
|
|
||||||
|
|
||||||
minetest.register_on_generated(function(minp, maxp, seed)
|
|
||||||
generate_ore("display_blocks:uranium_ore", "default:stone", minp, maxp, seed+21, 1/13/13/13, 5, -31000, -150)
|
|
||||||
|
|
||||||
end)
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
disp("uranium", "Uranium", 10, "technic:uranium", "")
|
||||||
|
|
||||||
|
if uranium_with_technic == true then
|
||||||
|
minetest.register_alias("display_blocks:uranium_dust", "technic:uranium_block")
|
||||||
|
minetest.register_alias("display_blocks:uranium_block", "technic:uranium_block")
|
||||||
|
end
|
Binary file not shown.
After Width: | Height: | Size: 406 B |
|
@ -0,0 +1,58 @@
|
||||||
|
disp("uranium", "Uranium", 10, "uranium:uranium_block", "")
|
||||||
|
|
||||||
|
minetest.register_node( "display_blocks:uranium_ore", {
|
||||||
|
description = "Uranium Ore",
|
||||||
|
tile_images = { "default_stone.png^uranium_ore.png" },
|
||||||
|
is_ground_content = true,
|
||||||
|
groups = {cracky=3},
|
||||||
|
drop = 'craft "display_blocks:uranium_dust" 3',
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craftitem( "display_blocks:uranium_dust", {
|
||||||
|
description = "Uranium Dust",
|
||||||
|
inventory_image = "uranium_dust.png",
|
||||||
|
on_place_on_ground = minetest.craftitem_place_item,
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node( "display_blocks:uranium_block", {
|
||||||
|
description = "Uranium Block",
|
||||||
|
tile_images = { "uranium_block.png" },
|
||||||
|
light_propagates = true,
|
||||||
|
paramtype = "light",
|
||||||
|
sunlight_propagates = true,
|
||||||
|
light_source = 15,
|
||||||
|
is_ground_content = true,
|
||||||
|
groups = {snappy=1,bendy=2,cracky=1,melty=2,level=2},
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
minetest.register_craft( {
|
||||||
|
output = 'node "display_blocks:uranium_block" 1',
|
||||||
|
recipe = {
|
||||||
|
{ 'display_blocks:uranium_dust', 'display_blocks:uranium_dust', 'display_blocks:uranium_dust' },
|
||||||
|
{ 'display_blocks:uranium_dust', 'display_blocks:uranium_dust', 'display_blocks:uranium_dust' },
|
||||||
|
{ 'display_blocks:uranium_dust', 'display_blocks:uranium_dust', 'display_blocks:uranium_dust' },
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_ore({
|
||||||
|
ore_type = "scatter",
|
||||||
|
ore = "display_blocks:uranium_dust",
|
||||||
|
wherein = "default:stone",
|
||||||
|
clust_scarcity = 10*10*10,
|
||||||
|
clust_num_ores =18,
|
||||||
|
clust_size = 3,
|
||||||
|
height_min = -3000,
|
||||||
|
height_max = -200,
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_ore({
|
||||||
|
ore_type = "scatter",
|
||||||
|
ore = "display_blocks:uranium_dust",
|
||||||
|
wherein = "default:stone",
|
||||||
|
clust_scarcity =20*20*20,
|
||||||
|
clust_num_ores =40,
|
||||||
|
clust_size = 4,
|
||||||
|
height_min = -7000,
|
||||||
|
height_max = -5000,
|
||||||
|
})
|
Loading…
Reference in New Issue