From d979293f1448882e3a2eb0f7a3ecbaaf6b189d36 Mon Sep 17 00:00:00 2001 From: Auke Kok Date: Mon, 14 Dec 2015 21:49:20 -0800 Subject: [PATCH] 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. --- mods/default/functions.lua | 23 +++++++++++++----- mods/default/nodes.lua | 10 ++++---- .../textures/default_fence_acacia_wood.png | Bin 0 -> 232 bytes .../textures/default_fence_aspen_wood.png | Bin 0 -> 450 bytes .../textures/default_fence_junglewood.png | Bin 0 -> 231 bytes .../textures/default_fence_pine_wood.png | Bin 0 -> 233 bytes mods/default/textures/default_fence_wood.png | Bin 0 -> 230 bytes 7 files changed, 22 insertions(+), 11 deletions(-) create mode 100644 mods/default/textures/default_fence_acacia_wood.png create mode 100644 mods/default/textures/default_fence_aspen_wood.png create mode 100644 mods/default/textures/default_fence_junglewood.png create mode 100644 mods/default/textures/default_fence_pine_wood.png create mode 100644 mods/default/textures/default_fence_wood.png diff --git a/mods/default/functions.lua b/mods/default/functions.lua index 29506c40..a85009bf 100644 --- a/mods/default/functions.lua +++ b/mods/default/functions.lua @@ -213,16 +213,27 @@ function default.register_fence(name, def) -- Allow almost everything to be overridden local default_fields = { 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, wield_image = fence_texture, - tiles = { def.texture }, + tiles = {def.texture}, sunlight_propagates = true, is_ground_content = false, - selection_box = { - type = "fixed", - fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, - }, groups = {}, } for k, v in pairs(default_fields) do diff --git a/mods/default/nodes.lua b/mods/default/nodes.lua index 6ebf1a6a..7b03383d 100644 --- a/mods/default/nodes.lua +++ b/mods/default/nodes.lua @@ -1713,7 +1713,7 @@ minetest.register_node("default:ladder_steel", { default.register_fence("default:fence_wood", { description = "Wooden Fence", - texture = "default_wood.png", + texture = "default_fence_wood.png", material = "default:wood", groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, sounds = default.node_sound_wood_defaults() @@ -1721,7 +1721,7 @@ default.register_fence("default:fence_wood", { default.register_fence("default:fence_acacia_wood", { description = "Acacia Fence", - texture = "default_acacia_wood.png", + texture = "default_fence_acacia_wood.png", material = "default:acacia_wood", groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, sounds = default.node_sound_wood_defaults() @@ -1729,7 +1729,7 @@ default.register_fence("default:fence_acacia_wood", { default.register_fence("default:fence_junglewood", { description = "Junglewood Fence", - texture = "default_junglewood.png", + texture = "default_fence_junglewood.png", material = "default:junglewood", groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, sounds = default.node_sound_wood_defaults() @@ -1737,7 +1737,7 @@ default.register_fence("default:fence_junglewood", { default.register_fence("default:fence_pine_wood", { description = "Pine Fence", - texture = "default_pine_wood.png", + texture = "default_fence_pine_wood.png", material = "default:pine_wood", groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, sounds = default.node_sound_wood_defaults() @@ -1745,7 +1745,7 @@ default.register_fence("default:fence_pine_wood", { default.register_fence("default:fence_aspen_wood", { description = "Aspen Fence", - texture = "default_aspen_wood.png", + texture = "default_fence_aspen_wood.png", material = "default:aspen_wood", groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, sounds = default.node_sound_wood_defaults() diff --git a/mods/default/textures/default_fence_acacia_wood.png b/mods/default/textures/default_fence_acacia_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..3b973f34fbaf1d6d9351fe4e24b3da9e614ff666 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnYjZ>9K){rdHk(p>FJJmvd zx|8-yC+#^-TAMxe_xc*|@He{o`^IIU;wDcQ#}JO|qNfeH4mpUhT!>tgG&R(|qW`_v zNzNmeN+-x1a9*-?OZ=1Ny&SJK|K8@|`OLN_^lpu3i^TQZ7mT9Q^weFS?JW6{88U70 zOw-TzOdmfj-w--+#paBn^%fKO&7HDbbWn& z>~rq5xcz!#aWHH4;v<4UQs@N$I!jTrL&C{1)w*OCGJm{71S1e_Lg!BaB=ajz603xV zAGd8CU`^8zsM#R^E1jbbK7o*aQ;Z@Y1z>tK$2O(UyI8t~nw@$X<8a0hTEc!TZBr6X zj#>Zt?Kd`?4N?4|T?ZqY`k5$JgQQYtDXTp99zYI26f1}de^}1 z%cRaybe497Z!;l;?G@|nVc0}B2fY>v>-9S%^Q&P3H);QaF*QNZ4Ov;}Rzj>2%0mBh zV7Kp8sVP@ad^|b#`eT(K7kA$VZ`>u&*%E6Se*OIJeOl=pxv!>M+J*m(Wubc{pU=MZ s`tLp1)^AMhzic}X%EwjFef4ep1?f_*GKfbTk^lez07*qoM6N<$f|}jMmH+?% literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_fence_junglewood.png b/mods/default/textures/default_fence_junglewood.png new file mode 100644 index 0000000000000000000000000000000000000000..c390941ce54ff75c8b4c2b4ffcbbe4fc040f8088 GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnYl@?%-6Jk^qXE9Y~H&f-b z)Znwy;nv?13a2N9MFk!yUWuCMzbcVBms zaK>vZj+c8~ysTe$JowiAWd5bQX$dpTAL!nG=B(7AbNd4GGM(72wj;$aBbFbG=zDkX zO#XEr-TTe@Z633)CYk=5GsTA?B}}mKI7Xa3%Q_ZmbBZJtqYQFvls=l+>`)4-BUj5CiVJH_AX>9fI(u=7R`@MS$ z!tQvx>?+<>x_oZsB-f8G(q1W^C^v|j{JD6ugz~9ntXI0h gRn$^wUH(M--J3)mdKI;Vst02}LGZ2$lO literal 0 HcmV?d00001 diff --git a/mods/default/textures/default_fence_wood.png b/mods/default/textures/default_fence_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..1e76430d2f54f3b259598fb396df4aaf8b30b39e GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnYZOyb<*60=PtXh{~5M-~s zu+F0~*?4ZHYiG7?vbR=yw(ZwzhqeM0H+Z@@hHzXL?Kb2(w_*wCU=;m z*XQ-k{~ai%)VSJcr}BNjhrXKIR?Td@5te)P$>Od29Stwu86PUVs<^v&