From 7686996fd3b538d3b5409fcb3c251b178ed693df Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Fri, 28 Feb 2025 16:16:29 +0100
Subject: [PATCH] resource: make seagrass opaque

See changelog for rationale.
---
 CHANGELOG.md                       | 7 +++++++
 crates/resource/src/block_types.rs | 4 ++--
 resource/blocks.json               | 2 +-
 src/core/common.rs                 | 4 ++--
 4 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1b84b15..14b7e35 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -49,6 +49,13 @@
 
   This should have no noticable effect on the usage of MinedMap, but avoids
   an external build dependency on CMake.
+- Small (1-block) seagrass is now visible on the map
+
+  1-block seagrass in 1-block deep water would previously result in the ground
+  to be shown instead of water, as MinedMap currently doesn't handle the
+  "waterlogged" block status. As 1-block seagrass is relatively big compared to
+  other "small" plants, just considering it opaque seems like a good enough
+  solution that avoids having to implement advanced block status flags.
 
 ## [2.4.0] - 2025-01-11
 
diff --git a/crates/resource/src/block_types.rs b/crates/resource/src/block_types.rs
index 53abd54..da556b8 100644
--- a/crates/resource/src/block_types.rs
+++ b/crates/resource/src/block_types.rs
@@ -8692,8 +8692,8 @@ pub const BLOCK_TYPES: &[(&str, ConstBlockType)] = &[
 		"seagrass",
 		ConstBlockType {
 			block_color: BlockColor {
-				flags: make_bitflags!(BlockFlag::{}),
-				color: Color([0, 0, 0]),
+				flags: make_bitflags!(BlockFlag::{Opaque}),
+				color: Color([50, 126, 8]),
 			},
 			sign_material: None,
 		},
diff --git a/resource/blocks.json b/resource/blocks.json
index a88aa34..a409abb 100644
--- a/resource/blocks.json
+++ b/resource/blocks.json
@@ -1781,7 +1781,7 @@
 	"sculk_vein": {},
 	"sea_lantern": {},
 	"sea_pickle": {},
-	"seagrass": null,
+	"seagrass": {},
 	"short_grass": null,
 	"shroomlight": {},
 	"shulker_box": {},
diff --git a/src/core/common.rs b/src/core/common.rs
index a81dbf2..8230a79 100644
--- a/src/core/common.rs
+++ b/src/core/common.rs
@@ -25,7 +25,7 @@ use crate::{
 ///
 /// Increase when the generation of processed regions from region data changes
 /// (usually because of updated resource data)
-pub const REGION_FILE_META_VERSION: FileMetaVersion = FileMetaVersion(4);
+pub const REGION_FILE_META_VERSION: FileMetaVersion = FileMetaVersion(5);
 
 /// MinedMap map tile data version number
 ///
@@ -37,7 +37,7 @@ pub const MAP_FILE_META_VERSION: FileMetaVersion = FileMetaVersion(0);
 ///
 /// Increase when the generation of lightmap tiles from region data changes
 /// (usually because of updated resource data)
-pub const LIGHTMAP_FILE_META_VERSION: FileMetaVersion = FileMetaVersion(3);
+pub const LIGHTMAP_FILE_META_VERSION: FileMetaVersion = FileMetaVersion(4);
 
 /// MinedMap mipmap data version number
 ///