diff --git a/blocks.lua b/blocks.lua old mode 100644 new mode 100755 index 58c173d..441feb6 --- a/blocks.lua +++ b/blocks.lua @@ -1,347 +1,136 @@ -- 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", - tiles = {"bobblocks_btm_sides.png", "bobblocks_btm_sides.png", "bobblocks_btm_sides.png", + tiles = {"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", - tiles = {"bobblocks_redblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_redblock.png"), + tiles = {"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 = 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", - tiles = {"bobblocks_redblock.png"}, - is_ground_content = true, - alpha = WATER_ALPHA, - 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", + tiles = {"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", - tiles = {"bobblocks_orangeblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_orangeblock.png"), + +--Poles + +minetest.register_node("bobblocks:"..colour.."pole", { + description = colour.." Pole", + drawtype = "fencelike", + tiles = {"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 = 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", - tiles = {"bobblocks_orangeblock.png"}, - is_ground_content = true, - alpha = WATER_ALPHA, - 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", - tiles = {"bobblocks_yellowblock.png"}, - inventory_image = minetest.inventorycube("bobblocks_yellowblock.png"), +minetest.register_node("bobblocks:"..colour.."pole_off", { + description = colour.." Pole", + drawtype = "fencelike", + tiles = {"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 = 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", - tiles = {"bobblocks_yellowblock.png"}, - is_ground_content = true, - alpha = WATER_ALPHA, - 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", - tiles = {"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 = 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", - tiles = {"bobblocks_greenblock.png"}, - is_ground_content = true, - alpha = WATER_ALPHA, - 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", - tiles = {"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 = 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", - tiles = {"bobblocks_blueblock.png"}, - is_ground_content = true, - alpha = WATER_ALPHA, - 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", - tiles = {"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 = 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", - tiles = {"bobblocks_indigoblock.png"}, - is_ground_content = true, - alpha = WATER_ALPHA, - 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", - tiles = {"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 = 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", - tiles = {"bobblocks_violetblock.png"}, - is_ground_content = true, - alpha = WATER_ALPHA, - 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", - tiles = {"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 = 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", - tiles = {"bobblocks_whiteblock.png"}, - is_ground_content = true, - alpha = WATER_ALPHA, - 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 +141,9 @@ minetest.register_node("bobblocks:greyblock", { sunlight_propagates = true, is_ground_content = true, sounds = default.node_sound_glass_defaults(), - light_source = 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 +151,16 @@ minetest.register_node("bobblocks:greyblock", { minetest.register_node("bobblocks:greyblock_off", { description = "Grey Block", - tiles = {"bobblocks_greyblock.png"}, - is_ground_content = true, - alpha = WATER_ALPHA, - groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1}, - drop = 'bobblocks:greyblock', - mesecons = {conductor={ + tiles = {"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", - tiles = {"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 = 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", - tiles = {"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 = 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", - tiles = {"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 = 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", - tiles = {"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 = 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", - tiles = {"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 = 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", - tiles = {"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 = 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", - tiles = {"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 = 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", - tiles = {"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 = 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", - tiles = {"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 = 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", - tiles = {"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 = 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", - tiles = {"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 = 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", - tiles = {"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 = 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", - tiles = {"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 = 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", - tiles = {"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 = 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", - tiles = {"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 = 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", - tiles = {"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 = 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 +172,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 = LIGHT_MAX-0, + groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, + --light_source = default.LIGHT_MAX-0, }) @@ -685,81 +184,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 +234,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/depends.txt b/depends.txt old mode 100644 new mode 100755 diff --git a/health.lua b/health.lua old mode 100644 new mode 100755 index a26e552..9adc9ee --- a/health.lua +++ b/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) @@ -51,7 +51,7 @@ minetest.register_node("bobblocks:health_on", { tiles = {"bobblocks_health_on.png"}, paramtype2 = "facedir", legacy_facedir_simple = true, - light_source = LIGHT_MAX-0, + light_source = default.LIGHT_MAX-1, groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3}, is_ground_content = true, walkable = false, @@ -73,20 +73,20 @@ minetest.register_abm( for k, obj in pairs(objs) do minetest.sound_play("bobblocks_health", {pos = pos, gain = 1.0, max_hear_distance = 32,}) - obj:set_hp(obj:get_hp()+10) -- give 10HP + obj:set_hp(obj:get_hp()+5) -- give 2.5HP minetest.remove_node(pos) -- remove the node after use end end, - + }) --- Health minetest.register_craft({ - output = 'NodeItem "bobblocks:health_off" 1', + output = "bobblocks:health_off", + type = "shapeless", recipe = { - {'node "default:dirt" 1', 'node "default:paper" 1', 'node "default:apple" 2'}, - + "default:dirt", "default:paper", "default:apple", "default:apple" }, }) diff --git a/init.lua b/init.lua old mode 100644 new mode 100755 index 3bcf03f..c6c0ca0 --- a/init.lua +++ b/init.lua @@ -1,11 +1,8 @@ -print("[BobBlocks By minetest@rabbibob.com] Version 0.0.8 loading....") -print("[BobBlocks] loading Blocks") +minetest.log("action", "[BobBlocks By minetest@rabbibob.com] Version 0.0.8 loading....") dofile(minetest.get_modpath("bobblocks") .. "/blocks.lua") -print("[BobBlocks] loaded Blocks") -print("[BobBlocks] loading Health") +minetest.log("action", "[BobBlocks] loaded Blocks") dofile(minetest.get_modpath("bobblocks") .. "/health.lua") -print("[BobBlocks] loaded Health") -print("[BobBlocks] loading Traps") +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!") \ No newline at end of file +minetest.log("action", "[BobBlocks] loaded Traps") +minetest.log("action", "[BobBlocks By minetest@rabbibob.com] Version 0.0.8 loaded!") diff --git a/readme.txt b/readme.txt old mode 100644 new mode 100755 diff --git a/sounds/bobblocks_glassblock.ogg b/sounds/bobblocks_glassblock.ogg old mode 100644 new mode 100755 index d60859f..e3a60fb Binary files a/sounds/bobblocks_glassblock.ogg and b/sounds/bobblocks_glassblock.ogg differ diff --git a/sounds/bobblocks_health.ogg b/sounds/bobblocks_health.ogg old mode 100644 new mode 100755 index 4a0148b..84066ac Binary files a/sounds/bobblocks_health.ogg and b/sounds/bobblocks_health.ogg differ diff --git a/sounds/bobblocks_trap_fall.ogg b/sounds/bobblocks_trap_fall.ogg old mode 100644 new mode 100755 index a49efb3..bf97ac3 Binary files a/sounds/bobblocks_trap_fall.ogg and b/sounds/bobblocks_trap_fall.ogg differ diff --git a/sounds/bobblocks_trap_fall_major.ogg b/sounds/bobblocks_trap_fall_major.ogg old mode 100644 new mode 100755 index b6bdea6..e84a1d3 Binary files a/sounds/bobblocks_trap_fall_major.ogg and b/sounds/bobblocks_trap_fall_major.ogg differ diff --git a/textures/bobblocks_blueblock.png b/textures/bobblocks_blueblock.png old mode 100644 new mode 100755 index df5d835..f8a701b Binary files a/textures/bobblocks_blueblock.png and b/textures/bobblocks_blueblock.png differ diff --git a/textures/bobblocks_btm.png b/textures/bobblocks_btm.png old mode 100644 new mode 100755 index 7e14d08..8a01caf Binary files a/textures/bobblocks_btm.png and b/textures/bobblocks_btm.png differ diff --git a/textures/bobblocks_btm_sides.png b/textures/bobblocks_btm_sides.png old mode 100644 new mode 100755 index 0e1ca0d..ea1795f Binary files a/textures/bobblocks_btm_sides.png and b/textures/bobblocks_btm_sides.png differ diff --git a/textures/bobblocks_greenblock.png b/textures/bobblocks_greenblock.png old mode 100644 new mode 100755 index 0acebc5..8e08e51 Binary files a/textures/bobblocks_greenblock.png and b/textures/bobblocks_greenblock.png differ diff --git a/textures/bobblocks_greyblock.png b/textures/bobblocks_greyblock.png old mode 100644 new mode 100755 index c372878..1f20ee7 Binary files a/textures/bobblocks_greyblock.png and b/textures/bobblocks_greyblock.png differ diff --git a/textures/bobblocks_health_off.png b/textures/bobblocks_health_off.png old mode 100644 new mode 100755 index 9f9aaac..4777407 Binary files a/textures/bobblocks_health_off.png and b/textures/bobblocks_health_off.png differ diff --git a/textures/bobblocks_health_on.png b/textures/bobblocks_health_on.png old mode 100644 new mode 100755 index ec808c9..06f6c6a Binary files a/textures/bobblocks_health_on.png and b/textures/bobblocks_health_on.png differ diff --git a/textures/bobblocks_health_one_sides.png b/textures/bobblocks_health_one_sides.png old mode 100644 new mode 100755 index ac24409..99c0717 Binary files a/textures/bobblocks_health_one_sides.png and b/textures/bobblocks_health_one_sides.png differ diff --git a/textures/bobblocks_indigoblock.png b/textures/bobblocks_indigoblock.png old mode 100644 new mode 100755 index 0dbf7fd..bbf5a84 Binary files a/textures/bobblocks_indigoblock.png and b/textures/bobblocks_indigoblock.png differ diff --git a/textures/bobblocks_invbluepole.png b/textures/bobblocks_invbluepole.png old mode 100644 new mode 100755 index e60d3eb..29f7787 Binary files a/textures/bobblocks_invbluepole.png and b/textures/bobblocks_invbluepole.png differ diff --git a/textures/bobblocks_invgreenpole.png b/textures/bobblocks_invgreenpole.png old mode 100644 new mode 100755 index 72b83c7..d355cbc Binary files a/textures/bobblocks_invgreenpole.png and b/textures/bobblocks_invgreenpole.png differ diff --git a/textures/bobblocks_invgreypole.png b/textures/bobblocks_invgreypole.png old mode 100644 new mode 100755 index e9ad643..9caf094 Binary files a/textures/bobblocks_invgreypole.png and b/textures/bobblocks_invgreypole.png differ diff --git a/textures/bobblocks_invindigopole.png b/textures/bobblocks_invindigopole.png old mode 100644 new mode 100755 index 8650912..017bac5 Binary files a/textures/bobblocks_invindigopole.png and b/textures/bobblocks_invindigopole.png differ diff --git a/textures/bobblocks_invorangepole.png b/textures/bobblocks_invorangepole.png old mode 100644 new mode 100755 index 4f8cb97..c528f49 Binary files a/textures/bobblocks_invorangepole.png and b/textures/bobblocks_invorangepole.png differ diff --git a/textures/bobblocks_invredpole.png b/textures/bobblocks_invredpole.png old mode 100644 new mode 100755 index a6c9a65..98d5abc Binary files a/textures/bobblocks_invredpole.png and b/textures/bobblocks_invredpole.png differ diff --git a/textures/bobblocks_invvioletpole.png b/textures/bobblocks_invvioletpole.png old mode 100644 new mode 100755 index 3eeb60a..888cd17 Binary files a/textures/bobblocks_invvioletpole.png and b/textures/bobblocks_invvioletpole.png differ diff --git a/textures/bobblocks_invwhitepole.png b/textures/bobblocks_invwhitepole.png old mode 100644 new mode 100755 index 3f35401..c170193 Binary files a/textures/bobblocks_invwhitepole.png and b/textures/bobblocks_invwhitepole.png differ diff --git a/textures/bobblocks_invyellowpole.png b/textures/bobblocks_invyellowpole.png old mode 100644 new mode 100755 index 2b5c1ee..b483375 Binary files a/textures/bobblocks_invyellowpole.png and b/textures/bobblocks_invyellowpole.png differ diff --git a/textures/bobblocks_majorspike.png b/textures/bobblocks_majorspike.png old mode 100644 new mode 100755 index 159ddc3..cfa2c7f Binary files a/textures/bobblocks_majorspike.png and b/textures/bobblocks_majorspike.png differ diff --git a/textures/bobblocks_majorspike_reverse.png b/textures/bobblocks_majorspike_reverse.png new file mode 100755 index 0000000..79463a7 Binary files /dev/null and b/textures/bobblocks_majorspike_reverse.png differ diff --git a/textures/bobblocks_minorspike.png b/textures/bobblocks_minorspike.png old mode 100644 new mode 100755 index fd2e9f3..2455e0c Binary files a/textures/bobblocks_minorspike.png and b/textures/bobblocks_minorspike.png differ diff --git a/textures/bobblocks_orangeblock.png b/textures/bobblocks_orangeblock.png old mode 100644 new mode 100755 index 40e34f9..004cd62 Binary files a/textures/bobblocks_orangeblock.png and b/textures/bobblocks_orangeblock.png differ diff --git a/textures/bobblocks_redblock.png b/textures/bobblocks_redblock.png old mode 100644 new mode 100755 index 096d3f1..f57bd13 Binary files a/textures/bobblocks_redblock.png and b/textures/bobblocks_redblock.png differ diff --git a/textures/bobblocks_redblock_off.png b/textures/bobblocks_redblock_off.png old mode 100644 new mode 100755 index ca0bc5c..f2b920a Binary files a/textures/bobblocks_redblock_off.png and b/textures/bobblocks_redblock_off.png differ diff --git a/textures/bobblocks_trap_set.png b/textures/bobblocks_trap_set.png old mode 100644 new mode 100755 index 55d1cf9..2eaeea1 Binary files a/textures/bobblocks_trap_set.png and b/textures/bobblocks_trap_set.png differ diff --git a/textures/bobblocks_violetblock.png b/textures/bobblocks_violetblock.png old mode 100644 new mode 100755 index c1a98ca..f0bcbcd Binary files a/textures/bobblocks_violetblock.png and b/textures/bobblocks_violetblock.png differ diff --git a/textures/bobblocks_whiteblock.png b/textures/bobblocks_whiteblock.png old mode 100644 new mode 100755 index 857fa47..9a7c524 Binary files a/textures/bobblocks_whiteblock.png and b/textures/bobblocks_whiteblock.png differ diff --git a/textures/bobblocks_yellowblock.png b/textures/bobblocks_yellowblock.png old mode 100644 new mode 100755 index 975ffe8..4172992 Binary files a/textures/bobblocks_yellowblock.png and b/textures/bobblocks_yellowblock.png differ diff --git a/trap.lua b/trap.lua old mode 100644 new mode 100755 index 0d24f42..9a00d00 --- a/trap.lua +++ b/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,73 +73,60 @@ minetest.register_node("bobblocks:trap_grass", { climbable = false, }) -minetest.register_node("bobblocks:trap_spike", { - description = "Trap Spike Minor", - drawtype = "plantlike", - visual_scale = 1, - tiles = {"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, + tiles = {"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, - tiles = {"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", +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", drawtype = "plantlike", visual_scale = 1, - tiles = {"bobblocks_majorspike.png"}, - inventory_image = ("bobblocks_majorspike.png"), + tiles = {"bobblocks_majorspike_reverse.png"}, + inventory_image = ("bobblocks_majorspike_reverse.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, - tiles = {"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', -}) - - -- Crafting minetest.register_craft({ - output = 'bobblocks:trap_spike', + output = 'bobblocks:trap_spike 3', recipe = { - {'', '', ''}, - {'', 'default:cobble', ''}, - {'default:cobble', 'default:apple', 'default:cobble'}, + {'', 'default:obsidian_shard', ''}, + {'', 'default:steel_ingot', ''}, } }) minetest.register_craft({ output = 'bobblocks:trap_spike_major', recipe = { - {'', 'default:cobble', ''}, - {'', 'default:apple', ''}, - {'default:cobble', 'default:apple', 'default:cobble'}, + {'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'}, + {'', 'default:steel_ingot', ''}, } }) @@ -152,6 +139,14 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = 'bobblocks:spike_major_reverse', + recipe = { + {'', 'default:steel_ingot', ''}, + {'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'}, + } +}) + -- ABM minetest.register_abm( {nodenames = {"bobblocks:trap_spike"}, @@ -160,7 +155,9 @@ 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 - obj:set_hp(obj:get_hp()-1) + if obj:get_hp() > 0 then --MFF (crabman 8/1/2016) dont re-kill dead player + obj:set_hp(obj:get_hp()-1) + end minetest.sound_play("bobblocks_trap_fall", {pos = pos, gain = 1.0, max_hear_distance = 3,}) end @@ -174,10 +171,30 @@ 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 - obj:set_hp(obj:get_hp()-100) + if obj:get_hp() > 0 then --MFF (crabman 8/1/2016) dont re-kill dead player + obj:set_hp(obj:get_hp()-100) + end 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, }) + +minetest.register_abm( + {nodenames = {"bobblocks:spike_major_reverse"}, + interval = 1.0, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + pos.y = pos.y-1.2 + local objs = minetest.get_objects_inside_radius(pos, 1) + for k, obj in pairs(objs) do + if obj:get_hp() > 0 then --MFF (crabman 8/1/2016) dont re-kill dead player + obj:set_hp(obj:get_hp()-100) + end + minetest.sound_play("bobblocks_trap_fall", + {pos = pos, gain = 1.0, max_hear_distance = 3,}) + end + end, + +})