Convert fences to NDT_CONNECTED.
This changes the drawtype of fences to NDT_CONNECTED nodebox drawtype. These nodes are drawn by the client with the needed connections on the fly as the scene is drawn. There is no logic needed by mods to modify the nodes. These fences connect to (1) other fences, (2) planks and (3) tree trunks, but nothing else. They do not connect to stone, dirt, wool, etc. This is done by the "connects_to" parameter, which takes groups and node names. Due to the way textures are wrapped, we can make these nodes look a lot better by giving them a special tile. This change requires minetest/minetest#3503.
This commit is contained in:
parent
676822d286
commit
d979293f14
@ -213,16 +213,27 @@ function default.register_fence(name, def)
|
|||||||
-- Allow almost everything to be overridden
|
-- Allow almost everything to be overridden
|
||||||
local default_fields = {
|
local default_fields = {
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
drawtype = "fencelike",
|
drawtype = "nodebox",
|
||||||
|
node_box = {
|
||||||
|
type = "connected",
|
||||||
|
fixed = {{-1/8, -1/2, -1/8, 1/8, 1/2, 1/8}},
|
||||||
|
-- connect_top =
|
||||||
|
-- connect_bottom =
|
||||||
|
connect_front = {{-1/16,3/16,-1/2,1/16,5/16,-1/8},
|
||||||
|
{-1/16,-5/16,-1/2,1/16,-3/16,-1/8}},
|
||||||
|
connect_left = {{-1/2,3/16,-1/16,-1/8,5/16,1/16},
|
||||||
|
{-1/2,-5/16,-1/16,-1/8,-3/16,1/16}},
|
||||||
|
connect_back = {{-1/16,3/16,1/8,1/16,5/16,1/2},
|
||||||
|
{-1/16,-5/16,1/8,1/16,-3/16,1/2}},
|
||||||
|
connect_right = {{1/8,3/16,-1/16,1/2,5/16,1/16},
|
||||||
|
{1/8,-5/16,-1/16,1/2,-3/16,1/16}},
|
||||||
|
},
|
||||||
|
connects_to = {"group:fence", "group:wood", "group:tree"},
|
||||||
inventory_image = fence_texture,
|
inventory_image = fence_texture,
|
||||||
wield_image = fence_texture,
|
wield_image = fence_texture,
|
||||||
tiles = { def.texture },
|
tiles = {def.texture},
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
selection_box = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7},
|
|
||||||
},
|
|
||||||
groups = {},
|
groups = {},
|
||||||
}
|
}
|
||||||
for k, v in pairs(default_fields) do
|
for k, v in pairs(default_fields) do
|
||||||
|
@ -1713,7 +1713,7 @@ minetest.register_node("default:ladder_steel", {
|
|||||||
|
|
||||||
default.register_fence("default:fence_wood", {
|
default.register_fence("default:fence_wood", {
|
||||||
description = "Wooden Fence",
|
description = "Wooden Fence",
|
||||||
texture = "default_wood.png",
|
texture = "default_fence_wood.png",
|
||||||
material = "default:wood",
|
material = "default:wood",
|
||||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||||
sounds = default.node_sound_wood_defaults()
|
sounds = default.node_sound_wood_defaults()
|
||||||
@ -1721,7 +1721,7 @@ default.register_fence("default:fence_wood", {
|
|||||||
|
|
||||||
default.register_fence("default:fence_acacia_wood", {
|
default.register_fence("default:fence_acacia_wood", {
|
||||||
description = "Acacia Fence",
|
description = "Acacia Fence",
|
||||||
texture = "default_acacia_wood.png",
|
texture = "default_fence_acacia_wood.png",
|
||||||
material = "default:acacia_wood",
|
material = "default:acacia_wood",
|
||||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||||
sounds = default.node_sound_wood_defaults()
|
sounds = default.node_sound_wood_defaults()
|
||||||
@ -1729,7 +1729,7 @@ default.register_fence("default:fence_acacia_wood", {
|
|||||||
|
|
||||||
default.register_fence("default:fence_junglewood", {
|
default.register_fence("default:fence_junglewood", {
|
||||||
description = "Junglewood Fence",
|
description = "Junglewood Fence",
|
||||||
texture = "default_junglewood.png",
|
texture = "default_fence_junglewood.png",
|
||||||
material = "default:junglewood",
|
material = "default:junglewood",
|
||||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||||
sounds = default.node_sound_wood_defaults()
|
sounds = default.node_sound_wood_defaults()
|
||||||
@ -1737,7 +1737,7 @@ default.register_fence("default:fence_junglewood", {
|
|||||||
|
|
||||||
default.register_fence("default:fence_pine_wood", {
|
default.register_fence("default:fence_pine_wood", {
|
||||||
description = "Pine Fence",
|
description = "Pine Fence",
|
||||||
texture = "default_pine_wood.png",
|
texture = "default_fence_pine_wood.png",
|
||||||
material = "default:pine_wood",
|
material = "default:pine_wood",
|
||||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||||
sounds = default.node_sound_wood_defaults()
|
sounds = default.node_sound_wood_defaults()
|
||||||
@ -1745,7 +1745,7 @@ default.register_fence("default:fence_pine_wood", {
|
|||||||
|
|
||||||
default.register_fence("default:fence_aspen_wood", {
|
default.register_fence("default:fence_aspen_wood", {
|
||||||
description = "Aspen Fence",
|
description = "Aspen Fence",
|
||||||
texture = "default_aspen_wood.png",
|
texture = "default_fence_aspen_wood.png",
|
||||||
material = "default:aspen_wood",
|
material = "default:aspen_wood",
|
||||||
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
||||||
sounds = default.node_sound_wood_defaults()
|
sounds = default.node_sound_wood_defaults()
|
||||||
|
BIN
mods/default/textures/default_fence_acacia_wood.png
Normal file
BIN
mods/default/textures/default_fence_acacia_wood.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 232 B |
BIN
mods/default/textures/default_fence_aspen_wood.png
Normal file
BIN
mods/default/textures/default_fence_aspen_wood.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 450 B |
BIN
mods/default/textures/default_fence_junglewood.png
Normal file
BIN
mods/default/textures/default_fence_junglewood.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 231 B |
BIN
mods/default/textures/default_fence_pine_wood.png
Normal file
BIN
mods/default/textures/default_fence_pine_wood.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 233 B |
BIN
mods/default/textures/default_fence_wood.png
Normal file
BIN
mods/default/textures/default_fence_wood.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 230 B |
Loading…
Reference in New Issue
Block a user