From a3556c44e1840ae58dc1a68110aa2e8416b16abd Mon Sep 17 00:00:00 2001 From: rainer Date: Sat, 28 Jun 2025 20:14:08 +0200 Subject: [PATCH] Update README.md, check_dependencies.sh, colors.txt, and 3 more files for new alpha, get rid of IMagick for vips --- README.md | 48 +- check_dependencies.sh | 7 +- colors.txt | 1930 ++++++++--------- generate_map.sh | 80 +- .../templates/world_detail_radar.template | 48 +- .../world_detail_radar.template.bak.0 | 252 +++ 6 files changed, 1317 insertions(+), 1048 deletions(-) create mode 100644 site_generator/templates/world_detail_radar.template.bak.0 diff --git a/README.md b/README.md index b32e1c9..ea153fc 100644 --- a/README.md +++ b/README.md @@ -7,14 +7,14 @@ This system is designed from the ground up to be modular, easily configurable, a ## ✨ Features * **Automated Map Generation:** Leverages `minetestmapper` to create high-resolution PNG maps of your game worlds. -* **Performant Image Processing:** Uses `vips`, a high-performance and memory-efficient library, to scale even huge maps (tested up to 64k x 64k pixels) for the web. +* **Performant Image Processing:** Uses `vips` for all image processing tasks (resizing and metadata reading), providing a massive performance increase and support for huge maps. The project is now completely independent of ImageMagick. * **Tiled Map Generation:** Uses `gdal2tiles.py` to create performant, zoomable map tiles for a smooth user experience. * **Dynamic Map Viewer:** Implements an interactive map viewer using **OpenLayers**, powered by the generated map tiles, including digital zoom beyond the highest resolution. -* **Live Player & Area Display:** Dynamically loads player positions and protected areas, displaying them as interactive overlays on the live map. -* **Layer Control:** A menu on the map allows toggling the visibility of players, parent areas, and sub-areas (parcels). +* **Live Data Overlays:** Dynamically fetches player positions and protected areas, displaying them as interactive overlays on the live map. +* **Layer Control:** A menu on the map allows users to toggle the visibility of Players, Parent Areas, and Sub-Areas (Parcels). * **Map Archive:** Automatically saves a daily snapshot of the map and makes it available through a toggle on the world detail page. * **Template-Driven Site Generation:** Builds all static HTML pages from simple, customizable templates. -* **Flexible Configuration:** Configuration is easy with a central global `config.sh` and a `web.conf` file for every one of your worlds. +* **Flexible Configuration:** Configuration is easy with a central global `config.sh` and a `web.conf`-file for every of your worlds. * **Automation-Ready:** Designed for unattended execution via scheduling tools like `cron`. ## 🔧 Prerequisites @@ -24,8 +24,6 @@ To run this system, the following software packages must be installed on your se * **bash:** The scripting language used for the entire project. * **vips:** A high-performance image processing library. * *Debian/Ubuntu Install:* `sudo apt-get install libvips-tools` -* **ImageMagick:** Currently still required for the `identify` command (to read image dimensions). - * *Debian/Ubuntu Install:* `sudo apt-get install imagemagick` * **GDAL/OGR:** Provides the `gdal2tiles.py` script for tile generation. * *Debian/Ubuntu Install:* `sudo apt-get install gdal-bin python3-gdal` * **SQLite3:** The command-line tool to query the game databases (`players.sqlite`, `auth.sqlite`). @@ -34,7 +32,7 @@ To run this system, the following software packages must be installed on your se * *Debian/Ubuntu Install:* `sudo apt-get install bc` * **jq:** A command-line JSON processor, used by `sync_areas.sh`. * *Debian/Ubuntu Install:* `sudo apt-get install jq` -* **minetestmapper:** The executable used to render maps from world data. Must be placed within the project directory. +* **minetestmapper:** The executable used to render maps from world data. This must be placed within the project directory. * **iproute2:** Provides the `ss` command for `check_server_status.sh` (usually pre-installed on most systems). * **Web Server:** A web server like Nginx or Apache is needed to serve the generated static files. @@ -51,7 +49,7 @@ OR Clone the Git repository to a base directory. ```bash -git clone [https://git.geigernet.eu/rainer/luanti-web.git](https://git.geigernet.eu/rainer/luanti-web.git) /opt/luweb +git clone https://git.geigernet.eu/rainer/luanti-web.git /opt/luweb cd /opt/luweb # Make all scripts executable chmod +x generate_map.sh generate_site.sh check_server_status.sh check_dependencies.sh sync_players.sh sync_areas.sh @@ -79,8 +77,7 @@ The system is designed so that **only worlds with a `web.conf` file** will be di ├── minetestmapper (executable) ├── site_generator/ │ ├── functions/ -│ │ └── generators/ -│ │ └── ... +│ │ └── ... │ ├── templates/ │ └── examples/ ├── web_content/ @@ -92,17 +89,20 @@ The system is designed so that **only worlds with a `web.conf` file** will be di ## 🚀 Usage & Automation (Cronjob) -The scripts are designed for automated execution. Set them up using `crontab -e`. +The scripts are designed for automated execution. If run without a `` argument, they will process all worlds that contain a `web.conf` file. +**Example for `crontab -e`:** ```bash -# (Frequently) Update player and server status +# Update player data for all worlds every minute * * * * * cd /opt/luweb && ./sync_players.sh >> /var/log/luweb/cron.log 2>&1 + +# Check server online status every 5 minutes */5 * * * * cd /opt/luweb && ./check_server_status.sh >> /var/log/luweb/cron.log 2>&1 -# (Hourly) Generate the base map and tiles +# Generate map and tiles for all worlds once per hour 0 * * * * cd /opt/luweb && ./generate_map.sh >> /var/log/luweb/cron.log 2>&1 -# (Infrequently) Sync area data and rebuild the static site +# Sync area data and rebuild the static site twice a day 45 */12 * * * cd /opt/luweb && ./sync_areas.sh >> /var/log/luweb/cron.log 2>&1 30 */12 * * * cd /opt/luweb && ./generate_site.sh >> /var/log/luweb/cron.log 2>&1 ``` @@ -111,7 +111,23 @@ The scripts are designed for automated execution. Set them up using `crontab -e` **MIT License** Copyright (c) 2025 Rage87 - rage87@geigernet.eu -(License text as before) +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -## 👤 Authors +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +OR OTHER DEALINGS IN THE SOFTWARE. + +## 👤 Autoren * **Rage87** (Main-Developer) diff --git a/check_dependencies.sh b/check_dependencies.sh index 61154d0..b8fbf79 100755 --- a/check_dependencies.sh +++ b/check_dependencies.sh @@ -33,8 +33,8 @@ else fi # Checks für andere Programme, die im PATH sein sollten -# HINZUGEFÜGT: sqlite3 und jq -declare -a runtime_deps_in_path=("gdal2tiles.py" "vips" "ss" "bc" "sqlite3" "jq") +# KORREKTUR: 'identify' entfernt, 'vipsheader' hinzugefügt. +declare -a runtime_deps_in_path=("gdal2tiles.py" "vips" "vipsheader" "ss" "bc" "sqlite3" "jq") for dep in "${runtime_deps_in_path[@]}"; do if ! command -v "$dep" &> /dev/null; then echo "[-] FEHLER: Das benötigte Programm '$dep' wurde nicht im System-Pfad gefunden." @@ -55,7 +55,6 @@ if ! command -v "dpkg" &> /dev/null; then echo "[!] WARNUNG: 'dpkg' Kommando nicht gefunden. Kann Build-Abhängigkeiten nicht prüfen. (Dies ist normal auf nicht-Debian-Systemen)" else for pkg in "${build_deps[@]}"; do - # dpkg -s gibt einen Fehlercode zurück, wenn das Paket nicht installiert ist if ! dpkg -s "$pkg" &> /dev/null; then echo "[-] FEHLER: Das benötigte Build-Paket '$pkg' scheint nicht installiert zu sein." missing_count=$((missing_count + 1)) @@ -77,7 +76,7 @@ if [ "$missing_count" -gt 0 ]; then echo " Laufzeit-Programme:" echo " - minetestmapper: Muss manuell kompiliert oder aus einer anderen Quelle bezogen werden." echo " - gdal-bin: Enthält 'gdal2tiles.py'." - echo " - libvips-tools: Enthält 'vips' für die Bildbearbeitung." + echo " - libvips-tools: Enthält 'vips' und 'vipsheader' für die Bildbearbeitung." echo " - iproute2: Enthält 'ss' (meist vorinstalliert)." echo " - bc: Für mathematische Operationen in Skripten." echo " - sqlite3: Zur Abfrage der Spieldatenbanken." diff --git a/colors.txt b/colors.txt index 16fbe68..d8f2d75 100644 --- a/colors.txt +++ b/colors.txt @@ -4,135 +4,138 @@ animalworld:animalworld_tundrashrub2 95 120 95 animalworld:animalworld_tundrashrub3 110 135 110 animalworld:animalworld_tundrashrub4 100 125 100 animalworld:animalworld_tundrashrub5 115 140 115 -animalworld:anthill 139 115 85 # Earthy brown -animalworld:beaver_nest 120 90 60 # Muddy brown for beaver nest -animalworld:termitemould 160 130 100 # Lighter earthy brown -animalworld:waspnest 210 180 140 # Papery light brown/yellowish +animalworld:anthill 139 115 85 +animalworld:beaver_nest 120 90 60 +animalworld:termitemould 160 130 100 +animalworld:waspnest 210 180 140 # anvil -anvil:anvil 80 80 85 # Dark iron/steel color +anvil:anvil 80 80 85 # bakedclay -bakedclay:brown 139 76 57 # Terracotta Brown -bakedclay:grey 130 130 130 # Clay Grey -bakedclay:orange 198 112 56 # Terracotta Orange -bakedclay:red 161 63 45 # Terracotta Red +bakedclay:brown 139 76 57 +bakedclay:grey 130 130 130 +bakedclay:orange 198 112 56 +bakedclay:red 161 63 45 # bank_accounts -bank_accounts:atm 110 115 120 # Metallic grey for ATM -bank_accounts:pin_terminal 60 60 65 # Dark plastic/metal grey -bank_accounts:teller_computer 200 200 210 # Light grey computer case -bank_accounts:wtm 110 115 120 # Metallic grey +bank_accounts:atm 110 115 120 +bank_accounts:pin_terminal 60 60 65 +bank_accounts:teller_computer 200 200 210 +bank_accounts:wtm 110 115 120 + +# banner +banner:red_cyan_check_point 131 102 57 # banisters -banisters:desertstone_basic_diagonal_left 130 79 61 # Match default:desert_stone -banisters:desertstone_basic_diagonal_right 130 79 61 # Match default:desert_stone -banisters:desertstone_fancy_horizontal 130 79 61 # Match default:desert_stone +banisters:desertstone_basic_diagonal_left 130 79 61 +banisters:desertstone_basic_diagonal_right 130 79 61 +banisters:desertstone_fancy_horizontal 130 79 61 # bathfurniture -bathfurniture:sink 230 230 235 # White ceramic -bathfurniture:taps 190 190 195 # Chrome/steel color +bathfurniture:sink 230 230 235 +bathfurniture:taps 190 190 195 # beautiflowers -beautiflowers:ada 255 105 180 # Hot Pink -beautiflowers:agnes 255 20 147 # Deep Pink -beautiflowers:alicia 238 130 238 # Violet -beautiflowers:alma 255 255 0 # Yellow -beautiflowers:amaia 255 165 0 # Orange -beautiflowers:anastasia 173 216 230 # Light Blue -beautiflowers:any 220 220 220 # Light Grey (as a neutral "any" color) -beautiflowers:arcoiris 255 0 255 # Magenta (for rainbow) -beautiflowers:arleth 255 182 193 # Light Pink -beautiflowers:astrid 218 112 214 # Orchid -beautiflowers:azalea 255 127 170 # Pink/Red like Azaleas -beautiflowers:beatriz 255 105 180 # Hot Pink -beautiflowers:belen 255 20 147 # Deep Pink -beautiflowers:berta 238 130 238 # Violet -beautiflowers:blanca 250 250 250 # White -beautiflowers:bonsai_1 34 139 34 # Forest Green (leaves) -beautiflowers:bonsai_2 85 107 47 # Dark Olive Green (leaves) -beautiflowers:bonsai_3 0 100 0 # Dark Green (leaves) -beautiflowers:bonsai_4 139 69 19 # Saddle Brown (trunk/pot for variety) -beautiflowers:bonsai_5 50 150 50 # Medium Green (leaves) -beautiflowers:carla 255 255 0 # Yellow -beautiflowers:casandra 255 165 0 # Orange -beautiflowers:clara 173 216 230 # Light Blue -beautiflowers:claudia 255 182 193 # Light Pink -beautiflowers:cloe 218 112 214 # Orchid -beautiflowers:cristina 255 105 180 # Hot Pink -beautiflowers:dafne 255 20 147 # Deep Pink -beautiflowers:dana 238 130 238 # Violet -beautiflowers:delia 255 255 0 # Yellow -beautiflowers:diana 255 165 0 # Orange -beautiflowers:elena 173 216 230 # Light Blue -beautiflowers:erica 255 182 193 # Light Pink (Heather/Erica flowers are often pink/purple) -beautiflowers:estela 218 112 214 # Orchid -beautiflowers:eva 255 105 180 # Hot Pink -beautiflowers:fabiola 255 20 147 # Deep Pink -beautiflowers:fiona 238 130 238 # Violet -beautiflowers:gala 255 255 0 # Yellow -beautiflowers:genesis 255 165 0 # Orange -beautiflowers:gisela 173 216 230 # Light Blue -beautiflowers:gloria 255 182 193 # Light Pink -beautiflowers:hadassa 218 112 214 # Orchid -beautiflowers:ingrid 255 105 180 # Hot Pink -beautiflowers:irene 255 20 147 # Deep Pink -beautiflowers:iris 138 43 226 # BlueViolet (common Iris color) -beautiflowers:ivette 238 130 238 # Violet -beautiflowers:jennifer 255 255 0 # Yellow -beautiflowers:lara 255 165 0 # Orange -beautiflowers:laura 173 216 230 # Light Blue -beautiflowers:lidia 255 182 193 # Light Pink -beautiflowers:lucia 218 112 214 # Orchid -beautiflowers:mara 255 105 180 # Hot Pink -beautiflowers:martina 255 20 147 # Deep Pink -beautiflowers:melania 238 130 238 # Violet -beautiflowers:michelle 255 255 0 # Yellow -beautiflowers:minerva 255 165 0 # Orange -beautiflowers:mireia 173 216 230 # Light Blue -beautiflowers:miriam 255 182 193 # Light Pink -beautiflowers:nadia 218 112 214 # Orchid -beautiflowers:nazareth 255 105 180 # Hot Pink -beautiflowers:nerea 255 20 147 # Deep Pink -beautiflowers:noelia 238 130 238 # Violet -beautiflowers:noemi 255 255 0 # Yellow -beautiflowers:olga 255 165 0 # Orange -beautiflowers:olimpia 173 216 230 # Light Blue -beautiflowers:oriana 255 182 193 # Light Pink -beautiflowers:pasto_1 50 205 50 # Lime Green -beautiflowers:pasto_10 34 139 34 # Forest Green -beautiflowers:pasto_2 124 252 0 # Lawn Green -beautiflowers:pasto_3 0 128 0 # Green -beautiflowers:pasto_4 60 179 113 # Medium Sea Green -beautiflowers:pasto_5 152 251 152 # Pale Green -beautiflowers:pasto_6 46 139 87 # Sea Green -beautiflowers:pasto_7 0 100 0 # Dark Green -beautiflowers:pasto_8 107 142 35 # Olive Drab -beautiflowers:pasto_9 127 255 0 # Chartreuse -beautiflowers:paula 218 112 214 # Orchid -beautiflowers:pia 255 105 180 # Hot Pink -beautiflowers:raquel 255 20 147 # Deep Pink -beautiflowers:regina 238 130 238 # Violet -beautiflowers:rocio 255 255 0 # Yellow -beautiflowers:ruth 255 165 0 # Orange -beautiflowers:sabrina 173 216 230 # Light Blue -beautiflowers:sandra 255 182 193 # Light Pink -beautiflowers:sara 218 112 214 # Orchid -beautiflowers:silvia 255 105 180 # Hot Pink -beautiflowers:sofia 255 20 147 # Deep Pink -beautiflowers:sonia 238 130 238 # Violet -beautiflowers:suri 255 255 0 # Yellow -beautiflowers:talia 255 165 0 # Orange -beautiflowers:thais 173 216 230 # Light Blue -beautiflowers:valentina 255 182 193 # Light Pink -beautiflowers:valeria 218 112 214 # Orchid -beautiflowers:vanesa 255 105 180 # Hot Pink -beautiflowers:vera 255 20 147 # Deep Pink -beautiflowers:victoria 238 130 238 # Violet -beautiflowers:virginia 255 255 0 # Yellow -beautiflowers:xena 255 165 0 # Orange -beautiflowers:xenia 173 216 230 # Light Blue -beautiflowers:zaida 255 182 193 # Light Pink +beautiflowers:ada 255 105 180 +beautiflowers:agnes 255 20 147 +beautiflowers:alicia 238 130 238 +beautiflowers:alma 255 255 0 +beautiflowers:amaia 255 165 0 +beautiflowers:anastasia 173 216 230 +beautiflowers:any 220 220 220 +beautiflowers:arcoiris 255 0 255 +beautiflowers:arleth 255 182 193 +beautiflowers:astrid 218 112 214 +beautiflowers:azalea 255 127 170 +beautiflowers:beatriz 255 105 180 +beautiflowers:belen 255 20 147 +beautiflowers:berta 238 130 238 +beautiflowers:blanca 250 250 250 +beautiflowers:bonsai_1 34 139 34 +beautiflowers:bonsai_2 85 107 47 +beautiflowers:bonsai_3 0 100 0 +beautiflowers:bonsai_4 139 69 19 +beautiflowers:bonsai_5 50 150 50 +beautiflowers:carla 255 255 0 +beautiflowers:casandra 255 165 0 +beautiflowers:clara 173 216 230 +beautiflowers:claudia 255 182 193 +beautiflowers:cloe 218 112 214 +beautiflowers:cristina 255 105 180 +beautiflowers:dafne 255 20 147 +beautiflowers:dana 238 130 238 +beautiflowers:delia 255 255 0 +beautiflowers:diana 255 165 0 +beautiflowers:elena 173 216 230 +beautiflowers:erica 255 182 193 +beautiflowers:estela 218 112 214 +beautiflowers:eva 255 105 180 +beautiflowers:fabiola 255 20 147 +beautiflowers:fiona 238 130 238 +beautiflowers:gala 255 255 0 +beautiflowers:genesis 255 165 0 +beautiflowers:gisela 173 216 230 +beautiflowers:gloria 255 182 193 +beautiflowers:hadassa 218 112 214 +beautiflowers:ingrid 255 105 180 +beautiflowers:irene 255 20 147 +beautiflowers:iris 138 43 226 +beautiflowers:ivette 238 130 238 +beautiflowers:jennifer 255 255 0 +beautiflowers:lara 255 165 0 +beautiflowers:laura 173 216 230 +beautiflowers:lidia 255 182 193 +beautiflowers:lucia 218 112 214 +beautiflowers:mara 255 105 180 +beautiflowers:martina 255 20 147 +beautiflowers:melania 238 130 238 +beautiflowers:michelle 255 255 0 +beautiflowers:minerva 255 165 0 +beautiflowers:mireia 173 216 230 +beautiflowers:miriam 255 182 193 +beautiflowers:nadia 218 112 214 +beautiflowers:nazareth 255 105 180 +beautiflowers:nerea 255 20 147 +beautiflowers:noelia 238 130 238 +beautiflowers:noemi 255 255 0 +beautiflowers:olga 255 165 0 +beautiflowers:olimpia 173 216 230 +beautiflowers:oriana 255 182 193 +beautiflowers:pasto_1 50 205 50 +beautiflowers:pasto_10 34 139 34 +beautiflowers:pasto_2 124 252 0 +beautiflowers:pasto_3 0 128 0 +beautiflowers:pasto_4 60 179 113 +beautiflowers:pasto_5 152 251 152 +beautiflowers:pasto_6 46 139 87 +beautiflowers:pasto_7 0 100 0 +beautiflowers:pasto_8 107 142 35 +beautiflowers:pasto_9 127 255 0 +beautiflowers:paula 218 112 214 +beautiflowers:pia 255 105 180 +beautiflowers:raquel 255 20 147 +beautiflowers:regina 238 130 238 +beautiflowers:rocio 255 255 0 +beautiflowers:ruth 255 165 0 +beautiflowers:sabrina 173 216 230 +beautiflowers:sandra 255 182 193 +beautiflowers:sara 218 112 214 +beautiflowers:silvia 255 105 180 +beautiflowers:sofia 255 20 147 +beautiflowers:sonia 238 130 238 +beautiflowers:suri 255 255 0 +beautiflowers:talia 255 165 0 +beautiflowers:thais 173 216 230 +beautiflowers:valentina 255 182 193 +beautiflowers:valeria 218 112 214 +beautiflowers:vanesa 255 105 180 +beautiflowers:vera 255 20 147 +beautiflowers:victoria 238 130 238 +beautiflowers:virginia 255 255 0 +beautiflowers:xena 255 165 0 +beautiflowers:xenia 173 216 230 +beautiflowers:zaida 255 182 193 # beds beds:bed_bottom 130 3 3 @@ -144,28 +147,29 @@ beds:fancy_bed_top 179 153 148 bones:bones 117 117 117 # butterflies -butterflies:butterfly_red 255 0 0 # Red -butterflies:butterfly_violet 138 43 226 # Violet -butterflies:butterfly_white 255 250 250 # White -butterflies:hidden_butterfly_red 220 20 20 # Darker Red for hidden -butterflies:hidden_butterfly_violet 110 35 200 # Darker Violet for hidden -butterflies:hidden_butterfly_white 220 220 220 # Ein sehr helles Grau, fast weiß, für einen "versteckten" weißen Schmetterling +butterflies:butterfly_red 255 0 0 +butterflies:butterfly_violet 138 43 226 +butterflies:butterfly_white 250 250 250 +butterflies:hidden_butterfly_red 220 20 20 +butterflies:hidden_butterfly_violet 110 35 200 +butterflies:hidden_butterfly_white 220 220 220 # carpet carpet:wool_black 30 30 30 -carpet:wool_blue 0 0 205 -carpet:wool_brown 139 69 19 -carpet:wool_cyan 0 255 255 -carpet:wool_dark_green 0 100 0 -carpet:wool_dark_grey 70 70 70 -carpet:wool_green 0 128 0 -carpet:wool_grey 128 128 128 -carpet:wool_magenta 255 0 255 -carpet:wool_orange 255 165 0 -carpet:wool_pink 255 192 203 -carpet:wool_red 255 0 0 -carpet:wool_violet 138 43 226 -carpet:wool_white 250 250 250 +carpet:wool_blue 0 73 146 +carpet:wool_brown 88 44 0 +carpet:wool_cyan 0 132 140 +carpet:wool_dark_green 33 103 0 +carpet:wool_dark_grey 60 60 60 +carpet:wool_green 93 218 28 +carpet:wool_grey 133 133 133 +carpet:wool_magenta 201 3 112 +carpet:wool_orange 214 83 22 +carpet:wool_pink 255 133 133 +carpet:wool_red 170 18 18 +carpet:wool_violet 93 5 169 +carpet:wool_white 220 220 220 +carpet:wool_yellow 254 226 16 # carts carts:brakerail 150 121 102 @@ -173,25 +177,25 @@ carts:powerrail 160 145 102 carts:rail 146 128 108 # castle_gates -castle_gates:steel_gate_hinge 170 170 180 # Stahlgrau -castle_gates:steel_gate_panel 170 170 180 # Stahlgrau -castle_gates:steel_portcullis_bars 170 170 180 # Stahlgrau für Gitterstäbe -castle_gates:steel_portcullis_bars_bottom 160 160 170 # Etwas dunkleres Stahlgrau für den unteren Teil -castle_gates:stonebrick_gate_slot 120 120 120 # Steinziegelgrau -castle_gates:stonebrick_gate_slot_reverse 120 120 120 # Steinziegelgrau -castle_gates:wood_gate_edge 139 90 43 # Allgemeines Holzbraun -castle_gates:wood_gate_edge_handle 120 70 30 # Dunkleres Holzbraun für den Griff +castle_gates:steel_gate_hinge 185 185 190 +castle_gates:steel_gate_panel 185 185 190 +castle_gates:steel_portcullis_bars 185 185 190 +castle_gates:steel_portcullis_bars_bottom 175 175 180 +castle_gates:stonebrick_gate_slot 102 99 98 +castle_gates:stonebrick_gate_slot_reverse 102 99 98 +castle_gates:wood_gate_edge 131 102 57 +castle_gates:wood_gate_edge_handle 120 70 30 # caverealms -caverealms:stone_with_algae 85 95 80 # Mossy-green stone +caverealms:stone_with_algae 85 95 80 # crops -crops:melon_plant_4 132 231 112 # Pale green for melon plant -crops:melon_plant_5 118 205 98 # Riper green for melon plant -crops:pumpkin_plant_4 245 150 20 # Orangey green for pumpkin plant +crops:melon_plant_4 132 231 112 +crops:melon_plant_5 118 205 98 +crops:pumpkin_plant_4 245 150 20 # currency -currency:barter 160 140 110 # Generic stand/wood color +currency:barter 160 140 110 # default default:acacia_bush_leaves 109 133 87 @@ -199,12 +203,12 @@ default:acacia_bush_sapling 85 121 61 default:acacia_bush_stem 84 77 70 default:acacia_leaves 126 153 101 default:acacia_sapling 87 120 64 -default:acacia_tree 195 119 97 +default:acacia_tree 150 61 39 default:acacia_wood 150 61 39 default:apple 161 34 19 default:aspen_leaves 72 105 29 default:aspen_sapling 85 123 45 -default:aspen_tree 218 198 168 +default:aspen_tree 210 199 170 default:aspen_wood 210 199 170 default:blueberry_bush_leaves 63 99 22 default:blueberry_bush_leaves_with_berries 63 99 22 @@ -234,12 +238,12 @@ default:coral_pink 235 230 215 default:coral_skeleton 235 230 215 default:desert_cobble 110 67 50 default:desert_sand 206 165 98 -default:desert_sandstone 195 152 92 -default:desert_sandstone_block 193 152 94 -default:desert_sandstone_brick 191 151 95 +default:desert_sandstone 198 193 143 +default:desert_sandstone_block 198 193 143 +default:desert_sandstone_brick 198 193 143 default:desert_stone 130 79 61 -default:desert_stone_block 131 80 61 -default:desert_stonebrick 131 80 61 +default:desert_stone_block 130 79 61 +default:desert_stonebrick 130 79 61 default:diamondblock 140 218 223 default:dirt 97 67 43 default:dirt_with_coniferous_litter 109 90 71 @@ -257,17 +261,18 @@ default:dry_grass_4 211 175 88 default:dry_grass_5 214 178 92 default:dry_shrub 103 67 18 default:emergent_jungle_sapling 51 40 16 -default:fence_acacia_wood 151 62 39 +default:fence_acacia_wood 150 61 39 default:fence_aspen_wood 210 199 170 -default:fence_junglewood 57 39 14 -default:fence_pine_wood 221 185 131 -default:fence_pine_wood_end 221 185 131 # Match pine wood +default:fence_aspen_wood_end 210 199 170 +default:fence_junglewood 56 39 14 +default:fence_pine_wood 221 185 130 +default:fence_pine_wood_end 221 185 130 default:fence_rail_acacia_wood 150 61 39 -default:fence_rail_aspen_wood 209 198 170 +default:fence_rail_aspen_wood 210 199 170 default:fence_rail_junglewood 56 39 14 -default:fence_rail_pine_wood 221 184 130 +default:fence_rail_pine_wood 221 185 130 default:fence_rail_wood 131 102 57 -default:fence_wood 132 103 57 +default:fence_wood 131 102 57 default:fern_1 85 118 51 default:fern_2 90 123 53 default:fern_3 91 125 54 @@ -285,10 +290,10 @@ default:ice 168 206 247 default:junglegrass 67 110 28 default:jungleleaves 22 31 16 default:junglesapling 51 39 15 -default:jungletree 121 97 62 +default:jungletree 56 39 14 default:junglewood 56 39 14 -default:ladder_steel 132 132 132 -default:ladder_wood 125 93 43 +default:ladder_steel 185 185 190 +default:ladder_wood 131 102 57 default:large_cactus_seedling 67 107 52 default:lava_flowing 255 100 0 default:lava_source 255 100 0 @@ -297,11 +302,11 @@ default:marram_grass_1 113 139 96 default:marram_grass_2 102 131 90 default:marram_grass_3 99 130 88 default:mese 222 222 0 -default:mese_post_light 132 103 57 -default:mese_post_light_acacia_wood 151 62 39 +default:mese_post_light 131 102 57 +default:mese_post_light_acacia_wood 150 61 39 default:mese_post_light_aspen_wood 210 199 170 -default:mese_post_light_junglewood 57 39 14 -default:mese_post_light_pine_wood 221 185 131 +default:mese_post_light_junglewood 56 39 14 +default:mese_post_light_pine_wood 221 185 130 default:meselamp 213 215 143 default:mossycobble 88 91 73 default:obsidian 21 24 29 @@ -317,58 +322,58 @@ default:pine_bush_sapling 58 51 40 default:pine_bush_stem 73 62 53 default:pine_needles 16 50 19 default:pine_sapling 41 48 26 -default:pine_tree 191 165 132 +default:pine_tree 221 185 130 default:pine_wood 221 185 130 default:river_water_flowing 39 66 106 128 224 default:river_water_source 39 66 106 128 224 default:sand 214 207 158 -default:sand_with_kelp 214 207 158 +default:sand_with_kelp 171 185 144 default:sandstone 198 193 143 -default:sandstone_block 195 191 142 -default:sandstonebrick 194 190 141 +default:sandstone_block 198 193 143 +default:sandstonebrick 198 193 143 default:sapling 67 63 41 -default:sign_wall_steel 147 147 147 +default:sign_wall_steel 185 185 190 default:sign_wall_wood 148 103 66 default:silver_sand 193 191 179 default:silver_sandstone 195 192 181 -default:silver_sandstone_block 192 190 180 -default:silver_sandstone_brick 191 189 179 +default:silver_sandstone_block 195 192 181 +default:silver_sandstone_brick 195 192 181 default:snow 225 225 238 default:snowblock 225 225 238 -default:steelblock 195 195 195 +default:steelblock 185 185 190 default:stone 97 94 93 default:stone_block 100 97 96 -default:stone_with_coal 77 75 74 # Stein mit einem deutlichen Graustich von Kohle (dunkler) -default:stone_with_copper 128 102 86 # Stein mit einem bräunlich-orangen Kupferstich +default:stone_with_coal 77 75 74 # Stein mit einem deutlichen Graustich von Kohle (dunkler) +default:stone_with_copper 128 102 86 # Stein mit einem bräunlich-orangen Kupferstich default:stone_with_diamond 119 135 142 # Stein mit einem hellen, leicht bläulichen Diamantstich -default:stone_with_gold 144 130 80 # Stein mit einem gelblichen Goldstich -default:stone_with_iron 119 96 86 # Stein mit einem rostbraunen/gräulichen Eisenstich -default:stone_with_mese 144 120 71 # Stein mit einem kräftigen orangegelben Mesestich +default:stone_with_gold 144 130 80 # Stein mit einem gelblichen Goldstich +default:stone_with_iron 119 96 86 # Stein mit einem rostbraunen/gräulichen Eisenstich +default:stone_with_mese 144 120 71 # Stein mit einem kräftigen orangegelben Mesestich default:stone_with_tin 125 126 128 default:stonebrick 102 99 98 default:tinblock 150 150 150 default:torch 141 123 93 default:torch_ceiling 141 123 93 default:torch_wall 141 123 93 -default:tree 179 145 99 +default:tree 131 102 57 default:water_flowing 39 66 106 128 224 default:water_source 39 66 106 128 224 default:wood 131 102 57 # doors -doors:door_glass_a 245 245 245 64 16 -doors:door_glass_b 245 245 245 64 16 -doors:door_glass_c 245 245 245 64 16 -doors:door_glass_d 245 245 245 64 16 -doors:door_obsidian_glass_a 48 49 50 64 16 -doors:door_obsidian_glass_b 48 49 50 64 16 -doors:door_obsidian_glass_c 48 49 50 64 16 -doors:door_obsidian_glass_d 48 49 50 64 16 -doors:door_phiwari_a 139 69 19 # Generic wood color -doors:door_steel_a 203 203 203 -doors:door_steel_b 203 203 203 -doors:door_steel_c 203 203 203 -doors:door_steel_d 203 203 203 +doors:door_glass_a 247 247 247 64 16 +doors:door_glass_b 247 247 247 64 16 +doors:door_glass_c 247 247 247 64 16 +doors:door_glass_d 247 247 247 64 16 +doors:door_obsidian_glass_a 20 23 27 64 16 +doors:door_obsidian_glass_b 20 23 27 64 16 +doors:door_obsidian_glass_c 20 23 27 64 16 +doors:door_obsidian_glass_d 20 23 27 64 16 +doors:door_phiwari_a 139 69 19 +doors:door_steel_a 185 185 190 +doors:door_steel_b 185 185 190 +doors:door_steel_c 185 185 190 +doors:door_steel_d 185 185 190 doors:door_wood_a 89 68 37 doors:door_wood_b 89 68 37 doors:door_wood_c 89 68 37 @@ -383,116 +388,126 @@ doors:gate_pine_wood_closed 221 185 130 doors:gate_pine_wood_open 221 185 130 doors:gate_wood_closed 131 102 57 doors:gate_wood_open 131 102 57 -doors:hidden 192 192 192 # Light Grey (for hidden things, to be inconspicuous) -doors:trapdoor 130 100 51 -doors:trapdoor_oak 200 160 100 # Oak wood color -doors:trapdoor_oak_open 160 128 80 # Darker oak for open trapdoor +doors:hidden 192 192 192 +doors:trapdoor 131 102 57 +doors:trapdoor_oak 200 160 100 +doors:trapdoor_oak_open 180 140 90 doors:trapdoor_open 68 53 30 -doors:trapdoor_steel 200 200 200 +doors:trapdoor_steel 185 185 190 doors:trapdoor_steel_open 97 97 97 # drawers -drawers:pine_wood1 222 184 135 # BurlyWood (Pine color) -drawers:pine_wood2 210 180 140 # Tan (Slightly different Pine color) -drawers:wood4 131 102 57 # Generic wood color +drawers:pine_wood1 221 185 130 +drawers:pine_wood2 221 185 130 +drawers:wood4 131 102 57 # ethereal -ethereal:bamboo 140 180 80 # Bamboo green -ethereal:bamboo_dirt 97 67 43 # Same as default:dirt -ethereal:bamboo_leaves 100 160 60 # Bamboo leafy green -ethereal:banana 255 220 50 # Banana yellow -ethereal:bananaleaves 80 140 30 # Large tropical leaves -ethereal:banana_trunk 120 100 70 # Banana tree trunk color -ethereal:basandra_bush_leaves 70 110 30 # Generic bush leaves -ethereal:basandra_bush_stem 84 77 70 # Generic stem color -ethereal:birch_leaves 150 170 100 # Birch leaf green -ethereal:birch_trunk 225 220 210 # Light birch trunk -ethereal:blue_marble 120 140 180 # Bluish marble -ethereal:bush 55 90 40 # Darker bush green -ethereal:bush2 65 100 50 # Lighter bush green -ethereal:coconut 90 70 50 # Coconut brown -ethereal:cold_dirt 110 100 95 # Greyish cold dirt -ethereal:coral2_rooted 235 230 215 # Same as default coral -ethereal:coral3_rooted 197 68 17 # Same as default coral -ethereal:coral4_rooted 146 113 77 # Same as default coral -ethereal:coral5_rooted 235 230 215 # Same as default coral -ethereal:crystal_dirt 120 115 130 # Purplish dirt -ethereal:crystalgrass 180 220 255 # Light glowing blue-green -ethereal:crystal_spike 200 240 255 48 12 # Translucent light blue -ethereal:dry_dirt 178 136 90 # Same as default:dry_dirt -ethereal:dry_shrub 103 67 18 # Same as default:dry_shrub -ethereal:etherium_ore 180 170 220 # Light purple ore -ethereal:fern 85 118 51 # Generic fern green -ethereal:fiery_dirt 140 80 60 # Reddish, warm dirt -ethereal:frost_leaves 190 240 255 # Icy light blue leaves -ethereal:frost_tree 210 230 240 # Icy white trunk -ethereal:gray_dirt 120 120 120 # Grey dirt -ethereal:grove_dirt 80 60 40 # Dark, rich dirt -ethereal:lemon 250 250 100 # Lemon yellow -ethereal:lemon_leaves 100 150 50 # Lemon tree leaves -ethereal:lightstring 220 220 220 # Neutral color for the string -ethereal:lilac 200 162 200 # Lilac purple -ethereal:mushroom 195 102 102 # Same as flowers:mushroom_red -ethereal:mushroom_brown 109 84 78 # Same as flowers:mushroom_brown -ethereal:mushroom_dirt 85 75 80 # Fungal dirt -ethereal:mushroom_pore 210 200 190 # Mushroom pore color -ethereal:mushroom_trunk 190 180 170 # Mushroom stem/trunk -ethereal:olive 128 128 0 # Olive green -ethereal:olive_leaves 100 130 80 # Olive tree leaves -ethereal:olive_trunk 110 95 70 # Olive trunk -ethereal:onion_4 240 230 210 # Ripe onion -ethereal:orange 255 165 0 # Orange fruit -ethereal:orange_leaves 90 140 40 # Orange tree leaves -ethereal:palm_trunk 140 110 80 # Palm trunk -ethereal:palmleaves 80 130 30 # Palm leaves -ethereal:pond 60 90 120 # Murky pond water 128 224 -ethereal:prairie_dirt 130 100 60 # Prairie dirt color -ethereal:quicksand2 196 168 123 # Quicksand color -ethereal:redwood_leaves 40 80 30 # Dark redwood leaves -ethereal:redwood_trunk 90 50 40 # Redwood trunk -ethereal:sakura_leaves 255 182 193 # Pink sakura leaves -ethereal:sakura_trunk 120 100 90 # Sakura tree trunk -ethereal:sandy 214 207 158 # Sandy dirt, same as default sand -ethereal:scorched_tree 60 55 50 # Blackened, scorched wood -ethereal:seaweed_rooted 40 100 45 # Seaweed green -ethereal:slime_mold 120 150 80 # Slimy green/yellow -ethereal:snowygrass 200 230 210 # Grass with snow hints -ethereal:sponge_wet 220 210 130 # Wet sponge yellow -ethereal:spore_grass 130 120 140 # Fungal purple grass -ethereal:strawberry_7 255 0 0 # Red (ripe strawberry) -ethereal:thin_ice 190 220 250 48 12 # Translucent ice -ethereal:vine 60 110 25 # Green vine -ethereal:willow_trunk 100 90 80 # Willow trunk color -ethereal:willow_twig 80 70 60 # Thin willow twig +ethereal:bamboo 140 180 80 +ethereal:bamboo_dirt 97 67 43 +ethereal:bamboo_leaves 100 160 60 +ethereal:banana 255 220 50 +ethereal:bananaleaves 80 140 30 +ethereal:banana_trunk 120 100 70 +ethereal:basandra_bush_leaves 70 110 30 +ethereal:basandra_bush_stem 84 77 70 +ethereal:birch_leaves 150 170 100 +ethereal:birch_trunk 225 220 210 +ethereal:blue_marble 120 140 180 +ethereal:bush 55 90 40 +ethereal:bush2 65 100 50 +ethereal:coconut 90 70 50 +ethereal:cold_dirt 110 100 95 +ethereal:coral2_rooted 235 230 215 +ethereal:coral3_rooted 197 68 17 +ethereal:coral4_rooted 146 113 77 +ethereal:coral5_rooted 235 230 215 +ethereal:crystal_dirt 120 115 130 +ethereal:crystalgrass 180 220 255 +ethereal:crystal_spike 200 240 255 48 12 +ethereal:dry_dirt 178 136 90 +ethereal:dry_shrub 103 67 18 +ethereal:etherium_ore 180 170 220 +ethereal:fern 85 118 51 +ethereal:fiery_dirt 140 80 60 +ethereal:frost_leaves 190 240 255 +ethereal:frost_tree 210 230 240 +ethereal:gray_dirt 120 120 120 +ethereal:grove_dirt 80 60 40 +ethereal:lemon 250 250 100 +ethereal:lemon_leaves 100 150 50 +ethereal:lemon_tree_sapling 100 160 60 +ethereal:lightstring 220 220 220 +ethereal:lilac 200 162 200 +ethereal:mushroom 195 102 102 +ethereal:mushroom_brown 109 84 78 +ethereal:mushroom_dirt 85 75 80 +ethereal:mushroom_pore 210 200 190 +ethereal:mushroom_trunk 190 180 170 +ethereal:olive 128 128 0 +ethereal:olive_leaves 100 130 80 +ethereal:olive_trunk 110 95 70 +ethereal:onion_4 240 230 210 +ethereal:orange 255 165 0 +ethereal:orange_leaves 90 140 40 +ethereal:orange_tree_sapling 90 150 50 +ethereal:palm_trunk 140 110 80 +ethereal:palmleaves 80 130 30 +ethereal:pond 60 90 120 128 224 +ethereal:prairie_dirt 130 100 60 +ethereal:quicksand2 196 168 123 +ethereal:redwood_leaves 40 80 30 +ethereal:redwood_trunk 90 50 40 +ethereal:sakura_leaves 255 182 193 +ethereal:sakura_trunk 120 100 90 +ethereal:sandy 214 207 158 +ethereal:scorched_tree 60 55 50 +ethereal:seaweed_rooted 40 100 45 +ethereal:slime_mold 120 150 80 +ethereal:snowygrass 200 230 210 +ethereal:sponge_wet 220 210 130 +ethereal:spore_grass 130 120 140 +ethereal:strawberry_7 255 0 0 +ethereal:thin_ice 190 220 250 48 12 +ethereal:vine 60 110 25 +ethereal:willow_trunk 100 90 80 +ethereal:willow_twig 80 70 60 # fachwerk -fachwerk:cobble 89 86 84 # Match default:cobble -fachwerk:cobble_cross 89 86 84 # Match default:cobble -fachwerk:stone 97 94 93 # Match default:stone +fachwerk:cobble 89 86 84 +fachwerk:cobble_cross 89 86 84 +fachwerk:stone 97 94 93 # fake_fire -fake_fire:chimney_desert_stone 130 79 61 # Match default:desert_stone -fake_fire:chimney_sandstone_d 198 193 143 # Match default:sandstone -fake_fire:chimney_stone_d 97 94 93 # Match default:stone -fake_fire:embers 255 100 0 # Tiefes, glühendes Orange für Glut -fake_fire:fake_stable_fire 255 100 0 # Same as embers +fake_fire:chimney_desert_stone 130 79 61 +fake_fire:chimney_desert_stone_d 130 79 61 +fake_fire:chimney_sandstone 198 193 143 +fake_fire:chimney_sandstone_d 198 193 143 +fake_fire:chimney_stone_d 97 94 93 +fake_fire:embers 255 100 0 +fake_fire:fake_stable_fire 255 100 0 # farming -farming:artichoke_4 110 140 100 # Artichoke green -farming:asparagus_4 143 188 143 # Dark Sea Green (Asparagus spears) -farming:beanbush 50 150 50 # Green (Bean plant leaves) -farming:beanpole_5 139 69 19 # Brown pole, match saddle brown -farming:beetroot_5 139 0 0 # Dark Red (Beetroot) -farming:blackberry_1 80 90 30 # Unripe blackberry bush -farming:blackberry_4 40 0 50 # Dark Purple/Black (Blackberry) -farming:blueberry_4 70 0 130 # Indigo (Blueberry) -farming:cabbage_6 127 255 0 # Chartreuse (Cabbage green) -farming:carrot_7 255 140 0 # Dark Orange (Carrot) -farming:cocoa_2 110 140 50 # Cocoa plant stage -farming:cocoa_3 90 120 40 # Cocoa plant stage -farming:cocoa_4 180 110 60 # Ripe cocoa pod -farming:coffee_5 0 100 0 # Dark Green (Coffee plant) -farming:corn_7 154 205 50 # YellowGreen (Corn plant, some yellow) +farming:artichoke_4 110 140 100 +farming:asparagus_4 143 188 143 +farming:barley_8 218 190 70 +farming:beanbush 50 150 50 +farming:beanpole_5 139 69 19 +farming:beetroot_5 139 0 0 +farming:blackberry_1 80 90 30 +farming:blackberry_4 40 0 50 +farming:blueberry_4 70 0 130 +farming:cabbage_5 135 240 80 +farming:cabbage_6 127 255 0 +farming:carrot_6 200 180 50 +farming:carrot_7 255 140 0 +farming:carrot_8 255 140 0 +farming:cocoa_1 100 150 50 +farming:cocoa_2 110 140 50 +farming:cocoa_3 90 120 40 +farming:cocoa_4 180 110 60 +farming:coffee_5 0 100 0 +farming:corn_7 154 205 50 +farming:corn_8 255 215 0 farming:cotton_1 89 117 39 farming:cotton_2 89 116 38 farming:cotton_3 99 121 41 @@ -502,41 +517,69 @@ farming:cotton_6 121 95 59 farming:cotton_7 94 70 37 farming:cotton_8 122 108 93 farming:cotton_wild 111 111 101 -farming:cucumber_4 0 128 0 # Green (Cucumber) +farming:cucumber_4 0 128 0 farming:desert_sand_soil 161 132 72 farming:desert_sand_soil_wet 120 99 53 farming:dry_soil 178 136 90 farming:dry_soil_wet 178 136 90 -farming:eggplant_3 75 0 130 # Indigo (Eggplant purple) -farming:garlic_5 245 245 230 # Off-white garlic -farming:ginger_3 210 180 140 # Tan (Ginger root) -farming:grapebush 60 80 20 # Dark Green (Grape leaves) -farming:hemp_7 70 110 60 # Hemp plant green -farming:lettuce_5 144 238 144 # Light Green (Lettuce) -farming:melon_8 152 251 152 # Pale Green (Melon rind) -farming:mint_4 60 179 113 # Medium Sea Green (Mint leaves) -farming:oat_8 210 190 120 # Oat color -farming:onion_5 255 224 180 # Light Brown/Yellow (Onion skin) -farming:parsley_3 34 139 34 # Forest Green (Parsley) -farming:pea_5 0 128 0 # Green (Pea pod/plant) -farming:pepper_6 200 30 30 # Red pepper -farming:pineapple_8 255 215 0 # Gold (Pineapple body) -farming:potato_3 139 69 19 # Saddle Brown (Potato) -farming:pumpkin_8 255 165 0 # Orange (Pumpkin) -farming:raspberry_4 227 23 67 # Raspberry Red -farming:rhubarb_3 220 20 60 # Crimson (Rhubarb stalks) -farming:salt_crystal 240 240 250 # Off-white salt +farming:eggplant_3 75 0 130 +farming:eggplant_4 75 0 130 +farming:garlic_5 245 245 230 +farming:ginger_3 210 180 140 +farming:grapebush 60 80 20 +farming:grapes_5 100 0 100 +farming:grapes_6 100 0 100 +farming:grapes_7 100 0 100 +farming:grapes_8 100 0 100 +farming:hemp_7 70 110 60 +farming:hemp_8 60 100 50 +farming:lettuce_5 144 238 144 +farming:melon_8 152 251 152 +farming:mint_4 60 179 113 +farming:oat_8 210 190 120 +farming:onion_3 220 230 200 +farming:onion_4 245 245 230 +farming:onion_5 255 224 180 +farming:parsley_3 34 139 34 +farming:pea_1 100 160 80 +farming:pea_2 90 150 70 +farming:pea_3 80 140 60 +farming:pea_5 0 128 0 +farming:pepper_5 220 100 30 +farming:pepper_6 200 30 30 +farming:pepper_7 200 30 30 +farming:pineapple_8 255 215 0 +farming:potato_3 139 69 19 +farming:pumpkin_8 255 165 0 +farming:raspberry_4 227 23 67 +farming:rhubarb_1 80 140 70 +farming:rhubarb_2 150 80 80 +farming:rhubarb_3 220 20 60 +farming:rhubarb_4 230 20 60 +farming:rice_8 230 220 180 +farming:rye_3 140 180 70 +farming:rye_4 160 180 75 +farming:rye_5 180 175 80 +farming:rye_6 190 170 80 +farming:rye_7 200 170 80 +farming:rye_8 210 180 75 +farming:salt_crystal 240 240 250 +farming:scarecrow_bottom 131 102 57 farming:seed_cotton 92 87 60 farming:seed_wheat 177 161 96 farming:soil 97 67 43 farming:soil_wet 97 67 43 -farming:soy_6 107 142 35 # Olive Drab (Soy plant) -farming:spinach_3 0 100 0 # Dark Green (Spinach) +farming:soy_6 107 142 35 +farming:spinach_3 0 100 0 farming:straw 212 184 68 -farming:sunflower_8 255 215 0 # Gold (Sunflower petals) -farming:tomato_7 255 0 0 # Red (Tomato) -farming:vanilla_7 143 188 143 # Dark Sea Green (Vanilla plant/bean pod) -farming:weed 80 100 40 # Generic weed green +farming:sunflower_4 80 150 40 +farming:sunflower_5 100 180 40 +farming:sunflower_6 150 200 45 +farming:sunflower_7 200 220 50 +farming:sunflower_8 255 215 0 +farming:tomato_7 255 0 0 +farming:vanilla_7 143 188 143 +farming:weed 80 100 40 farming:wheat_1 110 175 36 farming:wheat_2 136 177 53 farming:wheat_3 163 182 84 @@ -551,25 +594,25 @@ fire:basic_flame 223 136 44 fire:permanent_flame 223 136 44 # fireflies -fireflies:firefly 220 255 100 # Helles, gelb-grünliches Leuchten für Glühwürmchen +fireflies:firefly 220 255 100 fireflies:firefly_bottle 191 194 202 -fireflies:hidden_firefly 40 40 40 # Dark Grey (for hidden, night context) +fireflies:hidden_firefly 40 40 40 # flowerbeds -flowerbeds:basic_wood 131 102 57 # Match default:wood +flowerbeds:basic_wood 131 102 57 # flowerpot -flowerpot:beautiflowers_agnes 255 20 147 # Match flower color -flowerpot:beautiflowers_bonsai_1 34 139 34 # Match flower color -flowerpot:beautiflowers_erica 255 182 193 # Match flower color -flowerpot:beautiflowers_gloria 255 182 193 # Match flower color -flowerpot:beautiflowers_ivette 238 130 238 # Match flower color -flowerpot:beautiflowers_lucia 218 112 214 # Match flower color -flowerpot:beautiflowers_nerea 255 20 147 # Match flower color -flowerpot:beautiflowers_pasto_4 60 179 113 # Match flower color -flowerpot:default_papyrus 97 134 38 # Match plant color -flowerpot:flowers_geranium 77 91 168 # Match flower color -flowerpot:flowers_tulip 156 101 44 # Match flower color +flowerpot:beautiflowers_agnes 255 20 147 +flowerpot:beautiflowers_bonsai_1 34 139 34 +flowerpot:beautiflowers_erica 255 182 193 +flowerpot:beautiflowers_gloria 255 182 193 +flowerpot:beautiflowers_ivette 238 130 238 +flowerpot:beautiflowers_lucia 218 112 214 +flowerpot:beautiflowers_nerea 255 20 147 +flowerpot:beautiflowers_pasto_4 60 179 113 +flowerpot:default_papyrus 97 134 38 +flowerpot:flowers_geranium 77 91 168 +flowerpot:flowers_tulip 156 101 44 # flowers flowers:chrysanthemum_green 118 152 44 @@ -586,416 +629,578 @@ flowers:waterlily 107 160 68 flowers:waterlily_waving 107 160 68 # gates_long -gates_long:fence_gate_closed_acacia 205 92 92 # Rötlich-oranges Akazienholz -gates_long:fence_gate_closed_junglewood 139 76 57 # Sattes Dschungelholzbraun -gates_long:fence_gate_closed_pine 222 184 135 # Helles Kiefernholz -gates_long:fence_gate_closed_tree 160 82 45 # Standard Holzfarbe (wie default wood) -gates_long:fence_gate_closed_wood 160 82 45 # Sienna (Wood color) +gates_long:fence_gate_closed_acacia 150 61 39 +gates_long:fence_gate_closed_junglewood 56 39 14 +gates_long:fence_gate_closed_pine 221 185 130 +gates_long:fence_gate_closed_tree 131 102 57 +gates_long:fence_gate_closed_wood 131 102 57 # generic_flags -generic_flags:lower_mast 140 110 80 # Wooden mast color -generic_flags:upper_mast 140 110 80 # Wooden mast color -generic_flags:upper_mast_hidden_1 140 110 80 # Wooden mast color +generic_flags:lower_mast 140 110 80 +generic_flags:upper_mast 140 110 80 +generic_flags:upper_mast_hidden_1 140 110 80 + +# illumination +illumination:light_10 255 255 224 +illumination:light_14 255 255 224 # irrigation -irrigation:water_barrel_holding_3 131 102 57 # Wood color for barrel -irrigation:well 97 94 93 # Stone color for well +irrigation:water_barrel 131 102 57 +irrigation:water_barrel_holding_1 131 102 57 +irrigation:water_barrel_holding_2 131 102 57 +irrigation:water_barrel_holding_3 131 102 57 +irrigation:well 97 94 93 # itemshelf -itemshelf:large_shelf 131 102 57 # Wood color for shelf +itemshelf:large_shelf 131 102 57 # laptop -laptop:bell_crossover_on 195 195 195 # Steel color -laptop:printer_on 220 220 225 # Off-white plastic for printer +laptop:bell_crossover_on 185 185 190 +laptop:printer_on 220 220 225 # lrfurn -lrfurn:armchair_green 33 103 0 # Match wool:dark_green +lrfurn:armchair_green 33 103 0 # mailbox -mailbox:letterbox 200 30 30 # Red postbox color -mailbox:mailbox 200 30 30 # Red postbox color +mailbox:letterbox 200 30 30 +mailbox:mailbox 200 30 30 # ma_pops_furniture -ma_pops_furniture:bath_faucet 200 200 200 # Chrome/steel color -ma_pops_furniture:blinds 230 230 220 # Off-white blinds -ma_pops_furniture:chair_junglewood 56 39 14 # Match default:junglewood -ma_pops_furniture:coffee_maker 50 50 50 # Black coffee maker -ma_pops_furniture:counter1_dark_green 33 103 0 # Match wool:dark_green -ma_pops_furniture:counter2_dark_green 33 103 0 # Match wool:dark_green -ma_pops_furniture:counter3_black 30 30 30 # Match wool:black -ma_pops_furniture:counter3_dark_green 33 103 0 # Match wool:dark_green -ma_pops_furniture:curtains_2_tall_dark_green 33 103 0 # Match wool:dark_green -ma_pops_furniture:curtains_dark_green 33 103 0 # Match wool:dark_green -ma_pops_furniture:doorbell 210 200 180 # Light plastic doorbell -ma_pops_furniture:fan_on 220 220 220 # White fan -ma_pops_furniture:fridge_top_white 235 235 235 # White appliance -ma_pops_furniture:fridge_white 235 235 235 # White appliance -ma_pops_furniture:jOyBoX_cart 255 0 0 # Red plastic cart -ma_pops_furniture:microwave 230 230 230 # White microwave -ma_pops_furniture:oven 90 90 90 # Dark grey oven -ma_pops_furniture:sink_black 40 40 40 # Black sink -ma_pops_furniture:stereo 50 50 50 # Black stereo -ma_pops_furniture:stone_path_1 120 120 120 # Stone path tile -ma_pops_furniture:stone_path_2 110 110 110 # Stone path tile -ma_pops_furniture:stone_path_3 130 130 130 # Stone path tile -ma_pops_furniture:stone_path_4 125 125 125 # Stone path tile -ma_pops_furniture:table_c_junglewood 56 39 14 # Match default:junglewood -ma_pops_furniture:table_center_junglewood 56 39 14 # Match default:junglewood -ma_pops_furniture:table_junglewood 56 39 14 # Match default:junglewood -ma_pops_furniture:toilet_close 240 240 245 # White ceramic toilet -ma_pops_furniture:toilet_paper_roll_dispenser 210 210 210 # Light grey plastic -ma_pops_furniture:tv_cube 50 50 50 # Black TV -ma_pops_furniture:tv_off 30 30 30 # Black screen -ma_pops_furniture:tv_rainbow 255 0 255 # Magenta to represent rainbow -ma_pops_furniture:upcabinet_black 30 30 30 # Black cabinet +ma_pops_furniture:bath_faucet 200 200 200 +ma_pops_furniture:blinds 230 230 220 +ma_pops_furniture:chair_junglewood 56 39 14 +ma_pops_furniture:coffee_maker 50 50 50 +ma_pops_furniture:counter1_dark_green 33 103 0 +ma_pops_furniture:counter2_dark_green 33 103 0 +ma_pops_furniture:counter3_black 30 30 30 +ma_pops_furniture:counter3_dark_green 33 103 0 +ma_pops_furniture:curtains_2_tall_dark_green 33 103 0 +ma_pops_furniture:curtains_dark_green 33 103 0 +ma_pops_furniture:doorbell 210 200 180 +ma_pops_furniture:fan_on 220 220 220 +ma_pops_furniture:fridge_top_white 235 235 235 +ma_pops_furniture:fridge_white 235 235 235 +ma_pops_furniture:jOyBoX_cart 255 0 0 +ma_pops_furniture:microwave 230 230 230 +ma_pops_furniture:oven 90 90 90 +ma_pops_furniture:sink_black 40 40 40 +ma_pops_furniture:stereo 50 50 50 +ma_pops_furniture:stone_path_1 120 120 120 +ma_pops_furniture:stone_path_2 110 110 110 +ma_pops_furniture:stone_path_3 130 130 130 +ma_pops_furniture:stone_path_4 125 125 125 +ma_pops_furniture:table_c_junglewood 56 39 14 +ma_pops_furniture:table_center_junglewood 56 39 14 +ma_pops_furniture:table_junglewood 56 39 14 +ma_pops_furniture:toilet_close 240 240 245 +ma_pops_furniture:toilet_paper_roll_dispenser 210 210 210 +ma_pops_furniture:tv_cube 50 50 50 +ma_pops_furniture:tv_off 30 30 30 +ma_pops_furniture:tv_rainbow 255 0 255 +ma_pops_furniture:upcabinet_black 30 30 30 # marinara -marinara:coastrock 169 169 169 # Dark Gray (Coast rock) -marinara:coastrock_alage 102 139 102 # Grayish Green (Rock with algae) -marinara:coastrock_with_brownalage 139 125 107 # Grayish Brown (Rock with brown algae) -marinara:hardcoral 245 245 220 # Beige (Base hard coral) -marinara:hardcoral_blue 100 149 237 # Cornflower Blue -marinara:hardcoral_brown 160 82 45 # Sienna -marinara:hardcoral_green 60 179 113 # Medium Sea Green -marinara:hardcoral_pink 255 182 193 # Light Pink -marinara:hardcoral_red 220 40 40 # Ein kräftiges Rot für rote Hartkoralle -marinara:hardcoral_yellow 255 255 102 # Light Yellow -marinara:mussels 47 79 79 # Dark Slate Gray (Mussel shells) -marinara:oisterbank 220 220 220 # Gainsboro (Oyster bank) -marinara:reed_root 100 80 60 # Dunkles, schlammiges Braun für Schilfwurzeln -marinara:sand_with_alage 175 193 140 # Sandfarbe mit einem deutlichen Grünstich durch Algen -marinara:sand_with_kelp 171 185 144 # Sandfarbe mit einem dunkleren Grün/Braun-Ton von Kelp -marinara:sand_with_seagrass 183 205 148 # Sandfarbe mit hellem Seegrasgrün -marinara:sand_with_seagrass2 191 209 156 # Eine leicht variierende Seegras-Sand-Farbe -marinara:sand_with_seashells 238 221 180 # Light Sand with whitish hint -marinara:sand_with_seashells_broken 220 200 160 # Sand color -marinara:sand_with_seashells_brown 210 190 150 # Brownish Sand -marinara:sand_with_seashells_orange 240 200 150 # Orangey Sand -marinara:sand_with_seashells_pink 240 210 200 # Pinkish Sand -marinara:sand_with_seashells_white 245 235 215 # Very Light Sand -marinara:sand_with_seashells_yellow 240 230 180 # Yellowish Sand -marinara:seaanemone_tentacle 255 182 193 # Helles Rosa für Seeanemonen-Tentakel -marinara:seaanemone_tentacle2 173 216 230 # Helles Blau für Seeanemonen-Tentakel -marinara:seaanemone_tentacle3 255 127 80 # Coral (Anemone color) -marinara:seaanemone_tentacle4 255 255 150 # Blasses Gelb für Seeanemonen-Tentakel -marinara:seapocks 240 240 240 # Whitish Grey (Sea Pocks/Barnacles) -marinara:seaworm 230 150 140 # Ein fleischiges Rosa/Braun für Seewürmer -marinara:seaworm2 255 170 170 # Light Fleshy Pink (Seaworm) -marinara:seaworm3 240 160 160 # Darker Fleshy Pink (Seaworm) -marinara:softcoral 255 240 220 # Cremefarben/hellbeige für generische Weichkoralle -marinara:softcoral_brown 160 120 80 # Ein gedämpftes Braun für braune Weichkoralle -marinara:softcoral_green 140 190 150 # Ein blasses Meerschaumgrün für grüne Weichkoralle -marinara:softcoral_red 240 100 100 # Ein gedämpftes Rot für rote Weichkoralle -marinara:softcoral_white 250 250 250 # White -marinara:softcoral_yellow 255 255 224 # Light Yellow +marinara:coastrock 169 169 169 +marinara:coastrock_alage 102 139 102 +marinara:coastrock_with_brownalage 139 125 107 +marinara:hardcoral 245 245 220 +marinara:hardcoral_blue 100 149 237 +marinara:hardcoral_brown 160 82 45 +marinara:hardcoral_green 60 179 113 +marinara:hardcoral_pink 255 182 193 +marinara:hardcoral_red 220 40 40 +marinara:hardcoral_yellow 255 255 102 +marinara:mussels 47 79 79 +marinara:oisterbank 220 220 220 +marinara:reed_root 100 80 60 +marinara:sand_with_alage 175 193 140 +marinara:sand_with_kelp 171 185 144 +marinara:sand_with_seagrass 183 205 148 +marinara:sand_with_seagrass2 191 209 156 +marinara:sand_with_seashells 238 221 180 +marinara:sand_with_seashells_broken 220 200 160 +marinara:sand_with_seashells_brown 210 190 150 +marinara:sand_with_seashells_orange 240 200 150 +marinara:sand_with_seashells_pink 240 210 200 +marinara:sand_with_seashells_white 245 235 215 +marinara:sand_with_seashells_yellow 240 230 180 +marinara:seaanemone_tentacle 255 182 193 +marinara:seaanemone_tentacle2 173 216 230 +marinara:seaanemone_tentacle3 255 127 80 +marinara:seaanemone_tentacle4 255 255 150 +marinara:seapocks 240 240 240 +marinara:seaworm 230 150 140 +marinara:seaworm2 255 170 170 +marinara:seaworm3 240 160 160 +marinara:softcoral 255 240 220 +marinara:softcoral_brown 160 120 80 +marinara:softcoral_green 140 190 150 +marinara:softcoral_red 240 100 100 +marinara:softcoral_white 250 250 250 +marinara:softcoral_yellow 255 255 224 # markers -markers:stone 128 128 128 # Grey (Stone marker) +markers:mark 128 128 128 +markers:stone 128 128 128 + +# mesecons +mesecons:wire_00000000_off 139 50 50 +mesecons:wire_00010000_off 139 50 50 +mesecons:wire_00010000_on 255 200 0 +mesecons:wire_00010001_off 139 50 50 +mesecons:wire_00010001_on 255 200 0 +mesecons:wire_00100000_off 139 50 50 +mesecons:wire_00100000_on 255 200 0 +mesecons:wire_00100010_off 139 50 50 +mesecons:wire_00100010_on 255 200 0 +mesecons:wire_00110000_off 139 50 50 +mesecons:wire_00110000_on 255 200 0 +mesecons:wire_00110001_off 139 50 50 +mesecons:wire_00110001_on 255 200 0 +mesecons:wire_00110011_off 139 50 50 +mesecons:wire_00110011_on 255 200 0 +mesecons:wire_01000000_off 139 50 50 +mesecons:wire_01000000_on 255 200 0 +mesecons:wire_01000100_off 139 50 50 +mesecons:wire_01000100_on 255 200 0 +mesecons:wire_01010000_off 139 50 50 +mesecons:wire_01010000_on 255 200 0 +mesecons:wire_01010001_off 139 50 50 +mesecons:wire_01010001_on 255 200 0 +mesecons:wire_01010100_off 139 50 50 +mesecons:wire_01010100_on 255 200 0 +mesecons:wire_01010101_off 139 50 50 +mesecons:wire_01010101_on 255 200 0 +mesecons:wire_01100000_off 139 50 50 +mesecons:wire_01100000_on 255 200 0 +mesecons:wire_01100010_on 255 200 0 +mesecons:wire_01100100_off 139 50 50 +mesecons:wire_01100100_on 255 200 0 +mesecons:wire_01100110_off 139 50 50 +mesecons:wire_01100110_on 255 200 0 +mesecons:wire_01110000_off 139 50 50 +mesecons:wire_01110000_on 255 200 0 +mesecons:wire_01110001_on 255 200 0 +mesecons:wire_01110011_off 139 50 50 +mesecons:wire_01110011_on 255 200 0 +mesecons:wire_01110100_off 139 50 50 +mesecons:wire_01110100_on 255 200 0 +mesecons:wire_01110101_off 139 50 50 +mesecons:wire_01110101_on 255 200 0 +mesecons:wire_01110110_off 139 50 50 +mesecons:wire_01110111_off 139 50 50 +mesecons:wire_01110111_on 255 200 0 +mesecons:wire_10000000_off 139 50 50 +mesecons:wire_10000000_on 255 200 0 +mesecons:wire_10001000_on 255 200 0 +mesecons:wire_10010000_off 139 50 50 +mesecons:wire_10010000_on 255 200 0 +mesecons:wire_10011000_off 139 50 50 +mesecons:wire_10011000_on 255 200 0 +mesecons:wire_10011001_off 139 50 50 +mesecons:wire_10011001_on 255 200 0 +mesecons:wire_10100000_off 139 50 50 +mesecons:wire_10100000_on 255 200 0 +mesecons:wire_10100010_off 139 50 50 +mesecons:wire_10100010_on 255 200 0 +mesecons:wire_10101000_off 139 50 50 +mesecons:wire_10101000_on 255 200 0 +mesecons:wire_10101010_off 139 50 50 +mesecons:wire_10101010_on 255 200 0 +mesecons:wire_10110000_off 139 50 50 +mesecons:wire_10110010_off 139 50 50 +mesecons:wire_10110010_on 255 200 0 +mesecons:wire_10111000_off 139 50 50 +mesecons:wire_10111000_on 255 200 0 +mesecons:wire_10111001_off 139 50 50 +mesecons:wire_10111011_off 139 50 50 +mesecons:wire_10111011_on 255 200 0 +mesecons:wire_11000000_off 139 50 50 +mesecons:wire_11000000_on 255 200 0 +mesecons:wire_11001100_off 139 50 50 +mesecons:wire_11001100_on 255 200 0 +mesecons:wire_11010000_off 139 50 50 +mesecons:wire_11010000_on 255 200 0 +mesecons:wire_11010100_off 139 50 50 +mesecons:wire_11011000_off 139 50 50 +mesecons:wire_11011001_off 139 50 50 +mesecons:wire_11011001_on 255 200 0 +mesecons:wire_11011100_off 139 50 50 +mesecons:wire_11011100_on 255 200 0 +mesecons:wire_11011101_on 255 200 0 +mesecons:wire_11100000_off 139 50 50 +mesecons:wire_11100000_on 255 200 0 +mesecons:wire_11100010_off 139 50 50 +mesecons:wire_11100010_on 255 200 0 +mesecons:wire_11100110_on 255 200 0 +mesecons:wire_11101000_on 255 200 0 +mesecons:wire_11101010_off 139 50 50 +mesecons:wire_11101010_on 255 200 0 +mesecons:wire_11101100_on 255 200 0 +mesecons:wire_11101110_on 255 200 0 +mesecons:wire_11110000_off 139 50 50 +mesecons:wire_11110000_on 255 200 0 +mesecons:wire_11110010_off 139 50 50 +mesecons:wire_11110011_on 255 200 0 +mesecons:wire_11110100_off 139 50 50 +mesecons:wire_11110101_off 139 50 50 +mesecons:wire_11110101_on 255 200 0 +mesecons:wire_11110110_on 255 200 0 +mesecons:wire_11110111_on 255 200 0 +mesecons:wire_11111000_off 139 50 50 +mesecons:wire_11111000_on 255 200 0 +mesecons:wire_11111001_off 139 50 50 +mesecons:wire_11111001_on 255 200 0 +mesecons:wire_11111010_off 139 50 50 +mesecons:wire_11111011_on 255 200 0 +mesecons:wire_11111100_off 139 50 50 +mesecons:wire_11111100_on 255 200 0 +mesecons:wire_11111101_on 255 200 0 +mesecons:wire_11111110_on 255 200 0 +mesecons:wire_11111111_off 139 50 50 +mesecons:wire_11111111_on 255 200 0 + +# mesecons_detector +mesecons_detector:object_detector_off 110 110 110 +mesecons_detector:object_detector_on 255 200 0 # mesecons_lightstone -mesecons_lightstone:lightstone_cyan_off 0 100 100 # Dark cyan off state -mesecons_lightstone:lightstone_cyan_on 0 255 255 # Bright cyan on state -mesecons_lightstone:lightstone_darkgray_off 50 50 50 # Dark grey off state +mesecons_lightstone:lightstone_blue_on 80 80 255 +mesecons_lightstone:lightstone_cyan_off 0 100 100 +mesecons_lightstone:lightstone_cyan_on 0 255 255 +mesecons_lightstone:lightstone_darkgray_off 50 50 50 +mesecons_lightstone:lightstone_green_off 0 80 0 +mesecons_lightstone:lightstone_green_on 0 255 0 +mesecons_lightstone:lightstone_red_off 80 0 0 +mesecons_lightstone:lightstone_red_on 255 0 0 +mesecons_lightstone:lightstone_violet_off 80 0 80 +mesecons_lightstone:lightstone_violet_on 200 0 200 +mesecons_lightstone:lightstone_yellow_on 255 255 0 + +# mesecons_switch +mesecons_switch:mesecon_switch_off 110 110 110 +mesecons_switch:mesecon_switch_on 255 200 0 # moreblocks -moreblocks:all_faces_tree 101 67 33 # Rindenbraun -moreblocks:cactus_brick 120 150 100 # Gedämpftes Kaktusgrün für Ziegel -moreblocks:circle_stone_bricks 115 115 115 # Kreissteinziegel, ähnlich Steinziegelgrau -moreblocks:clean_glass 250 250 250 64 16 # Clean glass -moreblocks:coal_stone 50 50 50 # Sehr dunkles Grau, fast schwarz (Kohlegestein) -moreblocks:coal_stone_bricks 60 60 60 # Ziegel aus Kohlegestein, sehr dunkelgrau -moreblocks:cobble_compressed 110 110 110 # Verdichteter Bruchstein, etwas dunkler -moreblocks:desert_cobble_compressed 190 170 130 # Verdichteter Wüstenbruchstein, sandig-grau -moreblocks:dirt_compressed 100 70 50 # Verdichtete Erde, dunkleres Braun -moreblocks:grey_bricks 140 140 140 # Standard graue Ziegel -moreblocks:iron_stone 100 90 85 # Eisengestein, dunkel-metallisch mit Rosthauch -moreblocks:iron_stone_bricks 105 95 90 # Ziegel aus Eisengestein -moreblocks:slab_coal_stone_bricks 60 60 60 # Match coal stone bricks -moreblocks:slab_cobble 130 130 130 # Cobblestone Grey -moreblocks:slab_desert_stone_block 131 80 61 # Match desert stone block -moreblocks:slab_obsidian_glass_quarter 20 23 27 64 16 # Match obsidian glass -moreblocks:slab_silver_sandstone 195 192 181 # Match silver sandstone -moreblocks:slab_silver_sandstone_block 192 190 180 # Match silver sandstone block -moreblocks:slab_stonebrick 102 99 98 # Match stonebrick -moreblocks:slab_wood 131 102 57 # Match wood -moreblocks:slab_wood_quarter 131 102 57 # Match wood -moreblocks:slope_iron_stone 100 90 85 # Match iron stone -moreblocks:slope_iron_stone_inner_cut_half_raised 100 90 85 # Match iron stone -moreblocks:stair_aspen_wood 245 228 190 # Sehr helles, fast weißliches Gelb-Braun für Espenholz -moreblocks:stair_coal_stone_bricks 60 60 60 # Match coal stone bricks -moreblocks:stair_cobble 130 130 130 # Cobblestone Grey -moreblocks:stair_desert_cobble 110 67 50 # Match desert cobble -moreblocks:stair_desert_cobble_outer 110 67 50 # Match desert cobble -moreblocks:stair_desert_sandstone 195 152 92 # Match desert sandstone -moreblocks:stair_desert_stone 130 79 61 # Match desert stone -moreblocks:stair_sandstone 198 193 143 # Match sandstone +moreblocks:all_faces_tree 101 67 33 +moreblocks:cactus_brick 120 150 100 +moreblocks:circle_stone_bricks 102 99 98 +moreblocks:clean_glass 250 250 250 64 16 +moreblocks:coal_stone 50 50 50 +moreblocks:coal_stone_bricks 60 60 60 +moreblocks:cobble_compressed 110 110 110 +moreblocks:desert_cobble_compressed 190 170 130 +moreblocks:dirt_compressed 100 70 50 +moreblocks:grey_bricks 140 140 140 +moreblocks:iron_stone 100 90 85 +moreblocks:iron_stone_bricks 105 95 90 +moreblocks:micro_coal_stone_bricks_4 60 60 60 +moreblocks:panel_coal_stone_bricks_4 60 60 60 +moreblocks:slab_coal_stone_bricks 60 60 60 +moreblocks:slab_coal_stone_quarter 60 60 60 +moreblocks:slab_cobble 89 86 84 +moreblocks:slab_desert_stone_block 130 79 61 +moreblocks:slab_obsidian_glass_quarter 20 23 27 64 16 +moreblocks:slab_silver_sandstone 195 192 181 +moreblocks:slab_silver_sandstone_block 195 192 181 +moreblocks:slab_silver_sandstone_block_2 195 192 181 +moreblocks:slab_stone_block 100 97 96 +moreblocks:slab_stonebrick 102 99 98 +moreblocks:slab_wood 131 102 57 +moreblocks:slab_wood_quarter 131 102 57 +moreblocks:slope_iron_stone 100 90 85 +moreblocks:slope_iron_stone_inner_cut_half_raised 100 90 85 +moreblocks:slope_stonebrick_outer_half_raised 102 99 98 +moreblocks:stair_aspen_wood 210 199 170 +moreblocks:stair_coal_stone_bricks 60 60 60 +moreblocks:stair_cobble 89 86 84 +moreblocks:stair_desert_cobble 110 67 50 +moreblocks:stair_desert_cobble_outer 110 67 50 +moreblocks:stair_desert_sandstone 198 193 143 +moreblocks:stair_desert_stone 130 79 61 +moreblocks:stair_sandstone 198 193 143 +moreblocks:stair_stonebrick 102 99 98 # morelights_extras -morelights_extras:stairlight 255 255 200 # Light yellow light -morelights_extras:stone_block 100 97 96 # Standard Steinblockfarbe +morelights_extras:stairlight 255 255 200 +morelights_extras:stone_block 100 97 96 # morelights_modern -morelights_modern:barlight_c 240 240 240 # Light fixture color -morelights_modern:barlight_s 240 240 240 # Light fixture color -morelights_modern:block 245 245 245 # Light block -morelights_modern:canlight_d 180 180 180 # Grey can light -morelights_modern:pathlight_d 80 80 80 # Dark pathlight -morelights_modern:post_d 90 90 90 # Dark post -morelights_modern:tablelamp_d 200 200 200 # Grey tablelamp -morelights_modern:walllamp 210 210 210 # Light grey wall lamp +morelights_modern:barlight_c 240 240 240 +morelights_modern:barlight_s 240 240 240 +morelights_modern:block 245 245 245 +morelights_modern:canlight_d 180 180 180 +morelights_modern:pathlight_d 80 80 80 +morelights_modern:post_d 90 90 90 +morelights_modern:tablelamp_d 200 200 200 +morelights_modern:walllamp 210 210 210 # morelights_vintage -morelights_vintage:lantern_w 100 80 60 # Dark wood lantern +morelights_vintage:lantern_f 70 70 70 +morelights_vintage:lantern_w 100 80 60 # mydeck -mydeck:rail_corners_black 30 30 30 # Match black -mydeck:rail_corners_grey 133 133 133 # Match grey -mydeck:rails_black 30 30 30 # Match black -mydeck:rails_grey 133 133 133 # Match grey +mydeck:rail_corners_black 30 30 30 +mydeck:rail_corners_dark_grey 60 60 60 +mydeck:rail_corners_grey 133 133 133 +mydeck:rails_black 30 30 30 +mydeck:rails_dark_grey 60 60 60 +mydeck:rails_grey 133 133 133 # myfurniture -myfurniture:pine_wood_shelf 221 185 130 # Match pine wood +myfurniture:pine_wood_shelf 221 185 130 # myglass -myglass:myglass_bars 80 80 80 64 16 # Dark grey bars -myglass:myglass_black 30 30 30 100 16 # Black glass -myglass:myglass_grid 100 100 100 64 16 # Grey grid -myglass:window_plus_white 240 240 240 # White window frame +myglass:myglass_bars 80 80 80 64 16 +myglass:myglass_black 30 30 30 100 16 +myglass:myglass_grid 100 100 100 64 16 +myglass:window_plus_white 240 240 240 # myroofs -myroofs:asphalt_shingle_dark_grey 70 70 75 # Dark grey asphalt -myroofs:asphalt_shingle_dark_grey_bundle 70 70 75 # Dark grey asphalt -myroofs:asphalt_shingle_dark_grey_icorner 70 70 75 # Dark grey asphalt -myroofs:asphalt_shingle_dark_grey_ocorner 70 70 75 # Dark grey asphalt -myroofs:asphalt_shingle_red_bundle 140 50 50 # Red shingle -myroofs:asphalt_shingle_red_long 140 50 50 # Red shingle -myroofs:asphalt_shingle_red_long_ocorner 140 50 50 # Red shingle +myroofs:asphalt_shingle_dark_grey 70 70 75 +myroofs:asphalt_shingle_dark_grey_bundle 70 70 75 +myroofs:asphalt_shingle_dark_grey_icorner 70 70 75 +myroofs:asphalt_shingle_dark_grey_ocorner 70 70 75 +myroofs:asphalt_shingle_red_bundle 140 50 50 +myroofs:asphalt_shingle_red_long 140 50 50 +myroofs:asphalt_shingle_red_long_ocorner 140 50 50 # mysheetmetal -mysheetmetal:fascia 180 180 185 # Light metallic grey -mysheetmetal:fascia_L_L 180 180 185 # Light metallic grey -mysheetmetal:fascia_R_L 180 180 185 # Light metallic grey -mysheetmetal:fascia_R_U 180 180 185 # Light metallic grey +mysheetmetal:fascia 180 180 185 +mysheetmetal:fascia_L_L 180 180 185 +mysheetmetal:fascia_R_L 180 180 185 +mysheetmetal:fascia_R_U 180 180 185 # mysiding -mysiding:light_wide_corner_default_pine_wood 221 185 130 # Match pine wood -mysiding:light_wide_default_pine_wood 221 185 130 # Match pine wood -mysiding:wide_corner_default_stone 97 94 93 # Match stone -mysiding:wide_default_stone 97 94 93 # Match stone +mysiding:light_wide_corner_default_pine_wood 221 185 130 +mysiding:light_wide_default_pine_wood 221 185 130 +mysiding:wide_corner_default_stone 97 94 93 +mysiding:wide_default_stone 97 94 93 # mystreets -mystreets:asphalt 55 55 60 # Dark asphalt -mystreets:asphalt_center_dashed 55 55 60 # Dark asphalt -mystreets:asphalt_icorner 55 55 60 # Dark asphalt -mystreets:asphalt_ocorner 55 55 60 # Dark asphalt -mystreets:asphalt_parking 55 55 60 # Dark asphalt -mystreets:asphalt_side_dashed 55 55 60 # Dark asphalt -mystreets:asphalt_side_solid 55 55 60 # Dark asphalt -mystreets:asphalt_yellow_arrows 55 55 60 # Dark asphalt -mystreets:lead 90 90 100 # Lead grey -mystreets:lightpost 100 100 100 # Concrete post -mystreets:lightpost_l 100 100 100 # Concrete post -mystreets:manhole 80 80 80 # Iron manhole -mystreets:manhole_shaft 70 70 70 # Dark shaft -mystreets:nickel 200 200 210 # Nickel color -mystreets:pylon 255 100 0 # Orange pylon -mystreets:sidewalk 150 150 150 # Concrete sidewalk -mystreets:sign_pedestrian_crossing_post 110 110 110 # Metal sign post -mystreets:street_light 90 90 90 # Dark metal street light -mystreets:zinc 210 210 220 # Zinc color +mystreets:asphalt 55 55 60 +mystreets:asphalt_center_dashed 55 55 60 +mystreets:asphalt_icorner 55 55 60 +mystreets:asphalt_ocorner 55 55 60 +mystreets:asphalt_parking 55 55 60 +mystreets:asphalt_side_dashed 55 55 60 +mystreets:asphalt_side_solid 55 55 60 +mystreets:asphalt_yellow_arrows 55 55 60 +mystreets:lead 90 90 100 +mystreets:lightpost 100 100 100 +mystreets:lightpost_l 100 100 100 +mystreets:manhole 80 80 80 +mystreets:manhole_shaft 70 70 70 +mystreets:nickel 200 200 210 +mystreets:pylon 255 100 0 +mystreets:ramp_asphalt_center_solid_long 55 55 60 +mystreets:ramp_asphalt_long 55 55 60 +mystreets:ramp_asphalt_side_solid_left_long 55 55 60 +mystreets:ramp_asphalt_side_solid_right_long 55 55 60 +mystreets:ramp_sidewalk_long 150 150 150 +mystreets:sidewalk 150 150 150 +mystreets:sign_pedestrian_crossing_post 110 110 110 +mystreets:stop_sign 200 0 0 +mystreets:street_light 90 90 90 +mystreets:zinc 210 210 220 # myworkshop -myworkshop:bench_long 131 102 57 # Wood color -myworkshop:bench_long_right 131 102 57 # Wood color -myworkshop:bench_wood_top 131 102 57 # Wood color -myworkshop:pegboard 160 140 120 # Brown pegboard -myworkshop:stool 195 195 195 # Steel stool +myworkshop:bench_long 131 102 57 +myworkshop:bench_long_right 131 102 57 +myworkshop:bench_wood_top 131 102 57 +myworkshop:pegboard 160 140 120 +myworkshop:stool 185 185 190 # naturalbiomes -naturalbiomes:acacia_leaves 126 153 101 # Match default:acacia_leaves -naturalbiomes:acacia_trapdoor 150 61 39 # Match default:acacia_wood -naturalbiomes:acacia_trunk 195 119 97 # Match default:acacia_tree -naturalbiomes:acacia_wood 150 61 39 # Match default:acacia_wood -naturalbiomes:alder_leaves 80 115 40 # Alder leaf green -naturalbiomes:alderswamp_brownreed 140 110 80 # Brown reed -naturalbiomes:alderswamp_dirt 80 60 45 # Swampy dirt -naturalbiomes:alderswamp_litter 70 50 35 # Swampy litter -naturalbiomes:alderswamp_reed 100 130 90 # Green reed -naturalbiomes:alderswamp_reed2 105 135 95 # Green reed -naturalbiomes:alderswamp_reed3 110 140 100 # Green reed -naturalbiomes:alderswamp_yellowflower 255 255 0 # Match yellow flower -naturalbiomes:alder_trunk 100 90 80 # Alder trunk -naturalbiomes:alpine_cowberrybush_leaves 70 100 60 # Alpine bush leaves -naturalbiomes:alpine_cowberrybush_stem 84 77 70 # Alpine stem -naturalbiomes:alpine_dandelion 212 167 31 # Match flower -naturalbiomes:alpine_edelweiss 245 245 240 # White Edelweiss -naturalbiomes:alpine_grass1 110 150 90 # Alpine grass -naturalbiomes:alpine_grass2 115 155 95 # Alpine grass -naturalbiomes:alpine_grass3 120 160 100 # Alpine grass -naturalbiomes:alpine_litter 100 90 70 # Alpine ground litter -naturalbiomes:alpine_mushroom 109 84 78 # Match mushroom -naturalbiomes:alpine_rock 140 140 145 # Grey alpine rock -naturalbiomes:alppine1_leaves 16 50 19 # Match pine_needles -naturalbiomes:alppine1_trunk 191 165 132 # Match pine_tree -naturalbiomes:alppine2_leaves 16 50 19 # Match pine_needles -naturalbiomes:alppine2_trunk 191 165 132 # Match pine_tree -naturalbiomes:bambooforest_groundgrass 80 120 60 # Bamboo forest grass -naturalbiomes:bambooforest_groundgrass2 85 125 65 # Bamboo forest grass -naturalbiomes:bambooforest_litter 75 90 60 # Bamboo forest litter -naturalbiomes:bambooforest_rock 110 115 110 # Mossy rock -naturalbiomes:bamboo_leaves 100 160 60 # Bamboo leafy green -naturalbiomes:bamboo_trunk 140 180 80 # Bamboo green -naturalbiomes:banana_bunch 255 220 50 # Banana yellow -naturalbiomes:banana_leaves 80 140 30 # Large tropical leaves -naturalbiomes:banana_sapling 80 140 30 # Banana leaf color -naturalbiomes:banana_trunk 120 100 70 # Banana tree trunk color -naturalbiomes:beach_bush_leaves 90 120 70 # Beach bush leaves -naturalbiomes:beach_bush_stem 90 80 70 # Beach bush stem -naturalbiomes:blackberry 40 0 50 # Ripe blackberry -naturalbiomes:bushland_blackberry_leaves 60 90 30 # Blackberry bush -naturalbiomes:bushland_blackberry_leaves2 65 95 35 # Blackberry bush -naturalbiomes:bushland_blackberry_stem 84 77 70 # Stem color -naturalbiomes:bushland_bushlandlitter 90 70 50 # Bushland litter -naturalbiomes:bushland_bushlandlitter2 95 75 55 # Bushland litter -naturalbiomes:bushland_bushlandlitter3 100 80 60 # Bushland litter -naturalbiomes:bushland_deadbush_leaves 140 110 80 # Dead leaves -naturalbiomes:bushland_grass 100 140 54 # Normal grass -naturalbiomes:bushland_grass2 98 139 55 # Normal grass -naturalbiomes:bushland_grass3 94 136 53 # Normal grass -naturalbiomes:bushland_grass4 89 133 48 # Normal grass -naturalbiomes:bushland_grass5 86 126 48 # Normal grass -naturalbiomes:bushland_grass6 80 120 45 # Normal grass -naturalbiomes:bushland_grass7 75 115 40 # Normal grass -naturalbiomes:bushland_hazelnutbush_sapling 81 112 33 # Sapling green -naturalbiomes:bushland_hazelnut_leaves 70 100 40 # Hazelnut leaves -naturalbiomes:bushland_hazelnut_leaves2 75 105 45 # Hazelnut leaves -naturalbiomes:bushland_hazelnut_stem 90 80 70 # Hazelnut stem -naturalbiomes:bushland_wildrose_leaves 70 100 40 # Rose leaves -naturalbiomes:bushland_wildrose_leaves2 75 105 45 # Rose leaves -naturalbiomes:bushland_wildrose_stem 90 80 70 # Rose stem -naturalbiomes:coconut 90 70 50 # Coconut brown -naturalbiomes:heath_birch_leaves 150 170 100 # Birch leaf green -naturalbiomes:heath_birch_trunk 225 220 210 # Light birch trunk -naturalbiomes:heatherflower 218 112 214 # Heather purple/orchid -naturalbiomes:heatherflower2 220 120 210 # Heather purple/orchid -naturalbiomes:heatherflower3 215 110 212 # Heather purple/orchid -naturalbiomes:heatherflower3node 218 112 214 # Heather purple/orchid -naturalbiomes:heatherflower4 210 100 200 # Heather purple/orchid -naturalbiomes:heatherflowernode 218 112 214 # Heather purple/orchid -naturalbiomes:heath_grass 130 150 90 # Heathland grass -naturalbiomes:heath_grass2 135 155 95 # Heathland grass -naturalbiomes:heath_grass3 140 160 100 # Heathland grass -naturalbiomes:heath_juniper_leaves 60 90 50 # Juniper leaves -naturalbiomes:heath_juniper_trunk 100 85 70 # Juniper trunk -naturalbiomes:heath_litter 120 100 70 # Heathland litter -naturalbiomes:heath_litter2 125 105 75 # Heathland litter -naturalbiomes:heath_litter3 130 110 80 # Heathland litter -naturalbiomes:heath_willow_leaves2 90 120 70 # Willow leaves -naturalbiomes:heath_willow_trunk 100 90 80 # Willow trunk -naturalbiomes:med_bush_leaves 80 110 60 # Mediterranean bush -naturalbiomes:med_bush_stem 95 85 75 # Mediterranean stem -naturalbiomes:med_flower2 255 105 180 # Pink flower -naturalbiomes:med_flower3 255 255 0 # Yellow flower -naturalbiomes:med_grass1 160 170 100 # Dry-ish grass -naturalbiomes:med_grass2 165 175 105 # Dry-ish grass -naturalbiomes:mediterran_litter 150 130 100 # Dry litter -naturalbiomes:mediterran_rock 160 150 140 # Light grey/tan rock -naturalbiomes:mediterran_ruin 150 140 130 # Ruin stone -naturalbiomes:mediterran_ruin2 145 135 125 # Ruin stone -naturalbiomes:olive_leaves 100 130 80 # Olive tree leaves -naturalbiomes:olives 100 100 0 # Ripe olive color -naturalbiomes:olive_sapling 100 130 80 # Olive leaf color -naturalbiomes:olive_trunk 110 95 70 # Olive trunk -naturalbiomes:outback_bush_leaves 130 120 80 # Dry outback leaves -naturalbiomes:outback_bush_stem 110 95 75 # Dry outback stem -naturalbiomes:outback_grass 187 148 78 # Dry grass color -naturalbiomes:outback_grass2 190 150 80 # Dry grass color -naturalbiomes:outback_grass3 185 145 75 # Dry grass color -naturalbiomes:outback_grass4 192 152 82 # Dry grass color -naturalbiomes:outback_grass5 188 149 79 # Dry grass color -naturalbiomes:outback_grass6 186 147 77 # Dry grass color -naturalbiomes:outback_ground 190 160 120 # Outback ground/dirt -naturalbiomes:outback_leaves 150 130 90 # Dry outback leaves -naturalbiomes:outback_litter 160 140 110 # Dry outback litter -naturalbiomes:outback_rock 170 140 110 # Reddish outback rock -naturalbiomes:outback_trunk 120 100 80 # Dry outback trunk -naturalbiomes:palmbeach_grass1 100 140 54 # Beach grass -naturalbiomes:palmbeach_grass2 98 139 55 # Beach grass -naturalbiomes:palmbeach_grass3 94 136 53 # Beach grass -naturalbiomes:palmbeach_rock 150 150 145 # Sandy rock -naturalbiomes:palmbeach_sand 220 213 164 # Beach sand -naturalbiomes:palm_leaves 80 130 30 # Palm leaves -naturalbiomes:palm_trunk 140 110 80 # Palm trunk -naturalbiomes:pine_leaves 16 50 19 # Match default:pine_needles -naturalbiomes:pine_trunk 191 165 132 # Match default:pine_tree -naturalbiomes:savanna_flowergrass 180 170 100 # Savanna grass with flowers -naturalbiomes:savannagrass 187 148 78 # Match default:dirt_with_dry_grass -naturalbiomes:savanna_grass2 190 150 80 # Dry grass -naturalbiomes:savanna_grass3 185 145 75 # Dry grass -naturalbiomes:savannagrasssmall 187 148 78 # Dry grass -naturalbiomes:savannalitter 160 130 90 # Savanna litter -naturalbiomes:smallbamboo 140 180 80 # Bamboo green -naturalbiomes:swampgrass 90 120 70 # Darker swamp grass -naturalbiomes:swampgrass2 95 125 75 # Darker swamp grass -naturalbiomes:waterlily 107 160 68 # Match flowers:waterlily +naturalbiomes:acacia_leaves 126 153 101 +naturalbiomes:acacia_trapdoor 150 61 39 +naturalbiomes:acacia_trunk 150 61 39 +naturalbiomes:acacia_wood 150 61 39 +naturalbiomes:alder_leaves 80 115 40 +naturalbiomes:alderswamp_brownreed 140 110 80 +naturalbiomes:alderswamp_dirt 80 60 45 +naturalbiomes:alderswamp_litter 70 50 35 +naturalbiomes:alderswamp_reed 100 130 90 +naturalbiomes:alderswamp_reed2 105 135 95 +naturalbiomes:alderswamp_reed3 110 140 100 +naturalbiomes:alderswamp_yellowflower 255 255 0 +naturalbiomes:alder_trunk 100 90 80 +naturalbiomes:alpine_cowberrybush_leaves 70 100 60 +naturalbiomes:alpine_cowberrybush_stem 84 77 70 +naturalbiomes:alpine_dandelion 212 167 31 +naturalbiomes:alpine_edelweiss 245 245 240 +naturalbiomes:alpine_grass1 110 150 90 +naturalbiomes:alpine_grass2 115 155 95 +naturalbiomes:alpine_grass3 120 160 100 +naturalbiomes:alpine_litter 100 90 70 +naturalbiomes:alpine_mushroom 109 84 78 +naturalbiomes:alpine_rock 140 140 145 +naturalbiomes:alppine1_leaves 16 50 19 +naturalbiomes:alppine1_trunk 221 185 130 +naturalbiomes:alppine2_leaves 16 50 19 +naturalbiomes:alppine2_trunk 221 185 130 +naturalbiomes:bambooforest_groundgrass 80 120 60 +naturalbiomes:bambooforest_groundgrass2 85 125 65 +naturalbiomes:bambooforest_litter 75 90 60 +naturalbiomes:bambooforest_rock 110 115 110 +naturalbiomes:bamboo_leaves 100 160 60 +naturalbiomes:bamboo_trunk 140 180 80 +naturalbiomes:banana_bunch 255 220 50 +naturalbiomes:banana_leaves 80 140 30 +naturalbiomes:banana_sapling 80 140 30 +naturalbiomes:banana_trunk 120 100 70 +naturalbiomes:beach_bush_leaves 90 120 70 +naturalbiomes:beach_bush_stem 90 80 70 +naturalbiomes:blackberry 40 0 50 +naturalbiomes:bushland_blackberry_leaves 60 90 30 +naturalbiomes:bushland_blackberry_leaves2 65 95 35 +naturalbiomes:bushland_blackberry_stem 84 77 70 +naturalbiomes:bushland_bushlandlitter 90 70 50 +naturalbiomes:bushland_bushlandlitter2 95 75 55 +naturalbiomes:bushland_bushlandlitter3 100 80 60 +naturalbiomes:bushland_deadbush_leaves 140 110 80 +naturalbiomes:bushland_grass 100 140 54 +naturalbiomes:bushland_grass2 98 139 55 +naturalbiomes:bushland_grass3 94 136 53 +naturalbiomes:bushland_grass4 89 133 48 +naturalbiomes:bushland_grass5 86 126 48 +naturalbiomes:bushland_grass6 80 120 45 +naturalbiomes:bushland_grass7 75 115 40 +naturalbiomes:bushland_hazelnutbush_sapling 81 112 33 +naturalbiomes:bushland_hazelnut_leaves 70 100 40 +naturalbiomes:bushland_hazelnut_leaves2 75 105 45 +naturalbiomes:bushland_hazelnut_stem 90 80 70 +naturalbiomes:bushland_wildrose_leaves 70 100 40 +naturalbiomes:bushland_wildrose_leaves2 75 105 45 +naturalbiomes:bushland_wildrose_stem 90 80 70 +naturalbiomes:coconut 90 70 50 +naturalbiomes:heath_birch_leaves 150 170 100 +naturalbiomes:heath_birch_trunk 225 220 210 +naturalbiomes:heatherflower 218 112 214 +naturalbiomes:heatherflower2 220 120 210 +naturalbiomes:heatherflower2node 220 120 210 +naturalbiomes:heatherflower3 215 110 212 +naturalbiomes:heatherflower3node 218 112 214 +naturalbiomes:heatherflower4 210 100 200 +naturalbiomes:heatherflower4node 210 100 200 +naturalbiomes:heatherflowernode 218 112 214 +naturalbiomes:heath_grass 130 150 90 +naturalbiomes:heath_grass2 135 155 95 +naturalbiomes:heath_grass3 140 160 100 +naturalbiomes:heath_juniper_leaves 60 90 50 +naturalbiomes:heath_juniper_trunk 100 85 70 +naturalbiomes:heath_litter 120 100 70 +naturalbiomes:heath_litter2 125 105 75 +naturalbiomes:heath_litter3 130 110 80 +naturalbiomes:heath_willow_leaves2 90 120 70 +naturalbiomes:heath_willow_trunk 100 90 80 +naturalbiomes:med_bush_leaves 80 110 60 +naturalbiomes:med_bush_stem 95 85 75 +naturalbiomes:med_flower2 255 105 180 +naturalbiomes:med_flower3 255 255 0 +naturalbiomes:med_grass1 160 170 100 +naturalbiomes:med_grass2 165 175 105 +naturalbiomes:mediterran_litter 150 130 100 +naturalbiomes:mediterran_rock 160 150 140 +naturalbiomes:mediterran_ruin 150 140 130 +naturalbiomes:mediterran_ruin2 145 135 125 +naturalbiomes:olive_leaves 100 130 80 +naturalbiomes:olives 100 100 0 +naturalbiomes:olive_sapling 100 130 80 +naturalbiomes:olive_trunk 110 95 70 +naturalbiomes:outback_bush_leaves 130 120 80 +naturalbiomes:outback_bush_stem 110 95 75 +naturalbiomes:outback_grass 187 148 78 +naturalbiomes:outback_grass2 190 150 80 +naturalbiomes:outback_grass3 185 145 75 +naturalbiomes:outback_grass4 192 152 82 +naturalbiomes:outback_grass5 188 149 79 +naturalbiomes:outback_grass6 186 147 77 +naturalbiomes:outback_ground 190 160 120 +naturalbiomes:outback_leaves 150 130 90 +naturalbiomes:outback_litter 160 140 110 +naturalbiomes:outback_rock 170 140 110 +naturalbiomes:outback_trunk 120 100 80 +naturalbiomes:palmbeach_grass1 100 140 54 +naturalbiomes:palmbeach_grass2 98 139 55 +naturalbiomes:palmbeach_grass3 94 136 53 +naturalbiomes:palmbeach_rock 150 150 145 +naturalbiomes:palmbeach_sand 220 213 164 +naturalbiomes:palm_leaves 80 130 30 +naturalbiomes:palm_trunk 140 110 80 +naturalbiomes:pine_leaves 16 50 19 +naturalbiomes:pine_trunk 221 185 130 +naturalbiomes:savanna_flowergrass 180 170 100 +naturalbiomes:savannagrass 187 148 78 +naturalbiomes:savanna_grass2 190 150 80 +naturalbiomes:savanna_grass3 185 145 75 +naturalbiomes:savannagrasssmall 187 148 78 +naturalbiomes:savannalitter 160 130 90 +naturalbiomes:smallbamboo 140 180 80 +naturalbiomes:swampgrass 90 120 70 +naturalbiomes:swampgrass2 95 125 75 +naturalbiomes:waterlily 107 160 68 # nether -nether:airlike_darkness 10 10 10 # Very Dark Grey / Near Black -nether:basalt 50 50 50 # Dark Grey (Basalt) -nether:brick 112 28 28 # Nether Brick Red -nether:brick_cracked 100 25 25 # Slightly darker/muted Nether Brick -nether:fumarole 150 150 120 # Greyish Yellow (Sulfurous) -nether:fumarole_corner 150 150 120 # Greyish Yellow -nether:fumarole_slab 150 150 120 # Greyish Yellow -nether:geode 100 80 120 # Purplish Grey (Geode exterior/hint of crystal) -nether:glowstone 255 223 128 # Light Yellowish Glow -nether:glowstone_deep 255 200 100 # Deeper Yellow/Orange Glow -nether:lava_crust 60 30 30 # Dark Reddish Brown (Cooled Lava) -nether:lava_source 255 100 0 # Bright Orange/Red (Lava) -nether:rack 120 50 50 # Netherrack Red/Maroon -nether:rack_deep 100 40 40 # Darker Netherrack -nether:sand 80 65 60 # Soul Sand Brownish Grey +nether:airlike_darkness 10 10 10 +nether:basalt 50 50 50 +nether:brick 112 28 28 +nether:brick_cracked 100 25 25 +nether:fumarole 150 150 120 +nether:fumarole_corner 150 150 120 +nether:fumarole_slab 150 150 120 +nether:geode 100 80 120 +nether:glowstone 255 223 128 +nether:glowstone_deep 255 200 100 +nether:lava_crust 60 30 30 +nether:lava_source 255 100 0 +nether:rack 120 50 50 +nether:rack_deep 100 40 40 +nether:sand 80 65 60 # ontime_clocks -ontime_clocks:frameless_black 30 30 30 # Match black -ontime_clocks:frameless_gold 255 215 0 # Gold -ontime_clocks:green_digital 0 255 0 # Bright Green (Digital LED) -ontime_clocks:white 250 250 250 # White +ontime_clocks:frameless_black 30 30 30 +ontime_clocks:frameless_gold 255 215 0 +ontime_clocks:green_digital 0 255 0 +ontime_clocks:white 250 250 250 # pillars -pillars:stone_block_bot 100 97 96 # Match stone_block -pillars:stone_block_top 100 97 96 # Match stone_block +pillars:stone_block_bot 100 97 96 +pillars:stone_block_top 100 97 96 # potted_farming -potted_farming:wild_basil 80 120 70 # Basil green -potted_farming:wild_mint 60 179 113 # Mint green -potted_farming:wild_oregano 70 130 60 # Oregano green -potted_farming:wild_parsley 34 139 34 # Parsley green -potted_farming:wild_rosemary 60 90 50 # Rosemary green -potted_farming:wild_sage 120 130 110 # Sage green +potted_farming:wild_basil 80 120 70 +potted_farming:wild_mint 60 179 113 +potted_farming:wild_oregano 70 130 60 +potted_farming:wild_parsley 34 139 34 +potted_farming:wild_rosemary 60 90 50 +potted_farming:wild_sage 120 130 110 + +# regrow +regrow:hidden 40 40 40 # ropes -ropes:ladder_steel 132 132 132 # Match default:ladder_steel -ropes:ladder_wood 125 93 43 # Match default:ladder_wood +ropes:ladder_steel 185 185 190 +ropes:ladder_wood 131 102 57 # signs -signs:wooden_sign 160 82 45 # Sienna (Wood color) +signs:label_medium 245 245 245 +signs:paper_poster 250 250 240 +signs:wooden_sign 160 82 45 # signs_extra -signs_extra:billboard 240 235 220 # Light wood/paper color -signs_extra:blue_banner 0 0 205 # Match wool:blue -signs:label_medium 245 245 245 # White label -signs:paper_poster 250 250 240 # Paper color +signs_extra:billboard 240 235 220 +signs_extra:blue_banner 0 73 146 # signs_road -signs_road:blue_sign 0 0 205 # Medium Blue -signs_road:blue_street_sign 70 130 180 # Steel Blue -signs_road:green_sign 0 100 0 # Dark Green -signs_road:white_sign 245 245 245 # White -signs_road:yellow_sign 254 226 16 # Yellow +signs_road:blue_sign 0 0 205 +signs_road:blue_street_sign 70 130 180 +signs_road:green_sign 33 103 0 +signs_road:white_sign 245 245 245 +signs_road:yellow_sign 254 226 16 # smartshop -smartshop:shop 131 102 57 # Wooden shop front +smartshop:shop 131 102 57 # stairs stairs:slab_acacia_wood 150 61 39 @@ -1005,30 +1210,31 @@ stairs:slab_bronzeblock 186 111 15 stairs:slab_cobble 89 86 84 stairs:slab_copperblock 193 126 65 stairs:slab_desert_cobble 110 67 50 -stairs:slab_desert_sandstone 195 152 92 -stairs:slab_desert_sandstone_block 193 152 94 -stairs:slab_desert_sandstone_brick 191 151 95 +stairs:slab_desert_sandstone 198 193 143 +stairs:slab_desert_sandstone_block 198 193 143 +stairs:slab_desert_sandstone_brick 198 193 143 stairs:slab_desert_stone 130 79 61 -stairs:slab_desert_stone_block 131 80 61 -stairs:slab_desert_stonebrick 131 80 61 +stairs:slab_desert_stone_block 130 79 61 +stairs:slab_desert_stonebrick 130 79 61 stairs:slab_glass 247 247 247 stairs:slab_goldblock 231 203 35 stairs:slab_ice 168 206 247 stairs:slab_junglewood 56 39 14 stairs:slab_mossycobble 88 91 73 +stairs:slab_naturalbiomes_savannaacacia_wood 150 61 39 stairs:slab_obsidian 21 24 29 stairs:slab_obsidian_block 23 25 30 stairs:slab_obsidian_glass 20 23 27 stairs:slab_obsidianbrick 23 25 29 stairs:slab_pine_wood 221 185 130 stairs:slab_sandstone 198 193 143 -stairs:slab_sandstone_block 195 191 142 -stairs:slab_sandstonebrick 194 190 141 +stairs:slab_sandstone_block 198 193 143 +stairs:slab_sandstonebrick 198 193 143 stairs:slab_silver_sandstone 195 192 181 -stairs:slab_silver_sandstone_block 192 190 180 -stairs:slab_silver_sandstone_brick 191 189 179 +stairs:slab_silver_sandstone_block 195 192 181 +stairs:slab_silver_sandstone_brick 195 192 181 stairs:slab_snowblock 225 225 238 -stairs:slab_steelblock 195 195 195 +stairs:slab_steelblock 185 185 190 stairs:slab_stone 97 94 93 stairs:slab_stone_block 100 97 96 stairs:slab_stonebrick 102 99 98 @@ -1042,12 +1248,12 @@ stairs:stair_bronzeblock 186 111 15 stairs:stair_cobble 89 86 84 stairs:stair_copperblock 193 126 65 stairs:stair_desert_cobble 110 67 50 -stairs:stair_desert_sandstone 195 152 92 -stairs:stair_desert_sandstone_block 193 152 94 -stairs:stair_desert_sandstone_brick 191 151 95 +stairs:stair_desert_sandstone 198 193 143 +stairs:stair_desert_sandstone_block 198 193 143 +stairs:stair_desert_sandstone_brick 198 193 143 stairs:stair_desert_stone 130 79 61 -stairs:stair_desert_stone_block 131 80 61 -stairs:stair_desert_stonebrick 131 80 61 +stairs:stair_desert_stone_block 130 79 61 +stairs:stair_desert_stonebrick 130 79 61 stairs:stair_glass 249 249 249 stairs:stair_goldblock 231 203 35 stairs:stair_ice 168 206 247 @@ -1058,12 +1264,12 @@ stairs:stair_inner_bronzeblock 186 111 15 stairs:stair_inner_cobble 89 86 84 stairs:stair_inner_copperblock 193 126 65 stairs:stair_inner_desert_cobble 110 67 50 -stairs:stair_inner_desert_sandstone 195 152 92 -stairs:stair_inner_desert_sandstone_block 193 152 94 -stairs:stair_inner_desert_sandstone_brick 191 151 95 +stairs:stair_inner_desert_sandstone 198 193 143 +stairs:stair_inner_desert_sandstone_block 198 193 143 +stairs:stair_inner_desert_sandstone_brick 198 193 143 stairs:stair_inner_desert_stone 130 79 61 -stairs:stair_inner_desert_stone_block 131 80 61 -stairs:stair_inner_desert_stonebrick 131 80 61 +stairs:stair_inner_desert_stone_block 130 79 61 +stairs:stair_inner_desert_stonebrick 130 79 61 stairs:stair_inner_glass 250 250 250 stairs:stair_inner_goldblock 231 203 35 stairs:stair_inner_ice 168 206 247 @@ -1075,13 +1281,13 @@ stairs:stair_inner_obsidian_glass 20 22 27 stairs:stair_inner_obsidianbrick 23 25 29 stairs:stair_inner_pine_wood 221 185 130 stairs:stair_inner_sandstone 198 193 143 -stairs:stair_inner_sandstone_block 195 191 142 -stairs:stair_inner_sandstonebrick 194 190 141 +stairs:stair_inner_sandstone_block 198 193 143 +stairs:stair_inner_sandstonebrick 198 193 143 stairs:stair_inner_silver_sandstone 195 192 181 -stairs:stair_inner_silver_sandstone_block 192 190 180 -stairs:stair_inner_silver_sandstone_brick 191 189 179 +stairs:stair_inner_silver_sandstone_block 195 192 181 +stairs:stair_inner_silver_sandstone_brick 195 192 181 stairs:stair_inner_snowblock 225 225 238 -stairs:stair_inner_steelblock 195 195 195 +stairs:stair_inner_steelblock 185 185 190 stairs:stair_inner_stone 97 94 93 stairs:stair_inner_stone_block 100 97 96 stairs:stair_inner_stonebrick 102 99 98 @@ -1090,8 +1296,8 @@ stairs:stair_inner_tinblock 150 150 150 stairs:stair_inner_wood 131 102 57 stairs:stair_junglewood 56 39 14 stairs:stair_mossycobble 88 91 73 -stairs:stair_naturalbiomes_savannaacacia_wood 150 61 39 # Match acacia wood -stairs:stair_netherrack 120 50 50 # Netherrack Red/Maroon +stairs:stair_naturalbiomes_savannaacacia_wood 150 61 39 +stairs:stair_netherrack 120 50 50 stairs:stair_obsidian 21 24 29 stairs:stair_obsidian_block 23 25 30 stairs:stair_obsidian_glass 20 22 27 @@ -1103,12 +1309,12 @@ stairs:stair_outer_bronzeblock 186 111 15 stairs:stair_outer_cobble 89 86 84 stairs:stair_outer_copperblock 193 126 65 stairs:stair_outer_desert_cobble 110 67 50 -stairs:stair_outer_desert_sandstone 195 152 92 -stairs:stair_outer_desert_sandstone_block 193 152 94 -stairs:stair_outer_desert_sandstone_brick 191 151 95 +stairs:stair_outer_desert_sandstone 198 193 143 +stairs:stair_outer_desert_sandstone_block 198 193 143 +stairs:stair_outer_desert_sandstone_brick 198 193 143 stairs:stair_outer_desert_stone 130 79 61 -stairs:stair_outer_desert_stone_block 131 80 61 -stairs:stair_outer_desert_stonebrick 131 80 61 +stairs:stair_outer_desert_stone_block 130 79 61 +stairs:stair_outer_desert_stonebrick 130 79 61 stairs:stair_outer_glass 250 250 250 stairs:stair_outer_goldblock 231 203 35 stairs:stair_outer_ice 168 206 247 @@ -1120,13 +1326,13 @@ stairs:stair_outer_obsidian_glass 20 22 27 stairs:stair_outer_obsidianbrick 23 25 29 stairs:stair_outer_pine_wood 221 185 130 stairs:stair_outer_sandstone 198 193 143 -stairs:stair_outer_sandstone_block 195 191 142 -stairs:stair_outer_sandstonebrick 194 190 141 +stairs:stair_outer_sandstone_block 198 193 143 +stairs:stair_outer_sandstonebrick 198 193 143 stairs:stair_outer_silver_sandstone 195 192 181 -stairs:stair_outer_silver_sandstone_block 192 190 180 -stairs:stair_outer_silver_sandstone_brick 191 189 179 +stairs:stair_outer_silver_sandstone_block 195 192 181 +stairs:stair_outer_silver_sandstone_brick 195 192 181 stairs:stair_outer_snowblock 225 225 238 -stairs:stair_outer_steelblock 195 195 195 +stairs:stair_outer_steelblock 185 185 190 stairs:stair_outer_stone 97 94 93 stairs:stair_outer_stone_block 100 97 96 stairs:stair_outer_stonebrick 102 99 98 @@ -1135,13 +1341,13 @@ stairs:stair_outer_tinblock 150 150 150 stairs:stair_outer_wood 131 102 57 stairs:stair_pine_wood 221 185 130 stairs:stair_sandstone 198 193 143 -stairs:stair_sandstone_block 195 191 142 -stairs:stair_sandstonebrick 194 190 141 +stairs:stair_sandstone_block 198 193 143 +stairs:stair_sandstonebrick 198 193 143 stairs:stair_silver_sandstone 195 192 181 -stairs:stair_silver_sandstone_block 192 190 180 -stairs:stair_silver_sandstone_brick 191 189 179 +stairs:stair_silver_sandstone_block 195 192 181 +stairs:stair_silver_sandstone_brick 195 192 181 stairs:stair_snowblock 225 225 238 -stairs:stair_steelblock 195 195 195 +stairs:stair_steelblock 185 185 190 stairs:stair_stone 97 94 93 stairs:stair_stone_block 100 97 96 stairs:stair_stonebrick 102 99 98 @@ -1150,14 +1356,16 @@ stairs:stair_tinblock 150 150 150 stairs:stair_wood 131 102 57 # steles -steles:desert_stone_stele 210 180 140 # Wüstenstein (Tan) -steles:sandstone_stele 230 190 150 # Sandstein (helles Tan/Sandorange) -steles:stone_stele 97 94 93 # Standard Steingrau +steles:desert_stone_stele 130 79 61 +steles:sandstone_stele 198 193 143 +steles:stone_stele 97 94 93 # tables_chairs -tables_chairs:palm_wood_tiny_table 140 110 80 # Match palm_trunk -tables_chairs:scorched_tree_chair 60 55 50 # Match ethereal:scorched_tree -tables_chairs:scorched_tree_small_table 60 55 50 # Match ethereal:scorched_tree +tables_chairs:outback_wood_bench 120 100 80 +tables_chairs:outback_wood_bench_backrest 120 100 80 +tables_chairs:palm_wood_tiny_table 140 110 80 +tables_chairs:scorched_tree_chair 60 55 50 +tables_chairs:scorched_tree_small_table 60 55 50 # tnt tnt:gunpowder 12 12 12 @@ -1166,13 +1374,13 @@ tnt:tnt 196 0 0 tnt:tnt_burning 201 41 0 # tpad -tpad:tpad 70 70 100 # Dark Bluish Grey (Teleporter Pad) +tpad:tpad 70 70 100 # vessels vessels:drinking_glass 207 214 228 vessels:glass_bottle 189 192 204 vessels:shelf 131 102 57 -vessels:steel_bottle 194 193 193 +vessels:steel_bottle 185 185 190 # walls walls:cobble 89 86 84 @@ -1180,7 +1388,7 @@ walls:desertcobble 110 67 50 walls:mossycobble 88 91 73 # wielded_light -wielded_light:10 255 255 224 # Light yellow color for light source +wielded_light:10 255 255 224 # wool wool:black 30 30 30 @@ -1200,246 +1408,38 @@ wool:white 220 220 220 wool:yellow 254 226 16 # xanadu -xanadu:poppy 255 0 0 # Red poppy color +xanadu:poppy 255 0 0 # xnether -xnether:blue_leaves 0 0 200 # Blue -xnether:blue_tree 80 60 40 # Dark Brown/Grey (Nether wood trunk) -xnether:fence_blue 60 50 150 # Blaues Nether-Holz für Zaun -xnether:fence_purple 100 50 100 # Lilanes Nether-Holz für Zaun -xnether:fruit 128 0 128 # Purple (Generic xnether fruit) -xnether:grass_blue_1 100 100 255 # Light Blue Grass -xnether:grass_blue_2 80 80 220 # Medium Blue Grass -xnether:grass_blue_3 60 60 190 # Dark Blue Grass -xnether:grass_purple_1 180 100 220 # Light Purple Grass -xnether:grass_purple_2 150 80 190 # Medium Purple Grass -xnether:grass_purple_3 120 60 160 # Dark Purple Grass -xnether:purple_leaves 128 0 128 # Purple -xnether:purple_tree 70 50 30 # Dark Brown/Grey (Nether wood trunk) -xnether:rack_deep_with_mese 100 60 50 # Netherrack with Mese Tint -xnether:rack_with_gold 120 80 50 # Netherrack with Gold Tint +xnether:blue_leaves 0 0 200 +xnether:blue_tree 80 60 40 +xnether:fence_blue 60 50 150 +xnether:fence_purple 100 50 100 +xnether:fruit 128 0 128 +xnether:grass_blue_1 100 100 255 +xnether:grass_blue_2 80 80 220 +xnether:grass_blue_3 60 60 190 +xnether:grass_purple_1 180 100 220 +xnether:grass_purple_2 150 80 190 +xnether:grass_purple_3 120 60 160 +xnether:purple_leaves 128 0 128 +xnether:purple_tree 70 50 30 +xnether:rack_deep_with_mese 100 60 50 +xnether:rack_with_gold 120 80 50 # xpanes xpanes:bar 114 114 114 64 16 xpanes:bar_flat 114 114 114 64 16 -xpanes:door_steel_bar_a 133 133 133 64 16 -xpanes:door_steel_bar_b 133 133 133 64 16 -xpanes:door_steel_bar_c 133 133 133 64 16 -xpanes:door_steel_bar_d 133 133 133 64 16 -xpanes:jailbars_flat 80 80 90 # Dunkles Metallgrau für Gitterstäbe -xpanes:myglass:glass_pane_black_flat 40 40 40 100 16 # Dark, semi-transparent glass -xpanes:nether_crystal_pane_flat 120 80 150 64 16 # Lilafarbene Kristallglasscheibe +xpanes:door_steel_bar_a 185 185 190 64 16 +xpanes:door_steel_bar_b 185 185 190 64 16 +xpanes:door_steel_bar_c 185 185 190 64 16 +xpanes:door_steel_bar_d 185 185 190 64 16 +xpanes:jailbars_flat 80 80 90 +xpanes:myglass:glass_pane_black_flat 40 40 40 100 16 +xpanes:nether_crystal_pane_flat 120 80 150 64 16 xpanes:obsidian_pane 16 17 18 64 16 xpanes:obsidian_pane_flat 16 17 18 64 16 xpanes:pane 249 249 249 64 16 xpanes:pane_flat 249 249 249 64 16 -xpanes:trapdoor_steel_bar 127 127 127 64 16 -xpanes:trapdoor_steel_bar_open 77 77 77 64 16 - -# === NEUE EINTRÄGE VOM 21.06.2025 === - -# default -default:fence_aspen_wood_end 210 199 170 # Entspricht default:aspen_wood - -# fake_fire -fake_fire:chimney_sandstone 198 193 143 # Entspricht default:sandstone - -# farming -farming:barley_8 218 190 70 # Reifes Getreide, gold-gelb -farming:cabbage_5 135 240 80 # Reifender Kohl, hellgrün -farming:carrot_8 255 140 0 # Reife Karotte, kräftiges Orange -farming:cocoa_1 100 150 50 # Junge Kakaopflanze, grün -farming:corn_8 255 215 0 # Reifer Mais, goldgelb -farming:eggplant_4 75 0 130 # Reife Aubergine, tiefes Lila -farming:grapes_5 100 0 100 # Reifende Weintraube, lila -farming:grapes_6 100 0 100 # Reifende Weintraube, lila -farming:grapes_7 100 0 100 # Reifende Weintraube, lila -farming:grapes_8 100 0 100 # Reife Weintraube, lila -farming:hemp_8 60 100 50 # Reife Hanfpflanze, dunkles Grün -farming:onion_3 220 230 200 # Junge Zwiebel, hellgrün/weiß -farming:onion_4 245 245 230 # Reifende Zwiebel, fast weiß -farming:pea_1 100 160 80 # Erbsenpflanze, junges Grün -farming:pea_2 90 150 70 # Erbsenpflanze, mittleres Grün -farming:pea_3 80 140 60 # Erbsenpflanze, sattes Grün -farming:pepper_5 220 100 30 # Reifende Paprika, orange-rot -farming:pepper_7 200 30 30 # Reife Paprika, rot -farming:rhubarb_1 80 140 70 # Rhabarber, jung, grünlich -farming:rhubarb_2 150 80 80 # Rhabarber, reifend, rötlich -farming:rice_8 230 220 180 # Reifer Reis, helles Stroh -farming:rye_7 200 170 80 # Reifender Roggen -farming:rye_8 210 180 75 # Reifer Roggen, goldbraun -farming:sunflower_4 80 150 40 # Sonnenblume, mittlere Wachstumsphase - -# irrigation -irrigation:water_barrel 131 102 57 # Holzfass, entspricht default:wood - -# markers -markers:mark 128 128 128 # Generischer Marker, neutralgrau - -# mesecons_lightstone -mesecons_lightstone:lightstone_blue_on 80 80 255 # Leuchtendes Blau -mesecons_lightstone:lightstone_green_off 0 80 0 # Dunkles Grün (aus) -mesecons_lightstone:lightstone_green_on 0 255 0 # Leuchtendes Grün -mesecons_lightstone:lightstone_red_off 80 0 0 # Dunkles Rot (aus) -mesecons_lightstone:lightstone_red_on 255 0 0 # Leuchtendes Rot -mesecons_lightstone:lightstone_violet_off 80 0 80 # Dunkles Violett (aus) -mesecons_lightstone:lightstone_violet_on 200 0 200 # Leuchtendes Violett -mesecons_lightstone:lightstone_yellow_on 255 255 0 # Leuchtendes Gelb - -# mesecons_switch -mesecons_switch:mesecon_switch_off 110 110 110 # Schaltergehäuse, steingrau - -# mesecons -mesecons:wire_00000000_off 139 50 50 # Mesecon-Draht im Aus-Zustand (dunkles Kupfer) -mesecons:wire_00010000_off 139 50 50 -mesecons:wire_00010000_on 255 200 0 # Mesecon-Draht im An-Zustand (leuchtend) -mesecons:wire_00010001_off 139 50 50 -mesecons:wire_00100000_off 139 50 50 -mesecons:wire_00100000_on 255 200 0 -mesecons:wire_00100010_off 139 50 50 -mesecons:wire_00100010_on 255 200 0 -mesecons:wire_00110000_off 139 50 50 -mesecons:wire_00110000_on 255 200 0 -mesecons:wire_00110001_off 139 50 50 -mesecons:wire_00110001_on 255 200 0 -mesecons:wire_00110011_off 139 50 50 -mesecons:wire_00110011_on 255 200 0 -mesecons:wire_01000000_on 255 200 0 -mesecons:wire_01000100_on 255 200 0 -mesecons:wire_01010000_off 139 50 50 -mesecons:wire_01010000_on 255 200 0 -mesecons:wire_01010001_on 255 200 0 -mesecons:wire_01010100_on 255 200 0 -mesecons:wire_01010101_off 139 50 50 -mesecons:wire_01010101_on 255 200 0 -mesecons:wire_01100000_off 139 50 50 -mesecons:wire_01100000_on 255 200 0 -mesecons:wire_01100100_off 139 50 50 -mesecons:wire_01100100_on 255 200 0 -mesecons:wire_01100110_off 139 50 50 -mesecons:wire_01100110_on 255 200 0 -mesecons:wire_01110000_off 139 50 50 -mesecons:wire_01110000_on 255 200 0 -mesecons:wire_01110001_off 139 50 50 -mesecons:wire_01110011_on 255 200 0 -mesecons:wire_01110100_off 139 50 50 -mesecons:wire_01110100_on 255 200 0 -mesecons:wire_01110101_off 139 50 50 -mesecons:wire_01110101_on 255 200 0 -mesecons:wire_01110110_off 139 50 50 -mesecons:wire_01110111_off 139 50 50 -mesecons:wire_01110111_on 255 200 0 -mesecons:wire_10000000_off 139 50 50 -mesecons:wire_10000000_on 255 200 0 -mesecons:wire_10001000_on 255 200 0 -mesecons:wire_10010000_off 139 50 50 -mesecons:wire_10010000_on 255 200 0 -mesecons:wire_10011000_on 255 200 0 -mesecons:wire_10011001_off 139 50 50 -mesecons:wire_10011001_on 255 200 0 -mesecons:wire_10100000_on 255 200 0 -mesecons:wire_10100010_off 139 50 50 -mesecons:wire_10100010_on 255 200 0 -mesecons:wire_10101000_on 255 200 0 -mesecons:wire_10101010_off 139 50 50 -mesecons:wire_10101010_on 255 200 0 -mesecons:wire_10110010_on 255 200 0 -mesecons:wire_10111000_on 255 200 0 -mesecons:wire_10111001_off 139 50 50 -mesecons:wire_10111011_off 139 50 50 -mesecons:wire_10111011_on 255 200 0 -mesecons:wire_11000000_off 139 50 50 -mesecons:wire_11001100_off 139 50 50 -mesecons:wire_11001100_on 255 200 0 -mesecons:wire_11010000_on 255 200 0 -mesecons:wire_11010100_off 139 50 50 -mesecons:wire_11011000_off 139 50 50 -mesecons:wire_11011001_off 139 50 50 -mesecons:wire_11011001_on 255 200 0 -mesecons:wire_11011100_off 139 50 50 -mesecons:wire_11011100_on 255 200 0 -mesecons:wire_11011101_on 255 200 0 -mesecons:wire_11100000_off 139 50 50 -mesecons:wire_11100000_on 255 200 0 -mesecons:wire_11100010_off 139 50 50 -mesecons:wire_11100110_on 255 200 0 -mesecons:wire_11101000_on 255 200 0 -mesecons:wire_11101010_off 139 50 50 -mesecons:wire_11101010_on 255 200 0 -mesecons:wire_11101100_on 255 200 0 -mesecons:wire_11101110_on 255 200 0 -mesecons:wire_11110000_off 139 50 50 -mesecons:wire_11110000_on 255 200 0 -mesecons:wire_11110010_off 139 50 50 -mesecons:wire_11110011_on 255 200 0 -mesecons:wire_11110100_off 139 50 50 -mesecons:wire_11110101_off 139 50 50 -mesecons:wire_11110101_on 255 200 0 -mesecons:wire_11110110_on 255 200 0 -mesecons:wire_11110111_on 255 200 0 -mesecons:wire_11111000_off 139 50 50 -mesecons:wire_11111000_on 255 200 0 -mesecons:wire_11111001_off 139 50 50 -mesecons:wire_11111011_on 255 200 0 -mesecons:wire_11111100_off 139 50 50 -mesecons:wire_11111100_on 255 200 0 -mesecons:wire_11111101_on 255 200 0 -mesecons:wire_11111110_on 255 200 0 -mesecons:wire_11111111_off 139 50 50 -mesecons:wire_11111111_on 255 200 0 - -# moreblocks -moreblocks:slab_coal_stone_quarter 60 60 60 # Entspricht moreblocks:coal_stone_bricks -moreblocks:slab_stone_block 100 97 96 # Entspricht default:stone_block - -# morelights_vintage -morelights_vintage:lantern_f 70 70 70 # Laternengehäuse, dunkles Metall - -# mystreets -mystreets:ramp_asphalt_center_solid_long 55 55 60 # Entspricht mystreets:asphalt -mystreets:ramp_asphalt_long 55 55 60 # Entspricht mystreets:asphalt -mystreets:ramp_asphalt_side_solid_left_long 55 55 60 # Entspricht mystreets:asphalt -mystreets:ramp_asphalt_side_solid_right_long 55 55 60 # Entspricht mystreets:asphalt -mystreets:ramp_sidewalk_long 150 150 150 # Entspricht mystreets:sidewalk -mystreets:stop_sign 200 0 0 # Stoppschild-Rot - - -# === NEUE EINTRÄGE VOM 23.06.2025 === - -# banner -banner:red_cyan_check_point 131 102 57 # Generische Holzfarbe für den Pfosten des Banners - -# irrigation -irrigation:water_barrel_holding_1 131 102 57 # Holzfass, entspricht bestehendem water_barrel -irrigation:water_barrel_holding_2 131 102 57 # Holzfass, entspricht bestehendem water_barrel - -# mesecons_detector -mesecons_detector:object_detector_off 110 110 110 # Entspricht mesecons_switch_off, steingrau - -# mesecons_switch -mesecons_switch:mesecon_switch_on 255 200 0 # Leuchtendes Gelb für "An"-Zustand, wie bei Mesecon-Drähten - -# mesecons -mesecons:wire_00010001_on 255 200 0 -mesecons:wire_01000000_off 139 50 50 -mesecons:wire_01000100_off 139 50 50 -mesecons:wire_01010001_off 139 50 50 -mesecons:wire_01010100_off 139 50 50 -mesecons:wire_01100010_on 255 200 0 -mesecons:wire_01110001_on 255 200 0 -mesecons:wire_01110011_off 139 50 50 -mesecons:wire_10011000_off 139 50 50 -mesecons:wire_10100000_off 139 50 50 -mesecons:wire_10101000_off 139 50 50 -mesecons:wire_10110000_off 139 50 50 -mesecons:wire_10110010_off 139 50 50 -mesecons:wire_10111000_off 139 50 50 -mesecons:wire_11000000_on 255 200 0 -mesecons:wire_11010000_off 139 50 50 -mesecons:wire_11100010_on 255 200 0 -mesecons:wire_11111001_on 255 200 0 -mesecons:wire_11111010_off 139 50 50 - -# tables_chairs -tables_chairs:outback_wood_bench 120 100 80 # Trockenes "Outback"-Holz, basierend auf naturalbiomes:outback_trunk -tables_chairs:outback_wood_bench_backrest 120 100 80 # Trockenes "Outback"-Holz +xpanes:trapdoor_steel_bar 185 185 190 64 16 +xpanes:trapdoor_steel_bar_open 97 97 97 64 16 diff --git a/generate_map.sh b/generate_map.sh index fcc4775..483be3c 100755 --- a/generate_map.sh +++ b/generate_map.sh @@ -29,7 +29,6 @@ if [ -z "$1" ]; then if [ -f "${world_dir}web.conf" ]; then world_key_to_process=$(basename "$world_dir") log_message "main" "--- Starte Durchlauf für '${world_key_to_process}' ---" - # Rufe das Skript für die gefundene Welt rekursiv auf bash "$0" "$world_key_to_process" fi done @@ -38,17 +37,14 @@ if [ -z "$1" ]; then exit 0 fi - # ############################################################################# # Ab hier beginnt die Logik für eine EINZELNE Welt # ############################################################################# -# Prüfe Abhängigkeiten, bevor irgendetwas anderes passiert /opt/luweb/check_dependencies.sh || exit 1 WORLD_KEY=$1 -# Pfad zum Verzeichnis der aktuellen Welt CURRENT_MINETEST_WORLD_DATA_PATH="${MINETESTMAPPER_WORLD_DATA_BASE_PATH}${WORLD_KEY}/" if [ ! -d "$CURRENT_MINETEST_WORLD_DATA_PATH" ]; then @@ -94,105 +90,97 @@ ARCHIVE_BASE_WEB_PATH="${WEB_CURRENT_WORLD_DIR}/${ARCHIVE_SUBDIR_NAME}" # === Funktion zur Archivbereinigung === prune_archives() { - log_message "${WORLD_KEY}" "Starte Archivbereinigung für Welt '${WORLD_KEY}' im Pfad '${ARCHIVE_BASE_WEB_PATH}'..." - if [ ! -d "$ARCHIVE_BASE_WEB_PATH" ]; then log_message "${WORLD_KEY}" "Archiv-Basispfad ${ARCHIVE_BASE_WEB_PATH} nicht gefunden."; return; fi - local today_seconds=$(date +%s); local cutoff_date_14_days=$(date -d "today - 14 days" +%Y-%m-%d) - local cutoff_seconds_14_days=$(date -d "$cutoff_date_14_days" +%s) - log_message "${WORLD_KEY}" "Archivbereinigung: Behalte tägliche Bilder bis einschl. ${cutoff_date_14_days}. Ältere nur Montage." - local images_processed=0; local images_deleted=0 + log_message "${WORLD_KEY}" "Starte Archivbereinigung..." + if [ ! -d "$ARCHIVE_BASE_WEB_PATH" ]; then return; fi + local cutoff_date_14_days=$(date -d "today - 14 days" +%Y-%m-%d) find "$ARCHIVE_BASE_WEB_PATH" -type f -name "*.png" | while IFS= read -r archive_file_path; do - ((images_processed++)) if [[ "$archive_file_path" =~ /([0-9]{4})/([0-9]{2})/([0-9]{2})\.png$ ]]; then - local year="${BASH_REMATCH[1]}"; local month="${BASH_REMATCH[2]}"; local day="${BASH_REMATCH[3]}" - local img_date_str="${year}-${month}-${day}"; local img_date_seconds; local day_of_week - if ! date -d "$img_date_str" "+%s" >/dev/null 2>&1; then log_message "${WORLD_KEY}" "WARNUNG: Ungültiges Datum: '${img_date_str}' ('${archive_file_path}')."; continue; fi - img_date_seconds=$(date -d "$img_date_str" +%s) - if [ "$img_date_seconds" -ge "$cutoff_seconds_14_days" ]; then log_message "${WORLD_KEY}" "BEHALTE (<=14 Tage): ${archive_file_path}" - else day_of_week=$(date -d "$img_date_str" +%u); if [ "$day_of_week" -eq 1 ]; then log_message "${WORLD_KEY}" "BEHALTE (>14 Tage, Montag): ${archive_file_path}"; else log_message "${WORLD_KEY}" "LÖSCHE (>14 Tage, kein Montag): ${archive_file_path}"; if rm -f "$archive_file_path"; then ((images_deleted++)); else log_message "${WORLD_KEY}" "FEHLER Löschen: ${archive_file_path}"; fi; fi; fi - else log_message "${WORLD_KEY}" "WARNUNG: Pfad '${archive_file_path}' passt nicht zu JJJJ/MM/TT.png."; fi + local img_date_str="${BASH_REMATCH[1]}-${BASH_REMATCH[2]}-${BASH_REMATCH[3]}" + if ! date -d "$img_date_str" "+%s" >/dev/null 2>&1; then continue; fi + if [ "$(date -d "$img_date_str" +%s)" -ge "$(date -d "$cutoff_date_14_days" +%s)" ]; then continue; fi + if [ "$(date -d "$img_date_str" +%u)" -ne 1 ]; then + log_message "${WORLD_KEY}" "LÖSCHE (>14 Tage, kein Montag): ${archive_file_path}" + rm -f "$archive_file_path" + fi + fi done - log_message "${WORLD_KEY}" "Archivbereinigung: ${images_processed} geprüft, ${images_deleted} gelöscht." - log_message "${WORLD_KEY}" "Räume leere Archiv-Unterverzeichnisse auf..."; find "$ARCHIVE_BASE_WEB_PATH" -mindepth 1 -type d -empty -print -delete >> "$LOG_FILE" 2>&1 + find "$ARCHIVE_BASE_WEB_PATH" -mindepth 1 -type d -empty -delete } # === Hauptlogik für eine einzelne Welt === exec 200>"$LOCK_FILE" -flock -n 200 || { log_message "${WORLD_KEY}" "Script ${SCRIPT_BASENAME}.sh ist bereits für diese Welt aktiv (Lock: ${LOCK_FILE}). Beende."; exit 1; } +flock -n 200 || { log_message "${WORLD_KEY}" "Script bereits aktiv. Beende."; exit 1; } trap 'rm -f "$LOCK_FILE"; log_message "${WORLD_KEY}" "Skript beendet."' EXIT log_message "${WORLD_KEY}" "Skript gestartet." mkdir -p "${RAW_MAP_OUTPUT_DIR_ABSOLUTE}" -# 1. Generiere die map.png -log_message "${WORLD_KEY}" "Starte minetestmapper zur Kartengenerierung..." -MM_ALL_OPTIONS_STR="--zoom ${MM_OPT_ZOOM_LEVEL}"; if [ "${MM_CFG_DRAWALPHA}" = "true" ]; then MM_ALL_OPTIONS_STR="${MM_ALL_OPTIONS_STR} --drawalpha"; fi -if [ "${MM_CFG_DRAWORIGIN}" = "true" ]; then MM_ALL_OPTIONS_STR="${MM_ALL_OPTIONS_STR} --draworigin"; fi +log_message "${WORLD_KEY}" "Starte minetestmapper..." +MM_ALL_OPTIONS_STR="--zoom ${MM_OPT_ZOOM_LEVEL} --min-y ${MM_OPT_MIN_Y}" +if [ "${MM_CFG_DRAWALPHA}" = "true" ]; then MM_ALL_OPTIONS_STR="${MM_ALL_OPTIONS_STR} --drawalpha"; fi if [ "${MM_CFG_DRAWPLAYERS}" = "true" ]; then MM_ALL_OPTIONS_STR="${MM_ALL_OPTIONS_STR} --drawplayers"; fi -if [ "${MM_CFG_DRAWSCALE}" = "true" ]; then MM_ALL_OPTIONS_STR="${MM_ALL_OPTIONS_STR} --drawscale"; fi MM_ALL_OPTIONS_STR="${MM_ALL_OPTIONS_STR} --origincolor '${MM_OPT_ORIGINCOLOR}' --playercolor '${MM_OPT_PLAYERCOLOR}'" MM_ALL_OPTIONS_STR="${MM_ALL_OPTIONS_STR} --scalecolor '${MM_OPT_SCALECOLOR}' --bgcolor '${MM_OPT_BGCOLOR}'" -MM_ALL_OPTIONS_STR="${MM_ALL_OPTIONS_STR} --min-y ${MM_OPT_MIN_Y}" MAP_GENERATION_COMMAND="'${MINETESTMAPPER_PATH}' -i '${CURRENT_MINETEST_WORLD_DATA_PATH}' -o '${RAW_MAP_ABSOLUTE_PATH}' ${MM_ALL_OPTIONS_STR}" MAPPER_RUN_OUTPUT_CAPTURE_FILE=$(mktemp) (set -o pipefail; eval "${MAP_GENERATION_COMMAND}" 2>&1 | tee -a "$LOG_FILE" > "$MAPPER_RUN_OUTPUT_CAPTURE_FILE"); MAPPER_EXIT_STATUS=$? -if [ ${MAPPER_EXIT_STATUS} -ne 0 ]; then log_message "${WORLD_KEY}" "FEHLER: minetestmapper (Status: ${MAPPER_EXIT_STATUS})."; rm -f "$MAPPER_RUN_OUTPUT_CAPTURE_FILE"; exit 1; fi -if [ ! -f "$RAW_MAP_ABSOLUTE_PATH" ]; then log_message "${WORLD_KEY}" "FEHLER: ${RAW_MAP_ABSOLUTE_PATH} nicht gefunden."; rm -f "$MAPPER_RUN_OUTPUT_CAPTURE_FILE"; exit 1; fi +if [ ${MAPPER_EXIT_STATUS} -ne 0 ] || [ ! -f "$RAW_MAP_ABSOLUTE_PATH" ]; then + log_message "${WORLD_KEY}" "FEHLER: minetestmapper (Status: ${MAPPER_EXIT_STATUS})." + rm -f "$MAPPER_RUN_OUTPUT_CAPTURE_FILE"; exit 1; +fi log_message "${WORLD_KEY}" "map.png erfolgreich generiert." -# 2. Erstelle map_info.txt log_message "${WORLD_KEY}" "Erstelle map_info.txt..." -MAP_DIMENSIONS=$(identify -format "%wx%h" "$RAW_MAP_ABSOLUTE_PATH" 2>/dev/null) +# KORREKTUR: Die komplizierte Fallback-Logik wird durch den einfachen, funktionierenden vipsheader-Befehl ersetzt. +IMG_WIDTH=$(vipsheader -f width "$RAW_MAP_ABSOLUTE_PATH" 2>/dev/null) +IMG_HEIGHT=$(vipsheader -f height "$RAW_MAP_ABSOLUTE_PATH" 2>/dev/null) + EXTENT_COMMAND="'${MINETESTMAPPER_PATH}' -i '${CURRENT_MINETEST_WORLD_DATA_PATH}' --extent ${MM_ALL_OPTIONS_STR}" MAP_EXTENT=$(eval "${EXTENT_COMMAND}" 2>/dev/null | sed 's/Map extent: //') -if [ -n "$MAP_DIMENSIONS" ] && [ -n "$MAP_EXTENT" ]; then + +if [[ "$IMG_WIDTH" =~ ^[0-9]+$ ]] && [ "$IMG_WIDTH" -gt 0 ] && [ -n "$MAP_EXTENT" ]; then + MAP_DIMENSIONS="${IMG_WIDTH}x${IMG_HEIGHT}" { echo "map_dimension=${MAP_DIMENSIONS}"; echo "map_extent=${MAP_EXTENT}"; } > "$MAP_INFO_FILE_ABSOLUTE_PATH" log_message "${WORLD_KEY}" "map_info.txt erstellt: Dim=${MAP_DIMENSIONS}, Extent=${MAP_EXTENT}" else log_message "${WORLD_KEY}" "FEHLER: map_info.txt konnte nicht erstellt werden." + log_message "${WORLD_KEY}" "-> Ermittelte Bild-Breite: '${IMG_WIDTH}'" + log_message "${WORLD_KEY}" "-> Ermittelter Karten-Extent: '${MAP_EXTENT}'" fi -# 3. Verarbeite unknown_nodes.txt awk ' /Unknown nodes:/ {b=1;next} b&&NF==0 {b=0} b&&!/^[ \t]/ {b=0} b{n=$0;sub(/^[ \t]+/,"",n);sub(/[ \t]+$/,"",n);if(n~/:/&&n!="")print n} ' "$MAPPER_RUN_OUTPUT_CAPTURE_FILE" > "${UNKNOWN_NODES_FILE_ABSOLUTE_PATH}.new" if [ -s "${UNKNOWN_NODES_FILE_ABSOLUTE_PATH}.new" ]; then - log_message "${WORLD_KEY}" "Neue 'Unknown nodes' gefunden. Füge zu bestehender Datei hinzu." cat "${UNKNOWN_NODES_FILE_ABSOLUTE_PATH}.new" >> "${UNKNOWN_NODES_FILE_ABSOLUTE_PATH}" sort -u "${UNKNOWN_NODES_FILE_ABSOLUTE_PATH}" -o "${UNKNOWN_NODES_FILE_ABSOLUTE_PATH}" fi rm -f "${UNKNOWN_NODES_FILE_ABSOLUTE_PATH}.new" "$MAPPER_RUN_OUTPUT_CAPTURE_FILE" -# 4. Erzeuge Web-Vorschaukarte mit vips log_message "${WORLD_KEY}" "Erzeuge Web-Version von map.png (max ${RESIZED_MAX_DIMENSION}px) mit 'vips'..." mkdir -p "$(dirname "$WEB_MAP_PNG_FULL_PATH")" (set -o pipefail; vips thumbnail "$RAW_MAP_ABSOLUTE_PATH" "$WEB_MAP_PNG_FULL_PATH" "${RESIZED_MAX_DIMENSION}" --height "${RESIZED_MAX_DIMENSION}" --size "down" 2>&1 | tee -a "$LOG_FILE") -if [ $? -ne 0 ]; then log_message "${WORLD_KEY}" "FEHLER: Skalierung mit 'vips' fehlgeschlagen."; else log_message "${WORLD_KEY}" "Verkleinerte Web-map.png erstellt."; fi -# 5. Generiere Kacheln log_message "${WORLD_KEY}" "Generiere Kacheln (Zoom: ${GDAL2TILES_ZOOM_LEVELS})..." -TEMP_TILES_DIR="${TILES_FULL_OUTPUT_PATH}_temp_$(date +%s)"; rm -rf "$TEMP_TILES_DIR"; +TEMP_TILES_DIR="${TILES_FULL_OUTPUT_PATH}_temp_$(date +%s)"; (set -o pipefail; gdal2tiles.py --profile=raster --xyz --zoom="${GDAL2TILES_ZOOM_LEVELS}" -r near "${RAW_MAP_ABSOLUTE_PATH}" "${TEMP_TILES_DIR}" 2>&1 | tee -a "$LOG_FILE") if [ $? -ne 0 ]; then log_message "${WORLD_KEY}" "FEHLER: gdal2tiles.py fehlgeschlagen."; rm -rf "$TEMP_TILES_DIR"; exit 1; fi rm -rf "$TILES_FULL_OUTPUT_PATH" -if ! mv "$TEMP_TILES_DIR" "$TILES_FULL_OUTPUT_PATH"; then log_message "${WORLD_KEY}" "FEHLER: Verschieben der Kacheln fehlgeschlagen."; exit 1; fi +mv "$TEMP_TILES_DIR" "$TILES_FULL_OUTPUT_PATH" log_message "${WORLD_KEY}" "Kacheln erfolgreich generiert." -# 6. Archiv-Management prune_archives ARCHIVE_YEAR=$(date '+%Y'); ARCHIVE_MONTH=$(date '+%m'); ARCHIVE_DAY=$(date '+%d') ARCHIVE_DAILY_TARGET_DIR="${ARCHIVE_BASE_WEB_PATH}/${ARCHIVE_YEAR}/${ARCHIVE_MONTH}" ARCHIVE_DAILY_FILE_PATH="${ARCHIVE_DAILY_TARGET_DIR}/${ARCHIVE_DAY}.png" if [ ! -f "$ARCHIVE_DAILY_FILE_PATH" ]; then - log_message "${WORLD_KEY}" "Erzeuge Archivbild für ${ARCHIVE_DAILY_FILE_PATH}..." mkdir -p "$ARCHIVE_DAILY_TARGET_DIR" - (set -o pipefail; vips thumbnail "$RAW_MAP_ABSOLUTE_PATH" "$ARCHIVE_DAILY_FILE_PATH" "${RESIZED_MAX_DIMENSION}" --height "${RESIZED_MAX_DIMENSION}" --size "down" 2>&1 | tee -a "$LOG_FILE") - if [ $? -eq 0 ]; then log_message "${WORLD_KEY}" "Verkleinertes Archivbild erstellt."; else log_message "${WORLD_KEY}" "FEHLER: Archivbild nicht erstellt.";fi + vips thumbnail "$RAW_MAP_ABSOLUTE_PATH" "$ARCHIVE_DAILY_FILE_PATH" "${RESIZED_MAX_DIMENSION}" --height "${RESIZED_MAX_DIMENSION}" --size "down" fi -# 7. Finale Info-Dateien kopieren log_message "${WORLD_KEY}" "Kopiere finale Info-Dateien ins Web-Verzeichnis..." mkdir -p "$WEB_CURRENT_WORLD_DIR" echo "$(date '+%Y-%m-%d %H:%M:%S %Z')" > "${WEB_CURRENT_WORLD_DIR}/last_update.txt" -cp "$UNKNOWN_NODES_FILE_ABSOLUTE_PATH" "${WEB_CURRENT_WORLD_DIR}/unknown_nodes.txt" -cp "$MAP_INFO_FILE_ABSOLUTE_PATH" "${WEB_CURRENT_WORLD_DIR}/map_info.txt" +[ -f "$UNKNOWN_NODES_FILE_ABSOLUTE_PATH" ] && cp "$UNKNOWN_NODES_FILE_ABSOLUTE_PATH" "${WEB_CURRENT_WORLD_DIR}/unknown_nodes.txt" +[ -f "$MAP_INFO_FILE_ABSOLUTE_PATH" ] && cp "$MAP_INFO_FILE_ABSOLUTE_PATH" "${WEB_CURRENT_WORLD_DIR}/map_info.txt" exit 0 diff --git a/site_generator/templates/world_detail_radar.template b/site_generator/templates/world_detail_radar.template index 2dbb595..7e0bf97 100644 --- a/site_generator/templates/world_detail_radar.template +++ b/site_generator/templates/world_detail_radar.template @@ -89,9 +89,8 @@ document.addEventListener('DOMContentLoaded', function() { const extent = [0, -mapData.mapHeight, mapData.mapWidth, 0]; const sourceResolutions = %%RESOLUTIONS_JS_ARRAY%%; - - // HINZUGEFÜGT: Logik für digitalen Zoom wiederhergestellt const maxNativeZoom = sourceResolutions.length -1; + const viewResolutions = [...sourceResolutions]; const digitalZoomLevels = 3; let lastResolution = viewResolutions[viewResolutions.length - 1]; @@ -124,11 +123,14 @@ document.addEventListener('DOMContentLoaded', function() { const parentAreaStyle = new ol.style.Style({ stroke: new ol.style.Stroke({ color: 'rgba(0, 100, 255, 0.8)', width: 2 }), fill: new ol.style.Fill({ color: 'rgba(0, 100, 255, 0.2)' }) }); const subAreaStyle = new ol.style.Style({ stroke: new ol.style.Stroke({ color: 'rgba(0, 100, 255, 0.8)', width: 1.5, lineDash: [6, 6] }), fill: new ol.style.Fill({ color: 'transparent' }) }); + + const playerLayer = new ol.layer.Vector({ source: window.playerMarkerSource_%%current_world_key%%, style: f => f.get('style'), title: 'Spieler' }); const parentAreaLayer = new ol.layer.Vector({ source: window.parentAreaLayerSource_%%current_world_key%%, style: parentAreaStyle, title: 'Grundstücke' }); - const subAreaLayer = new ol.layer.Vector({ source: window.subAreaLayerSource_%%current_world_key%%, style: subAreaStyle, title: 'Parzellen', visible: false }); - const playerLayer = new ol.layer.Vector({ source: window.playerMarkerSource_%%current_world_key%%, style: f => f.get('style'), title: 'Spielerpositionen' }); + // KORREKTUR: Die 'title'-Eigenschaft wurde von diesem Layer entfernt + const subAreaLayer = new ol.layer.Vector({ source: window.subAreaLayerSource_%%current_world_key%%, style: subAreaStyle, visible: false }); const overlayLayers = new ol.layer.Group({ title: 'Overlays', layers: [subAreaLayer, parentAreaLayer, playerLayer] }); + const view = new ol.View({ projection: projection, center: ol.extent.getCenter(extent), resolutions: viewResolutions }); const popupContainer = document.getElementById('popup-%%current_world_key%%'); @@ -159,18 +161,14 @@ document.addEventListener('DOMContentLoaded', function() { } } - // KORREKTUR: Klick-Handler mit korrekter Priorisierung map.on('click', function(evt) { - // Reset overlay.setPosition(undefined); popupCloser.blur(); - // Priorität 1: Spieler-Marker const playerFeature = map.forEachFeatureAtPixel(evt.pixel, (f, l) => l === playerLayer ? f : undefined); if (playerFeature) { - window.subAreaLayerSource_%%current_world_key%%.clear(); // Sub-Areas ausblenden, wenn ein Spieler geklickt wird + window.subAreaLayerSource_%%current_world_key%%.clear(); subAreaLayer.setVisible(false); - const playerData = playerFeature.get('playerData'); if (playerData) { const statusDotClass = playerFeature.get('statusDotClass'); @@ -196,11 +194,10 @@ document.addEventListener('DOMContentLoaded', function() { popupContent.innerHTML = popupHTML; overlay.setPosition(playerFeature.getGeometry().getCoordinates()); } - return; // Verarbeitung hier beenden + return; } - // Priorität 2: Hauptgrundstück (nur wenn kein Spieler geklickt wurde) - window.subAreaLayerSource_%%current_world_key%%.clear(); // Alte Sub-Areas immer entfernen + window.subAreaLayerSource_%%current_world_key%%.clear(); const areaFeature = map.forEachFeatureAtPixel(evt.pixel, (f, l) => l === parentAreaLayer ? f : undefined); if (areaFeature) { const areaData = areaFeature.get('areaData'); @@ -215,7 +212,6 @@ document.addEventListener('DOMContentLoaded', function() { } else { subAreaLayer.setVisible(false); } - let popupHTML = `${areaData.name}
Besitzer: ${areaData.owner}`; if (areaData.sub_areas && areaData.sub_areas.length > 0) { popupHTML += `

Parzellen: