From db4ff13aeba622f69ceb1263460095213d2cc2ab Mon Sep 17 00:00:00 2001 From: ancientmarinerdev Date: Wed, 15 Feb 2023 00:30:01 +0000 Subject: [PATCH 1/6] Document hotfix release process --- RELEASE.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/RELEASE.md b/RELEASE.md index 23ba00336..144e1729a 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,3 +1,5 @@ +### Standard Release + #File to document release steps with a view to evolving into a script #Update CREDITS.md @@ -19,4 +21,55 @@ git push origin 0.82.0 #Update version in game.conf to -SNAPSHOT -git commit -m "Post-release set version 0.82.0-SNAPSHOT" \ No newline at end of file +git commit -m "Post-release set version 0.82.0-SNAPSHOT" + +### Hotfix Release + +##### Prepare release branch + +When hotfixing, you should never release new features. Any new code increases risk of new bugs which has additional testing/release concerns. +To mitigate this, you just release the last release, and the relevant bug fix. For this, we do the following: + +* Create release branch from the last release tag, push it: + +git checkout -b release/0.82.1 0.82.0 + +git push origin release/0.82.1 + +##### Prepare feature branch and fix + +* Create feature branch from that release branch (can review it to check only fix is there, nothing else, and use to also merge into master separately) + +git checkout -b hotfix_bug_1_branch + +* Fix crash/serious bug and commit +* Push branch and create pr to the release and also the master branch (Do not rebase, to reduce merge conflict risk. Do not delete after first merge or it needs to be repushed) + +##### Update version and tag the release + +* After all fixes are in release branch, pull it locally (best to avoid a merge conflict as feature branch will need to be merged into master also, which already changed version): + +* Update version in game.conf to hotfix version and commit it. Example: version=0.82.1 + +* Tag it, push tag and branch: + +git tag 0.82.1 + +git push origin 0.82.1 + +git push origin release/0.82.1 + +Note: If you have to do more than 1 hotfix release, can do it on the same release branch. + +### Release via ContentDB + +* Go to MineClone2 page (https://content.minetest.net/packages/Wuzzy/mineclone2/) +* Click +Release +* Enter the release tag number in the title and Git reference box. For example (without quotes): "0.82.1" +* In the minimum minetest version, put the oldest supported version (as of 14/02/2023 it is 5.5), leave the Maximum minetest version blank +* Click save. Release is now live. + +##### Inform people + +* Add a comment to the forum post with the release number and what is involved, and maintainer will update main post. +* Add a comment in Discord announcement \ No newline at end of file From 2d0b4dd8f7226ac268397a56c620095796f95aa1 Mon Sep 17 00:00:00 2001 From: Michieal Date: Mon, 13 Feb 2023 23:23:04 -0500 Subject: [PATCH 2/6] Finished mcl_crimson. --- mods/ITEMS/REDSTONE/mesecons_button/init.lua | 2 +- .../REDSTONE/mesecons_pressureplates/init.lua | 2 +- mods/ITEMS/mcl_crimson/init.lua | 22 +++++++++--------- ...hae.png => mcl_crimson_crimson_hyphae.png} | Bin ...ng => mcl_crimson_crimson_hyphae_side.png} | Bin ...ng => mcl_crimson_crimson_hyphae_wood.png} | Bin ...ium.png => mcl_crimson_crimson_nylium.png} | Bin ...ng => mcl_crimson_crimson_nylium_side.png} | Bin 8 files changed, 13 insertions(+), 13 deletions(-) rename textures/{mcl_crimson_hyphae.png => mcl_crimson_crimson_hyphae.png} (100%) rename textures/{mcl_crimson_hyphae_side.png => mcl_crimson_crimson_hyphae_side.png} (100%) rename textures/{mcl_crimson_hyphae_wood.png => mcl_crimson_crimson_hyphae_wood.png} (100%) rename textures/{mcl_crimson_nylium.png => mcl_crimson_crimson_nylium.png} (100%) rename textures/{mcl_crimson_nylium_side.png => mcl_crimson_crimson_nylium_side.png} (100%) diff --git a/mods/ITEMS/REDSTONE/mesecons_button/init.lua b/mods/ITEMS/REDSTONE/mesecons_button/init.lua index 0ea6b2c30..6894bba1c 100644 --- a/mods/ITEMS/REDSTONE/mesecons_button/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_button/init.lua @@ -225,7 +225,7 @@ local woods = { { "junglewood", "mcl_core:junglewood", "default_junglewood.png", S("Jungle Button") }, { "mangrove_wood", "mcl_mangrove:mangrove_wood", "mcl_mangrove_planks.png", S("Mangrove Button") }, - { "crimson_hyphae_wood", "mcl_crimson:crimson_hyphae_wood", "mcl_crimson_hyphae_wood.png", S("Crimson Button") }, + { "crimson_hyphae_wood", "mcl_crimson:crimson_hyphae_wood", "mcl_crimson_crimson_crimson_hyphae_wood.png", S("Crimson Button") }, { "warped_hyphae_wood", "mcl_crimson:warped_hyphae_wood", "mcl_crimson_warped_hyphae_wood.png", S("Warped Button") }, } diff --git a/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua b/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua index b257be816..f3d101f5c 100644 --- a/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua @@ -223,7 +223,7 @@ local woods = { { "junglewood", "mcl_core:junglewood", "default_junglewood.png", S("Jungle Pressure Plate") }, { "mangrove_wood", "mcl_mangrove:mangrove_wood", "mcl_mangrove_planks.png", S("Mangrove Pressure Plate") }, - { "crimson_hyphae_wood", "mcl_crimson:crimson_hyphae_wood", "mcl_crimson_hyphae_wood.png", S("Crimson Pressure Plate") }, + { "crimson_hyphae_wood", "mcl_crimson:crimson_hyphae_wood", "mcl_crimson_crimson_crimson_hyphae_wood.png", S("Crimson Pressure Plate") }, { "warped_hyphae_wood", "mcl_crimson:warped_hyphae_wood", "mcl_crimson_warped_hyphae_wood.png", S("Warped Pressure Plate") }, } diff --git a/mods/ITEMS/mcl_crimson/init.lua b/mods/ITEMS/mcl_crimson/init.lua index ee83cd48f..c923ebbee 100644 --- a/mods/ITEMS/mcl_crimson/init.lua +++ b/mods/ITEMS/mcl_crimson/init.lua @@ -522,10 +522,10 @@ minetest.register_node("mcl_crimson:crimson_hyphae", { _doc_items_longdesc = S("The stem of a crimson hyphae"), _doc_items_hidden = false, tiles = { - "mcl_crimson_hyphae.png", - "mcl_crimson_hyphae.png", + "mcl_crimson_crimson_hyphae.png", + "mcl_crimson_crimson_hyphae.png", { - image="mcl_crimson_hyphae_side.png", + image="mcl_crimson_crimson_hyphae_side.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0} }, }, @@ -545,7 +545,7 @@ minetest.register_node("mcl_crimson:crimson_hyphae_bark", { _doc_items_longdesc = S("This is a decorative block surrounded by the bark of an hyphae."), tiles = { { - image="mcl_crimson_hyphae_side.png", + image="mcl_crimson_crimson_hyphae_side.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=2.0} }, }, @@ -603,7 +603,7 @@ minetest.register_craft({ minetest.register_node("mcl_crimson:crimson_hyphae_wood", { description = S("Crimson Hyphae Wood"), - tiles = {"mcl_crimson_hyphae_wood.png"}, + tiles = {"mcl_crimson_crimson_crimson_hyphae_wood.png"}, groups = {handy = 5, axey = 1, wood = 1, building_block = 1, material_wood = 1}, sounds = mcl_sounds.node_sound_wood_defaults(), _mcl_hardness = 2, @@ -612,12 +612,12 @@ minetest.register_node("mcl_crimson:crimson_hyphae_wood", { minetest.register_node("mcl_crimson:crimson_nylium", { description = S("Crimson Nylium"), tiles = { - "mcl_crimson_nylium.png", + "mcl_crimson_crimson_nylium.png", "mcl_nether_netherrack.png", - "mcl_nether_netherrack.png^mcl_crimson_nylium_side.png", - "mcl_nether_netherrack.png^mcl_crimson_nylium_side.png", - "mcl_nether_netherrack.png^mcl_crimson_nylium_side.png", - "mcl_nether_netherrack.png^mcl_crimson_nylium_side.png", + "mcl_nether_netherrack.png^mcl_crimson_crimson_nylium_side.png", + "mcl_nether_netherrack.png^mcl_crimson_crimson_nylium_side.png", + "mcl_nether_netherrack.png^mcl_crimson_crimson_nylium_side.png", + "mcl_nether_netherrack.png^mcl_crimson_crimson_nylium_side.png", }, groups = {pickaxey = 1, building_block = 1, material_stone = 1}, sounds = mcl_sounds.node_sound_stone_defaults(), @@ -676,7 +676,7 @@ mcl_doors:register_trapdoor("mcl_crimson:crimson_trapdoor", { _doc_items_longdesc = S("Wooden trapdoors are horizontal barriers which can be opened and closed by hand or a redstone signal. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder."), _doc_items_usagehelp = S("To open or close the trapdoor, rightclick it or send a redstone signal to it."), tile_front = "mcl_crimson_crimson_trapdoor.png", - tile_side = "mcl_crimson_hyphae_wood.png", + tile_side = "mcl_crimson_crimson_crimson_hyphae_wood.png", wield_image = "mcl_crimson_crimson_trapdoor.png", groups = {handy=1,axey=1, mesecon_effector_on=1, material_wood=1, flammable=-1}, _mcl_hardness = 3, diff --git a/textures/mcl_crimson_hyphae.png b/textures/mcl_crimson_crimson_hyphae.png similarity index 100% rename from textures/mcl_crimson_hyphae.png rename to textures/mcl_crimson_crimson_hyphae.png diff --git a/textures/mcl_crimson_hyphae_side.png b/textures/mcl_crimson_crimson_hyphae_side.png similarity index 100% rename from textures/mcl_crimson_hyphae_side.png rename to textures/mcl_crimson_crimson_hyphae_side.png diff --git a/textures/mcl_crimson_hyphae_wood.png b/textures/mcl_crimson_crimson_hyphae_wood.png similarity index 100% rename from textures/mcl_crimson_hyphae_wood.png rename to textures/mcl_crimson_crimson_hyphae_wood.png diff --git a/textures/mcl_crimson_nylium.png b/textures/mcl_crimson_crimson_nylium.png similarity index 100% rename from textures/mcl_crimson_nylium.png rename to textures/mcl_crimson_crimson_nylium.png diff --git a/textures/mcl_crimson_nylium_side.png b/textures/mcl_crimson_crimson_nylium_side.png similarity index 100% rename from textures/mcl_crimson_nylium_side.png rename to textures/mcl_crimson_crimson_nylium_side.png From 660c85dddc7263dfd561e9e53a41f6dd03a30198 Mon Sep 17 00:00:00 2001 From: Michieal Date: Wed, 15 Feb 2023 09:32:32 -0500 Subject: [PATCH 3/6] Changed mcl_buckets' image use to be named properly. This fixes issue #3455 --- mods/HUD/mcl_achievements/init.lua | 4 ++-- mods/ITEMS/mcl_buckets/fishbuckets.lua | 2 +- ...tl_bucket.png => mcl_buckets_axolotl_bucket.png} | Bin .../{cod_bucket.png => mcl_buckets_cod_bucket.png} | Bin ...bucket.png => mcl_buckets_pufferfish_bucket.png} | Bin ...mon_bucket.png => mcl_buckets_salmon_bucket.png} | Bin ...ket.png => mcl_buckets_tropical_fish_bucket.png} | Bin 7 files changed, 3 insertions(+), 3 deletions(-) rename textures/{mcl_achievements_axolotl_bucket.png => mcl_buckets_axolotl_bucket.png} (100%) rename textures/{cod_bucket.png => mcl_buckets_cod_bucket.png} (100%) rename textures/{pufferfish_bucket.png => mcl_buckets_pufferfish_bucket.png} (100%) rename textures/{salmon_bucket.png => mcl_buckets_salmon_bucket.png} (100%) rename textures/{tropical_fish_bucket.png => mcl_buckets_tropical_fish_bucket.png} (100%) diff --git a/mods/HUD/mcl_achievements/init.lua b/mods/HUD/mcl_achievements/init.lua index a4f12a987..518a2cfbd 100644 --- a/mods/HUD/mcl_achievements/init.lua +++ b/mods/HUD/mcl_achievements/init.lua @@ -297,7 +297,7 @@ awards.register_achievement("mcl:whatAdeal", { awards.register_achievement("mcl:tacticalFishing", { title = S("Tactical Fishing"), description = S("Catch a fish... without a fishing rod!"), - icon = "pufferfish_bucket.png", + icon = "mcl_buckets_pufferfish_bucket.png", type = "Advancement", group = "Husbandry", }) @@ -305,7 +305,7 @@ awards.register_achievement("mcl:tacticalFishing", { awards.register_achievement("mcl:cutestPredator", { title = S("The Cutest Predator"), description = S("Catch an Axolotl with a bucket!"), - icon = "mcl_achievements_axolotl_bucket.png", + icon = "mcl_buckets_axolotl_bucket.png", type = "Advancement", group = "Husbandry", }) diff --git a/mods/ITEMS/mcl_buckets/fishbuckets.lua b/mods/ITEMS/mcl_buckets/fishbuckets.lua index 9eb966084..185f72486 100644 --- a/mods/ITEMS/mcl_buckets/fishbuckets.lua +++ b/mods/ITEMS/mcl_buckets/fishbuckets.lua @@ -56,7 +56,7 @@ for techname, fishname in pairs(fish_names) do _doc_items_longdesc = S("This bucket is filled with water and @1.", S(fishname)), _doc_items_usagehelp = S("Place it to empty the bucket and place a @1. Obtain by right clicking on a @2 with a bucket of water.", S(fishname), S(fishname)), _tt_help = S("Places a water source and a @1.", S(fishname)), - inventory_image = techname .. "_bucket.png", + inventory_image = "mcl_buckets_" .. techname .. "_bucket.png", stack_max = 1, groups = {bucket = 1, fish_bucket = 1}, liquids_pointable = false, diff --git a/textures/mcl_achievements_axolotl_bucket.png b/textures/mcl_buckets_axolotl_bucket.png similarity index 100% rename from textures/mcl_achievements_axolotl_bucket.png rename to textures/mcl_buckets_axolotl_bucket.png diff --git a/textures/cod_bucket.png b/textures/mcl_buckets_cod_bucket.png similarity index 100% rename from textures/cod_bucket.png rename to textures/mcl_buckets_cod_bucket.png diff --git a/textures/pufferfish_bucket.png b/textures/mcl_buckets_pufferfish_bucket.png similarity index 100% rename from textures/pufferfish_bucket.png rename to textures/mcl_buckets_pufferfish_bucket.png diff --git a/textures/salmon_bucket.png b/textures/mcl_buckets_salmon_bucket.png similarity index 100% rename from textures/salmon_bucket.png rename to textures/mcl_buckets_salmon_bucket.png diff --git a/textures/tropical_fish_bucket.png b/textures/mcl_buckets_tropical_fish_bucket.png similarity index 100% rename from textures/tropical_fish_bucket.png rename to textures/mcl_buckets_tropical_fish_bucket.png From 6601ecf788cec935afaa51dc390a723b3e76529f Mon Sep 17 00:00:00 2001 From: Michieal Date: Wed, 15 Feb 2023 09:38:37 -0500 Subject: [PATCH 4/6] Basic signs texture replacement. --- mods/ITEMS/mcl_signs/init.lua | 16 +++++------ mods/ITEMS/mcl_signs/signs_api.lua | 26 +++++++++--------- ...lt_sign.png => mcl_signs_default_sign.png} | Bin ...rk.png => mcl_signs_default_sign_dark.png} | Bin ...g => mcl_signs_default_sign_greyscale.png} | Bin 5 files changed, 21 insertions(+), 21 deletions(-) rename textures/{default_sign.png => mcl_signs_default_sign.png} (100%) rename textures/{default_sign_dark.png => mcl_signs_default_sign_dark.png} (100%) rename textures/{default_sign_greyscale.png => mcl_signs_default_sign_greyscale.png} (100%) diff --git a/mods/ITEMS/mcl_signs/init.lua b/mods/ITEMS/mcl_signs/init.lua index e724def68..6a5f01c5f 100644 --- a/mods/ITEMS/mcl_signs/init.lua +++ b/mods/ITEMS/mcl_signs/init.lua @@ -98,22 +98,22 @@ mcl_signs.register_sign_craft("mcl_core", "mcl_core:wood", "") -- birchwood Sign "#d5cb8d" / "#ffdba7" mcl_signs.register_sign_custom("mcl_core", "_birchwood", - "mcl_signs_sign_greyscale.png","#ffdba7", "default_sign_greyscale.png", - "default_sign_greyscale.png", "Birch Sign" + "mcl_signs_sign_greyscale.png","#ffdba7", "mcl_signs_default_sign_greyscale.png", + "mcl_signs_default_sign_greyscale.png", "Birch Sign" ) mcl_signs.register_sign_craft("mcl_core", "mcl_core:birchwood", "_birchwood") -- sprucewood Sign mcl_signs.register_sign_custom("mcl_core", "_sprucewood", - "mcl_signs_sign_dark.png","#ffffff", "default_sign_dark.png", - "default_sign_dark.png", "Spruce Sign" + "mcl_signs_sign_dark.png","#ffffff", "mcl_signs_default_sign_dark.png", + "mcl_signs_default_sign_dark.png", "Spruce Sign" ) mcl_signs.register_sign_craft("mcl_core", "mcl_core:sprucewood", "_sprucewood") -- darkwood Sign "#291f1a" / "#856443" mcl_signs.register_sign_custom("mcl_core", "_darkwood", - "mcl_signs_sign_greyscale.png","#856443", "default_sign_greyscale.png", - "default_sign_greyscale.png", "Dark Oak Sign" + "mcl_signs_sign_greyscale.png","#856443", "mcl_signs_default_sign_greyscale.png", + "mcl_signs_default_sign_greyscale.png", "Dark Oak Sign" ) mcl_signs.register_sign_craft("mcl_core", "mcl_core:darkwood", "_darkwood") @@ -136,13 +136,13 @@ if minetest.get_modpath("mcl_crimson") then -- warped_hyphae_wood Sign mcl_signs.register_sign_custom("mcl_crimson","_warped_hyphae_wood", "mcl_signs_sign_greyscale.png", - "#9f7dcf", "default_sign_greyscale.png", "default_sign_greyscale.png", + "#9f7dcf", "mcl_signs_default_sign_greyscale.png", "mcl_signs_default_sign_greyscale.png", "Warped Hyphae Sign") mcl_signs.register_sign_craft("mcl_crimson", "mcl_crimson:warped_hyphae_wood", "_warped_hyphae_wood") -- crimson_hyphae_wood Sign mcl_signs.register_sign_custom("mcl_crimson", "_crimson_hyphae_wood","mcl_signs_sign_greyscale.png", - "#c35f51","default_sign_greyscale.png", "default_sign_greyscale.png", + "#c35f51","mcl_signs_default_sign_greyscale.png", "mcl_signs_default_sign_greyscale.png", "Crimson Hyphae Sign") mcl_signs.register_sign_craft("mcl_crimson", "mcl_crimson:crimson_hyphae_wood", "_crimson_hyphae_wood") diff --git a/mods/ITEMS/mcl_signs/signs_api.lua b/mods/ITEMS/mcl_signs/signs_api.lua index 1f7369ba3..6d902c5dd 100644 --- a/mods/ITEMS/mcl_signs/signs_api.lua +++ b/mods/ITEMS/mcl_signs/signs_api.lua @@ -147,10 +147,10 @@ mcl_signs.wall_standard = { _tt_help = S("Can be written"), _doc_items_longdesc = S("Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them."), _doc_items_usagehelp = S("After placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. Not all characters are supported. The text can not be changed once it has been written; you have to break and place the sign again. Can be colored and made to glow."), - inventory_image = "default_sign.png", + inventory_image = "mcl_signs_default_sign.png", walkable = false, is_ground_content = false, - wield_image = "default_sign.png", + wield_image = "mcl_signs_default_sign.png", node_placement_prediction = "", paramtype = "light", sunlight_propagates = true, @@ -552,9 +552,9 @@ function mcl_signs.register_sign (modname, color, _name, ttsign) new_sign = table.copy(mcl_signs.wall_standard) new_sign.description = S(ttsign) - new_sign.wield_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign.wield_image = "(mcl_signs_default_sign.png^[multiply:" .. color .. ")" new_sign.tiles = { "(mcl_signs_sign.png^[multiply:" .. color .. ")" } - new_sign.inventory_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign.inventory_image = "(mcl_signs_default_sign.png^[multiply:" .. color .. ")" -- currently have to do this, because of how the base node placement works. new_sign.on_place = function(itemstack, placer, pointed_thing) @@ -676,9 +676,9 @@ function mcl_signs.register_sign (modname, color, _name, ttsign) local new_sign_standing = {} new_sign_standing = table.copy(mcl_signs.standing_standard) new_sign_standing.drop = "mcl_signs:wall_sign" .. _name - new_sign_standing.wield_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign_standing.wield_image = "(mcl_signs_default_sign.png^[multiply:" .. color .. ")" new_sign_standing.tiles = { "(mcl_signs_sign.png^[multiply:" .. color .. ")" } - new_sign_standing.inventory_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign_standing.inventory_image = "(mcl_signs_default_sign.png^[multiply:" .. color .. ")" new_sign_standing.on_rotate = function(pos, node, user, mode) if mode == screwdriver.ROTATE_FACE then @@ -763,7 +763,7 @@ function mcl_signs.register_sign (modname, color, _name, ttsign) end --- The same as register_sign, except caller defines the textures. Note, there is a greyscale version of the sign, ---- called "default_sign_greyscale.png" and "mcl_signs_sign_greyscale.png" for optional use in the textures directory. +--- called "mcl_signs_default_sign_greyscale.png" and "mcl_signs_sign_greyscale.png" for optional use in the textures directory. --- --- modname: optional (pass "" or "false" to ignore), for use with other mods to --- allow the creation of a sign from the mod's wood (if installed). @@ -1015,9 +1015,9 @@ function mcl_signs.reregister_sign (modname, color, _name, ttsign) new_sign = table.copy(mcl_signs.wall_standard) new_sign.description = S(ttsign) - new_sign.wield_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign.wield_image = "(mcl_signs_default_sign.png^[multiply:" .. color .. ")" new_sign.tiles = { "(mcl_signs_sign.png^[multiply:" .. color .. ")" } - new_sign.inventory_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign.inventory_image = "(mcl_signs_default_sign.png^[multiply:" .. color .. ")" -- currently have to do this, because of how the base node placement works. new_sign.on_place = function(itemstack, placer, pointed_thing) @@ -1134,9 +1134,9 @@ function mcl_signs.reregister_sign (modname, color, _name, ttsign) local new_sign_standing = {} new_sign_standing = table.copy(mcl_signs.standing_standard) new_sign_standing.drop = "mcl_signs:wall_sign" .. _name - new_sign_standing.wield_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign_standing.wield_image = "(mcl_signs_default_sign.png^[multiply:" .. color .. ")" new_sign_standing.tiles = { "(mcl_signs_sign.png^[multiply:" .. color .. ")" } - new_sign_standing.inventory_image = "(default_sign.png^[multiply:" .. color .. ")" + new_sign_standing.inventory_image = "(mcl_signs_default_sign.png^[multiply:" .. color .. ")" new_sign_standing.on_rotate = function(pos, node, user, mode) if mode == screwdriver.ROTATE_FACE then node.name = "mcl_signs:standing_sign22_5" .. _name @@ -1219,7 +1219,7 @@ function mcl_signs.reregister_sign (modname, color, _name, ttsign) end --- The same as reregister_sign, except caller defines the textures. Note, there is a greyscale version of the sign, ---- called "default_sign_greyscale.png" and "mcl_signs_sign_greyscale.png" for optional use in the textures directory. +--- called "mcl_signs_default_sign_greyscale.png" and "mcl_signs_sign_greyscale.png" for optional use in the textures directory. --- --- modname: optional (pass "" or "false" to ignore), for use with other mods to --- allow the creation of a sign from the mod's wood (if installed). @@ -2000,4 +2000,4 @@ function mcl_signs:get_text_entity (pos, force_remove) end end return text_entity -end \ No newline at end of file +end diff --git a/textures/default_sign.png b/textures/mcl_signs_default_sign.png similarity index 100% rename from textures/default_sign.png rename to textures/mcl_signs_default_sign.png diff --git a/textures/default_sign_dark.png b/textures/mcl_signs_default_sign_dark.png similarity index 100% rename from textures/default_sign_dark.png rename to textures/mcl_signs_default_sign_dark.png diff --git a/textures/default_sign_greyscale.png b/textures/mcl_signs_default_sign_greyscale.png similarity index 100% rename from textures/default_sign_greyscale.png rename to textures/mcl_signs_default_sign_greyscale.png From ba708010a2b78ef37fe878e39da45caec7dceec5 Mon Sep 17 00:00:00 2001 From: ancientmarinerdev Date: Wed, 15 Feb 2023 16:23:08 +0000 Subject: [PATCH 5/6] Fix incorrect crimson texture issue --- mods/ITEMS/REDSTONE/mesecons_button/init.lua | 2 +- mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua | 2 +- mods/ITEMS/mcl_crimson/init.lua | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mods/ITEMS/REDSTONE/mesecons_button/init.lua b/mods/ITEMS/REDSTONE/mesecons_button/init.lua index 6894bba1c..449e70135 100644 --- a/mods/ITEMS/REDSTONE/mesecons_button/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_button/init.lua @@ -225,7 +225,7 @@ local woods = { { "junglewood", "mcl_core:junglewood", "default_junglewood.png", S("Jungle Button") }, { "mangrove_wood", "mcl_mangrove:mangrove_wood", "mcl_mangrove_planks.png", S("Mangrove Button") }, - { "crimson_hyphae_wood", "mcl_crimson:crimson_hyphae_wood", "mcl_crimson_crimson_crimson_hyphae_wood.png", S("Crimson Button") }, + { "crimson_hyphae_wood", "mcl_crimson:crimson_hyphae_wood", "mcl_crimson_crimson_hyphae_wood.png", S("Crimson Button") }, { "warped_hyphae_wood", "mcl_crimson:warped_hyphae_wood", "mcl_crimson_warped_hyphae_wood.png", S("Warped Button") }, } diff --git a/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua b/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua index f3d101f5c..97a9a223b 100644 --- a/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua @@ -223,7 +223,7 @@ local woods = { { "junglewood", "mcl_core:junglewood", "default_junglewood.png", S("Jungle Pressure Plate") }, { "mangrove_wood", "mcl_mangrove:mangrove_wood", "mcl_mangrove_planks.png", S("Mangrove Pressure Plate") }, - { "crimson_hyphae_wood", "mcl_crimson:crimson_hyphae_wood", "mcl_crimson_crimson_crimson_hyphae_wood.png", S("Crimson Pressure Plate") }, + { "crimson_hyphae_wood", "mcl_crimson:crimson_hyphae_wood", "mcl_crimson_crimson_hyphae_wood.png", S("Crimson Pressure Plate") }, { "warped_hyphae_wood", "mcl_crimson:warped_hyphae_wood", "mcl_crimson_warped_hyphae_wood.png", S("Warped Pressure Plate") }, } diff --git a/mods/ITEMS/mcl_crimson/init.lua b/mods/ITEMS/mcl_crimson/init.lua index c923ebbee..b52480ee6 100644 --- a/mods/ITEMS/mcl_crimson/init.lua +++ b/mods/ITEMS/mcl_crimson/init.lua @@ -603,7 +603,7 @@ minetest.register_craft({ minetest.register_node("mcl_crimson:crimson_hyphae_wood", { description = S("Crimson Hyphae Wood"), - tiles = {"mcl_crimson_crimson_crimson_hyphae_wood.png"}, + tiles = {"mcl_crimson_crimson_hyphae_wood.png"}, groups = {handy = 5, axey = 1, wood = 1, building_block = 1, material_wood = 1}, sounds = mcl_sounds.node_sound_wood_defaults(), _mcl_hardness = 2, @@ -676,7 +676,7 @@ mcl_doors:register_trapdoor("mcl_crimson:crimson_trapdoor", { _doc_items_longdesc = S("Wooden trapdoors are horizontal barriers which can be opened and closed by hand or a redstone signal. They occupy the upper or lower part of a block, depending on how they have been placed. When open, they can be climbed like a ladder."), _doc_items_usagehelp = S("To open or close the trapdoor, rightclick it or send a redstone signal to it."), tile_front = "mcl_crimson_crimson_trapdoor.png", - tile_side = "mcl_crimson_crimson_crimson_hyphae_wood.png", + tile_side = "mcl_crimson_crimson_hyphae_wood.png", wield_image = "mcl_crimson_crimson_trapdoor.png", groups = {handy=1,axey=1, mesecon_effector_on=1, material_wood=1, flammable=-1}, _mcl_hardness = 3, From b121d0f8040eea7bbe78eb3910fc02dc2af2e1af Mon Sep 17 00:00:00 2001 From: emptyshore Date: Tue, 14 Feb 2023 12:42:26 +1300 Subject: [PATCH 6/6] Prevent placement of fire into nodes above water This addresses the edge case where fire is set to the top of a non-water block that represents water (such as kelp). Note this is forbidding theoretically legitimate setups for fire over water where fire is set to the side of a block diagonally from the water. Fire is still permitted next to water (so it can be set to the face of a block diagonally from a water column). --- mods/ITEMS/mcl_fire/init.lua | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/mods/ITEMS/mcl_fire/init.lua b/mods/ITEMS/mcl_fire/init.lua index 8827b9f9a..70e0769c4 100644 --- a/mods/ITEMS/mcl_fire/init.lua +++ b/mods/ITEMS/mcl_fire/init.lua @@ -448,18 +448,28 @@ function mcl_fire.set_fire(pointed_thing, player, allow_on_fire) else pname = player:get_player_name() end - local n = get_node(pointed_thing.above) - local nu = get_node(pointed_thing.under) - if allow_on_fire == false and get_item_group(nu.name, "fire") ~= 0 then - return - end + if minetest.is_protected(pointed_thing.above, pname) then minetest.record_protection_violation(pointed_thing.above, pname) return end - if n.name == "air" then - add_node(pointed_thing.above, {name="mcl_fire:fire"}) + + local n_pointed = minetest.get_node(pointed_thing.under) + if allow_on_fire == false and get_item_group(n_pointed.name, "fire") ~= 0 then + return end + + local n_fire_pos = minetest.get_node(pointed_thing.above) + if n_fire_pos.name ~= "air" then + return + end + + local n_below = minetest.get_node(vector.offset(pointed_thing.above, 0, -1, 0)) + if minetest.get_item_group(n_below.name, "water") ~= 0 then + return + end + + add_node(pointed_thing.above, {name="mcl_fire:fire"}) end minetest.register_lbm({