diff --git a/mods/bobblocks/blocks.lua b/mods/bobblocks/blocks.lua index e994974c..e8468642 100755 --- a/mods/bobblocks/blocks.lua +++ b/mods/bobblocks/blocks.lua @@ -1,347 +1,137 @@ -- BobBlocks mod by RabbiBob -- State Changes -local update_bobblock = function (pos, node) - local nodename="" - local param2="" - --Switch Block State - if - -- Start Blocks - node.name == 'bobblocks:redblock_off' then nodename = 'bobblocks:redblock' - elseif node.name == 'bobblocks:redblock' then nodename = 'bobblocks:redblock_off' - elseif node.name == 'bobblocks:orangeblock_off' then nodename = 'bobblocks:orangeblock' - elseif node.name == 'bobblocks:orangeblock' then nodename = 'bobblocks:orangeblock_off' - elseif node.name == 'bobblocks:yellowblock_off' then nodename = 'bobblocks:yellowblock' - elseif node.name == 'bobblocks:yellowblock' then nodename = 'bobblocks:yellowblock_off' - elseif node.name == 'bobblocks:greenblock_off' then nodename = 'bobblocks:greenblock' - elseif node.name == 'bobblocks:greenblock' then nodename = 'bobblocks:greenblock_off' - elseif node.name == 'bobblocks:blueblock_off' then nodename = 'bobblocks:blueblock' - elseif node.name == 'bobblocks:blueblock' then nodename = 'bobblocks:blueblock_off' - elseif node.name == 'bobblocks:indigoblock_off' then nodename = 'bobblocks:indigoblock' - elseif node.name == 'bobblocks:indigoblock' then nodename = 'bobblocks:indigoblock_off' - elseif node.name == 'bobblocks:violetblock_off' then nodename = 'bobblocks:violetblock' - elseif node.name == 'bobblocks:violetblock' then nodename = 'bobblocks:violetblock_off' - elseif node.name == 'bobblocks:whiteblock_off' then nodename = 'bobblocks:whiteblock' - elseif node.name == 'bobblocks:whiteblock' then nodename = 'bobblocks:whiteblock_off' - -- Start Poles - elseif node.name == 'bobblocks:redpole_off' then nodename = 'bobblocks:redpole' - elseif node.name == 'bobblocks:redpole' then nodename = 'bobblocks:redpole_off' - elseif node.name == 'bobblocks:orangepole_off' then nodename = 'bobblocks:orangepole' - elseif node.name == 'bobblocks:orangepole' then nodename = 'bobblocks:orangepole_off' - elseif node.name == 'bobblocks:yellowpole_off' then nodename = 'bobblocks:yellowpole' - elseif node.name == 'bobblocks:yellowpole' then nodename = 'bobblocks:yellowpole_off' - elseif node.name == 'bobblocks:greenpole_off' then nodename = 'bobblocks:greenpole' - elseif node.name == 'bobblocks:greenpole' then nodename = 'bobblocks:greenpole_off' - elseif node.name == 'bobblocks:bluepole_off' then nodename = 'bobblocks:bluepole' - elseif node.name == 'bobblocks:bluepole' then nodename = 'bobblocks:bluepole_off' - elseif node.name == 'bobblocks:indigopole_off' then nodename = 'bobblocks:indigopole' - elseif node.name == 'bobblocks:indigopole' then nodename = 'bobblocks:indigopole_off' - elseif node.name == 'bobblocks:violetpole_off' then nodename = 'bobblocks:violetpole' - elseif node.name == 'bobblocks:violetpole' then nodename = 'bobblocks:violetpole_off' - elseif node.name == 'bobblocks:whitepole_off' then nodename = 'bobblocks:whitepole' - elseif node.name == 'bobblocks:whitepole' then nodename = 'bobblocks:whitepole_off' - end - minetest.add_node(pos, {name = nodename}) - minetest.sound_play("bobblocks_glassblock", - {pos = pos, gain = 1.0, max_hear_distance = 32,}) +local bobblock_colours = {"red", "orange", "yellow", "green", "blue", "indigo", "violet", "white"} + +local function update_bobblock(pos, node) + --Switch Block State + minetest.add_node(pos, {name = 'bobblocks:'..node}) + minetest.sound_play("bobblocks_glassblock", { + pos = pos, + gain = 1.0, + max_hear_distance = 32, + }) end - --- Punch Blocks -local on_bobblock_punched = function (pos, node, puncher) - if - -- Start Blocks - node.name == 'bobblocks:redblock_off' or node.name == 'bobblocks:redblock' or - node.name == 'bobblocks:orangeblock_off' or node.name == 'bobblocks:orangeblock' or - node.name == 'bobblocks:yellowblock_off' or node.name == 'bobblocks:yellowblock' or - node.name == 'bobblocks:greenblock_off' or node.name == 'bobblocks:greenblock' or - node.name == 'bobblocks:blueblock_off' or node.name == 'bobblocks:blueblock' or - node.name == 'bobblocks:indigoblock_off' or node.name == 'bobblocks:indigoblock' or - node.name == 'bobblocks:violetblock_off' or node.name == 'bobblocks:violetblock' or - node.name == 'bobblocks:whiteblock_off' or node.name == 'bobblocks:whiteblock' or - --Start Poles - node.name == 'bobblocks:redpole_off' or node.name == 'bobblocks:redpole' or - node.name == 'bobblocks:orangepole_off' or node.name == 'bobblocks:orangepole' or - node.name == 'bobblocks:yellowpole_off' or node.name == 'bobblocks:yellowpole' or - node.name == 'bobblocks:greenpole_off' or node.name == 'bobblocks:greenpole' or - node.name == 'bobblocks:bluepole_off' or node.name == 'bobblocks:bluepole' or - node.name == 'bobblocks:indigopole_off' or node.name == 'bobblocks:indigopole' or - node.name == 'bobblocks:violetpole_off' or node.name == 'bobblocks:violetpole' or - node.name == 'bobblocks:whitepole_off' or node.name == 'bobblocks:whitepole' - then - update_bobblock(pos, node) - end -end - -minetest.register_on_punchnode(on_bobblock_punched) -- Nodes -- Misc Node minetest.register_node("bobblocks:btm", { description = "Bobs TransMorgifier v5", - tile_images = {"bobblocks_btm_sides.png", "bobblocks_btm_sides.png", "bobblocks_btm_sides.png", + tile_images = {"bobblocks_btm_sides.png", "bobblocks_btm_sides.png", "bobblocks_btm_sides.png", "bobblocks_btm_sides.png", "bobblocks_btm_sides.png", "bobblocks_btm.png"}, - inventory_image = "bobblocks_btm.png", + inventory_image = "bobblocks_btm.png", paramtype2 = "facedir", material = minetest.digprop_dirtlike(1.0), legacy_facedir_simple = true, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, + }) --- Start Block Nodes -minetest.register_node("bobblocks:redblock", { - description = "Red Block", + +for _, colour in ipairs(bobblock_colours) do + + +--Blocks + +minetest.register_node("bobblocks:"..colour.."block", { + description = colour.." Block", drawtype = "glasslike", - tile_images = {"bobblocks_redblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_redblock.png"), + tile_images = {"bobblocks_"..colour.."block.png"}, + inventory_image = minetest.inventorycube("bobblocks_"..colour.."block.png"), paramtype = "light", sunlight_propagates = true, is_ground_content = true, sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - mesecons = {conductor={ + light_source = default.LIGHT_MAX-0, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + on_punch = function(pos) + update_bobblock(pos, colour.."block_off") + end, + mesecons = { + conductor={ state = mesecon.state.on, - offstate = "bobblocks:redblock_off" - }} + offstate = "bobblocks:"..colour.."block_off" + } + } }) -minetest.register_node("bobblocks:redblock_off", { - description = "Red Block", - tile_images = {"bobblocks_redblock.png"}, - is_ground_content = true, - alpha = 160, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:redblock', - mesecons = {conductor={ +minetest.register_node("bobblocks:"..colour.."block_off", { + description = colour.." Block", + tile_images = {"bobblocks_"..colour.."block.png"}, + is_ground_content = true, + alpha = 160, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, + drop = 'bobblocks:'..colour..'block', + on_punch = function(pos) + update_bobblock(pos, colour.."block") + end, + mesecons = { + conductor={ state = mesecon.state.off, - onstate = "bobblocks:redblock" - }} - + onstate = "bobblocks:"..colour.."block" + } + } }) -minetest.register_node("bobblocks:orangeblock", { - description = "Orange Block", - drawtype = "glasslike", - tile_images = {"bobblocks_orangeblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_orangeblock.png"), + +--Poles + +minetest.register_node("bobblocks:"..colour.."pole", { + description = colour.." Pole", + drawtype = "fencelike", + tile_images = {"bobblocks_"..colour.."block.png"}, + inventory_image = ("bobblocks_inv"..colour.."pole.png"), paramtype = "light", sunlight_propagates = true, is_ground_content = true, sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - mesecons = {conductor={ + light_source = default.LIGHT_MAX-0, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + on_punch = function(pos) + update_bobblock(pos, colour.."pole_off") + end, + mesecons = {conductor={ state = mesecon.state.on, - offstate = "bobblocks:orangeblock_off" + offstate = "bobblocks:"..colour.."pole_off" }} }) -minetest.register_node("bobblocks:orangeblock_off", { - description = "Orange Block", - tile_images = {"bobblocks_orangeblock.png"}, - is_ground_content = true, - alpha = 160, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:orangeblock', - mesecons = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:orangeblock" - }} - -}) - -minetest.register_node("bobblocks:yellowblock", { - description = "Yellow Block", - drawtype = "glasslike", - tile_images = {"bobblocks_yellowblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_yellowblock.png"), +minetest.register_node("bobblocks:"..colour.."pole_off", { + description = colour.." Pole", + drawtype = "fencelike", + tile_images = {"bobblocks_"..colour.."block.png"}, + inventory_image = ("bobblocks_inv"..colour.."pole.png"), paramtype = "light", sunlight_propagates = true, is_ground_content = true, sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - mesecons = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:yellowblock_off" - }} -}) - -minetest.register_node("bobblocks:yellowblock_off", { - description = "Yellow Block", - tile_images = {"bobblocks_yellowblock.png"}, - is_ground_content = true, - alpha = 160, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:yellowblock', - mesecons = {conductor={ + light_source = default.LIGHT_MAX-10, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, + drop = 'bobblocks:'..colour..'pole', + on_punch = function(pos) + update_bobblock(pos, colour.."pole") + end, + mesecons = {conductor={ state = mesecon.state.off, - onstate = "bobblocks:yellowblock" + onstate = "bobblocks:"..colour.."pole" }} - -}) -minetest.register_node("bobblocks:greenblock", { - description = "Green Block", - drawtype = "glasslike", - tile_images = {"bobblocks_greenblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_greenblock.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - mesecons = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:greenblock_off" - }} -}) - -minetest.register_node("bobblocks:greenblock_off", { - description = "Green Block", - tile_images = {"bobblocks_greenblock.png"}, - is_ground_content = true, - alpha = 160, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:greenblock', - mesecons = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:greenblock" - }} - }) -minetest.register_node("bobblocks:blueblock", { - description = "Blue Block", - drawtype = "glasslike", - tile_images = {"bobblocks_blueblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_blueblock.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - mesecons = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:blueblock_off" - }} +--Crafts + +minetest.register_craft({ + output = "bobblocks:"..colour.."pole", + recipe = { + {"bobblocks:"..colour.."block", "default:stick"}, + + }, }) - -minetest.register_node("bobblocks:blueblock_off", { - description = "Blue Block", - tile_images = {"bobblocks_blueblock.png"}, - is_ground_content = true, - alpha = 160, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:blueblock', - mesecons = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:blueblock" - }} - -}) - -minetest.register_node("bobblocks:indigoblock", { - description = "Indigo Block", - drawtype = "glasslike", - tile_images = {"bobblocks_indigoblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_indigoblock.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - mesecons = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:indigoblock_off" - }} -}) - -minetest.register_node("bobblocks:indigoblock_off", { - description = "Indigo Block", - tile_images = {"bobblocks_indigoblock.png"}, - is_ground_content = true, - alpha = 160, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:indigoblock', - mesecons = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:indigoblock" - }} - -}) - - -minetest.register_node("bobblocks:violetblock", { - description = "Violet Block", - drawtype = "glasslike", - tile_images = {"bobblocks_violetblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_violetblock.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - mesecons = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:violetblock_off" - }} -}) - -minetest.register_node("bobblocks:violetblock_off", { - description = "Violet Block", - tile_images = {"bobblocks_violetblock.png"}, - is_ground_content = true, - alpha = 160, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:violetblock', - mesecons = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:violetblock" - }} - -}) - -minetest.register_node("bobblocks:whiteblock", { - description = "White Block", - drawtype = "glasslike", - tile_images = {"bobblocks_whiteblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_whiteblock.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - mesecons = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:whiteblock_off" - }} -}) - -minetest.register_node("bobblocks:whiteblock_off", { - description = "White Block", - tile_images = {"bobblocks_whiteblock.png"}, - is_ground_content = true, - alpha = 160, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:whiteblock', - mesecons = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:whiteblock" - }} - -}) - +end minetest.register_node("bobblocks:greyblock", { description = "Grey Block", @@ -352,9 +142,9 @@ minetest.register_node("bobblocks:greyblock", { sunlight_propagates = true, is_ground_content = true, sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - mesecons = {conductor={ + light_source = default.LIGHT_MAX-0, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + mesecons = {conductor={ state = mesecon.state.on, offstate = "bobblocks:greyblock_off" }} @@ -362,306 +152,16 @@ minetest.register_node("bobblocks:greyblock", { minetest.register_node("bobblocks:greyblock_off", { description = "Grey Block", - tile_images = {"bobblocks_greyblock.png"}, - is_ground_content = true, - alpha = 160, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:greyblock', - mesecons = {conductor={ + tile_images = {"bobblocks_greyblock.png"}, + is_ground_content = true, + alpha = 160, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, + drop = 'bobblocks:greyblock', + mesecons = {conductor={ state = mesecon.state.off, onstate = "bobblocks:greyblock" }} - -}) - --- Block Poles -minetest.register_node("bobblocks:redpole", { - description = "Red Pole", - drawtype = "fencelike", - tile_images = {"bobblocks_redblock.png"}, - inventory_image = ("bobblocks_invredpole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - mesecons = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:redpole_off" - }} -}) - -minetest.register_node("bobblocks:redpole_off", { - description = "Red Pole", - drawtype = "fencelike", - tile_images = {"bobblocks_redblock.png"}, - inventory_image = ("bobblocks_invredpole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-10, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:redpole', - mesecons = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:redpole" - }} - -}) - -minetest.register_node("bobblocks:orangepole", { - description = "Orange Pole", - drawtype = "fencelike", - tile_images = {"bobblocks_orangeblock.png"}, - inventory_image = ("bobblocks_invorangepole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - mesecons = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:orangepole_off" - }} -}) - -minetest.register_node("bobblocks:orangepole_off", { - description = "Orange Pole", - drawtype = "fencelike", - tile_images = {"bobblocks_orangeblock.png"}, - inventory_image = ("bobblocks_invorangepole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-10, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:orangepole', - mesecons = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:orangepole" - }} - -}) - -minetest.register_node("bobblocks:yellowpole", { - description = "Yellow Pole", - drawtype = "fencelike", - tile_images = {"bobblocks_yellowblock.png"}, - inventory_image = ("bobblocks_invyellowpole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - mesecons = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:yellowpole_off" - }} -}) - -minetest.register_node("bobblocks:yellowpole_off", { - description = "Yellow Pole", - drawtype = "fencelike", - tile_images = {"bobblocks_yellowblock.png"}, - inventory_image = ("bobblocks_invyellowpole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-10, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:yellowpole', - mesecons = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:yellowpole" - }} - -}) - -minetest.register_node("bobblocks:greenpole", { - description = "Green Pole", - drawtype = "fencelike", - tile_images = {"bobblocks_greenblock.png"}, - inventory_image = ("bobblocks_invgreenpole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - mesecons = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:greenpole_off" - }} -}) - -minetest.register_node("bobblocks:greenpole_off", { - description = "Green Pole", - drawtype = "fencelike", - tile_images = {"bobblocks_greenblock.png"}, - inventory_image = ("bobblocks_invgreenpole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-10, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:greenpole', - mesecons = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:greenpole" - }} - -}) - -minetest.register_node("bobblocks:bluepole", { - description = "Blue Pole", - drawtype = "fencelike", - tile_images = {"bobblocks_blueblock.png"}, - inventory_image = ("bobblocks_invbluepole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - mesecons = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:bluepole_off" - }} -}) - -minetest.register_node("bobblocks:bluepole_off", { - description = "Blue Pole", - drawtype = "fencelike", - tile_images = {"bobblocks_blueblock.png"}, - inventory_image = ("bobblocks_invbluepole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-10, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:bluepole', - mesecons = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:bluepole" - }} - -}) - -minetest.register_node("bobblocks:indigopole", { - description = "Indigo Pole", - drawtype = "fencelike", - tile_images = {"bobblocks_indigoblock.png"}, - inventory_image = ("bobblocks_invindigopole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - mesecons = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:indigopole_off" - }} -}) - -minetest.register_node("bobblocks:indigopole_off", { - description = "Indigo Pole", - drawtype = "fencelike", - tile_images = {"bobblocks_indigoblock.png"}, - inventory_image = ("bobblocks_invindigopole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-10, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:indigopole', - mesecons = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:indigopole" - }} - -}) - -minetest.register_node("bobblocks:violetpole", { - description = "Violet Pole", - drawtype = "fencelike", - tile_images = {"bobblocks_violetblock.png"}, - inventory_image = ("bobblocks_invvioletpole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - mesecons = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:violetpole_off" - }} -}) - -minetest.register_node("bobblocks:violetpole_off", { - description = "Violet Pole", - drawtype = "fencelike", - tile_images = {"bobblocks_violetblock.png"}, - inventory_image = ("bobblocks_invvioletpole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-10, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:violetpole', - mesecons = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:violetpole" - }} - -}) - -minetest.register_node("bobblocks:whitepole", { - description = "White Pole", - drawtype = "fencelike", - tile_images = {"bobblocks_whiteblock.png"}, - inventory_image = ("bobblocks_invwhitepole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-0, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - mesecons = {conductor={ - state = mesecon.state.on, - offstate = "bobblocks:whitepole_off" - }} -}) - -minetest.register_node("bobblocks:whitepole_off", { - description = "White Pole", - drawtype = "fencelike", - tile_images = {"bobblocks_whiteblock.png"}, - inventory_image = ("bobblocks_invwhitepole.png"), - paramtype = "light", - sunlight_propagates = true, - is_ground_content = true, - sounds = default.node_sound_glass_defaults(), - light_source = default.LIGHT_MAX-10, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:whitepole', - mesecons = {conductor={ - state = mesecon.state.off, - onstate = "bobblocks:whitepole" - }} - }) minetest.register_node("bobblocks:greypole", { @@ -673,8 +173,8 @@ minetest.register_node("bobblocks:greypole", { sunlight_propagates = true, is_ground_content = true, sounds = default.node_sound_glass_defaults(), - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, - --light_source = default.LIGHT_MAX-0, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + --light_source = default.LIGHT_MAX-0, }) @@ -685,81 +185,49 @@ minetest.register_craft({ output = 'NodeItem "bobblocks:btm" 1', recipe = { {'node "default:glass" 1', 'node "default:torch" 1', 'node "default:leaves" 1', - 'node "default:mese" 1','node "default:rat" 1'}, - - }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:greyblock" 2', - recipe = { - {'node "default:glass" 1', 'node "default:torch" 1', 'node "default:cobble" 1'}, - }, -}) - --- Red / Yellow / Blue / White --- Red / Yellow -> Orange --- Red / Blue -> Violet --- Blue / Yellow -> Green --- Red / Yellow / White -> Indigo - -minetest.register_craft({ - output = 'NodeItem "bobblocks:redblock" 2', - recipe = { - {'node "default:glass" 1', 'node "default:torch" 1', 'node "default:brick" 1'}, - }, -}) -minetest.register_craft({ - output = 'NodeItem "bobblocks:yellowblock" 2', - recipe = { - {'node "default:glass" 1', 'node "default:torch" 1', 'node "default:sand" 1'}, - }, -}) -minetest.register_craft({ - output = 'NodeItem "bobblocks:blueblock" 2', - recipe = { - {'node "default:glass" 1', 'node "default:torch" 1', 'node "default:gravel" 1'}, - }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:whiteblock" 2', - recipe = { - {'node "default:glass" 1', 'node "default:torch" 1', 'node "default:dirt" 1'}, - }, -}) - - -minetest.register_craft({ - output = 'NodeItem "bobblocks:orangeblock" 2', - recipe = { - {'node "bobblocks:redblock" 1', 'node "bobblocks:yellowblock" 1'}, + 'node "default:mese" 1','node "default:rat" 1'}, }, }) -minetest.register_craft({ - output = 'NodeItem "bobblocks:violetblock" 2', - recipe = { - {'node "bobblocks:redblock" 1', 'node "bobblocks:blueblock" 1'}, - +local bobblocks_crafts_list = { + { + {"grey", "cobble"}, + {"red", "brick"}, + {"yellow", "sand"}, + {"blue", "gravel"}, + {"white", "dirt"}, }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:greenblock" 2', - recipe = { - {'node "bobblocks:blueblock" 1', 'node "bobblocks:yellowblock" 1'}, - + { + {"orange", "red", "yellow"}, + {"violet", "red", "blue"}, + {"green", "blue", "yellow"}, }, -}) +} +for _,items in ipairs(bobblocks_crafts_list[1]) do + minetest.register_craft({ + output = "bobblocks:"..items[1].."block 2", + recipe = { + {"default:glass", "default:torch", "default:"..items[2]}, + }, + }) +end + +for _,items in ipairs(bobblocks_crafts_list[2]) do + minetest.register_craft({ + output = "bobblocks:"..items[1].."block 2", + recipe = { + {"bobblocks:"..items[2].."block", "bobblocks:"..items[3].."block"}, + }, + }) +end minetest.register_craft({ - output = 'NodeItem "bobblocks:indigoblock" 3', + output = "bobblocks:indigoblock 3", recipe = { - {'node "bobblocks:redblock" 1', 'node "bobblocks:blueblock" 1', 'node "bobblocks:whiteblock" 1'}, + {"bobblocks:redblock", "bobblocks:blueblock", "bobblocks:whiteblock"}, }, }) @@ -767,73 +235,9 @@ minetest.register_craft({ -- Poles minetest.register_craft({ - output = 'NodeItem "bobblocks:redpole" 1', + output = 'bobblocks:greypole', recipe = { - {'node "bobblocks:redblock" 1', 'node "default:stick" 1'}, - - }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:yellowpole" 1', - recipe = { - {'node "bobblocks:yellowblock" 1', 'node "default:stick" 1'}, - - }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:bluepole" 1', - recipe = { - {'node "bobblocks:blueblock" 1', 'node "default:stick" 1'}, - - }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:whitepole" 1', - recipe = { - {'node "bobblocks:whiteblock" 1', 'node "default:stick" 1'}, - - }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:orangepole" 1', - recipe = { - {'node "bobblocks:orangeblock" 1', 'node "default:stick" 1'}, - - }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:violetpole" 1', - recipe = { - {'node "bobblocks:violetblock" 1', 'node "default:stick" 1'}, - - }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:greenpole" 1', - recipe = { - {'node "bobblocks:greenblock" 1', 'node "default:stick" 1'}, - - }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:indigopole" 1', - recipe = { - {'node "bobblocks:indigoblock" 1', 'node "default:stick" 1'}, - - }, -}) - -minetest.register_craft({ - output = 'NodeItem "bobblocks:greypole" 1', - recipe = { - {'node "bobblocks:greyblock" 1', 'node "default:stick" 1'}, + {"bobblocks:greyblock", "default:stick"}, }, }) diff --git a/mods/bobblocks/health.lua b/mods/bobblocks/health.lua index df66dcc2..72380718 100755 --- a/mods/bobblocks/health.lua +++ b/mods/bobblocks/health.lua @@ -21,7 +21,7 @@ local toggle_healthpack = function (pos, node) if not is_healthgate(node) then return end update_healthpack (pos, node, state) end - + local on_healthpack_punched = function (pos, node, puncher) if node.name == 'bobblocks:health_off' or node.name == 'bobblocks:health_on' then update_healthpack(pos, node) @@ -77,7 +77,7 @@ minetest.register_abm( minetest.remove_node(pos) -- remove the node after use end end, - + }) --- Health diff --git a/mods/bobblocks/init.lua b/mods/bobblocks/init.lua index f3a84e6b..c6c0ca01 100755 --- a/mods/bobblocks/init.lua +++ b/mods/bobblocks/init.lua @@ -1,8 +1,8 @@ -print("[BobBlocks By minetest@rabbibob.com] Version 0.0.8 loading....") +minetest.log("action", "[BobBlocks By minetest@rabbibob.com] Version 0.0.8 loading....") dofile(minetest.get_modpath("bobblocks") .. "/blocks.lua") -print("[BobBlocks] loaded Blocks") +minetest.log("action", "[BobBlocks] loaded Blocks") dofile(minetest.get_modpath("bobblocks") .. "/health.lua") -print("[BobBlocks] loaded Health") +minetest.log("action", "[BobBlocks] loaded Health") dofile(minetest.get_modpath("bobblocks") .. "/trap.lua") -print("[BobBlocks] loaded Traps") -print("[BobBlocks By minetest@rabbibob.com] Version 0.0.8 loaded!") +minetest.log("action", "[BobBlocks] loaded Traps") +minetest.log("action", "[BobBlocks By minetest@rabbibob.com] Version 0.0.8 loaded!") diff --git a/mods/bobblocks/trap.lua b/mods/bobblocks/trap.lua index 4a45327d..063db9e3 100755 --- a/mods/bobblocks/trap.lua +++ b/mods/bobblocks/trap.lua @@ -4,7 +4,7 @@ local update_bobtrap = function (pos, node) local nodename="" local param2="" --Switch Trap State - if + if -- Swap Traps node.name == 'bobblocks:trap_spike' then nodename = 'bobblocks:trap_spike_set' elseif node.name == 'bobblocks:trap_spike_set' then nodename = 'bobblocks:trap_spike' @@ -14,12 +14,12 @@ local update_bobtrap = function (pos, node) minetest.add_node(pos, {name = nodename}) end --- Punch Traps +-- Punch Traps local on_bobtrap_punched = function (pos, node, puncher) - if + if -- Start Traps node.name == 'bobblocks:trap_spike' or node.name == 'bobblocks:trap_spike_set' or - node.name == 'bobblocks:trap_spike_major' or node.name == 'bobblocks:trap_spike_major_set' + node.name == 'bobblocks:trap_spike_major' or node.name == 'bobblocks:trap_spike_major_set' then update_bobtrap(pos, node) end @@ -37,11 +37,11 @@ minetest.register_abm( action = function(pos, node, active_object_count, active_object_count_wider) local objs = minetest.get_objects_inside_radius(pos, 1) for k, obj in pairs(objs) do - + update_bobtrap(pos, node) end end, - + }) minetest.register_abm( @@ -51,11 +51,11 @@ minetest.register_abm( action = function(pos, node, active_object_count, active_object_count_wider) local objs = minetest.get_objects_inside_radius(pos, 1) for k, obj in pairs(objs) do - + update_bobtrap(pos, node) end end, - + }) @@ -73,55 +73,32 @@ minetest.register_node("bobblocks:trap_grass", { climbable = false, }) -minetest.register_node("bobblocks:trap_spike", { - description = "Trap Spike Minor", - drawtype = "plantlike", - visual_scale = 1, - tile_images = {"bobblocks_minorspike.png"}, - inventory_image = ("bobblocks_minorspike.png"), +local function spikenode(name, desc, texture, drop, groups, drawtype) +minetest.register_node("bobblocks:trap_"..name, { + description = desc, + drawtype = drawtype, + tile_images = {"bobblocks_"..texture..".png"}, + inventory_image = ("bobblocks_"..texture..".png"), paramtype = "light", walkable = false, sunlight_propagates = true, - groups = {cracky=3,melty=3}, + groups = groups, + drop = drop, }) +end -minetest.register_node("bobblocks:trap_spike_set", { - description = "Trap Spike Minor Set", - drawtype = "raillike", - visual_scale = 1, - tile_images = {"bobblocks_trap_set.png"}, - paramtype = "light", - walkable = false, - sunlight_propagates = true, - groups = {cracky=3,melty=3,not_in_creative_inventory=1}, - drop = 'bobblocks:trap_spike', -}) +local function spike1(name, desc, texture) +spikenode(name, desc, texture, "bobblocks:trap_"..name, {cracky=3,melty=3}, "plantlike") +end +local function spike2(name, desc, texture, drop) +spikenode(name, desc, texture, drop, {cracky=3,melty=3,not_in_creative_inventory=1}, "raillike") +end -minetest.register_node("bobblocks:trap_spike_major", { - description = "Trap Spike Major", - drawtype = "plantlike", - visual_scale = 1, - tile_images = {"bobblocks_majorspike.png"}, - inventory_image = ("bobblocks_majorspike.png"), - paramtype = "light", - walkable = false, - sunlight_propagates = true, - groups = {cracky=2,melty=2}, -}) - -minetest.register_node("bobblocks:trap_spike_major_set", { - description = "Trap Spike Major Set", - drawtype = "raillike", - visual_scale = 1, - tile_images = {"bobblocks_trap_set.png"}, - paramtype = "light", - walkable = false, - sunlight_propagates = true, - groups = {cracky=3,melty=3,not_in_creative_inventory=1}, - drop = 'bobblocks:trap_spike_major', -}) - +spike1("spike", "Trap Spike Minor", "minorspike") +spike2("spike_set", "Trap Spike Minor Set", "trap_set", 'bobblocks:trap_spike') +spike1("spike_major", "Trap Spike Major", "majorspike") +spike2("spike_major_set", "Trap Spike Major Set", "trap_set", 'bobblocks:trap_spike_major') minetest.register_node("bobblocks:spike_major_reverse", { description = "Trap Spike Major Reverse", @@ -194,7 +171,7 @@ minetest.register_abm( for k, obj in pairs(objs) do obj:set_hp(obj:get_hp()-100) minetest.sound_play("bobblocks_trap_fall", - {pos = pos, gain = 1.0, max_hear_distance = 3,}) + {pos = pos, gain = 1.0, max_hear_distance = 3,}) end end,