Merge branch 'master' into biome_colored_foliage

This commit is contained in:
ancientmarinerdev 2023-02-16 22:14:40 +00:00
commit b23fc6d23d
22 changed files with 108 additions and 45 deletions

View File

@ -1,3 +1,5 @@
### Standard Release
#File to document release steps with a view to evolving into a script #File to document release steps with a view to evolving into a script
#Update CREDITS.md #Update CREDITS.md
@ -20,3 +22,54 @@ git push origin 0.82.0
#Update version in game.conf to -SNAPSHOT #Update version in game.conf to -SNAPSHOT
git commit -m "Post-release set version 0.82.0-SNAPSHOT" 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

View File

@ -297,7 +297,7 @@ awards.register_achievement("mcl:whatAdeal", {
awards.register_achievement("mcl:tacticalFishing", { awards.register_achievement("mcl:tacticalFishing", {
title = S("Tactical Fishing"), title = S("Tactical Fishing"),
description = S("Catch a fish... without a fishing rod!"), description = S("Catch a fish... without a fishing rod!"),
icon = "pufferfish_bucket.png", icon = "mcl_buckets_pufferfish_bucket.png",
type = "Advancement", type = "Advancement",
group = "Husbandry", group = "Husbandry",
}) })
@ -305,7 +305,7 @@ awards.register_achievement("mcl:tacticalFishing", {
awards.register_achievement("mcl:cutestPredator", { awards.register_achievement("mcl:cutestPredator", {
title = S("The Cutest Predator"), title = S("The Cutest Predator"),
description = S("Catch an Axolotl with a bucket!"), description = S("Catch an Axolotl with a bucket!"),
icon = "mcl_achievements_axolotl_bucket.png", icon = "mcl_buckets_axolotl_bucket.png",
type = "Advancement", type = "Advancement",
group = "Husbandry", group = "Husbandry",
}) })

View File

@ -225,7 +225,7 @@ local woods = {
{ "junglewood", "mcl_core:junglewood", "default_junglewood.png", S("Jungle Button") }, { "junglewood", "mcl_core:junglewood", "default_junglewood.png", S("Jungle Button") },
{ "mangrove_wood", "mcl_mangrove:mangrove_wood", "mcl_mangrove_planks.png", S("Mangrove 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_hyphae_wood.png", S("Crimson Button") },
{ "warped_hyphae_wood", "mcl_crimson:warped_hyphae_wood", "mcl_crimson_warped_hyphae_wood.png", S("Warped Button") }, { "warped_hyphae_wood", "mcl_crimson:warped_hyphae_wood", "mcl_crimson_warped_hyphae_wood.png", S("Warped Button") },
} }

View File

@ -223,7 +223,7 @@ local woods = {
{ "junglewood", "mcl_core:junglewood", "default_junglewood.png", S("Jungle Pressure Plate") }, { "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") }, { "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_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") }, { "warped_hyphae_wood", "mcl_crimson:warped_hyphae_wood", "mcl_crimson_warped_hyphae_wood.png", S("Warped Pressure Plate") },
} }

View File

@ -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_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)), _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)), _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, stack_max = 1,
groups = {bucket = 1, fish_bucket = 1}, groups = {bucket = 1, fish_bucket = 1},
liquids_pointable = false, liquids_pointable = false,

View File

@ -522,10 +522,10 @@ minetest.register_node("mcl_crimson:crimson_hyphae", {
_doc_items_longdesc = S("The stem of a crimson hyphae"), _doc_items_longdesc = S("The stem of a crimson hyphae"),
_doc_items_hidden = false, _doc_items_hidden = false,
tiles = { tiles = {
"mcl_crimson_hyphae.png", "mcl_crimson_crimson_hyphae.png",
"mcl_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} 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."), _doc_items_longdesc = S("This is a decorative block surrounded by the bark of an hyphae."),
tiles = { 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} 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", { minetest.register_node("mcl_crimson:crimson_hyphae_wood", {
description = S("Crimson Hyphae Wood"), description = S("Crimson Hyphae Wood"),
tiles = {"mcl_crimson_hyphae_wood.png"}, tiles = {"mcl_crimson_crimson_hyphae_wood.png"},
groups = {handy = 5, axey = 1, wood = 1, building_block = 1, material_wood = 1}, groups = {handy = 5, axey = 1, wood = 1, building_block = 1, material_wood = 1},
sounds = mcl_sounds.node_sound_wood_defaults(), sounds = mcl_sounds.node_sound_wood_defaults(),
_mcl_hardness = 2, _mcl_hardness = 2,
@ -612,12 +612,12 @@ minetest.register_node("mcl_crimson:crimson_hyphae_wood", {
minetest.register_node("mcl_crimson:crimson_nylium", { minetest.register_node("mcl_crimson:crimson_nylium", {
description = S("Crimson Nylium"), description = S("Crimson Nylium"),
tiles = { tiles = {
"mcl_crimson_nylium.png", "mcl_crimson_crimson_nylium.png",
"mcl_nether_netherrack.png", "mcl_nether_netherrack.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_nylium_side.png", "mcl_nether_netherrack.png^mcl_crimson_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_nylium_side.png", "mcl_nether_netherrack.png^mcl_crimson_crimson_nylium_side.png",
}, },
groups = {pickaxey = 1, building_block = 1, material_stone = 1}, groups = {pickaxey = 1, building_block = 1, material_stone = 1},
sounds = mcl_sounds.node_sound_stone_defaults(), 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_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."), _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_front = "mcl_crimson_crimson_trapdoor.png",
tile_side = "mcl_crimson_hyphae_wood.png", tile_side = "mcl_crimson_crimson_hyphae_wood.png",
wield_image = "mcl_crimson_crimson_trapdoor.png", wield_image = "mcl_crimson_crimson_trapdoor.png",
groups = {handy=1,axey=1, mesecon_effector_on=1, material_wood=1, flammable=-1}, groups = {handy=1,axey=1, mesecon_effector_on=1, material_wood=1, flammable=-1},
_mcl_hardness = 3, _mcl_hardness = 3,

View File

@ -448,18 +448,28 @@ function mcl_fire.set_fire(pointed_thing, player, allow_on_fire)
else else
pname = player:get_player_name() pname = player:get_player_name()
end 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 if minetest.is_protected(pointed_thing.above, pname) then
minetest.record_protection_violation(pointed_thing.above, pname) minetest.record_protection_violation(pointed_thing.above, pname)
return return
end 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 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 end
minetest.register_lbm({ minetest.register_lbm({

View File

@ -98,22 +98,22 @@ mcl_signs.register_sign_craft("mcl_core", "mcl_core:wood", "")
-- birchwood Sign "#d5cb8d" / "#ffdba7" -- birchwood Sign "#d5cb8d" / "#ffdba7"
mcl_signs.register_sign_custom("mcl_core", "_birchwood", mcl_signs.register_sign_custom("mcl_core", "_birchwood",
"mcl_signs_sign_greyscale.png","#ffdba7", "default_sign_greyscale.png", "mcl_signs_sign_greyscale.png","#ffdba7", "mcl_signs_default_sign_greyscale.png",
"default_sign_greyscale.png", "Birch Sign" "mcl_signs_default_sign_greyscale.png", "Birch Sign"
) )
mcl_signs.register_sign_craft("mcl_core", "mcl_core:birchwood", "_birchwood") mcl_signs.register_sign_craft("mcl_core", "mcl_core:birchwood", "_birchwood")
-- sprucewood Sign -- sprucewood Sign
mcl_signs.register_sign_custom("mcl_core", "_sprucewood", mcl_signs.register_sign_custom("mcl_core", "_sprucewood",
"mcl_signs_sign_dark.png","#ffffff", "default_sign_dark.png", "mcl_signs_sign_dark.png","#ffffff", "mcl_signs_default_sign_dark.png",
"default_sign_dark.png", "Spruce Sign" "mcl_signs_default_sign_dark.png", "Spruce Sign"
) )
mcl_signs.register_sign_craft("mcl_core", "mcl_core:sprucewood", "_sprucewood") mcl_signs.register_sign_craft("mcl_core", "mcl_core:sprucewood", "_sprucewood")
-- darkwood Sign "#291f1a" / "#856443" -- darkwood Sign "#291f1a" / "#856443"
mcl_signs.register_sign_custom("mcl_core", "_darkwood", mcl_signs.register_sign_custom("mcl_core", "_darkwood",
"mcl_signs_sign_greyscale.png","#856443", "default_sign_greyscale.png", "mcl_signs_sign_greyscale.png","#856443", "mcl_signs_default_sign_greyscale.png",
"default_sign_greyscale.png", "Dark Oak Sign" "mcl_signs_default_sign_greyscale.png", "Dark Oak Sign"
) )
mcl_signs.register_sign_craft("mcl_core", "mcl_core:darkwood", "_darkwood") 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 -- warped_hyphae_wood Sign
mcl_signs.register_sign_custom("mcl_crimson","_warped_hyphae_wood", "mcl_signs_sign_greyscale.png", 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") "Warped Hyphae Sign")
mcl_signs.register_sign_craft("mcl_crimson", "mcl_crimson:warped_hyphae_wood", "_warped_hyphae_wood") mcl_signs.register_sign_craft("mcl_crimson", "mcl_crimson:warped_hyphae_wood", "_warped_hyphae_wood")
-- crimson_hyphae_wood Sign -- crimson_hyphae_wood Sign
mcl_signs.register_sign_custom("mcl_crimson", "_crimson_hyphae_wood","mcl_signs_sign_greyscale.png", 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") "Crimson Hyphae Sign")
mcl_signs.register_sign_craft("mcl_crimson", "mcl_crimson:crimson_hyphae_wood", "_crimson_hyphae_wood") mcl_signs.register_sign_craft("mcl_crimson", "mcl_crimson:crimson_hyphae_wood", "_crimson_hyphae_wood")

View File

@ -147,10 +147,10 @@ mcl_signs.wall_standard = {
_tt_help = S("Can be written"), _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_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."), _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, walkable = false,
is_ground_content = false, is_ground_content = false,
wield_image = "default_sign.png", wield_image = "mcl_signs_default_sign.png",
node_placement_prediction = "", node_placement_prediction = "",
paramtype = "light", paramtype = "light",
sunlight_propagates = true, 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 = table.copy(mcl_signs.wall_standard)
new_sign.description = S(ttsign) 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.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. -- currently have to do this, because of how the base node placement works.
new_sign.on_place = function(itemstack, placer, pointed_thing) 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 = {} local new_sign_standing = {}
new_sign_standing = table.copy(mcl_signs.standing_standard) new_sign_standing = table.copy(mcl_signs.standing_standard)
new_sign_standing.drop = "mcl_signs:wall_sign" .. _name 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.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) new_sign_standing.on_rotate = function(pos, node, user, mode)
if mode == screwdriver.ROTATE_FACE then if mode == screwdriver.ROTATE_FACE then
@ -763,7 +763,7 @@ function mcl_signs.register_sign (modname, color, _name, ttsign)
end end
--- The same as register_sign, except caller defines the textures. Note, there is a greyscale version of the sign, --- 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 --- 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). --- 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 = table.copy(mcl_signs.wall_standard)
new_sign.description = S(ttsign) 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.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. -- currently have to do this, because of how the base node placement works.
new_sign.on_place = function(itemstack, placer, pointed_thing) 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 = {} local new_sign_standing = {}
new_sign_standing = table.copy(mcl_signs.standing_standard) new_sign_standing = table.copy(mcl_signs.standing_standard)
new_sign_standing.drop = "mcl_signs:wall_sign" .. _name 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.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) new_sign_standing.on_rotate = function(pos, node, user, mode)
if mode == screwdriver.ROTATE_FACE then if mode == screwdriver.ROTATE_FACE then
node.name = "mcl_signs:standing_sign22_5" .. _name node.name = "mcl_signs:standing_sign22_5" .. _name
@ -1219,7 +1219,7 @@ function mcl_signs.reregister_sign (modname, color, _name, ttsign)
end end
--- The same as reregister_sign, except caller defines the textures. Note, there is a greyscale version of the sign, --- 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 --- 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). --- allow the creation of a sign from the mod's wood (if installed).

View File

Before

Width:  |  Height:  |  Size: 251 B

After

Width:  |  Height:  |  Size: 251 B

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 214 B

After

Width:  |  Height:  |  Size: 214 B

View File

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 264 B

View File

Before

Width:  |  Height:  |  Size: 217 B

After

Width:  |  Height:  |  Size: 217 B

View File

Before

Width:  |  Height:  |  Size: 170 B

After

Width:  |  Height:  |  Size: 170 B

View File

Before

Width:  |  Height:  |  Size: 239 B

After

Width:  |  Height:  |  Size: 239 B

View File

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB