mirror of
https://github.com/mt-mods/homedecor_modpack.git
synced 2025-07-27 17:30:17 +02:00
split signs_lib from homedecor, put them into their own separate mods
package the two together as a modpack so that regular homedecor users don't see a functional change, but others can take signs_lib and use it as a standalone mod. also get rid of some *~ files
This commit is contained in:
443
homedecor/fences.lua
Normal file
443
homedecor/fences.lua
Normal file
@ -0,0 +1,443 @@
|
||||
-- This file adds fences of various types
|
||||
|
||||
local S = homedecor.gettext
|
||||
|
||||
minetest.register_node("homedecor:fence_brass", {
|
||||
description = S("Brass Fence/railing"),
|
||||
drawtype = "fencelike",
|
||||
tiles = {"homedecor_tile_brass.png"},
|
||||
inventory_image = "homedecor_fence_brass.png",
|
||||
wield_image = "homedecor_pole_brass.png",
|
||||
paramtype = "light",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7},
|
||||
},
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
walkable = true,
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:fence_wrought_iron", {
|
||||
description = S("Wrought Iron Fence/railing"),
|
||||
drawtype = "fencelike",
|
||||
tiles = {"homedecor_tile_wrought_iron.png"},
|
||||
inventory_image = "homedecor_fence_wrought_iron.png",
|
||||
wield_image = "homedecor_pole_wrought_iron.png",
|
||||
paramtype = "light",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7},
|
||||
},
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
walkable = true,
|
||||
})
|
||||
|
||||
-- brass/wrought iron with signs:
|
||||
|
||||
minetest.register_node("homedecor:fence_brass_with_sign", {
|
||||
description = S("Brass Fence/railing with sign"),
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
"homedecor_sign_brass_post_top.png",
|
||||
"homedecor_sign_brass_post_bottom.png",
|
||||
"homedecor_sign_brass_post_side.png",
|
||||
"homedecor_sign_brass_post_side.png",
|
||||
"homedecor_sign_brass_post_back.png",
|
||||
"homedecor_sign_brass_post_front.png",
|
||||
},
|
||||
wield_image = "homedecor_sign_brass_post.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.125, -0.5, -0.125, 0.125, 0.5, 0.125 },
|
||||
{ -0.45, -0.1875, -0.225, 0.45, 0.4375, -0.125 },
|
||||
}
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.125, -0.5, -0.125, 0.125, 0.5, 0.125 },
|
||||
{ -0.45, -0.1875, -0.225, 0.45, 0.4375, -0.125 },
|
||||
}
|
||||
},
|
||||
groups = {snappy=3,not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
walkable = true,
|
||||
drop = {
|
||||
max_items = 2,
|
||||
items = {
|
||||
{ items = { "default:sign_wall" }},
|
||||
{ items = { "homedecor:fence_brass" }},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:fence_wrought_iron_with_sign", {
|
||||
description = S("Wrought Iron Fence/railing with sign"),
|
||||
drawtype = "nodebox",
|
||||
tiles = {
|
||||
"homedecor_sign_wrought_iron_post_top.png",
|
||||
"homedecor_sign_wrought_iron_post_bottom.png",
|
||||
"homedecor_sign_wrought_iron_post_side.png",
|
||||
"homedecor_sign_wrought_iron_post_side.png",
|
||||
"homedecor_sign_wrought_iron_post_back.png",
|
||||
"homedecor_sign_wrought_iron_post_front.png",
|
||||
},
|
||||
wield_image = "homedecor_sign_wrought_iron_post.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.125, -0.5, -0.125, 0.125, 0.5, 0.125 },
|
||||
{ -0.45, -0.1875, -0.225, 0.45, 0.4375, -0.125 },
|
||||
}
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.125, -0.5, -0.125, 0.125, 0.5, 0.125 },
|
||||
{ -0.45, -0.1875, -0.225, 0.45, 0.4375, -0.125 },
|
||||
}
|
||||
},
|
||||
groups = {snappy=3,not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
walkable = true,
|
||||
drop = {
|
||||
max_items = 2,
|
||||
items = {
|
||||
{ items = { "default:sign_wall" }},
|
||||
{ items = { "homedecor:fence_wrought_iron" }},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- other types of fences
|
||||
|
||||
minetest.register_node("homedecor:fence_picket", {
|
||||
drawtype = "nodebox",
|
||||
description = S("Unpainted Picket Fence"),
|
||||
tiles = {
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_fence_picket.png",
|
||||
"homedecor_fence_picket.png",
|
||||
"homedecor_fence_picket_backside.png",
|
||||
"homedecor_fence_picket.png"
|
||||
},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
walkable = true,
|
||||
paramtype2 = "facedir",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 }
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, 0.498, 0.5, 0.5, 0.498 }
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:fence_picket_corner", {
|
||||
drawtype = "nodebox",
|
||||
description = S("Unpainted Picket Fence Corner"),
|
||||
tiles = {
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_fence_picket.png",
|
||||
"homedecor_fence_picket_backside.png",
|
||||
"homedecor_fence_picket_backside.png",
|
||||
"homedecor_fence_picket.png",
|
||||
},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
walkable = true,
|
||||
paramtype2 = "facedir",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 },
|
||||
{ -0.5, -0.5, -0.5, -0.4, 0.5, 0.4 }
|
||||
}
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.5, -0.5, 0.498, 0.5, 0.5, 0.5 },
|
||||
{ -0.5, -0.5, -0.5, -0.498, 0.5, 0.5 }
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:fence_picket_white", {
|
||||
drawtype = "nodebox",
|
||||
description = S("White Picket Fence"),
|
||||
tiles = {
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_fence_picket_white.png",
|
||||
"homedecor_fence_picket_white.png",
|
||||
"homedecor_fence_picket_white_backside.png",
|
||||
"homedecor_fence_picket_white.png"
|
||||
},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
walkable = true,
|
||||
paramtype2 = "facedir",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 }
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, 0.498, 0.5, 0.5, 0.498 }
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:fence_picket_corner_white", {
|
||||
drawtype = "nodebox",
|
||||
description = S("White Picket Fence Corner"),
|
||||
tiles = {
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_blanktile.png",
|
||||
"homedecor_fence_picket_white.png",
|
||||
"homedecor_fence_picket_white_backside.png",
|
||||
"homedecor_fence_picket_white_backside.png",
|
||||
"homedecor_fence_picket_white.png",
|
||||
},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
walkable = true,
|
||||
paramtype2 = "facedir",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 },
|
||||
{ -0.5, -0.5, -0.5, -0.4, 0.5, 0.4 }
|
||||
}
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.5, -0.5, 0.498, 0.5, 0.5, 0.5 },
|
||||
{ -0.5, -0.5, -0.5, -0.498, 0.5, 0.5 }
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:fence_privacy", {
|
||||
drawtype = "nodebox",
|
||||
description = S("Wooden Privacy Fence"),
|
||||
tiles = {
|
||||
"homedecor_fence_privacy_tb.png",
|
||||
"homedecor_fence_privacy_tb.png",
|
||||
"homedecor_fence_privacy_sides.png",
|
||||
"homedecor_fence_privacy_sides.png",
|
||||
"homedecor_fence_privacy_backside.png",
|
||||
"homedecor_fence_privacy_front.png"
|
||||
},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
walkable = true,
|
||||
paramtype2 = "facedir",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, 5/16, 0.5, 0.5, 8/16 }
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -8/16, -8/16, 5/16, -5/16, 8/16, 7/16 }, -- left part
|
||||
{ -4/16, -8/16, 5/16, 3/16, 8/16, 7/16 }, -- middle part
|
||||
{ 4/16, -8/16, 5/16, 8/16, 8/16, 7/16 }, -- right part
|
||||
{ -8/16, -2/16, 7/16, 8/16, 2/16, 8/16 }, -- connecting rung
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:fence_privacy_corner", {
|
||||
drawtype = "nodebox",
|
||||
description = S("Wooden Privacy Fence"),
|
||||
tiles = {
|
||||
"homedecor_fence_privacy_corner_top.png",
|
||||
"homedecor_fence_privacy_corner_bottom.png",
|
||||
"homedecor_fence_privacy_corner_right.png",
|
||||
"homedecor_fence_privacy_backside2.png",
|
||||
"homedecor_fence_privacy_backside.png",
|
||||
"homedecor_fence_privacy_corner_front.png"
|
||||
},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
walkable = true,
|
||||
paramtype2 = "facedir",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.5, -0.5, 5/16, 0.5, 0.5, 0.5 },
|
||||
{ -0.5, -0.5, -0.5, -5/16, 0.5, 5/16 },
|
||||
}
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -7/16, -8/16, 5/16, -5/16, 8/16, 7/16 }, -- left part
|
||||
{ -4/16, -8/16, 5/16, 3/16, 8/16, 7/16 }, -- middle part
|
||||
{ 4/16, -8/16, 5/16, 8/16, 8/16, 7/16 }, -- right part
|
||||
{ -8/16, -2/16, 7/16, 8/16, 2/16, 8/16 }, -- back-side connecting rung
|
||||
|
||||
{ -7/16, -8/16, 4/16, -5/16, 8/16, 7/16 }, -- back-most part
|
||||
{ -7/16, -8/16, -4/16, -5/16, 8/16, 3/16 }, -- middle part
|
||||
{ -7/16, -8/16, -8/16, -5/16, 8/16, -5/16 }, -- front-most part
|
||||
{ -8/16, -2/16, -8/16, -7/16, 2/16, 7/16 }, -- left-side connecting rung
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:fence_barbed_wire", {
|
||||
drawtype = "nodebox",
|
||||
description = S("Barbed Wire Fence"),
|
||||
tiles = {"homedecor_fence_barbed_wire.png"},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
walkable = true,
|
||||
paramtype2 = "facedir",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, 0.375, 0.5, 0.5, 0.5 }
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, -- left post
|
||||
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
||||
{ -6/16, -8/16, 7/16, 6/16, 8/16, 7/16 } -- the wire
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:fence_barbed_wire_corner", {
|
||||
drawtype = "nodebox",
|
||||
description = S("Barbed Wire Fence"),
|
||||
tiles = {
|
||||
"homedecor_fence_barbed_wire.png"
|
||||
},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
walkable = true,
|
||||
paramtype2 = "facedir",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.5, -0.5, 0.375, 0.5, 0.5, 0.5 },
|
||||
{ -0.5, -0.5, -0.5, -0.375, 0.5, 0.375 }
|
||||
}
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, -- left post
|
||||
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
||||
{ -6/16, -8/16, 7/16, 6/16, 8/16, 7/16 }, -- the wire
|
||||
|
||||
{ -8/16, -8/16, -8/16, -6/16, 8/16, -6/16 }, -- front post
|
||||
{ -7/16, -8/16, -6/16, -7/16, 8/16, 6/16 } -- more wire
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:fence_chainlink", {
|
||||
drawtype = "nodebox",
|
||||
description = S("Chainlink Fence"),
|
||||
tiles = {
|
||||
"homedecor_fence_chainlink_tb.png",
|
||||
"homedecor_fence_chainlink_tb.png",
|
||||
"homedecor_fence_chainlink_sides.png",
|
||||
"homedecor_fence_chainlink_sides.png",
|
||||
"homedecor_fence_chainlink_fb.png",
|
||||
"homedecor_fence_chainlink_fb.png",
|
||||
},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
walkable = true,
|
||||
paramtype2 = "facedir",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, 0.375, 0.5, 0.5, 0.5 }
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -8/16, -8/16, 6/16, -7/16, 8/16, 8/16 }, -- left post
|
||||
{ 7/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
||||
{ -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece
|
||||
{ -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece
|
||||
{ -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 } -- the chainlink itself
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_node("homedecor:fence_chainlink_corner", {
|
||||
drawtype = "nodebox",
|
||||
description = "Chainlink Fence",
|
||||
tiles = {
|
||||
"homedecor_fence_chainlink_corner_top.png",
|
||||
"homedecor_fence_chainlink_corner_bottom.png",
|
||||
"homedecor_fence_chainlink_corner_left.png",
|
||||
"homedecor_fence_chainlink_corner_right.png",
|
||||
"homedecor_fence_chainlink_corner_front.png",
|
||||
"homedecor_fence_chainlink_corner_back.png",
|
||||
},
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
walkable = true,
|
||||
paramtype2 = "facedir",
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -0.5, -0.5, 0.375, 0.5, 0.5, 0.5 },
|
||||
{ -0.5, -0.5, -0.5, -0.375, 0.5, 0.375 }
|
||||
}
|
||||
},
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, -- left post, rear
|
||||
{ -8/16, -8/16, -8/16, -6/16, 8/16, -7/16 }, -- left post, front
|
||||
{ 7/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post, rear
|
||||
{ -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece, rear
|
||||
{ -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece, rear
|
||||
{ -15/32, 7/16, -8/16, -13/32, 8/16, 8/16 }, -- top piece, side
|
||||
{ -15/32, -8/16, -8/16, -13/32, -7/16, 8/16 }, -- bottom piece, side
|
||||
{ -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }, -- the chainlink itself, rear
|
||||
{ -7/16, -8/16, -8/16, -7/16, 8/16, 8/16 } -- the chainlink itself, side
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
signs_lib.register_fence_with_sign("homedecor:fence_brass", "homedecor:fence_brass_with_sign")
|
||||
signs_lib.register_fence_with_sign("homedecor:fence_wrought_iron", "homedecor:fence_wrought_iron_with_sign")
|
Reference in New Issue
Block a user