From 8555f75acc050f29508d88f1e57159f79cb948d1 Mon Sep 17 00:00:00 2001 From: Vanessa Dannenberg Date: Mon, 1 Apr 2019 19:38:47 -0400 Subject: update blox, castles, cottages, technic, farming_redo, gloopblocks, homedecor, led_marquee, locks, maptools, mesecons, plantlife, moreblocks, nixie_tubes, replacer, travelnet, and unified inventory --- blox/init.lua | 1330 ++++++++++++++++++++++++++------------------------------- 1 file changed, 617 insertions(+), 713 deletions(-) (limited to 'blox') 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!") -- cgit v1.2.3