diff --git a/mods/beds/api.lua b/mods/beds/api.lua index 9743ebca..4a9c6679 100644 --- a/mods/beds/api.lua +++ b/mods/beds/api.lua @@ -31,6 +31,7 @@ function beds.register_bed(name, def) wield_image = def.wield_image, drawtype = "nodebox", tiles = def.tiles.bottom, + use_texture_alpha = "clip", paramtype = "light", paramtype2 = "facedir", is_ground_content = false, @@ -150,6 +151,7 @@ function beds.register_bed(name, def) minetest.register_node(name .. "_top", { drawtype = "nodebox", tiles = def.tiles.top, + use_texture_alpha = "clip", paramtype = "light", paramtype2 = "facedir", is_ground_content = false, diff --git a/mods/default/functions.lua b/mods/default/functions.lua index 41a943b1..1e46c45e 100644 --- a/mods/default/functions.lua +++ b/mods/default/functions.lua @@ -463,6 +463,7 @@ function default.register_mesepost(name, def) }, paramtype = "light", tiles = {def.texture, def.texture, post_texture_dark, post_texture_dark, post_texture, post_texture}, + use_texture_alpha = "opaque", light_source = default.LIGHT_MAX, sunlight_propagates = true, is_ground_content = false, diff --git a/mods/default/nodes.lua b/mods/default/nodes.lua index a8fda537..1358c706 100644 --- a/mods/default/nodes.lua +++ b/mods/default/nodes.lua @@ -2213,7 +2213,7 @@ minetest.register_node("default:water_source", { }, }, }, - alpha = 191, + use_texture_alpha = "blend", paramtype = "light", walkable = false, pointable = false, @@ -2258,7 +2258,7 @@ minetest.register_node("default:water_flowing", { }, }, }, - alpha = 191, + use_texture_alpha = "blend", paramtype = "light", paramtype2 = "flowingliquid", walkable = false, @@ -2304,7 +2304,7 @@ minetest.register_node("default:river_water_source", { }, }, }, - alpha = 160, + use_texture_alpha = "blend", paramtype = "light", walkable = false, pointable = false, @@ -2354,7 +2354,7 @@ minetest.register_node("default:river_water_flowing", { }, }, }, - alpha = 160, + use_texture_alpha = "blend", paramtype = "light", paramtype2 = "flowingliquid", walkable = false, @@ -2578,6 +2578,7 @@ local function register_sign(material, desc, def) sunlight_propagates = true, is_ground_content = false, walkable = false, + use_texture_alpha = "opaque", node_box = { type = "wallmounted", wall_top = {-0.4375, 0.4375, -0.3125, 0.4375, 0.5, 0.3125}, @@ -2799,6 +2800,7 @@ minetest.register_node("default:glass", { description = S("Glass"), drawtype = "glasslike_framed_optional", tiles = {"default_glass.png", "default_glass_detail.png"}, + use_texture_alpha = "clip", -- only needed for stairs API paramtype = "light", paramtype2 = "glasslikeliquidlevel", sunlight_propagates = true, @@ -2811,6 +2813,7 @@ minetest.register_node("default:obsidian_glass", { description = S("Obsidian Glass"), drawtype = "glasslike_framed_optional", tiles = {"default_obsidian_glass.png", "default_obsidian_glass_detail.png"}, + use_texture_alpha = "clip", -- only needed for stairs API paramtype = "light", paramtype2 = "glasslikeliquidlevel", is_ground_content = false, diff --git a/mods/default/textures/default_river_water.png b/mods/default/textures/default_river_water.png index 3b55c5f6..be57575b 100644 Binary files a/mods/default/textures/default_river_water.png and b/mods/default/textures/default_river_water.png differ diff --git a/mods/default/textures/default_river_water_flowing_animated.png b/mods/default/textures/default_river_water_flowing_animated.png index 536acc53..df5818b4 100644 Binary files a/mods/default/textures/default_river_water_flowing_animated.png and b/mods/default/textures/default_river_water_flowing_animated.png differ diff --git a/mods/default/textures/default_river_water_source_animated.png b/mods/default/textures/default_river_water_source_animated.png index daa5653f..560078ee 100644 Binary files a/mods/default/textures/default_river_water_source_animated.png and b/mods/default/textures/default_river_water_source_animated.png differ diff --git a/mods/default/textures/default_water.png b/mods/default/textures/default_water.png index 00500e9b..47253db5 100644 Binary files a/mods/default/textures/default_water.png and b/mods/default/textures/default_water.png differ diff --git a/mods/default/textures/default_water_flowing_animated.png b/mods/default/textures/default_water_flowing_animated.png index 070d7971..0dc0ef9f 100644 Binary files a/mods/default/textures/default_water_flowing_animated.png and b/mods/default/textures/default_water_flowing_animated.png differ diff --git a/mods/default/textures/default_water_source_animated.png b/mods/default/textures/default_water_source_animated.png index 7e7f9ff1..8041b036 100644 Binary files a/mods/default/textures/default_water_source_animated.png and b/mods/default/textures/default_water_source_animated.png differ diff --git a/mods/default/torch.lua b/mods/default/torch.lua index c06dee8f..a19f5314 100644 --- a/mods/default/torch.lua +++ b/mods/default/torch.lua @@ -29,6 +29,7 @@ minetest.register_node("default:torch", { name = "default_torch_on_floor_animated.png", animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} }}, + use_texture_alpha = "clip", paramtype = "light", paramtype2 = "wallmounted", sunlight_propagates = true, @@ -81,6 +82,7 @@ minetest.register_node("default:torch_wall", { name = "default_torch_on_floor_animated.png", animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} }}, + use_texture_alpha = "clip", paramtype = "light", paramtype2 = "wallmounted", sunlight_propagates = true, @@ -105,6 +107,7 @@ minetest.register_node("default:torch_ceiling", { name = "default_torch_on_floor_animated.png", animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} }}, + use_texture_alpha = "clip", paramtype = "light", paramtype2 = "wallmounted", sunlight_propagates = true, diff --git a/mods/doors/init.lua b/mods/doors/init.lua index 4400f374..0e1eaee6 100644 --- a/mods/doors/init.lua +++ b/mods/doors/init.lua @@ -436,6 +436,7 @@ function doors.register(name, def) def.buildable_to = false def.selection_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,3/2,-6/16}} def.collision_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,3/2,-6/16}} + def.use_texture_alpha = "clip" def.mesh = "door_a.obj" minetest.register_node(":" .. name .. "_a", def) @@ -581,6 +582,7 @@ function doors.register_trapdoor(name, def) def.paramtype = "light" def.paramtype2 = "facedir" def.is_ground_content = false + def.use_texture_alpha = "clip" if def.protected then def.can_dig = can_dig_door diff --git a/mods/flowers/init.lua b/mods/flowers/init.lua index 676d634b..a52847fd 100644 --- a/mods/flowers/init.lua +++ b/mods/flowers/init.lua @@ -279,6 +279,7 @@ local waterlily_def = { tiles = {"flowers_waterlily.png", "flowers_waterlily_bottom.png"}, inventory_image = "flowers_waterlily.png", wield_image = "flowers_waterlily.png", + use_texture_alpha = "clip", liquids_pointable = true, walkable = false, buildable_to = true, diff --git a/mods/stairs/init.lua b/mods/stairs/init.lua index 96089996..89e0d24a 100644 --- a/mods/stairs/init.lua +++ b/mods/stairs/init.lua @@ -63,6 +63,8 @@ end function stairs.register_stair(subname, recipeitem, groups, images, description, sounds, worldaligntex) + local src_def = minetest.registered_nodes[recipeitem] + -- Set backface culling and world-aligned textures local stair_images = {} for i, image in ipairs(images) do @@ -91,6 +93,7 @@ function stairs.register_stair(subname, recipeitem, groups, images, description, description = description, drawtype = "nodebox", tiles = stair_images, + use_texture_alpha = src_def and src_def.use_texture_alpha, paramtype = "light", paramtype2 = "facedir", is_ground_content = false, @@ -162,6 +165,8 @@ end function stairs.register_slab(subname, recipeitem, groups, images, description, sounds, worldaligntex) + local src_def = minetest.registered_nodes[recipeitem] + -- Set world-aligned textures local slab_images = {} for i, image in ipairs(images) do @@ -186,6 +191,7 @@ function stairs.register_slab(subname, recipeitem, groups, images, description, description = description, drawtype = "nodebox", tiles = slab_images, + use_texture_alpha = src_def and src_def.use_texture_alpha, paramtype = "light", paramtype2 = "facedir", is_ground_content = false, @@ -297,6 +303,8 @@ end function stairs.register_stair_inner(subname, recipeitem, groups, images, description, sounds, worldaligntex, full_description) + local src_def = minetest.registered_nodes[recipeitem] + -- Set backface culling and world-aligned textures local stair_images = {} for i, image in ipairs(images) do @@ -330,6 +338,7 @@ function stairs.register_stair_inner(subname, recipeitem, groups, images, description = description, drawtype = "nodebox", tiles = stair_images, + use_texture_alpha = src_def and src_def.use_texture_alpha, paramtype = "light", paramtype2 = "facedir", is_ground_content = false, @@ -384,6 +393,8 @@ end function stairs.register_stair_outer(subname, recipeitem, groups, images, description, sounds, worldaligntex, full_description) + local src_def = minetest.registered_nodes[recipeitem] + -- Set backface culling and world-aligned textures local stair_images = {} for i, image in ipairs(images) do @@ -417,6 +428,7 @@ function stairs.register_stair_outer(subname, recipeitem, groups, images, description = description, drawtype = "nodebox", tiles = stair_images, + use_texture_alpha = src_def and src_def.use_texture_alpha, paramtype = "light", paramtype2 = "facedir", is_ground_content = false, diff --git a/mods/weather/init.lua b/mods/weather/init.lua index 3b9a305a..9e10d893 100644 --- a/mods/weather/init.lua +++ b/mods/weather/init.lua @@ -88,7 +88,8 @@ local function update_clouds() local n_speedz = nobj_speedz:get_2d({x = time, y = 0}) -- -1 to 1 for _, player in ipairs(minetest.get_connected_players()) do - local humid = minetest.get_humidity(player:get_pos()) + -- Fallback to mid-value 50 for very old worlds + local humid = minetest.get_humidity(player:get_pos()) or 50 -- Default and classic density value is 0.4, make this happen -- at humidity midvalue 50 when n_density is at midvalue 0.5. -- density_max = 0.25 at humid = 0. diff --git a/mods/xpanes/init.lua b/mods/xpanes/init.lua index e195dbbc..a2398dab 100644 --- a/mods/xpanes/init.lua +++ b/mods/xpanes/init.lua @@ -116,7 +116,7 @@ function xpanes.register_pane(name, def) groups = flatgroups, drop = "xpanes:" .. name .. "_flat", sounds = def.sounds, - use_texture_alpha = def.use_texture_alpha or false, + use_texture_alpha = def.use_texture_alpha and "blend" or "clip", node_box = { type = "fixed", fixed = {{-1/2, -1/2, -1/32, 1/2, 1/2, 1/32}}, @@ -145,7 +145,7 @@ function xpanes.register_pane(name, def) groups = groups, drop = "xpanes:" .. name .. "_flat", sounds = def.sounds, - use_texture_alpha = def.use_texture_alpha or false, + use_texture_alpha = def.use_texture_alpha and "blend" or "clip", node_box = { type = "connected", fixed = {{-1/32, -1/2, -1/32, 1/32, 1/2, 1/32}},