summaryrefslogtreecommitdiff
path: root/blox/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'blox/init.lua')
-rw-r--r--blox/init.lua1330
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!")