--[[ This is a fork of Prefab Redo, which is a fork of an older mod nam- ed Prefab. This fork puts "prefab_redo:" objects back into the "prefab:" name- space. --]] -- Prefab Redo Mod -- Written by cheapie -- See LICENSE file for license information -- =================================================================== local cvt = default.convert_node local reg_node = ocutil.safe_register_node -- =================================================================== reg_node ("prefab:concrete_with_grass", { description = "Concrete with Grass", sounds = default.node_sound_glass_defaults(), paramtype = "light", tiles = { "default_grass.png", "prefab_concrete_block.png", "prefab_concrete_block.png^default_grass_side.png" } , groups = {cracky = 1} , }) -- =================================================================== reg_node ("prefab:concrete_wall", { description = "Concrete Wall", sounds = default.sound_stone(), paramtype = "light", drawtype = "nodebox", tiles = {"prefab_concrete_block.png"} , sunlight_propagates = true, groups = {cracky = 1} , node_box = { type = "connected", fixed = {{-0.3, -0.5, -0.3, 0.3, -0.4, 0.3} , {-0.1, -0.5, -0.1, 0.1, 0.5, 0.1}} , connect_front = {{-0.3, -0.5, -0.5, 0.3, -0.4, 0.3} , {-0.1, -0.5, -0.5, 0.1, 0.5, 0.1}} , connect_back = {{-0.3, -0.5, -0.3, 0.3, -0.4, 0.5} , {-0.1, -0.5, -0.1, 0.1, 0.5, 0.5}} , connect_left = {{-0.5, -0.5, -0.3, 0.3, -0.4, 0.3} , {-0.5, -0.5, -0.1, 0.1, 0.5, 0.1}} , connect_right = {{-0.3, -0.5, -0.3, 0.5, -0.4, 0.3} , {-0.1, -0.5, -0.1, 0.5, 0.5, 0.1}} , } , connects_to = {"prefab:concrete_wall","prefab:concrete_wall_upper"} , on_construct = function(pos) local node = minetest.get_node (pos) local pos_above = {x = pos.x,y = pos.y + 1,z = pos.z} local node_above = minetest.get_node (pos_above) local pos_below = {x = pos.x,y = pos.y - 1,z = pos.z} local node_below = minetest.get_node (pos_below) if node_above.name == "prefab:concrete_wall" then node_above.name = "prefab:concrete_wall_upper" minetest.swap_node (pos_above,node_above) end if node_below.name == "prefab:concrete_wall" or node_below.name == "prefab:concrete_wall_upper" then node.name = "prefab:concrete_wall_upper" minetest.swap_node (pos,node) end end, on_destruct = function(pos) local node = minetest.get_node (pos) local pos_above = {x = pos.x,y = pos.y + 1,z = pos.z} local node_above = minetest.get_node (pos_above) if node_above.name == "prefab:concrete_wall_upper" then node_above.name = "prefab:concrete_wall" minetest.swap_node (pos_above,node_above) end end, }) -- =================================================================== reg_node ("prefab:concrete_wall_upper", { sounds = default.sound_stone(), paramtype = "light", drawtype = "nodebox", tiles = {"prefab_concrete_block.png"} , sunlight_propagates = true, groups = {cracky = 1,not_in_creative_inventory = 1} , drop = "prefab:concrete_wall", node_box = { type = "connected", fixed = {{-0.1, -0.5, -0.1, 0.1, 0.5, 0.1}} , connect_front = {{-0.1, -0.5, -0.5, 0.1, 0.5, 0.1}} , connect_back = {{-0.1, -0.5, -0.1, 0.1, 0.5, 0.5}} , connect_left = {{-0.5, -0.5, -0.1, 0.1, 0.5, 0.1}} , connect_right = {{-0.1, -0.5, -0.1, 0.5, 0.5, 0.1}} , } , connects_to = {"prefab:concrete_wall","prefab:concrete_wall_upper"} , on_destruct = function(pos) local node = minetest.get_node (pos) local pos_above = {x = pos.x,y = pos.y + 1,z = pos.z} local node_above = minetest.get_node (pos_above) if node_above.name == "prefab:concrete_wall_upper" then node_above.name = "prefab:concrete_wall" minetest.swap_node (pos_above,node_above) end end, }) -- =================================================================== reg_node ("prefab:concrete_ladder", { description = "Concrete Ladder", drawtype = "signlike", tiles = {"prefab_concrete_block.png^[mask:prefab_ladder_mask.png^prefab_ladder_overlay.png"} , inventory_image = "prefab_concrete_block.png^[mask:prefab_ladder_mask.png^prefab_ladder_overlay.png", wield_image = "prefab_concrete_block.png^[mask:prefab_ladder_mask.png^prefab_ladder_overlay.png", paramtype = "light", paramtype2 = "wallmounted", sunlight_propagates = true, walkable = false, climbable = true, selection_box = { type = "wallmounted", } , groups = {cracky = 2} , sounds = default.sound_stone(), }) -- =================================================================== reg_node ("prefab:concrete_railing", { description = "Concrete Railing", sounds = default.sound_stone(), paramtype = "light", drawtype = "nodebox", tiles = {"prefab_concrete_block.png"} , sunlight_propagates = true, groups = {cracky = 1} , node_box = { type = "connected", fixed = {{0.0625,-0.5,0.0625,-0.0625,0.1875,-0.0625}} , connect_front = {{-0.0625,0.1875,-0.5,0.0625,0.3125,0.0625}} , connect_back = {{-0.0625,0.1875,-0.0625,0.0625,0.3125,0.5}} , connect_left = {{-0.5,0.1875,-0.0625,0.0625,0.3125,0.0625}} , connect_right = {{-0.0625,0.1875,-0.0625,0.5,0.3125,0.0625}} } , selection_box = { type = "fixed", fixed = {{-0.5,-0.5,-0.5,0.5,0.3125,0.5}} } , connects_to = {"prefab:concrete_railing","prefab:concrete_catwalk"} }) -- =================================================================== reg_node ("prefab:concrete_catwalk",{ description= "Concrete Catwalk", paramtype = "light", paramtype2 = "facedir", tiles = {"prefab_concrete_block.png"} , drawtype = "nodebox", node_box = { type = "fixed", fixed = { {-0.5,-0.5,-0.5,0.5,-0.375,0.5} , {-0.5,-0.5,-0.0625,-0.4375,0.5,0.0625} , {0.4433,-0.5,-0.0625,0.5,0.5,0.0625} , {0.4433,0.4485,-0.5,0.5,0.5,0.5} , {-0.5,0.4485,-0.5,-0.4375,0.5,0.5} , } , } , groups = {cracky = 2} , }) -- =================================================================== reg_node ("prefab:concrete_bench", { description = "Concrete Bench", tiles = {"prefab_concrete_block.png"} , paramtype = "light", paramtype2 = "facedir", drawtype = "nodebox", node_box = { type = "fixed", fixed = { {-0.125,-0.5,-0.125,0.125,0.0625,0.125} , {-0.5,0.0625,-0.3125,0.5,0.1875,0.3125} , } , } , groups = {cracky = 2} , }) -- =================================================================== cvt ( "prefab:concrete" , "basic_materials:concrete_block" ) cvt ( "prefab:concrete_stair" , "stairs:stair_concrete_block" ) cvt ( "prefab:concrete_bollard" , "prefab:concrete_wall" ) cvt ( "prefab:concrete_door_a" , "doors:door_concrete_a" ) cvt ( "prefab:concrete_door_b" , "doors:door_concrete_b" ) cvt ( "prefab:concrete_fence" , "prefab:concrete_wall" ) cvt ( "prefab:concrete_railing_corner" , "prefab:concrete_railing" ) cvt ( "prefab_redo:concrete_wall" , "prefab:concrete_wall" ) cvt ( "prefab_redo:concrete_wall_upper" , "prefab:concrete_wall_upper" ) cvt ( "prefab_redo:concrete_with_grass" , "prefab:concrete_with_grass" ) cvt ( "prefab_redo:concrete_ladder" , "prefab:concrete_ladder" ) cvt ( "prefab_redo:concrete_railing" , "prefab:concrete_railing" ) cvt ( "prefab_redo:concrete_catwalk" , "prefab:concrete_catwalk" ) cvt ( "prefab_redo:concrete_bench" , "prefab:concrete_bench" ) -- =================================================================== minetest.register_craft ({ output = "prefab:concrete_railing 6", recipe = { {"","",""} , {"prefab:concrete","prefab:concrete","prefab:concrete"} , {"","prefab:concrete",""} } }) -- =================================================================== minetest.register_craft ({ output = "prefab:concrete_catwalk 3", recipe = { {"","",""} , {"prefab:concrete_railing","","prefab:concrete_railing"} , {"prefab:concrete","prefab:concrete","prefab:concrete"} } }) -- =================================================================== minetest.register_craft ({ output = "prefab:concrete_bench 2", recipe = { {"","",""} , {"","prefab:concrete",""} , {"","prefab:concrete_railing",""} } }) -- =================================================================== minetest.register_craft ({ output = "prefab:concrete_with_grass", type = "shapeless", recipe = {"prefab:concrete","default:junglegrass"} }) -- =================================================================== minetest.register_craft ({ output = "prefab:concrete_with_grass", type = "shapeless", recipe = {"prefab:concrete","default:grass_1"} }) -- =================================================================== minetest.register_craft ({ output = "prefab:concrete_wall 3", recipe = { {"","prefab:concrete",""} , {"","prefab:concrete",""} , {"","prefab:concrete",""} } }) -- =================================================================== minetest.register_craft ({ output = "prefab:concrete_ladder 14", recipe = { {"prefab:concrete","","prefab:concrete"} , {"prefab:concrete","prefab:concrete","prefab:concrete"} , {"prefab:concrete","","prefab:concrete"} } }) -- =================================================================== reg_node ("prefab:electric_fence", { drawtype = "nodebox" , description = "Electric Fence" , tiles = { "prefab_electric_fence.png" } , sunlight_propagates = true , paramtype = "light" , paramtype2 = "facedir" , -- damage_per_second = damage , node_box = { type = "fixed" , fixed = { { -0.500000, 0.062500, -0.062500, 0.500000, 0.187500, 0.062500 } , { -0.500000, -0.250000, -0.062500, 0.500000, -0.125000, 0.062500 } , } , } , is_ground_content = false, drop = "prefab:electric_fence" , groups = { cracky=2 } , }) -- =================================================================== reg_node ("prefab:electric_fence_corner", { drawtype = "nodebox" , description = "Electric Fence Corner" , tiles = { "prefab_electric_fence_corner_top.png" , "prefab_electric_fence_corner_top.png" , "prefab_electric_fence_corner_side1.png" , "prefab_electric_fence_corner_side2.png" , "prefab_electric_fence_corner_side1.png" , "prefab_electric_fence_corner_side2.png" , } , sunlight_propagates = true , paramtype = "light" , paramtype2 = "facedir" , -- damage_per_second = damage , node_box = { type = "fixed" , fixed = { { -0.500000, 0.062500, -0.062500, 0.062500, 0.187500, 0.062500 } , { -0.500000, -0.250000, -0.062500, 0.062500, -0.125000, 0.062500 } , { -0.062500, 0.062500, -0.062500, 0.062500, 0.187500, 0.500000 } , { -0.062500, -0.250000, -0.062500, 0.062500, -0.125000, 0.500000 } , { -0.125000, -0.500000, -0.125000, 0.125000, 0.500000, 0.125000 } , } , } , is_ground_content = false, drop = "prefab:electric_fence_corner", groups = { cracky=2 } , }) -- =================================================================== reg_node ("prefab:electric_fence_end", { drawtype = "nodebox" , description = "Electric Fence End" , tiles = { "prefab_electric_fence_end1.png" , "prefab_electric_fence_end1.png" , "lmb_concrete.png" , "lmb_concrete.png" , "prefab_electric_fence_end2.png" , "prefab_electric_fence_end1.png" , } , paramtype = "light", paramtype2 = "facedir", node_box = { type = "fixed", fixed = { { -0.500000, 0.062500, -0.062500, 0.500000, 0.187500, 0.062500 } , { -0.500000, -0.250000, -0.062500, 0.500000, -0.125000, 0.062500 } , { -0.500000, -0.500000, -0.250000, -0.375000, 0.500000, 0.250000 } , { -0.375000, -0.437500, -0.250000, -0.250000, 0.375000, 0.250000 } , { 0.250000, -0.312500, -0.125000, 0.375000, 0.250000, 0.125000 } , { 0.000000, -0.312500, -0.125000, 0.125000, 0.250000, 0.125000 } , } , } , is_ground_content = false, drop = "prefab:electric_fence_end" , groups = { cracky=2 } , }) -- =================================================================== if type (doors) == "table" then doors.register("door_concrete", { tiles = { "prefab_concrete_block.png^prefab_door_resize.png^[mask:prefab_door_mask.png^prefab_door_overlay.png" } , description = "Concrete Door", inventory_image = "prefab_concrete_block.png^prefab_door_overlay_half.png^[mask:prefab_door_mask_half.png", groups = { snappy=1, cracky=1, oddly_breakable_by_hand=3 } , sounds = default.sound_stone(), recipe = { {"prefab:concrete", "prefab:concrete"} , {"prefab:concrete", "default:steel_ingot"} , {"prefab:concrete", "prefab:concrete"} , } , }) end cvt ("prefab:concrete_door_b" , "doors:door_concrete_b" ) -- =================================================================== -- End of file.