From 788c06ddb03ae83fc9078c175d7e2172ec8cd01c Mon Sep 17 00:00:00 2001 From: TechnicJelle <22576047+TechnicJelle@users.noreply.github.com> Date: Sun, 23 Nov 2025 23:38:59 +0000 Subject: [PATCH 1/8] Added the configs to the wiki --- Gemfile | 2 + Gemfile.lock | 3 + _config.yml | 5 +- _sass/custom/custom.scss | 27 ++++ wiki/configs/Core.md | 73 +++++++++++ wiki/configs/Maps.md | 218 +++++++++++++++++++++++++++++++++ wiki/configs/Plugin.md | 82 +++++++++++++ wiki/configs/Webapp.md | 96 +++++++++++++++ wiki/configs/Webserver.md | 69 +++++++++++ wiki/configs/index.md | 20 +++ wiki/configs/storages/File.md | 37 ++++++ wiki/configs/storages/SQL.md | 63 ++++++++++ wiki/configs/storages/index.md | 14 +++ 13 files changed, 708 insertions(+), 1 deletion(-) create mode 100644 wiki/configs/Core.md create mode 100644 wiki/configs/Maps.md create mode 100644 wiki/configs/Plugin.md create mode 100644 wiki/configs/Webapp.md create mode 100644 wiki/configs/Webserver.md create mode 100644 wiki/configs/index.md create mode 100644 wiki/configs/storages/File.md create mode 100644 wiki/configs/storages/SQL.md create mode 100644 wiki/configs/storages/index.md diff --git a/Gemfile b/Gemfile index 42491f1..23a6e5e 100644 --- a/Gemfile +++ b/Gemfile @@ -5,3 +5,5 @@ gem "jekyll", "~> 4.3" # installed by `gem jekyll` gem "just-the-docs", "0.10.1" # pinned to the current release # gem "just-the-docs" # always download the latest release + +gem 'jekyll-relative-links' diff --git a/Gemfile.lock b/Gemfile.lock index b884402..34199a9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -53,6 +53,8 @@ GEM webrick (~> 1.7) jekyll-include-cache (0.2.1) jekyll (>= 3.7, < 5.0) + jekyll-relative-links (0.7.0) + jekyll (>= 3.3, < 5.0) jekyll-sass-converter (3.1.0) sass-embedded (~> 1.75) jekyll-seo-tag (2.8.0) @@ -105,6 +107,7 @@ PLATFORMS DEPENDENCIES jekyll (~> 4.3) + jekyll-relative-links just-the-docs (= 0.10.1) BUNDLED WITH diff --git a/_config.yml b/_config.yml index 3ec0d53..1d1e84b 100644 --- a/_config.yml +++ b/_config.yml @@ -22,4 +22,7 @@ exclude: sass: quiet_deps: true # https://github.com/just-the-docs/just-the-docs/issues/1541 - silence_deprecations: ['import'] # https://github.com/just-the-docs/just-the-docs/issues/1607 \ No newline at end of file + silence_deprecations: ['import'] # https://github.com/just-the-docs/just-the-docs/issues/1607 + +gems: + - jekyll-relative-links \ No newline at end of file diff --git a/_sass/custom/custom.scss b/_sass/custom/custom.scss index 2d1e41a..ecc922b 100644 --- a/_sass/custom/custom.scss +++ b/_sass/custom/custom.scss @@ -119,3 +119,30 @@ th { margin-left: calc( (100% - #{$page-width}) / 2 + #{$sidebar-width} ); } } + +section.config-indent { + --indent-size: 2em; + + &::before, &::after { + position: relative; + left: calc(-1 * var(--indent-size) - 0.2em); + } + + &::before { content: "{"; } + &::after { content: "}"; } + + & :first-child { margin-top: 0; } + & :last-child { margin-bottom: 0; } + + padding-left: var(--indent-size); + + --bracket-height: 2em; + border-left: 1px solid transparent; + border-image: linear-gradient(to bottom, + transparent var(--bracket-height), + grey var(--bracket-height), + grey calc(100% - var(--bracket-height)), + transparent calc(100% - var(--bracket-height)) + ); + border-image-slice: 1; +} diff --git a/wiki/configs/Core.md b/wiki/configs/Core.md new file mode 100644 index 0000000..0fcedfe --- /dev/null +++ b/wiki/configs/Core.md @@ -0,0 +1,73 @@ +--- +layout: page +title: Core +parent: Configs +grand_parent: Wiki +nav_order: 1 +--- + +# Core-Config + +> **Info:** +> When a "default" is mentioned for any option, it is meant that if the option is commented out, that is what BlueMap will use. +> This may not be the same as the option that is pre-filled-in. +{: .info } + +## `accept-download` +By changing this setting to `true` you are indicating that you have accepted [Mojang's EULA](https://account.mojang.com/documents/minecraft_eula), +you confirm that you own a license to Minecraft (Java Edition) +and you agree that BlueMap will download and use a minecraft-client file (depending on the minecraft-version) +from [Mojang's servers](https://piston-meta.mojang.com/mc/game/version_manifest.json) for you. +This file contains resources that belong to Mojang and you must not redistribute it or do anything else that is not compliant with mojang's EULA. + +BlueMap uses resources in this file to generate the 3D-models used for the map and texture them. (BlueMap will not work without those resources.) + +## `data` +The folder where BlueMap saves data-files it needs during runtime, or to save e.g. the render-progress to resume it later. + +_Default is_ `"bluemap"` + +## `render-thread-count` +This changes the amount of threads that BlueMap will use to render the maps. +A higher value can improve render-speed, but could impact performance on the host machine. +This should be always below or equal to the number of available processor-cores. + +Zero or a negative value means the amount of available processor-cores subtracted by the value. +(So a value of -2 with 6 cores results in 4 render-processes) + +_Default varies per machine_ + +## `scan-for-mod-resources` +Controls whether BlueMap should try to find and load mod-resources and datapacks from the server/world-directories. + +_Default is_ `true` + +## `metrics` +If this is `true`, BlueMap might send really basic metrics reports containing only the implementation-type and the version that is being used to [metrics.bluecolored.de/bluemap](https://metrics.bluecolored.de/) + +This allows me to track the basic usage of BlueMap and helps me stay motivated to further develop this tool! +Please leave it on :) + +An example report looks like this: `{"implementation":"bukkit","version":"5.13","mcVersion":"?"}` + +_Default is_ `true` + +## `log` +Config-section for debug-logging + +
+ +### `file` +The file where the debug-log will be written to. +Comment out to disable debug-logging completely. + +[Java String formatting syntax](https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html) can be used to add time. + +_Default is no logging_ + +### `append` +Whether the logger should append to an existing file, or overwrite it + +_Default is_ `false` + +
diff --git a/wiki/configs/Maps.md b/wiki/configs/Maps.md new file mode 100644 index 0000000..d1c5a98 --- /dev/null +++ b/wiki/configs/Maps.md @@ -0,0 +1,218 @@ +--- +layout: page +title: Maps +parent: Configs +grand_parent: Wiki +nav_order: 5 +--- + +# Map-Config + +In your `maps` directory, there is one `.conf` file per map. +Usually, that will be three: `world.conf`, `world_nether.conf`, and `world_the_end.conf`, +but may be more or less depending on the amount of loaded worlds when BlueMap was first installed. + +You can copy another map config to create a new map. +You will probably want to change at least the [`world`](#world) and [`name`](#name) options, +but you don't actually have to! By keeping them the same, you can have multiple maps of the same world. + +> **Info:** +> When a "default" is mentioned for any option, it is meant that if the option is commented out, that is what BlueMap will use. +> This may not be the same as the option that is pre-filled-in. +{: .info } + +## `world` +The path to the save-folder of the world to render. + +(If this is not defined (commented out or removed), the map will be only registered to the web-server and the web-app, but not rendered or loaded by BlueMap. This can be used to display a map that has been rendered somewhere else.) + +## `dimension` +The dimension of the world. Can be `"minecraft:overworld"`, `"minecraft:the_nether"`, `"minecraft:the_end"` or any dimension-key introduced by a mod or datapack. + +## `name` +The display-name of this map -> how this map will be named on the webapp. + +You can change this at any time. + +_Default is the id of this map_ + +## `sorting` +A lower value makes the map sorted first (in lists and menus), a higher value makes it sorted later. +The value needs to be an integer, but it can be negative. + +You can change this at any time. + +_Default is_ `0` + +## `start-pos` +The position on the world where the map will be centered if you open it. + +You can change this at any time. + +_This defaults to the world-spawn if you don't set it._ + +## `sky-color` +The color of the sky as a hex-color + +You can change this at any time. + +_Default is_ `"#7dabff"` + +## `void-color` +The color of the void as a hex-color + +You can change this at any time. + +_Default is_ `"#000000"` + +## `sky-light` +Defines the initial sky-light-strength the map will be set to when it is opened. + +`0` is no sky-light, `1` is fully lighted. + +You can change this at any time. + +_Default is_ `1` + +## `ambient-light` +Defines the ambient light-strength that every block is receiving, regardless of the sunlight/blocklight. + +`0` is no ambient light, `1` is fully lighted. + +You can change this at any time. + +_Default is_ `0` + +## `remove-caves-below-y` +BlueMap tries to omit all blocks that are below this Y-level and are not visible from above-ground. +More specifically: Block-Faces that have a sunlight/skylight value of 0 are removed. + +This improves the performance of the map on slower devices by a lot, but might cause some blocks to disappear that should normally be visible. + +**Changing this value requires a re-render of the map.** + +Set to a very high value to remove caves everywhere (e.g. `10000`) +Set to a very low value to remove nothing and render all caves (e.g. `-10000`) + +_Default is_ `55` _(slightly below water-level)_ + +## `cave-detection-ocean-floor` +This is the amount of blocks relative to the "ocean-floor" heightmap that the cave-detection will start at. +Everything above that (heightmap-relative) y-level will not be removed. + +Comment or set to a very high value to disable using the ocean-floor heightmap for cave-detection. + +**Changing this value requires a re-render of the map.** + +_Defaults to_ `10000` _(disabled)_ + +## `cave-detection-uses-block-light` +With this value set to `true`, BlueMap also uses the block-light value (additionally to the sky-light) to "detect caves". +(See: [`remove-caves-below-y`](#remove-caves-below-y)) + +**Changing this value requires a re-render of the map.** + +_Default is_ `false` + +## `min-inhabited-time` +The minimum "inhabitedTime" value that a chunk must have to be rendered. +The "inhabitedTime" value of a chunk refers to the cumulative number of ticks players have been near this chunk. + +If you set this to a value greater than `0`, BlueMap will only render chunks that players have visited already. + +_Default is_ `0` + +## `render-mask` +With the render-mask you can limit the map-render. + +This can be used to render only a certain part of a world, or ignore the Nether's ceiling. + +If you change the render-mask, BlueMap automatically tries to update the map, +including deleting map-tiles which are outside the new limits. + +You can use `/bluemap fix-edges ` to fix any remaining issues. + +Please check out [this wiki page](/wiki/customization/Masks.md) for more detailed information on how to configure this. + +_Default is no mask; BlueMap will render everything that exists._ + +## `render-edges` +Using this, BlueMap pretends that every Block outside of the defined render-mask is AIR, +this means you can see the blocks where the world is cut (instead of having a see-through/xray view). +This has only an effect if you set some [`render-mask`](#render-mask) above. + +**Changing this value requires a re-render of the map.** + +_Default is_ `true` + +## `edge-light-strength` +The sun-light strength that blocks at map-edges will recieve if render-edges is enabled. + +Should be a value between `0` and `15` + +_Default is_ `15` + +## `enable-perspective-view` +Whether the perspective view will be enabled for this map. + +**Changing this to `true` requires a re-render of the map, only if the hires-layer is enabled and free-flight view is disabled.** + +_Default is_ `true` + +## `enable-flat-view` +Whether the flat (isometric, top-down) view will be enabled for this map. + +Having only flat-view enabled while disabling free-flight and perspective will speed up the render and reduce the maps storage-size. + +_Default is_ `true` + +## `enable-free-flight-view` +Whether the free-flight view will be enabled for this map. + +**Changing this to `true` requires a re-render of the map, only if the hires-layer is enabled and perspective view is disabled.** + +_Default is_ `true` + +## `enable-hires` +Whether the hires-layer will be enabled. + +Disabling this will speed up rendering and reduce the size of the map-files a lot. +But you will not be able to see the full 3d-models if you zoom in on the map. + +Changing this to `false` will not remove any existing tiles; existing tiles just won't get updated anymore. + +**Changing this to `true` will require a re-render of the map.** + +_Default is_ `true` + +## `storage` +This defines the [storage-config](storages/) that will be used to save this map. + +You can find your storage configs next to this config file in the 'storages'-folder. + +**Changing this value requires a re-render of the map. The map in the old storage will not be deleted.** + +_Default is_ `"file"` + +## `ignore-missing-light-data` +Normally BlueMap detects if a chunk has not yet generated it's light-data and omits rendering those chunks. + +If this is set to `true`, BlueMap will render Chunks even if there is no light-data! + +This can be useful for example if some mod prevents light-data from being saved correctly. +However, this also has a few drawbacks: +- For those chunks, every block will always be fully lit +- Night-mode might not work correctly +- Caves will always be rendered (ignoring the [`remove-caves-below-y`](#remove-caves-below-y) setting) + +_Default is_ `false` + +## `marker-sets` +Here you can define any static marker-sets with markers that should be displayed on the map. + +You can change this at any time. + +If you need dynamic markers, you can use any plugin that integrates with BlueMap's API. +[Here is a list.](/community/3rdPartySupport.md) + +Please check out [this wiki page](/wiki/customization/Markers.md) for information on how to configure this. diff --git a/wiki/configs/Plugin.md b/wiki/configs/Plugin.md new file mode 100644 index 0000000..b2d54e3 --- /dev/null +++ b/wiki/configs/Plugin.md @@ -0,0 +1,82 @@ +--- +layout: page +title: Plugin +parent: Configs +grand_parent: Wiki +nav_order: 2 +--- + +# Plugin-Config + +> **Info:** +> When a "default" is mentioned for any option, it is meant that if the option is commented out, that is what BlueMap will use. +> This may not be the same as the option that is pre-filled-in. +{: .info } + +## `live-player-markers` +If the server should send player-positions to the webapp. +This only works if the integrated webserver is enabled. + +_Default is_ `true` + +## `hidden-game-modes` +A **list** of gamemodes that will prevent a player from appearing on the map. + +Possible values are: `survival`, `creative`, `spectator`, `adventure` + +## `hide-vanished` +If this is `true`, players that have an invisibility (potion-)effect will be hidden on the map. + +_Default is_ `true` + +## `hide-sneaking` +If this is `true`, players that are sneaking will be hidden on the map. + +_Default is_ `false` + +## `hide-below-sky-light` and `hide-below-block-light` +Hides the player if they are in a sky or block-light level below the given number. + +BOTH values have to be below the threshold for the player to be hidden! +E.g. if you set both to 1, then the player will be hidden on the map if they are in absolute darkness. +Or, if you want players only be visible on the surface you set the `sky-threshold` to +something between 1 and 15 and the `block-threshold` to 16. + +_Default is_ `0` _(don't hide the player)_ + +## `hide-different-world` +If this is `true`, players that are on a different world than the viewed map will not appear on the player-list. + +_Default is_ `false` + +## `write-markers-interval` and `write-players-interval` +The interval in seconds that the (player) markers will be written to the map-storage. +This is useful if you can't create a live-connection between the server and the webapp +and the (player) markers can only be updated via the map-storage. + +`0` or lower means that the (player) markers will never be written to the map-storage. + +_Default is_ `0` + +## `skin-download` +Download the skin from Mojang's servers when a player joins your server, so it can be used for the player-markers. + +_Default is_ `true` + +## `player-render-limit` +The amount of players that is needed to pause BlueMap's render-threads. + +If this amount of players or more is online, BlueMap will stop rendering map-updates until enough players have logged off again. + +Setting this to `0` or `-1` will disable this feature -> BlueMap will not pause rendering + +_Default is_ `-1` + +## `full-update-interval` +The interval in minutes in which a full map-update will be triggered. + +This is ADDITIONALLY to the normal map-update process (in case that fails to detect any file-changes). + +**This DOESN'T re-render the entire map each time**, it _only checks_ if there are some changes that have not been rendered yet! + +_Default is_ `1440` _(24 hours)_ diff --git a/wiki/configs/Webapp.md b/wiki/configs/Webapp.md new file mode 100644 index 0000000..468b963 --- /dev/null +++ b/wiki/configs/Webapp.md @@ -0,0 +1,96 @@ +--- +layout: page +title: Webapp +parent: Configs +grand_parent: Wiki +nav_order: 3 +--- + +# Webapp-Config + +> **Info:** +> When a "default" is mentioned for any option, it is meant that if the option is commented out, that is what BlueMap will use. +> This may not be the same as the option that is pre-filled-in. +{: .info } + +## `enabled` +With this setting you can disable the creation and updating of all web-app related files + +_Default is_ `true` + +## `webroot` +The webroot where the web-application files will be created. +Usually this should be set to the same directory like in the [`webserver.conf`](Webserver.md#webroot)! + +_Default is_ `"bluemap/web"` + +## `update-settings-file` +Whether the `settings.json` of the webapp should be updated/synchronized with the current BlueMap settings. + +If this is set to `false`, BlueMap will only add maps to the `settings.json`, but never remove unknown ones or update other settings. + +Disabling this is for example useful if you are running multiple BlueMap instances on the same webroot and don't want them to overwrite each others' maps. + +_Default is_ `true` + +## `use-cookies` +If the web-application should use cookies to save the configurations of a user. + +_Default is_ `true` + +## `default-to-flat-view` +If the webapp will default to flat-view instead of perspective-view. + +_Default is_ `false` + +## `start-location` +The default map and camera-location where a user will start after opening the webapp. + +This is in form of the "url-anchor": Open your map in a browser and look at the url; +everything after the `#` is the value for this setting. + +_Default is "no anchor" → The camera will start with the topmost map and at that map's starting point._ + +## `min-zoom-distance` and `max-zoom-distance` +The minimum (closest) and maximum (furthest) distance (in blocks) that the camera can be from the ground + +## `resolution-default` +The default value of the resolution (settings-menu) + +Possible values are: `0.5`, `1`, `2` + +_Default is_ `1` + +## `hires-slider-max`, `hires-slider-default`, and `hires-slider-min` +The min, max and default values of the **hires** render-distance slider (settings-menu) + +The values are in blocks. + +_Default is_ max:`500`_,_ default:`100`_, and_ min:`0` + +## `lowres-slider-max`, `lowres-slider-default`, and `lowres-slider-min` +The min, max and default values of the **lowres** render-distance slider (settings-menu) + +The values are in blocks. + +_Default is_ max:`7000`_,_ default:`2000`_, and_ min:`500` + +## `map-data-root` +Here you can specify an alternative base url from where all **map data** is loaded. + +_Default is_ `"maps"` + +## `live-data-root` +Here you can specify an alternative base url from where all **live data** is loaded. + +_Default is_ `"maps"` + +## `scripts` +Here you can add URLs to custom **scripts** (**js**) so they will be loaded by the webapp + +You can place them somewhere in BlueMap's webroot and add the (relative) link here + +## `styles` +Here you can add URLs to custom **styles** (**css**) so they will be loaded by the webapp + +You can place them somewhere in BlueMap's webroot and add the (relative) link here diff --git a/wiki/configs/Webserver.md b/wiki/configs/Webserver.md new file mode 100644 index 0000000..3de870d --- /dev/null +++ b/wiki/configs/Webserver.md @@ -0,0 +1,69 @@ +--- +layout: page +title: Webserver +parent: Configs +grand_parent: Wiki +nav_order: 4 +--- + +# Webserver-Config + +> **Info:** +> When a "default" is mentioned for any option, it is meant that if the option is commented out, that is what BlueMap will use. +> This may not be the same as the option that is pre-filled-in. +{: .info } + +## `enabled` +With this setting you can disable the integrated web-server. + +This is useful if you want to only render the map-data for later use, or if you have set up your own webserver. + +_Default is_ `true` + +## `webroot` +The webroot that the server will host to the web. + +Usually this should be set to the same directory like in the [`webapp.conf`](Webapp.md#webroot)! + +_Default is_ `"bluemap/web"` + +## `port` +The port that the webserver listens on. + +_Default is_ `8100` + +## `log` +Config-section for webserver-activity logging + +
+ +### `file` +The file where the webserver-activity will be written to. +Comment out to disable the logging completely. + +[Java String formatting syntax](https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html) can be used to add time. + +_Default is no logging_ + +### `append` +Whether the logger should append to an existing file, or overwrite it + +_Default is_ `false` + +### `format` +The format of the webserver-acivity logs. + +The syntax is the [Java String formatting](https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html). + +Possible Arguments: +`1` - the source address (ignoring any xff headers) +`2` - the source address (using the (leftmost) xff header if provided) +`3` - the http-method of the request +`4` - the full request-address +`5` - the protocol version of the request +`6` - the status-code of the response +`7` - the status-message of the response + +_Default is_ `"%1$s \"%3$s %4$s %5$s\" %6$s %7$s"` + +
diff --git a/wiki/configs/index.md b/wiki/configs/index.md new file mode 100644 index 0000000..7509ec2 --- /dev/null +++ b/wiki/configs/index.md @@ -0,0 +1,20 @@ +--- +layout: page +title: Configs +parent: Wiki +has_children: true +nav_order: 5 +--- + +# Configs + +BlueMap has a few configuration files: + +- [`core.conf`](Core.md) +- [`plugin.conf`](Plugin.md) +- [`webapp.conf`](Webapp.md) +- [`webserver.conf`](Webserver.md) +- [`maps/`](Maps.md) +- [`storages/`](storages/) + - [`file.conf`](storages/File.md) + - [`sql.conf`](storages/SQL.md) diff --git a/wiki/configs/storages/File.md b/wiki/configs/storages/File.md new file mode 100644 index 0000000..6e6cb27 --- /dev/null +++ b/wiki/configs/storages/File.md @@ -0,0 +1,37 @@ +--- +layout: page +title: File +parent: Storage Configs +grand_parent: Configs +nav_order: 1 +--- + +# File-Config + +> **Info:** +> When a "default" is mentioned for any option, it is meant that if the option is commented out, that is what BlueMap will use. +> This may not be the same as the option that is pre-filled-in. +{: .info } + +## `storage-type` +The storage-type of this storage. + +Depending on this setting, different config-entries are allowed/expected in this config file. + +**Don't change this value! (If you want a different storage-type, check out [the other example-configs](.))** + +## `root` +The path to the folder on your file-system where bluemap will save the rendered map + +_Default is_ `"bluemap/web/maps"` + +## `compression` +The compression-type that bluemap will use to compress generated map-data. + +Available compression-types are: +- `gzip` +- `zstd` +- `deflate` +- `none` + +_Default is_ `gzip` diff --git a/wiki/configs/storages/SQL.md b/wiki/configs/storages/SQL.md new file mode 100644 index 0000000..4cfc35d --- /dev/null +++ b/wiki/configs/storages/SQL.md @@ -0,0 +1,63 @@ +--- +layout: page +title: SQL +parent: Storage Configs +grand_parent: Configs +nav_order: 1 +--- + +# SQL-Config + +> **Info:** +> When a "default" is mentioned for any option, it is meant that if the option is commented out, that is what BlueMap will use. +> This may not be the same as the option that is pre-filled-in. +{: .info } + +## `storage-type` +The storage-type of this storage. + +Depending on this setting, different config-entries are allowed/expected in this config file. + +**Don't change this value! (If you want a different storage-type, check out [the other example-configs](.))** + +## `connection-url` +The JDBC-Connection URL that is used to connect to the database. + +The _exact_ format of the url is determined by the JDBC-Driver you are using. +But the format for this url is _usually_ something like: `jdbc:[driver]://[host]:[port]/[database]` + +## `connection-properties` +You can set any additional (JDBC-Driver-specific) properties here +Usually that's your db-user and password + +## `max-connections` +The maximum number of connections to the database that are allowed to be open at the same time. +A negative number means unlimited. + +_Default is_ `-1` + +## `driver-jar` +This can be used to load a custom jdbc-driver from a .jar file. + +E.g. if your runtime-environment is not already providing the sql-driver you need, you could +[download the MariaDB JDBC-Connector](https://mariadb.com/downloads/connectors/connectors-data-access/java8-connector/). +And place it in the `./bluemap` folder and use it like this: +```hocon +driver-jar: "bluemap/mariadb-java-client-3.0.7.jar" +``` + +## `driver-class` +This is the driver-class that BlueMap will try to load and use. +Check the documentation of the driver you are using if you don't know this. + +Leaving this commented means that BlueMap automatically tries to find a suitable driver in your classpath. +(If you added a custom driverJar above, you HAVE TO set the correct class name here) + +## `compression` +The compression-type that bluemap will use to compress generated map-data. +Available compression-types are: +- `gzip` +- `zstd` +- `deflate` +- `none` +_Default is_ `gzip` diff --git a/wiki/configs/storages/index.md b/wiki/configs/storages/index.md new file mode 100644 index 0000000..8cc9d7d --- /dev/null +++ b/wiki/configs/storages/index.md @@ -0,0 +1,14 @@ +--- +layout: page +title: Storage Configs +parent: Configs +has_children: true +nav_order: 6 +--- + +# Storage Configs + +Each file in this directory represents one configured storage backend. + +There are two presets included out of the box, but you can create more, if you like. +This is useful if you want to store your maps in different places. From 5e692e0785f0c02c692a4e4fd4c95724ccdb518b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20Ellil=C3=A4?= Date: Mon, 24 Nov 2025 02:44:53 +0200 Subject: [PATCH 2/8] Update lockfile --- Gemfile.lock | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 34199a9..6effd2f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -4,7 +4,7 @@ GEM addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) base64 (0.3.0) - bigdecimal (3.2.2) + bigdecimal (3.3.1) colorator (1.1.0) concurrent-ruby (1.3.5) csv (3.3.5) @@ -17,16 +17,16 @@ GEM ffi (1.17.2-x86_64-darwin) ffi (1.17.2-x86_64-linux-gnu) forwardable-extended (2.6.0) - google-protobuf (4.31.1-arm64-darwin) + google-protobuf (4.33.1-arm64-darwin) bigdecimal rake (>= 13) - google-protobuf (4.31.1-x64-mingw-ucrt) + google-protobuf (4.33.1-x64-mingw-ucrt) bigdecimal rake (>= 13) - google-protobuf (4.31.1-x86_64-darwin) + google-protobuf (4.33.1-x86_64-darwin) bigdecimal rake (>= 13) - google-protobuf (4.31.1-x86_64-linux-gnu) + google-protobuf (4.33.1-x86_64-linux-gnu) bigdecimal rake (>= 13) http_parser.rb (0.8.0) @@ -61,7 +61,7 @@ GEM jekyll (>= 3.8, < 5.0) jekyll-watch (2.2.1) listen (~> 3.0) - json (2.13.2) + json (2.16.0) just-the-docs (0.10.1) jekyll (>= 3.8.5) jekyll-include-cache @@ -79,21 +79,16 @@ GEM pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (6.0.2) - rake (13.3.0) + rake (13.3.1) rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) - rexml (3.4.2) - rouge (4.6.0) + rexml (3.4.4) + rouge (4.6.1) safe_yaml (1.0.5) - sass-embedded (1.89.2-arm64-darwin) - google-protobuf (~> 4.31) - sass-embedded (1.89.2-x64-mingw-ucrt) - google-protobuf (~> 4.31) - sass-embedded (1.89.2-x86_64-darwin) - google-protobuf (~> 4.31) - sass-embedded (1.89.2-x86_64-linux-gnu) + sass-embedded (1.94.2) google-protobuf (~> 4.31) + rake (>= 13) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) unicode-display_width (2.6.0) @@ -111,4 +106,4 @@ DEPENDENCIES just-the-docs (= 0.10.1) BUNDLED WITH - 2.3.9 + 2.3.27 From ebff6e6f3ffe08a5b64b098a1b7fccf808924d7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20Ellil=C3=A4?= Date: Mon, 24 Nov 2025 02:45:57 +0200 Subject: [PATCH 3/8] Use relative links plugin correctly --- _config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_config.yml b/_config.yml index 1d1e84b..97755b5 100644 --- a/_config.yml +++ b/_config.yml @@ -24,5 +24,5 @@ sass: quiet_deps: true # https://github.com/just-the-docs/just-the-docs/issues/1541 silence_deprecations: ['import'] # https://github.com/just-the-docs/just-the-docs/issues/1607 -gems: - - jekyll-relative-links \ No newline at end of file +plugins: + - jekyll-relative-links From 73371d0d41bbcc451f248bbff617bbf00fb5be7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20Ellil=C3=A4?= Date: Mon, 24 Nov 2025 02:46:01 +0200 Subject: [PATCH 4/8] Remove secondary config toc --- wiki/configs/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/wiki/configs/index.md b/wiki/configs/index.md index 7509ec2..263694d 100644 --- a/wiki/configs/index.md +++ b/wiki/configs/index.md @@ -4,6 +4,7 @@ title: Configs parent: Wiki has_children: true nav_order: 5 +has_toc: false --- # Configs From e9399d9463818ae767cf3aea191f010fd0763ed3 Mon Sep 17 00:00:00 2001 From: TechnicJelle <22576047+TechnicJelle@users.noreply.github.com> Date: Mon, 24 Nov 2025 14:29:36 +0000 Subject: [PATCH 5/8] Use variable instead of magic number --- _sass/custom/custom.scss | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_sass/custom/custom.scss b/_sass/custom/custom.scss index ecc922b..459716d 100644 --- a/_sass/custom/custom.scss +++ b/_sass/custom/custom.scss @@ -123,9 +123,10 @@ th { section.config-indent { --indent-size: 2em; + --bracket-width: 0.5em; &::before, &::after { position: relative; - left: calc(-1 * var(--indent-size) - 0.2em); + left: calc(-1 * var(--indent-size) - var(--bracket-width) / 2); } &::before { content: "{"; } From ef46648ce60c7bd55f9cc8805e82fb2f6b454b5d Mon Sep 17 00:00:00 2001 From: TechnicJelle <22576047+TechnicJelle@users.noreply.github.com> Date: Mon, 24 Nov 2025 14:34:48 +0000 Subject: [PATCH 6/8] Update config pages --- wiki/configs/Maps.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/wiki/configs/Maps.md b/wiki/configs/Maps.md index d1c5a98..eb8a290 100644 --- a/wiki/configs/Maps.md +++ b/wiki/configs/Maps.md @@ -201,9 +201,9 @@ If this is set to `true`, BlueMap will render Chunks even if there is no light-d This can be useful for example if some mod prevents light-data from being saved correctly. However, this also has a few drawbacks: -- For those chunks, every block will always be fully lit +- Cave rendering will always be enabled (BlueMap is using the sky-light data to detect "caves") +- Everything will be rendered fully lit (sky-light value of 15, looks similar to having night vision) - Night-mode might not work correctly -- Caves will always be rendered (ignoring the [`remove-caves-below-y`](#remove-caves-below-y) setting) _Default is_ `false` @@ -212,7 +212,7 @@ Here you can define any static marker-sets with markers that should be displayed You can change this at any time. -If you need dynamic markers, you can use any plugin that integrates with BlueMap's API. +If you need dynamic markers, you can use any plugin or mod that integrates with BlueMap's API. [Here is a list.](/community/3rdPartySupport.md) Please check out [this wiki page](/wiki/customization/Markers.md) for information on how to configure this. From 146e7bf212d83314a13d721cdfaabeb72d565f44 Mon Sep 17 00:00:00 2001 From: TechnicJelle <22576047+TechnicJelle@users.noreply.github.com> Date: Mon, 24 Nov 2025 15:21:38 +0000 Subject: [PATCH 7/8] Improve look of indented config --- _sass/custom/custom.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_sass/custom/custom.scss b/_sass/custom/custom.scss index 459716d..fe248e1 100644 --- a/_sass/custom/custom.scss +++ b/_sass/custom/custom.scss @@ -123,10 +123,10 @@ th { section.config-indent { --indent-size: 2em; - --bracket-width: 0.5em; &::before, &::after { position: relative; - left: calc(-1 * var(--indent-size) - var(--bracket-width) / 2); + font-family: monospace; + left: calc(-1 * var(--indent-size) - 0.5ch); //-0.5ch to center the line neatly between the {}'s } &::before { content: "{"; } From a0f351d4d34ad9b606789a8335ce7c9e26639cf6 Mon Sep 17 00:00:00 2001 From: TechnicJelle <22576047+TechnicJelle@users.noreply.github.com> Date: Mon, 24 Nov 2025 16:38:52 +0000 Subject: [PATCH 8/8] Highlight linked headings --- _sass/custom/custom.scss | 37 +++++++++++++++++++++++++++ wiki/configs/storages/SQL.md | 2 +- wiki/configs/storages/index.md | 4 ++- wiki/getting-started/Configuration.md | 2 +- 4 files changed, 42 insertions(+), 3 deletions(-) diff --git a/_sass/custom/custom.scss b/_sass/custom/custom.scss index fe248e1..6299216 100644 --- a/_sass/custom/custom.scss +++ b/_sass/custom/custom.scss @@ -120,6 +120,43 @@ th { } } +h2, h3 { + scroll-margin-top: 1em; +} + +// Highlight linked headings --> +h2:not(:has(> code)):target, +h3:not(:has(> code)):target { + animation: highlightTexts 3s ease-out; +} + +@keyframes highlightTexts { + from { + text-shadow: + 0 0 2em rgba(170, 170, 255, 1.0), + 0 0 1em rgba(170, 170, 255, 1.0), + 0 0 0.1em rgba(170, 170, 255, 1.0); + } + to { + box-shadow: 0 0 0em rgba(255, 255, 170, 0.0); + } +} + +h2:target > code, +h3:target > code { + animation: highlightConfigs 3s ease-out; +} + +@keyframes highlightConfigs { + from { + box-shadow: 0 0 1em 0 rgba(170, 170, 255, 1.0); + } + to { + box-shadow: 0 0 0em 0 rgba(255, 255, 170, 0.0); + } +} +// <-- Highlight linked headings + section.config-indent { --indent-size: 2em; diff --git a/wiki/configs/storages/SQL.md b/wiki/configs/storages/SQL.md index 4cfc35d..19e216c 100644 --- a/wiki/configs/storages/SQL.md +++ b/wiki/configs/storages/SQL.md @@ -51,7 +51,7 @@ This is the driver-class that BlueMap will try to load and use. Check the documentation of the driver you are using if you don't know this. Leaving this commented means that BlueMap automatically tries to find a suitable driver in your classpath. -(If you added a custom driverJar above, you HAVE TO set the correct class name here) +(If you added a custom [`driver-jar`](#driver-jar) above, you HAVE TO set the correct class name here) ## `compression` The compression-type that bluemap will use to compress generated map-data. diff --git a/wiki/configs/storages/index.md b/wiki/configs/storages/index.md index 8cc9d7d..7e0cb29 100644 --- a/wiki/configs/storages/index.md +++ b/wiki/configs/storages/index.md @@ -10,5 +10,7 @@ nav_order: 6 Each file in this directory represents one configured storage backend. -There are two presets included out of the box, but you can create more, if you like. +There are two presets included out of the box, but you can create more, if you like. This is useful if you want to store your maps in different places. + +You can control which storage each map is stored on, with the map's [`storage` option](../Maps.md#storage). diff --git a/wiki/getting-started/Configuration.md b/wiki/getting-started/Configuration.md index 189a02a..10357b2 100644 --- a/wiki/getting-started/Configuration.md +++ b/wiki/getting-started/Configuration.md @@ -56,7 +56,7 @@ there is a certain number of players online: The `player-render-limit` setting i ## Hosting static maps If you have an old map of a world that doesn't exist anymore or a map that was rendered on a different server, you can still display it on the web-app. All BlueMap needs is to know the identifier -(see [Configuring the map-storages](#configuring-the-map-storages-store-maps-in-a-database-or-a-different-directory)) +(see [Configuring the map-storages](../customization/Storages.md)) of the map and the storage that it is stored in. So we can just add a new map-config named like the identifier of the map with the only setting being the `storage`-setting.