mirror of
https://github.com/minetest-mods/technic.git
synced 2024-12-26 10:50:33 +01:00
7a9d2ffe5f
Make the "radioactive" group value be the safe distance in millimeters rather than meters, to allow for intermediate values. Use such intermediate values for the uranium blocks, using the existing formula with this finer quantisation. All other radioactive nodes retain their existing radioactivity exactly.
164 lines
4.9 KiB
Lua
164 lines
4.9 KiB
Lua
|
|
local S = technic.worldgen.gettext
|
|
|
|
minetest.register_node( ":technic:mineral_uranium", {
|
|
description = S("Uranium Ore"),
|
|
tiles = { "default_stone.png^technic_mineral_uranium.png" },
|
|
is_ground_content = true,
|
|
groups = {cracky=3, radioactive=1000},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
drop = 'craft "technic:uranium_lump" 1',
|
|
})
|
|
|
|
minetest.register_node( ":technic:mineral_chromium", {
|
|
description = S("Chromium Ore"),
|
|
tiles = { "default_stone.png^technic_mineral_chromium.png" },
|
|
is_ground_content = true,
|
|
groups = {cracky=3},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
drop = 'craft "technic:chromium_lump" 1',
|
|
})
|
|
|
|
minetest.register_node( ":technic:mineral_zinc", {
|
|
description = S("Zinc Ore"),
|
|
tile_images = { "default_stone.png^technic_mineral_zinc.png" },
|
|
is_ground_content = true,
|
|
groups = {cracky=3},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
drop = 'craft "technic:zinc_lump" 1',
|
|
})
|
|
|
|
minetest.register_node( ":technic:granite", {
|
|
description = S("Granite"),
|
|
tiles = { "technic_granite.png" },
|
|
is_ground_content = true,
|
|
groups = {cracky=1},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
|
|
minetest.register_node( ":technic:marble", {
|
|
description = S("Marble"),
|
|
tiles = { "technic_marble.png" },
|
|
is_ground_content = true,
|
|
groups = {cracky=3},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
|
|
minetest.register_node( ":technic:marble_bricks", {
|
|
description = S("Marble Bricks"),
|
|
tiles = { "technic_marble_bricks.png" },
|
|
is_ground_content = true,
|
|
groups = {cracky=3},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
|
|
minetest.register_node(":technic:uranium_block", {
|
|
description = S("Uranium Block"),
|
|
tiles = { "technic_uranium_block.png" },
|
|
is_ground_content = true,
|
|
groups = {uranium_block=1, cracky=1, level=2, radioactive=3000},
|
|
sounds = default.node_sound_stone_defaults()
|
|
})
|
|
|
|
minetest.register_node(":technic:chromium_block", {
|
|
description = S("Chromium Block"),
|
|
tiles = { "technic_chromium_block.png" },
|
|
is_ground_content = true,
|
|
groups = {cracky=1, level=2},
|
|
sounds = default.node_sound_stone_defaults()
|
|
})
|
|
|
|
minetest.register_node(":technic:zinc_block", {
|
|
description = S("Zinc Block"),
|
|
tiles = { "technic_zinc_block.png" },
|
|
is_ground_content = true,
|
|
groups = {cracky=1, level=2},
|
|
sounds = default.node_sound_stone_defaults()
|
|
})
|
|
|
|
minetest.register_alias("technic:wrought_iron_block", "default:steelblock")
|
|
|
|
minetest.override_item("default:steelblock", {
|
|
description = S("Wrought Iron Block"),
|
|
tiles = { "technic_wrought_iron_block.png" },
|
|
})
|
|
|
|
minetest.register_node(":technic:cast_iron_block", {
|
|
description = S("Cast Iron Block"),
|
|
tiles = { "technic_cast_iron_block.png" },
|
|
is_ground_content = true,
|
|
groups = {cracky=1, level=2},
|
|
sounds = default.node_sound_stone_defaults()
|
|
})
|
|
|
|
minetest.register_node(":technic:carbon_steel_block", {
|
|
description = S("Carbon Steel Block"),
|
|
tiles = { "technic_carbon_steel_block.png" },
|
|
is_ground_content = true,
|
|
groups = {cracky=1, level=2},
|
|
sounds = default.node_sound_stone_defaults()
|
|
})
|
|
|
|
minetest.register_node(":technic:stainless_steel_block", {
|
|
description = S("Stainless Steel Block"),
|
|
tiles = { "technic_stainless_steel_block.png" },
|
|
is_ground_content = true,
|
|
groups = {cracky=1, level=2},
|
|
sounds = default.node_sound_stone_defaults()
|
|
})
|
|
|
|
minetest.register_node(":technic:brass_block", {
|
|
description = S("Brass Block"),
|
|
tiles = { "technic_brass_block.png" },
|
|
is_ground_content = true,
|
|
groups = {cracky=1, level=2},
|
|
sounds = default.node_sound_stone_defaults()
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = 'technic:marble_bricks 4',
|
|
recipe = {
|
|
{'technic:marble','technic:marble'},
|
|
{'technic:marble','technic:marble'}
|
|
}
|
|
})
|
|
|
|
minetest.register_alias("technic:diamond_block", "default:diamondblock")
|
|
minetest.register_alias("technic:diamond", "default:diamond")
|
|
minetest.register_alias("technic:mineral_diamond", "default:stone_with_diamond")
|
|
|
|
local function for_each_registered_node(action)
|
|
local already_reg = {}
|
|
for k, _ in pairs(minetest.registered_nodes) do
|
|
table.insert(already_reg, k)
|
|
end
|
|
local really_register_node = minetest.register_node
|
|
minetest.register_node = function(name, def)
|
|
really_register_node(name, def)
|
|
action(string.gsub(name, "^:", ""))
|
|
end
|
|
for _, name in ipairs(already_reg) do
|
|
action(name)
|
|
end
|
|
end
|
|
|
|
for_each_registered_node(function(node_name)
|
|
local node_def = minetest.registered_nodes[node_name]
|
|
if node_name ~= "default:steelblock" and string.find(node_name, "steelblock") and string.find(node_def.description, "Steel") then
|
|
minetest.override_item(node_name, { description = string.gsub(node_def.description, "Steel", S("Wrought Iron")) })
|
|
end
|
|
if node_def.tiles or node_def.tile_images then
|
|
local tn = node_def.tiles and "tiles" or "tile_images"
|
|
local tl = {}
|
|
local ca = false
|
|
for i, t in ipairs(node_def[tn]) do
|
|
if type(t) == "string" and t == "default_steel_block.png" then
|
|
ca = true
|
|
t = "technic_wrought_iron_block.png"
|
|
end
|
|
table.insert(tl, t)
|
|
end
|
|
if ca then minetest.override_item(node_name, { [tn] = tl }) end
|
|
end
|
|
end)
|