--Prefab Redo Mod --Written by cheapie --See LICENSE file for license information minetest.register_alias("prefab:concrete","technic:concrete") minetest.register_alias("prefab:concrete_wall","prefab_redo:concrete_wall") minetest.register_alias("prefab:concrete_with_grass","prefab_redo:concrete_with_grass") minetest.register_alias("prefab:concrete_stair","technic:stair_concrete") minetest.register_alias("prefab:concrete_slab","technic:slab_concrete") minetest.register_alias("prefab:concrete_ladder","prefab_redo:concrete_ladder") minetest.register_alias("prefab:concrete_door_a","doors:door_concrete_a") minetest.register_alias("prefab:concrete_door_b","doors:door_concrete_b") minetest.register_alias("prefab:concrete_fence","prefab_redo:concrete_wall") minetest.register_alias("prefab:concrete_bollard","prefab_redo:concrete_wall") minetest.register_alias("prefab:concrete_railing","prefab_redo:concrete_railing") minetest.register_alias("prefab:concrete_railing_corner","prefab_redo:concrete_railing") minetest.register_alias("prefab:concrete_catwalk","prefab_redo:concrete_catwalk") minetest.register_alias("prefab:concrete_bench","prefab_redo:concrete_bench") stairsplus:register_all("technic","concrete","technic:concrete",{ description = "Concrete", tiles = {"technic_concrete_block.png",}, groups = {cracky=1, level=2, concrete=1}, sounds = default.node_sound_stone_defaults(), }) stairsplus:register_all("technic","blast_resistant_concrete","technic:blast_resistant_concrete",{ description = "Blast-resistant Concrete", tiles = {"technic_blast_resistant_concrete_block.png",}, groups = {cracky=1, level=3, concrete=1}, sounds = default.node_sound_stone_defaults(), on_blast = function(pos, intensity) if intensity > 1 then minetest.remove_node(pos) minetest.add_item(pos, "technic:blast_resistant_concrete") end end, }) minetest.register_node("prefab_redo:concrete_with_grass", { description = "Concrete with Grass", sounds = default.node_sound_glass_defaults(), paramtype = "light", tiles = { "default_grass.png", "technic_concrete_block.png", "technic_concrete_block.png^default_grass_side.png" }, groups = {cracky = 1}, }) minetest.register_node("prefab_redo:concrete_wall", { description = "Concrete Wall", sounds = default.node_sound_stone_defaults(), paramtype = "light", drawtype = "nodebox", tiles = {"technic_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_redo:concrete_wall","prefab_redo: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_redo:concrete_wall" then node_above.name = "prefab_redo:concrete_wall_upper" minetest.swap_node(pos_above,node_above) end if node_below.name == "prefab_redo:concrete_wall" or node_below.name == "prefab_redo:concrete_wall_upper" then node.name = "prefab_redo: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_redo:concrete_wall_upper" then node_above.name = "prefab_redo:concrete_wall" minetest.swap_node(pos_above,node_above) end end, }) minetest.register_node("prefab_redo:concrete_wall_upper", { sounds = default.node_sound_stone_defaults(), paramtype = "light", drawtype = "nodebox", tiles = {"technic_concrete_block.png"}, sunlight_propagates = true, groups = {cracky = 1,not_in_creative_inventory = 1}, drop = "prefab_redo: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_redo:concrete_wall","prefab_redo: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_redo:concrete_wall_upper" then node_above.name = "prefab_redo:concrete_wall" minetest.swap_node(pos_above,node_above) end end, }) minetest.register_node("prefab_redo:concrete_ladder", { description = "Concrete Ladder", drawtype = "signlike", tiles = {"technic_concrete_block.png^[mask:prefab_redo_ladder_mask.png^prefab_redo_ladder_overlay.png"}, inventory_image = "technic_concrete_block.png^[mask:prefab_redo_ladder_mask.png^prefab_redo_ladder_overlay.png", wield_image = "technic_concrete_block.png^[mask:prefab_redo_ladder_mask.png^prefab_redo_ladder_overlay.png", paramtype = "light", paramtype2 = "wallmounted", sunlight_propagates = true, walkable = false, climbable = true, selection_box = { type = "wallmounted", }, groups = {cracky = 2}, sounds = default.node_sound_stone_defaults(), }) doors.register("door_concrete", { tiles = { "technic_concrete_block.png^prefab_redo_door_resize.png^[mask:prefab_redo_door_mask.png^prefab_redo_door_overlay.png" }, description = "Concrete Door", inventory_image = "technic_concrete_block.png^prefab_redo_door_overlay_half.png^[mask:prefab_redo_door_mask_half.png", groups = { snappy=1, cracky=1, oddly_breakable_by_hand=3 }, sounds = default.node_sound_stone_defaults(), recipe = { {"technic:concrete", "technic:concrete"}, {"technic:concrete", "default:steel_ingot"}, {"technic:concrete", "technic:concrete"}, }, }) minetest.register_node("prefab_redo:concrete_railing", { description = "Concrete Railing", sounds = default.node_sound_stone_defaults(), paramtype = "light", drawtype = "nodebox", tiles = {"technic_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_redo:concrete_railing","prefab_redo:concrete_catwalk"} }) minetest.register_node("prefab_redo:concrete_catwalk",{ description= "Concrete Catwalk", paramtype = "light", paramtype2 = "facedir", tiles = {"technic_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}, }) minetest.register_node("prefab_redo:concrete_bench", { description = "Concrete Bench", tiles = {"technic_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}, })