-- Rubenwardy's Trap Mod -- -- -- -- -- Cage Trap minetest.register_node("traps:lava", { tile_images = {"traps_grass.png", "default_dirt.png", "default_grass_side.png", "default_grass_side.png", "default_grass_side.png", "default_grass_side.png"}, inventory_image = minetest.inventorycube("traps_grass.png", "default_grass_side.png", "default_grass_side.png"), dug_item = '', -- Get nothing groups = {immortal = 1}, description = "Lava Drop Trap", }) local block_to_place = "default:lava_source" local hi = 5 --How high the lava is minetest.register_abm( {nodenames = {"traps:lava"}, interval = 0.2, chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) local objs = minetest.env:get_objects_inside_radius(pos, 1) for k, obj in pairs(objs) do print("HIT!") minetest.env:add_node(pos, {name = "default:dirt"}) --Left side pit local tmp = {x = pos.x-2, y = pos.y, z = pos.z-2} minetest.env:add_node(tmp, {name = "air"}) tmp = {x = pos.x-2, y = pos.y, z = pos.z-1} minetest.env:add_node(tmp, {name = "air"}) tmp = {x = pos.x-2, y = pos.y, z = pos.z} minetest.env:add_node(tmp, {name = "air"}) tmp = {x = pos.x-2, y = pos.y, z = pos.z+1} minetest.env:add_node(tmp, {name = "air"}) tmp = {x = pos.x-2, y = pos.y, z = pos.z+2} minetest.env:add_node(tmp, {name = "air"}) --Right side pit tmp = {x = pos.x+2, y = pos.y, z = pos.z-2} minetest.env:add_node(tmp, {name = "air"}) tmp = {x = pos.x+2, y = pos.y, z = pos.z-1} minetest.env:add_node(tmp, {name = "air"}) tmp = {x = pos.x+2, y = pos.y, z = pos.z} minetest.env:add_node(tmp, {name = "air"}) tmp = {x = pos.x+2, y = pos.y, z = pos.z+1} minetest.env:add_node(tmp, {name = "air"}) tmp = {x = pos.x+2, y = pos.y, z = pos.z+2} minetest.env:add_node(tmp, {name = "air"}) --front side pit tmp = {x = pos.x-1, y = pos.y, z = pos.z-2} minetest.env:add_node(tmp, {name = "air"}) tmp = {x = pos.x, y = pos.y, z = pos.z-2} minetest.env:add_node(tmp, {name = "air"}) tmp = {x = pos.x+1, y = pos.y, z = pos.z-2} minetest.env:add_node(tmp, {name = "air"}) --back side pit tmp = {x = pos.x-1, y = pos.y, z = pos.z+2} minetest.env:add_node(tmp, {name = "air"}) tmp = {x = pos.x, y = pos.y, z = pos.z+2} minetest.env:add_node(tmp, {name = "air"}) tmp = {x = pos.x+1, y = pos.y, z = pos.z+2} minetest.env:add_node(tmp, {name = "air"}) -- PLACE LAVA -- -- --Left side lava tmp = {x = pos.x-2, y = pos.y+hi, z = pos.z-2} minetest.env:add_node(tmp, {name = block_to_place}) tmp = {x = pos.x-2, y = pos.y+hi, z = pos.z-1} minetest.env:add_node(tmp, {name = block_to_place}) tmp = {x = pos.x-2, y = pos.y+hi, z = pos.z} minetest.env:add_node(tmp, {name = block_to_place}) tmp = {x = pos.x-2, y = pos.y+hi, z = pos.z+1} minetest.env:add_node(tmp, {name = block_to_place}) tmp = {x = pos.x-2, y = pos.y+hi, z = pos.z+2} minetest.env:add_node(tmp, {name = block_to_place}) --Right side lava tmp = {x = pos.x+2, y = pos.y+hi, z = pos.z-2} minetest.env:add_node(tmp, {name = block_to_place}) tmp = {x = pos.x+2, y = pos.y+hi, z = pos.z-1} minetest.env:add_node(tmp, {name = block_to_place}) tmp = {x = pos.x+2, y = pos.y+hi, z = pos.z} minetest.env:add_node(tmp, {name = block_to_place}) tmp = {x = pos.x+2, y = pos.y+hi, z = pos.z+1} minetest.env:add_node(tmp, {name = block_to_place}) tmp = {x = pos.x+2, y = pos.y+hi, z = pos.z+2} minetest.env:add_node(tmp, {name = block_to_place}) --front side pit tmp = {x = pos.x-1, y = pos.y+hi, z = pos.z-2} minetest.env:add_node(tmp, {name = block_to_place}) tmp = {x = pos.x, y = pos.y+hi, z = pos.z-2} minetest.env:add_node(tmp, {name = block_to_place}) tmp = {x = pos.x+1, y = pos.y+hi, z = pos.z-2} minetest.env:add_node(tmp, {name = block_to_place}) --back side lava tmp = {x = pos.x-1, y = pos.y+hi, z = pos.z+2} minetest.env:add_node(tmp, {name = block_to_place}) tmp = {x = pos.x, y = pos.y+hi, z = pos.z+2} minetest.env:add_node(tmp, {name = block_to_place}) tmp = {x = pos.x+1, y = pos.y+hi, z = pos.z+2} minetest.env:add_node(tmp, {name = block_to_place}) --block barrier tmp = {x = pos.x, y = pos.y+hi-1, z = pos.z} minetest.env:add_node(tmp, {name = "default:glass"}) --1 tmp = {x = pos.x+1, y = pos.y+hi-1, z = pos.z+1} minetest.env:add_node(tmp, {name = "default:glass"}) tmp = {x = pos.x+1, y = pos.y+hi-1, z = pos.z} minetest.env:add_node(tmp, {name = "default:glass"}) tmp = {x = pos.x+1, y = pos.y+hi-1, z = pos.z-1} minetest.env:add_node(tmp, {name = "default:glass"}) --2 tmp = {x = pos.x, y = pos.y+hi-1, z = pos.z-1} minetest.env:add_node(tmp, {name = "default:glass"}) tmp = {x = pos.x-1, y = pos.y+hi-1, z = pos.z+1} minetest.env:add_node(tmp, {name = "default:glass"}) tmp = {x = pos.x-1, y = pos.y+hi-1, z = pos.z-1} minetest.env:add_node(tmp, {name = "default:glass"}) tmp = {x = pos.x, y = pos.y+hi-1, z = pos.z+1} minetest.env:add_node(tmp, {name = "default:glass"}) tmp = {x = pos.x-1, y = pos.y+hi-1, z = pos.z} minetest.env:add_node(tmp, {name = "default:glass"}) end end, })