diff options
Diffstat (limited to 'blox')
-rw-r--r-- | blox/init.lua | 1330 |
1 files changed, 617 insertions, 713 deletions
diff --git a/blox/init.lua b/blox/init.lua index e1ed379..311ed92 100644 --- a/blox/init.lua +++ b/blox/init.lua @@ -1,713 +1,617 @@ ---[[
-***********
-Blox
-by Sanchez
-
-modified mapgen
-by blert2112
-***********
---]]
-
-blox = {}
-
-local version = "0.8"
-
-local BloxColours = {
- "pink",
- "yellow",
- "white",
- "orange",
- "purple",
- "blue",
- "cyan",
- "red",
- "green",
- "black",
-}
-
-local NodeClass = {
- "diamond",
- "quarter",
- "cross",
- "checker",
- "corner",
- "loop",
-}
-
-local NodeMaterial = {
- "stone",
- "wood",
- "cobble",
-}
-
-local moreblocks = minetest.get_modpath("moreblocks")
-
--- Nodes
-
-minetest.register_node("blox:glowstone", {
- description = "Glowstone",
- tiles = {"blox_glowstone.png"},
- --inventory_image = "blox_glowstone.png",
- light_propagates = true,
- paramtype = "light",
- sunlight_propagates = true,
- light_source = 14,
- is_ground_content = true,
- groups = {cracky=2},
- sounds = default.node_sound_stone_defaults(),
-})
-
-minetest.register_node("blox:glowore", {
- description = "Glow Ore",
- tiles = {"default_stone.png^blox_glowore.png"},
- --inventory_image = {"default_stone.png^blox_glowore.png"},
- light_propagates = true,
- paramtype = "light",
- sunlight_propagates = false,
- light_source = 8,
- drop = {
- max_items = 1,
- items = {
- {
- items = {"blox:glowstone"},
- rarity = 15,
- },
- {
- items = {"blox:glowdust"},
- }
- }
- },
- is_ground_content = true,
- groups = {cracky=2},
- sounds = default.node_sound_stone_defaults(),
-})
-
-minetest.register_node("blox:glowdust", {
- description = "Glow Dust",
- drawtype = "plantlike",
- tiles = {"blox_glowdust.png"},
- inventory_image = "blox_glowdust.png",
- light_propagates = true,
- paramtype = "light",
- sunlight_propagates = true,
- light_source = 9,
- walkable = false,
- groups = {cracky=3, snappy=3},
- })
-
--- param2-colored nodes: standard patterns
-
-blox.old_89_color_nodes = {}
-
-for _, nodeclass in ipairs(NodeClass) do
-
- minetest.register_node("blox:stone_"..nodeclass, {
- description = "Blox stone "..nodeclass,
- tiles = {
- { name = "default_stone.png", color = 0xffffffff },
- },
- overlay_tiles = {
- "blox_stone_"..nodeclass..".png"
- },
- palette = "unifieddyes_palette_extended.png",
- paramtype = "light",
- paramtype2 = "color",
- is_ground_content = true,
- groups = {cracky=3, ud_param2_colorable = 1},
- sounds = default.node_sound_stone_defaults(),
- on_construct = unifieddyes.on_construct,
- })
-
- minetest.register_node("blox:cobble_"..nodeclass, {
- description = "Blox cobble "..nodeclass,
- tiles = {
- { name = "default_cobble.png", color = 0xffffffff },
- },
- overlay_tiles = {
- "blox_cobble_"..nodeclass..".png"
- },
- palette = "unifieddyes_palette_extended.png",
- paramtype = "light",
- paramtype2 = "color",
- is_ground_content = true,
- groups = {cracky=3, ud_param2_colorable = 1},
- sounds = default.node_sound_stone_defaults(),
- on_construct = unifieddyes.on_construct,
- })
-
- minetest.register_node("blox:wood_"..nodeclass, {
- description = "Blox wood "..nodeclass,
- tiles = {
- { name = "default_wood.png", color = 0xffffffff },
- },
- overlay_tiles = {
- "blox_wood_"..nodeclass..".png"
- },
- palette = "unifieddyes_palette_extended.png",
- paramtype = "light",
- paramtype2 = "color",
- is_ground_content = true,
- groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3, ud_param2_colorable = 1},
- sounds = default.node_sound_wood_defaults(),
- on_construct = unifieddyes.on_construct,
- })
-
- table.insert(blox.old_89_color_nodes, "blox:stone_"..nodeclass)
- table.insert(blox.old_89_color_nodes, "blox:cobble_"..nodeclass)
- table.insert(blox.old_89_color_nodes, "blox:wood_"..nodeclass)
-end
-
--- param2-colored nodes: tinted wood, cobble, stone, stone square
-
-minetest.register_node("blox:wood_tinted", {
- description = "Blox tinted wood",
- tiles = { "blox_wood_tinted.png" },
- palette = "unifieddyes_palette_extended.png",
- paramtype = "light",
- paramtype2 = "color",
- is_ground_content = true,
- groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3, ud_param2_colorable = 1},
- sounds = default.node_sound_wood_defaults(),
- on_construct = unifieddyes.on_construct,
-})
-
-minetest.register_node("blox:stone_square", {
- description = "Blox stone square",
- tiles = { "blox_stone_square.png" },
- palette = "unifieddyes_palette_extended.png",
- paramtype = "light",
- paramtype2 = "color",
- is_ground_content = true,
- groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3, ud_param2_colorable = 1},
- sounds = default.node_sound_wood_defaults(),
- on_construct = unifieddyes.on_construct,
-})
-
-minetest.register_node("blox:cobble_tinted", {
- description = "Blox tinted cobble",
- tiles = { "blox_cobble_tinted.png" },
- palette = "unifieddyes_palette_extended.png",
- paramtype = "light",
- paramtype2 = "color",
- is_ground_content = true,
- groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3, not_in_creative_inventory = 1, ud_param2_colorable = 1},
- sounds = default.node_sound_wood_defaults(),
- on_construct = unifieddyes.on_construct,
-})
-
-minetest.register_node("blox:stone_tinted", {
- description = "Blox tinted stone",
- tiles = { "blox_stone_tinted.png" },
- palette = "unifieddyes_palette_extended.png",
- paramtype = "light",
- paramtype2 = "color",
- is_ground_content = true,
- groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3, not_in_creative_inventory = 1, ud_param2_colorable = 1},
- sounds = default.node_sound_wood_defaults(),
- on_construct = unifieddyes.on_construct,
- drop = {
- items = {
- {items = {"blox:cobble_tinted"}, inherit_color = true },
- }
- }
-})
-
-table.insert(blox.old_89_color_nodes, "blox:wood_tinted")
-table.insert(blox.old_89_color_nodes, "blox:stone_square")
-table.insert(blox.old_89_color_nodes, "blox:cobble_tinted")
-table.insert(blox.old_89_color_nodes, "blox:stone_tinted")
-
--- Override default stone and default cobble
-
-minetest.override_item("default:stone_block", {
- palette = "unifieddyes_palette_extended.png",
- airbrush_replacement_node = "blox:stone_square",
- groups = {cracky = 3, stone = 1, ud_param2_colorable = 1},
-})
-
-minetest.override_item("default:stone", {
- palette = "unifieddyes_palette_extended.png",
- airbrush_replacement_node = "blox:stone_tinted",
- groups = {cracky = 3, stone = 1, ud_param2_colorable = 1},
-})
-
-minetest.override_item("default:cobble", {
- palette = "unifieddyes_palette_extended.png",
- airbrush_replacement_node = "blox:cobble_tinted",
- groups = {cracky = 3, stone = 2, ud_param2_colorable = 1},
-})
-
--- override the Moreblocks nodes we use
-
-if moreblocks then
- minetest.override_item("moreblocks:circle_stone_bricks", {
- palette = "unifieddyes_palette_extended.png",
- airbrush_replacement_node = "blox:stone_loop",
- groups = {cracky = 3, ud_param2_colorable = 1},
- })
-
- unifieddyes.register_color_craft({
- output = "blox:stone_loop",
- type = "shapeless",
- palette = "extended",
- neutral_node = "moreblocks:circle_stone_bricks",
- recipe = {
- "NEUTRAL_NODE",
- "MAIN_DYE"
- }
- })
-
- minetest.override_item("moreblocks:iron_checker", {
- palette = "unifieddyes_palette_extended.png",
- airbrush_replacement_node = "blox:stone_checker",
- groups = {cracky = 3, ud_param2_colorable = 1},
- })
-
- unifieddyes.register_color_craft({
- output = "blox:stone_checker",
- type = "shapeless",
- palette = "extended",
- neutral_node = "moreblocks:iron_checker",
- recipe = {
- "NEUTRAL_NODE",
- "MAIN_DYE"
- }
- })
-
- minetest.override_item("moreblocks:wood_tile", {
- palette = "unifieddyes_palette_extended.png",
- airbrush_replacement_node = "blox:wood_quarter",
- groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, ud_param2_colorable = 1},
- })
-
- unifieddyes.register_color_craft({
- output = "blox:wood_quarter",
- type = "shapeless",
- palette = "extended",
- neutral_node = "moreblocks:wood_tile",
- recipe = {
- "NEUTRAL_NODE",
- "MAIN_DYE"
- }
- })
-
- minetest.override_item("moreblocks:wood_tile_flipped", {
- palette = "unifieddyes_palette_extended.png",
- airbrush_replacement_node = "blox:wood_quarter",
- groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, ud_param2_colorable = 1},
- })
-
- unifieddyes.register_color_craft({
- output = "blox:wood_quarter",
- type = "shapeless",
- palette = "extended",
- neutral_node = "moreblocks:wood_tile_flipped",
- recipe = {
- "NEUTRAL_NODE",
- "MAIN_DYE"
- }
- })
-end
-
-local dye_color = "dye:white"
-
-if minetest.get_modpath("coloredwood") then
- minetest.register_craft({
- output = unifieddyes.make_colored_itemstack("blox:wood_tinted 4", "extended", dye_color),
- recipe = {
- { dye_color, "default:wood", dye_color },
- { "default:wood", "", "default:wood" },
- { dye_color, "default:wood", dye_color },
- }
- })
-
- unifieddyes.register_color_craft({
- output = "blox:wood_tinted",
- type = "shapeless",
- palette = "extended",
- neutral_node = "blox:wood_tinted",
- recipe = {
- "NEUTRAL_NODE",
- "MAIN_DYE"
- }
- })
-
-else
- minetest.override_item("default:wood", {
- airbrush_replacement_node = "blox:wood_tinted",
- groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1, ud_param2_colorable = 1},
- })
-
- minetest.override_item("blox:wood_tinted", {
- drop = "default:wood",
- groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3, not_in_creative_inventory = 1, ud_param2_colorable = 1},
- })
-
- unifieddyes.register_color_craft({
- output = "blox:wood_tinted",
- type = "shapeless",
- palette = "extended",
- neutral_node = "default:wood",
- recipe = {
- "NEUTRAL_NODE",
- "MAIN_DYE"
- }
- })
-
-end
-
--- Other crafts
-
-for _, nodeclass in ipairs(NodeClass) do
- for _, material in ipairs(NodeMaterial) do
-
- local item = "blox:"..material.."_"..nodeclass
- unifieddyes.register_color_craft({
- output = item,
- type = "shapeless",
- palette = "extended",
- neutral_node = item,
- recipe = {
- "NEUTRAL_NODE",
- "MAIN_DYE"
- }
- })
- end
-end
-
-unifieddyes.register_color_craft({
- output = "blox:stone_square",
- type = "shapeless",
- palette = "extended",
- neutral_node = "default:stone_block",
- recipe = {
- "NEUTRAL_NODE",
- "MAIN_DYE"
- }
-})
-
-unifieddyes.register_color_craft({
- output = "blox:stone_square",
- type = "shapeless",
- palette = "extended",
- neutral_node = "blox:stone_square",
- recipe = {
- "NEUTRAL_NODE",
- "MAIN_DYE"
- }
-})
-
-unifieddyes.register_color_craft({
- output = "blox:cobble_tinted",
- type = "shapeless",
- palette = "extended",
- neutral_node = "default:cobble",
- recipe = {
- "NEUTRAL_NODE",
- "MAIN_DYE"
- }
-})
-
-unifieddyes.register_color_craft({
- output = "blox:cobble_tinted",
- type = "shapeless",
- palette = "extended",
- neutral_node = "blox:cobble_tinted",
- recipe = {
- "NEUTRAL_NODE",
- "MAIN_DYE"
- }
-})
-
-unifieddyes.register_color_craft({
- output = "blox:stone_tinted",
- type = "shapeless",
- palette = "extended",
- neutral_node = "default:stone",
- recipe = {
- "NEUTRAL_NODE",
- "MAIN_DYE"
- }
-})
-
-unifieddyes.register_color_craft({
- output = "blox:stone_tinted",
- type = "shapeless",
- palette = "extended",
- neutral_node = "blox:stone_tinted",
- recipe = {
- "NEUTRAL_NODE",
- "MAIN_DYE"
- }
-})
-
-
-minetest.register_craft({
- output = 'blox:glowstone 2',
- recipe = {
- {"", 'blox:glowdust', ""},
- {'blox:glowdust', 'default:stone', 'blox:glowdust'},
- {"", 'blox:glowdust', ""},
- }
-})
-
-for _, material in ipairs(NodeMaterial) do
-
- local def_mat = "default:"..material
-
- unifieddyes.register_color_craft({
- output = "blox:"..material.."_diamond 4",
- palette = "extended",
- neutral_node = def_mat,
- recipe = {
- { "NEUTRAL_NODE", "MAIN_DYE", "NEUTRAL_NODE" },
- { "MAIN_DYE", "", "MAIN_DYE" },
- { "NEUTRAL_NODE", "MAIN_DYE", "NEUTRAL_NODE" }
- }
- })
-
- if not (moreblocks and material == "wood") then
- unifieddyes.register_color_craft({
- output = "blox:"..material.."_quarter 4",
- palette = "extended",
- neutral_node = def_mat,
- recipe = {
- { "MAIN_DYE", "NEUTRAL_NODE" },
- { "NEUTRAL_NODE", "MAIN_DYE" },
- }
- })
- end
-
- unifieddyes.register_color_craft({
- output = "blox:"..material.."_cross 4",
- palette = "extended",
- neutral_node = def_mat,
- recipe = {
- { "NEUTRAL_NODE", "", "NEUTRAL_NODE" },
- { "", "MAIN_DYE", "" },
- { "NEUTRAL_NODE", "", "NEUTRAL_NODE" }
- }
- })
-
- unifieddyes.register_color_craft({
- output = "blox:"..material.."_corner 4",
- palette = "extended",
- neutral_node = def_mat,
- recipe = {
- { "MAIN_DYE", "", "MAIN_DYE" },
- { "", "NEUTRAL_NODE", "" },
- { "MAIN_DYE", "", "MAIN_DYE" }
- }
- })
-
- if not (moreblocks and material == "stone") then
-
- unifieddyes.register_color_craft({
- output = "blox:"..material.."_checker 6",
- palette = "extended",
- neutral_node = def_mat,
- recipe = {
- { "NEUTRAL_NODE", "MAIN_DYE", "NEUTRAL_NODE" },
- { "MAIN_DYE", "NEUTRAL_NODE", "MAIN_DYE" },
- { "NEUTRAL_NODE", "MAIN_DYE", "NEUTRAL_NODE" }
- }
- })
-
- unifieddyes.register_color_craft({
- output = "blox:"..material.."_checker 8",
- palette = "extended",
- neutral_node = def_mat,
- recipe = {
- { "MAIN_DYE", "NEUTRAL_NODE", "MAIN_DYE" },
- { "NEUTRAL_NODE", "MAIN_DYE", "NEUTRAL_NODE" },
- { "MAIN_DYE", "NEUTRAL_NODE", "MAIN_DYE" }
- }
- })
-
- unifieddyes.register_color_craft({
- output = "blox:"..material.."_loop 6",
- palette = "extended",
- neutral_node = def_mat,
- recipe = {
- { "NEUTRAL_NODE", "NEUTRAL_NODE", "NEUTRAL_NODE" },
- { "NEUTRAL_NODE", "MAIN_DYE", "NEUTRAL_NODE" },
- { "NEUTRAL_NODE", "NEUTRAL_NODE", "NEUTRAL_NODE" },
- }
- })
-
- end
-end
-
---Fuel
-
-for _, nodeclass in ipairs(NodeClass) do
- minetest.register_craft({
- type = "fuel",
- recipe = "blox:wood_"..nodeclass,
- burntime = 7,
- })
-end
-
-minetest.register_craft({
- type = "fuel",
- recipe = "blox:wood_tinted",
- burntime = 7,
-})
-
--- Tools
-
-minetest.register_tool("blox:bloodbane", {
- description = "Blood Bane",
- inventory_image = "blox_bloodbane.png",
- tool_capabilities = {
- full_punch_interval = 0.2,
- max_drop_level=1,
- groupcaps={
- fleshy={times={[1]=0.001, [2]=0.001, [3]=0.001}, uses=0, maxlevel=3},
- snappy={times={[1]=0.01, [2]=0.01, [3]=0.01}, uses=0, maxlevel=3},
- crumbly={times={[1]=0.01, [2]=0.01, [3]=0.01}, uses=0, maxlevel=3},
- cracky={times={[1]=0.01, [2]=0.01, [3]=0.01}, uses=0, maxlevel=3},
- choppy={times={[1]=0.01, [2]=0.01, [3]=0.01}, uses=0, maxlevel=3}
- },
- damage_groups = {fleshy=200},
- }
-})
-
--- Ores
-
-local sea_level = 1
-
-minetest.register_on_mapgen_init(function(mapgen_params)
- sea_level = mapgen_params.water_level
-end)
-
-minetest.register_ore({
- ore_type = "scatter",
- ore = "blox:glowore",
- wherein = "default:stone",
- clust_scarcity = 36 * 36 * 36,
- clust_num_ores = 3,
- clust_size = 2,
- y_min = sea_level,
- y_max = 31000,
-})
-
-minetest.register_ore({
- ore_type = "scatter",
- ore = "blox:glowore",
- wherein = "default:stone",
- clust_scarcity = 14 * 14 * 14,
- clust_num_ores = 5,
- clust_size = 3,
- y_min = sea_level - 30,
- y_max = sea_level + 20,
-})
-
-minetest.register_ore({
- ore_type = "scatter",
- ore = "blox:glowore",
- wherein = "default:stone",
- clust_scarcity = 36 * 36 * 36,
- clust_num_ores = 3,
- clust_size = 2,
- y_min = -31000,
- y_max = sea_level - 1,
-})
-
--- Convert old static nodes to param2 color
-
-blox.old_static_list = {}
-
-for _, nodeclass in ipairs(NodeClass) do
- if nodeclass ~= "colored" then
- for _, color in ipairs(BloxColours) do
- table.insert(blox.old_static_list, "blox:"..color..nodeclass)
- table.insert(blox.old_static_list, "blox:"..color..nodeclass.."_cobble")
- table.insert(blox.old_static_list, "blox:"..color..nodeclass.."_wood")
- end
- end
-end
-
-for _, color in ipairs(BloxColours) do
- table.insert(blox.old_static_list, "blox:"..color.."square")
- table.insert(blox.old_static_list, "blox:"..color.."stone")
- table.insert(blox.old_static_list, "blox:"..color.."wood")
- table.insert(blox.old_static_list, "blox:"..color.."cobble")
-end
-
-minetest.register_lbm({
- name = "blox:convert",
- label = "Convert blox blocks to use param2 color",
- run_at_every_load = false,
- nodenames = blox.old_static_list,
- action = function(pos, node)
- local basename = string.sub(node.name, 6)
- local color = basename
- local material = "stone"
- local pattern = "tinted"
-
- if string.find(basename, "_cobble") then
- basename = string.sub(basename, 1, -8)
- material = "cobble"
- elseif string.find(basename, "cobble") then
- basename = string.sub(basename, 1, -7)
- material = "cobble"
- elseif string.find(basename, "_wood") then
- basename = string.sub(basename, 1, -6)
- material = "wood"
- elseif string.find(basename, "wood") then
- basename = string.sub(basename, 1, -5)
- material = "wood"
- elseif string.find(basename, "square") then
- basename = string.sub(basename, 1, -7)
- pattern = "square"
- elseif string.find(basename, "stone") then
- basename = string.sub(basename, 1, -6)
- end
-
- -- at this point, the material type has been deleted from `basename`.
-
- if string.find(basename, "quarter") then
- basename = string.sub(basename, 1, -8)
- pattern = "quarter"
- elseif string.find(basename, "cross") then
- basename = string.sub(basename, 1, -6)
- pattern = "cross"
- elseif string.find(basename, "corner") then
- basename = string.sub(basename, 1, -7)
- pattern = "corner"
- elseif string.find(basename, "diamond") then
- basename = string.sub(basename, 1, -8)
- pattern = "diamond"
- elseif string.find(basename, "loop") then
- basename = string.sub(basename, 1, -5)
- pattern = "loop"
- elseif string.find(basename, "checker") then
- basename = string.sub(basename, 1, -8)
- pattern = "checker"
- end
-
- -- all that's left in `basename` now is the color.
-
- color = basename
- if color == "purple" then
- color = "violet"
- elseif color == "blue" then
- color = "azure"
- elseif color == "pink" then
- color = "magenta"
- elseif color == "black" and
- ( pattern == "square" or
- pattern == "tinted" ) then
- color = "dark_grey"
- end
-
- local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color, "extended")
- minetest.set_node(pos, { name = "blox:"..material.."_"..pattern, param2 = paletteidx })
- local meta = minetest.get_meta(pos)
- meta:set_string("dye", "unifieddyes:"..color)
- meta:set_string("palette", "ext")
- end
-})
-
-print("Blox Mod [" ..version.. "] Loaded!")
+--[[ +*********** +Blox +by Sanchez + +modified mapgen +by blert2112 +*********** +--]] + +blox = {} + +local version = "0.8" + +local BloxColours = { + "pink", + "yellow", + "white", + "orange", + "purple", + "blue", + "cyan", + "red", + "green", + "black", +} + +local NodeClass = { + "diamond", + "quarter", + "cross", + "checker", + "corner", + "loop", +} + +local NodeMaterial = { + "stone", + "wood", + "cobble", +} + +local moreblocks = minetest.get_modpath("moreblocks") + +-- Nodes + +minetest.register_node("blox:glowstone", { + description = "Glowstone", + tiles = {"blox_glowstone.png"}, + --inventory_image = "blox_glowstone.png", + light_propagates = true, + paramtype = "light", + sunlight_propagates = true, + light_source = 14, + is_ground_content = true, + groups = {cracky=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("blox:glowore", { + description = "Glow Ore", + tiles = {"default_stone.png^blox_glowore.png"}, + --inventory_image = {"default_stone.png^blox_glowore.png"}, + light_propagates = true, + paramtype = "light", + sunlight_propagates = false, + light_source = 8, + drop = { + max_items = 1, + items = { + { + items = {"blox:glowstone"}, + rarity = 15, + }, + { + items = {"blox:glowdust"}, + } + } + }, + is_ground_content = true, + groups = {cracky=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("blox:glowdust", { + description = "Glow Dust", + drawtype = "plantlike", + tiles = {"blox_glowdust.png"}, + inventory_image = "blox_glowdust.png", + light_propagates = true, + paramtype = "light", + sunlight_propagates = true, + light_source = 9, + walkable = false, + groups = {cracky=3, snappy=3}, + }) + +-- param2-colored nodes: standard patterns + +blox.old_89_color_nodes = {} + +for _, nodeclass in ipairs(NodeClass) do + + minetest.register_node("blox:stone_"..nodeclass, { + description = "Blox stone "..nodeclass, + tiles = { + { name = "default_stone.png", color = 0xffffffff }, + }, + overlay_tiles = { + "blox_stone_"..nodeclass..".png" + }, + palette = "unifieddyes_palette_extended.png", + paramtype = "light", + paramtype2 = "color", + is_ground_content = true, + groups = {cracky=3, ud_param2_colorable = 1}, + sounds = default.node_sound_stone_defaults(), + on_construct = unifieddyes.on_construct, + }) + + minetest.register_node("blox:cobble_"..nodeclass, { + description = "Blox cobble "..nodeclass, + tiles = { + { name = "default_cobble.png", color = 0xffffffff }, + }, + overlay_tiles = { + "blox_cobble_"..nodeclass..".png" + }, + palette = "unifieddyes_palette_extended.png", + paramtype = "light", + paramtype2 = "color", + is_ground_content = true, + groups = {cracky=3, ud_param2_colorable = 1}, + sounds = default.node_sound_stone_defaults(), + on_construct = unifieddyes.on_construct, + }) + + minetest.register_node("blox:wood_"..nodeclass, { + description = "Blox wood "..nodeclass, + tiles = { + { name = "default_wood.png", color = 0xffffffff }, + }, + overlay_tiles = { + "blox_wood_"..nodeclass..".png" + }, + palette = "unifieddyes_palette_extended.png", + paramtype = "light", + paramtype2 = "color", + is_ground_content = true, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3, ud_param2_colorable = 1}, + sounds = default.node_sound_wood_defaults(), + on_construct = unifieddyes.on_construct, + }) + + table.insert(blox.old_89_color_nodes, "blox:stone_"..nodeclass) + table.insert(blox.old_89_color_nodes, "blox:cobble_"..nodeclass) + table.insert(blox.old_89_color_nodes, "blox:wood_"..nodeclass) +end + +-- param2-colored nodes: tinted wood, cobble, stone, stone square + +minetest.register_node("blox:wood_tinted", { + description = "Blox tinted wood", + tiles = { "blox_wood_tinted.png" }, + palette = "unifieddyes_palette_extended.png", + paramtype = "light", + paramtype2 = "color", + is_ground_content = true, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3, ud_param2_colorable = 1}, + sounds = default.node_sound_wood_defaults(), + on_construct = unifieddyes.on_construct, +}) + +minetest.register_node("blox:stone_square", { + description = "Blox stone square", + tiles = { "blox_stone_square.png" }, + palette = "unifieddyes_palette_extended.png", + paramtype = "light", + paramtype2 = "color", + is_ground_content = true, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3, ud_param2_colorable = 1}, + sounds = default.node_sound_wood_defaults(), + on_construct = unifieddyes.on_construct, +}) + +minetest.register_node("blox:cobble_tinted", { + description = "Blox tinted cobble", + tiles = { "blox_cobble_tinted.png" }, + palette = "unifieddyes_palette_extended.png", + paramtype = "light", + paramtype2 = "color", + is_ground_content = true, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3, not_in_creative_inventory = 1, ud_param2_colorable = 1}, + sounds = default.node_sound_wood_defaults(), + on_construct = unifieddyes.on_construct, +}) + +minetest.register_node("blox:stone_tinted", { + description = "Blox tinted stone", + tiles = { "blox_stone_tinted.png" }, + palette = "unifieddyes_palette_extended.png", + paramtype = "light", + paramtype2 = "color", + is_ground_content = true, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3, not_in_creative_inventory = 1, ud_param2_colorable = 1}, + sounds = default.node_sound_wood_defaults(), + on_construct = unifieddyes.on_construct, + drop = { + items = { + {items = {"blox:cobble_tinted"}, inherit_color = true }, + } + } +}) + +table.insert(blox.old_89_color_nodes, "blox:wood_tinted") +table.insert(blox.old_89_color_nodes, "blox:stone_square") +table.insert(blox.old_89_color_nodes, "blox:cobble_tinted") +table.insert(blox.old_89_color_nodes, "blox:stone_tinted") + +-- Override default stone and default cobble + +minetest.override_item("default:stone_block", { + palette = "unifieddyes_palette_extended.png", + airbrush_replacement_node = "blox:stone_square", + groups = {cracky = 3, stone = 1, ud_param2_colorable = 1}, +}) + +minetest.override_item("default:stone", { + palette = "unifieddyes_palette_extended.png", + airbrush_replacement_node = "blox:stone_tinted", + groups = {cracky = 3, stone = 1, ud_param2_colorable = 1}, +}) + +minetest.override_item("default:cobble", { + palette = "unifieddyes_palette_extended.png", + airbrush_replacement_node = "blox:cobble_tinted", + groups = {cracky = 3, stone = 2, ud_param2_colorable = 1}, +}) + +-- override the Moreblocks nodes we use + +if moreblocks then + minetest.override_item("moreblocks:circle_stone_bricks", { + palette = "unifieddyes_palette_extended.png", + airbrush_replacement_node = "blox:stone_loop", + groups = {cracky = 3, ud_param2_colorable = 1}, + }) + + unifieddyes.register_color_craft({ + output = "blox:stone_loop", + type = "shapeless", + palette = "extended", + neutral_node = "moreblocks:circle_stone_bricks", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } + }) + + minetest.override_item("moreblocks:iron_checker", { + palette = "unifieddyes_palette_extended.png", + airbrush_replacement_node = "blox:stone_checker", + groups = {cracky = 3, ud_param2_colorable = 1}, + }) + + unifieddyes.register_color_craft({ + output = "blox:stone_checker", + type = "shapeless", + palette = "extended", + neutral_node = "moreblocks:iron_checker", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } + }) + + minetest.override_item("moreblocks:wood_tile", { + palette = "unifieddyes_palette_extended.png", + airbrush_replacement_node = "blox:wood_quarter", + groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, ud_param2_colorable = 1}, + }) + + unifieddyes.register_color_craft({ + output = "blox:wood_quarter", + type = "shapeless", + palette = "extended", + neutral_node = "moreblocks:wood_tile", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } + }) + + minetest.override_item("moreblocks:wood_tile_flipped", { + palette = "unifieddyes_palette_extended.png", + airbrush_replacement_node = "blox:wood_quarter", + groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, ud_param2_colorable = 1}, + }) + + unifieddyes.register_color_craft({ + output = "blox:wood_quarter", + type = "shapeless", + palette = "extended", + neutral_node = "moreblocks:wood_tile_flipped", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } + }) +end + +local dye_color = "dye:white" + +if minetest.get_modpath("coloredwood") then + minetest.register_craft({ + output = unifieddyes.make_colored_itemstack("blox:wood_tinted 4", "extended", dye_color), + recipe = { + { dye_color, "default:wood", dye_color }, + { "default:wood", "", "default:wood" }, + { dye_color, "default:wood", dye_color }, + } + }) + + unifieddyes.register_color_craft({ + output = "blox:wood_tinted", + type = "shapeless", + palette = "extended", + neutral_node = "blox:wood_tinted", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } + }) + +else + minetest.override_item("default:wood", { + airbrush_replacement_node = "blox:wood_tinted", + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1, ud_param2_colorable = 1}, + }) + + minetest.override_item("blox:wood_tinted", { + drop = "default:wood", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=3, not_in_creative_inventory = 1, ud_param2_colorable = 1}, + }) + + unifieddyes.register_color_craft({ + output = "blox:wood_tinted", + type = "shapeless", + palette = "extended", + neutral_node = "default:wood", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } + }) + +end + +-- Other crafts + +for _, nodeclass in ipairs(NodeClass) do + for _, material in ipairs(NodeMaterial) do + + local item = "blox:"..material.."_"..nodeclass + unifieddyes.register_color_craft({ + output = item, + type = "shapeless", + palette = "extended", + neutral_node = item, + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } + }) + end +end + +unifieddyes.register_color_craft({ + output = "blox:stone_square", + type = "shapeless", + palette = "extended", + neutral_node = "default:stone_block", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +unifieddyes.register_color_craft({ + output = "blox:stone_square", + type = "shapeless", + palette = "extended", + neutral_node = "blox:stone_square", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +unifieddyes.register_color_craft({ + output = "blox:cobble_tinted", + type = "shapeless", + palette = "extended", + neutral_node = "default:cobble", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +unifieddyes.register_color_craft({ + output = "blox:cobble_tinted", + type = "shapeless", + palette = "extended", + neutral_node = "blox:cobble_tinted", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +unifieddyes.register_color_craft({ + output = "blox:stone_tinted", + type = "shapeless", + palette = "extended", + neutral_node = "default:stone", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + +unifieddyes.register_color_craft({ + output = "blox:stone_tinted", + type = "shapeless", + palette = "extended", + neutral_node = "blox:stone_tinted", + recipe = { + "NEUTRAL_NODE", + "MAIN_DYE" + } +}) + + +minetest.register_craft({ + output = 'blox:glowstone 2', + recipe = { + {"", 'blox:glowdust', ""}, + {'blox:glowdust', 'default:stone', 'blox:glowdust'}, + {"", 'blox:glowdust', ""}, + } +}) + +for _, material in ipairs(NodeMaterial) do + + local def_mat = "default:"..material + + unifieddyes.register_color_craft({ + output = "blox:"..material.."_diamond 4", + palette = "extended", + neutral_node = def_mat, + recipe = { + { "NEUTRAL_NODE", "MAIN_DYE", "NEUTRAL_NODE" }, + { "MAIN_DYE", "", "MAIN_DYE" }, + { "NEUTRAL_NODE", "MAIN_DYE", "NEUTRAL_NODE" } + } + }) + + if not (moreblocks and material == "wood") then + unifieddyes.register_color_craft({ + output = "blox:"..material.."_quarter 4", + palette = "extended", + neutral_node = def_mat, + recipe = { + { "MAIN_DYE", "NEUTRAL_NODE" }, + { "NEUTRAL_NODE", "MAIN_DYE" }, + } + }) + end + + unifieddyes.register_color_craft({ + output = "blox:"..material.."_cross 4", + palette = "extended", + neutral_node = def_mat, + recipe = { + { "NEUTRAL_NODE", "", "NEUTRAL_NODE" }, + { "", "MAIN_DYE", "" }, + { "NEUTRAL_NODE", "", "NEUTRAL_NODE" } + } + }) + + unifieddyes.register_color_craft({ + output = "blox:"..material.."_corner 4", + palette = "extended", + neutral_node = def_mat, + recipe = { + { "MAIN_DYE", "", "MAIN_DYE" }, + { "", "NEUTRAL_NODE", "" }, + { "MAIN_DYE", "", "MAIN_DYE" } + } + }) + + if not (moreblocks and material == "stone") then + + unifieddyes.register_color_craft({ + output = "blox:"..material.."_checker 6", + palette = "extended", + neutral_node = def_mat, + recipe = { + { "NEUTRAL_NODE", "MAIN_DYE", "NEUTRAL_NODE" }, + { "MAIN_DYE", "NEUTRAL_NODE", "MAIN_DYE" }, + { "NEUTRAL_NODE", "MAIN_DYE", "NEUTRAL_NODE" } + } + }) + + unifieddyes.register_color_craft({ + output = "blox:"..material.."_checker 8", + palette = "extended", + neutral_node = def_mat, + recipe = { + { "MAIN_DYE", "NEUTRAL_NODE", "MAIN_DYE" }, + { "NEUTRAL_NODE", "MAIN_DYE", "NEUTRAL_NODE" }, + { "MAIN_DYE", "NEUTRAL_NODE", "MAIN_DYE" } + } + }) + + unifieddyes.register_color_craft({ + output = "blox:"..material.."_loop 6", + palette = "extended", + neutral_node = def_mat, + recipe = { + { "NEUTRAL_NODE", "NEUTRAL_NODE", "NEUTRAL_NODE" }, + { "NEUTRAL_NODE", "MAIN_DYE", "NEUTRAL_NODE" }, + { "NEUTRAL_NODE", "NEUTRAL_NODE", "NEUTRAL_NODE" }, + } + }) + + end +end + +--Fuel + +for _, nodeclass in ipairs(NodeClass) do + minetest.register_craft({ + type = "fuel", + recipe = "blox:wood_"..nodeclass, + burntime = 7, + }) +end + +minetest.register_craft({ + type = "fuel", + recipe = "blox:wood_tinted", + burntime = 7, +}) + +-- Tools + +minetest.register_tool("blox:bloodbane", { + description = "Blood Bane", + inventory_image = "blox_bloodbane.png", + tool_capabilities = { + full_punch_interval = 0.2, + max_drop_level=1, + groupcaps={ + fleshy={times={[1]=0.001, [2]=0.001, [3]=0.001}, uses=0, maxlevel=3}, + snappy={times={[1]=0.01, [2]=0.01, [3]=0.01}, uses=0, maxlevel=3}, + crumbly={times={[1]=0.01, [2]=0.01, [3]=0.01}, uses=0, maxlevel=3}, + cracky={times={[1]=0.01, [2]=0.01, [3]=0.01}, uses=0, maxlevel=3}, + choppy={times={[1]=0.01, [2]=0.01, [3]=0.01}, uses=0, maxlevel=3} + }, + damage_groups = {fleshy=200}, + } +}) + +-- Ores + +local sea_level = 1 + +minetest.register_on_mapgen_init(function(mapgen_params) + sea_level = mapgen_params.water_level +end) + +minetest.register_ore({ + ore_type = "scatter", + ore = "blox:glowore", + wherein = "default:stone", + clust_scarcity = 36 * 36 * 36, + clust_num_ores = 3, + clust_size = 2, + y_min = sea_level, + y_max = 31000, +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "blox:glowore", + wherein = "default:stone", + clust_scarcity = 14 * 14 * 14, + clust_num_ores = 5, + clust_size = 3, + y_min = sea_level - 30, + y_max = sea_level + 20, +}) + +minetest.register_ore({ + ore_type = "scatter", + ore = "blox:glowore", + wherein = "default:stone", + clust_scarcity = 36 * 36 * 36, + clust_num_ores = 3, + clust_size = 2, + y_min = -31000, + y_max = sea_level - 1, +}) + +print("Blox Mod [" ..version.. "] Loaded!") |