Christopher Head
2019-01-26 4f78a69ffc714886c9d6e812f78d543bb33fe674
technic_worldgen/nodes.lua
@@ -7,8 +7,8 @@
   is_ground_content = true,
   groups = {cracky=3, radioactive=1},
   sounds = default.node_sound_stone_defaults(),
   drop = 'craft "technic:uranium_lump" 1',
})
   drop = "technic:uranium_lump",
})
minetest.register_node( ":technic:mineral_chromium", {
   description = S("Chromium Ore"),
@@ -16,33 +16,51 @@
   is_ground_content = true,
   groups = {cracky=3},
   sounds = default.node_sound_stone_defaults(),
   drop = 'craft "technic:chromium_lump" 1',
})
   drop = "technic:chromium_lump",
})
minetest.register_node( ":technic:mineral_zinc", {
   description = S("Zinc Ore"),
   tile_images = { "default_stone.png^technic_mineral_zinc.png" },
   tiles = { "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',
   drop = "technic:zinc_lump",
})
minetest.register_node( ":technic:mineral_lead", {
   description = S("Lead Ore"),
   tiles = { "default_stone.png^technic_mineral_lead.png" },
   is_ground_content = true,
   groups = {cracky=3},
   sounds = default.node_sound_stone_defaults(),
   drop = "technic:lead_lump",
})
minetest.register_node( ":technic:mineral_sulfur", {
   description = S("Sulfur Ore"),
   tiles = { "default_stone.png^technic_mineral_sulfur.png" },
   is_ground_content = true,
   groups = {cracky=3},
   sounds = default.node_sound_stone_defaults(),
   drop = "technic:sulfur_lump",
})
minetest.register_node( ":technic:granite", {
   description = S("Granite"),
   tiles = { "technic_granite.png" },
   is_ground_content = true,
   groups = {cracky=3},
   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},
   groups = {cracky=3, marble=1},
   sounds = default.node_sound_stone_defaults(),
})
})
minetest.register_node( ":technic:marble_bricks", {
   description = S("Marble Bricks"),
@@ -50,13 +68,13 @@
   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=3},
   groups = {uranium_block=1, cracky=1, level=2, radioactive=2},
   sounds = default.node_sound_stone_defaults()
})
@@ -71,6 +89,14 @@
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_node(":technic:lead_block", {
   description = S("Lead Block"),
   tiles = { "technic_lead_block.png" },
   is_ground_content = true,
   groups = {cracky=1, level=2},
   sounds = default.node_sound_stone_defaults()
@@ -107,14 +133,6 @@
   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 = {
@@ -128,36 +146,43 @@
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, "^:", ""))
      action(name:gsub("^:", ""), def)
   end
   for _, name in ipairs(already_reg) do
      action(name)
   for name, def in pairs(minetest.registered_nodes) do
      action(name, def)
   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")) })
for_each_registered_node(function(node_name, node_def)
   if node_name ~= "default:steelblock" and
         node_name:find("steelblock", 1, true) and
         node_def.description:find("Steel", 1, true) then
      minetest.override_item(node_name, {
         description = node_def.description:gsub("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
   local tiles = node_def.tiles or node_def.tile_images
   if tiles then
      local new_tiles = {}
      local do_override = false
      if type(tiles) == "string" then
         tiles = {tiles}
      end
      for i, t in ipairs(tiles) do
         if type(t) == "string" and t == "default_steel_block.png" then
            ca = true
            do_override = true
            t = "technic_wrought_iron_block.png"
         end
         table.insert(tl, t)
         table.insert(new_tiles, t)
      end
      if ca then minetest.override_item(node_name, { [tn] = tl }) end
      if do_override then
         minetest.override_item(node_name, {
            tiles = new_tiles
         })
      end
   end
end)