From 74a95e559e0b0dd5bf533bc50e6f3d35b4180bf9 Mon Sep 17 00:00:00 2001 From: HybridDog <3192173+HybridDog@users.noreply.github.com> Date: Thu, 8 Apr 2021 18:44:29 +0200 Subject: [PATCH 1/2] Use opaque use_texture_alpha for the timegate and dual_delayer (#20) * Use opaque use_texture_alpha for the timegate and dual_delayer This avoids warnings shown by Minetest and improves the nodes' look when a bilinear filter is enabled. Since the textures are also used as inventory images, I didn't remove the transparency from the texture files. --- moremesecons_dual_delayer/init.lua | 5 +++++ moremesecons_timegate/init.lua | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/moremesecons_dual_delayer/init.lua b/moremesecons_dual_delayer/init.lua index d4a9818..6cfb9d4 100644 --- a/moremesecons_dual_delayer/init.lua +++ b/moremesecons_dual_delayer/init.lua @@ -58,6 +58,10 @@ for n,i in pairs({{0,0},{1,0},{1,1}}) do top_texture = pre..top_texture end + local use_texture_alpha + if minetest.features.use_texture_alpha_string_modes then + use_texture_alpha = "opaque" + end minetest.register_node("moremesecons_dual_delayer:dual_delayer_"..i1 ..i2, { description = "Dual Delayer", drop = "moremesecons_dual_delayer:dual_delayer_00", @@ -74,6 +78,7 @@ for n,i in pairs({{0,0},{1,0},{1,1}}) do }, groups = groups, tiles = {top_texture, "moremesecons_dual_delayer_bottom.png", "moremesecons_dual_delayer_side_left.png", "moremesecons_dual_delayer_side_right.png", "moremesecons_dual_delayer_ends.png", "moremesecons_dual_delayer_ends.png"}, + use_texture_alpha = use_texture_alpha, mesecons = { receptor = { state = mesecon.state.off, diff --git a/moremesecons_timegate/init.lua b/moremesecons_timegate/init.lua index da614c4..2920a90 100644 --- a/moremesecons_timegate/init.lua +++ b/moremesecons_timegate/init.lua @@ -47,6 +47,10 @@ local boxes = {{ -6/16, -8/16, -6/16, 6/16, -7/16, 6/16 }, -- the main slab { -8/16, -8/16, -1/16, -6/16, -7/16, 1/16 }, -- the two wire stubs { 6/16, -8/16, -1/16, 8/16, -7/16, 1/16 }} +local use_texture_alpha +if minetest.features.use_texture_alpha_string_modes then + use_texture_alpha = "opaque" +end mesecon.register_node("moremesecons_timegate:timegate", { description = "Time Gate", drawtype = "nodebox", @@ -84,6 +88,7 @@ mesecon.register_node("moremesecons_timegate:timegate", { "moremesecons_timegate_sides_off.png", "moremesecons_timegate_sides_off.png" }, + use_texture_alpha = use_texture_alpha, groups = {bendy=2,snappy=1,dig_immediate=2}, mesecons = { receptor = @@ -106,6 +111,7 @@ mesecon.register_node("moremesecons_timegate:timegate", { "moremesecons_timegate_sides_on.png", "moremesecons_timegate_sides_on.png" }, + use_texture_alpha = use_texture_alpha, groups = {bendy=2,snappy=1,dig_immediate=2, not_in_creative_inventory=1}, mesecons = { receptor = { From 1dab017abe17bcbabf9ee7f19e87896e91387010 Mon Sep 17 00:00:00 2001 From: sys4-fr Date: Wed, 14 Apr 2021 16:21:16 +0200 Subject: [PATCH 2/2] Fix possible crash and wireless receptors in unloaded map blocks (#22) Co-authored-by: sys4 --- moremesecons_wireless/init.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/moremesecons_wireless/init.lua b/moremesecons_wireless/init.lua index 28623ed..9c887df 100644 --- a/moremesecons_wireless/init.lua +++ b/moremesecons_wireless/init.lua @@ -262,6 +262,9 @@ local function on_digiline_receive(pos, node, channel, msg) end local wls = moremesecons.get_data_from_pos(wireless_meta, pos) + if not wls then + return + end if wls.owner == "" or not wireless[wls.owner] or channel == "" or not wireless[wls.owner][wls.channel] then return @@ -274,7 +277,7 @@ local function on_digiline_receive(pos, node, channel, msg) sending_digilines[pos_hash] = true for i, wl_pos in pairs(wireless[wls.owner][wls.channel].members) do - if i ~= wls.id and check_wireless_exists(wl_pos) then + if i ~= wls.id then digiline:receptor_send(wl_pos, digiline.rules.default, channel, msg) end end