summaryrefslogtreecommitdiff
path: root/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'init.lua')
-rw-r--r--init.lua210
1 files changed, 210 insertions, 0 deletions
diff --git a/init.lua b/init.lua
new file mode 100644
index 0000000..3150a02
--- /dev/null
+++ b/init.lua
@@ -0,0 +1,210 @@
+--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},
+})