Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save KeyboardInterrupt/54d70b9d09d4a0334c447e6df876c7be to your computer and use it in GitHub Desktop.
Save KeyboardInterrupt/54d70b9d09d4a0334c447e6df876c7be to your computer and use it in GitHub Desktop.

Revisions

  1. KeyboardInterrupt revised this gist Aug 15, 2024. 1 changed file with 11 additions and 99 deletions.
    110 changes: 11 additions & 99 deletions Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -1,20 +1,21 @@
    > ℹ: Note, this document is a fork, check out the original here: https://gist.github.com/depwl9992/626bf2c20269abe9cda79eeab0de58af
    > My main alteration to it is that I am running a fabric Minecraft server, and the world name for the Nether is `DIM-1`in my case, all commands have been altered accordingly.
    > My main alteration to it is that I am running a fabric Minecraft server, and the world name for the Nether is `DIM-1`in my case, all commands have been altered accordingly
    > I also removed Stuff that is not applicable for my setup!
    ### Initial Setup of the Nether Roof Map
    1. Assuming dynmap is already initialized and the folder structure has been generated during a first-time run, `<Spigot_Server>/plugins/dynmap/custom-perspectives.txt` should exist.
    1. Assuming dynmap is already initialized and the folder structure has been generated during a first-time run, `<server>/dynmap/custom-perspectives.txt` should exist.
    2. Open [custom-perspectives.txt](https://github.com/webbukkit/dynmap/blob/v3.0/DynmapCore/src/main/resources/custom-perspectives.txt) in a text editor.
    3. In this file below the line `perspectives:` add the following lines of text.
    ```yaml
    - class: org.dynmap.hdmap.IsoHDPerspective
    name: nether_top_map_lowres
    maximumheight: 256
    minimumheight: 129
    minimumheight: 128
    inclination: 90
    scale: 4
    azimuth: 180
    ```
    4. If SpigotMC is not running, start it and wait for everything to load, remaining in the server console. If SpigotMC _is_ running, you can re-attach to the console using whatever method you have set up.
    4. If fabric is not running, start it and wait for everything to load, remaining in the server console. If fabric _is_ running, you can re-attach to the console using whatever method you have set up.
    5. Run `dynmap pause all` to halt all live updates to the map.
    ```console
    [12:49:49] [Server thread/INFO]: [dynmap] Full/radius render pause set to true
    @@ -25,139 +26,50 @@
    ```
    6. If it does not already exist, add a new nether roof map with the command `dmap mapadd DIM-1:nether_roof title:"The Roof" perspective:nether_top_map_lowres`.
    7. If it DOES already exist, you can change the perspective of an existing map with `dmap mapset DIM-1:nether_roof perspective:nether_top_map_lowres`.
    8. Optionally you can change the lighting of the map, so lightsources are easily seen, similar to how they are seen in the End: `dmap mapset DIM-1:nether_roof lighting:brightnight`
    ```console
    [12:50:25] [Server thread/INFO]: Refreshing configuration for world DIM-1
    [12:50:25] [Server thread/INFO]: [dynmap] Loaded 4 maps of world 'DIM-1'.
    [12:50:25] [Server thread/INFO]: If you are done editing map data, run '/dynmap pause none' to resume rendering
    ```
    8. Run `dynmap pause none`.
    9. Run `dynmap pause none`.
    ```console
    [12:51:37] [Server thread/INFO]: [dynmap] Full/radius render pause set to false
    [12:51:37] [Server thread/INFO]: [dynmap] Update render pause set to false
    [12:51:37] [Server thread/INFO]: Full/Radius renders are ACTIVE
    [12:51:37] [Server thread/INFO]: Update renders are ACTIVE
    [12:51:37] [Server thread/INFO]: Zoom out processing is ACTIVE
    ```
    9. Run `dynmap cancelrender DIM-1`.
    10. Run `dynmap cancelrender DIM-1`.
    ```console
    [12:54:27] [Server thread/INFO]: Cancelled render for 'DIM-1'
    ```
    _(This could also be blank, meaning no fullrender was in progress.)_

    10. Run `dynmap fullrender DIM-1:nether_roof`.
    11. Run `dynmap fullrender DIM-1:nether_roof`.
    ```console
    [12:56:54] [Server thread/INFO]: Full render starting on world 'DIM-1'...
    [12:58:34] [Dynmap Render Thread/INFO]: Full render of map 'nether_roof' of 'DIM-1' in progress - 100 tiles rendered (50.30 msec/tile, 18.75 msec per render)
    [13:00:13] [Dynmap Render Thread/INFO]: Full render of map 'nether_roof' of 'DIM-1' in progress - 200 tiles rendered (53.48 msec/tile, 16.67 msec per render)
    [13:01:54] [Dynmap Render Thread/INFO]: Full render of map 'nether_roof' of 'DIM-1' in progress - 300 tiles rendered (49.51 msec/tile, 15.78 msec per render)
    [13:03:34] [Dynmap Render Thread/INFO]: Full render of map 'nether_roof' of 'DIM-1' in progress - 400 tiles rendered (45.63 msec/tile, 15.27 msec per render)
    ```
    11. Note in the browser that the new map will not be assigned an icon in the right-hand map list, and as the new perspective starts at y=129, the nether roof texture will not be included. However, the spawn icon should be displayed at (0,0). As I have a standard ilmango zombie pigman gold farm on the nether roof, that is displayed near spawn as well.
    ![Screenshot 2020-05-28 13 06 43](https://user-images.githubusercontent.com/1482452/83182896-493ddc80-a0e4-11ea-81a5-32150278f8d9.png)

    ### Giving the new map an icon
    1. In the server console run `dynmap pause all`
    2. Run the command `dmap mapset DIM-1:nether_roof icon:images/sign_warp.png`
    3. Return to the browser and note the updated icon now displays something like a white chat bubble with a black "><":
    ![Screenshot 2020-05-28 13 20 46](https://user-images.githubusercontent.com/1482452/83186898-7bead380-a0ea-11ea-98de-53914017fc9f.png)
    4. Icons are stored in `<Spigot_Server>/plugins/dynmap/web/images`.
    4. Icons are stored in `<server>/dynmap/web/images`.
    5. You can create or find 16x16px custom PNG images, copying them into this folder for use within the server console.
    6. To load the newly copied PNG image, repeat step 2, changing the `icon:images/sign_warp.png` bit to `icon:images/<filename>.png`

    > ### Example
    > I threw together this one called which blends the bedrock block texture and the nether_portal block texture, and copied it in as `<Spigot_Server>/plugins/dynmap/web/images/bedrock_portal.png`.
    > I threw together this one called which blends the bedrock block texture and the nether_portal block texture, and copied it in as `<server>/dynmap/web/images/bedrock_portal.png`.
    >
    > ![bedrock_portal](https://user-images.githubusercontent.com/1482452/83185660-8d32e080-a0e8-11ea-9601-e2179f178c66.png)
    >
    > Then I ran the command `dmap mapset DIM-1:nether_roof icon:images/bedrock_portal.png`, which I'm quite happy with!
    >
    > ![Screenshot 2020-05-28 13 37 15](https://user-images.githubusercontent.com/1482452/83189298-42b46280-a0ee-11ea-99bc-74cf74c3e529.png)


    5. Finally, run `dynmap pause none` to resume the fullrender or active rendering process. If a full render is not in progress, the map will only update when a player loads the nether roof chunks and remains there for some minimum amount of time.

    ### Rendering the bedrock layer
    (Assuming you've already done everything previously mentioned)
    1. In the server console run `dynmap pause all`.
    2. In the file manager, open `<Spigot_Server>/plugins/dynmap/custom-perspectives.txt` in a text editor.
    3. Edit the line `minimumheight: 129`, changing it to `minimumheight: 128`
    4. Save and close the text editor.
    5. In the server console run `reload` and wait for all server and plugin configurations to be re-read from their respective files.
    6. Run `dynmap pause none`.
    7. Run `dynmap cancelrender DIM-1`. You'll either see `Cancelled render for 'DIM-1'` if a fullrender was in progress, or nothing.
    8. Run `dynmap fullrender DIM-1:nether_roof` and wait a few minutes for the first few tiles to render in the browser. If all is well, whatever was displayed before should now be overwritten with a dark grey houndstoothy bedrock texture.

    ### Lighting (June 29, 2020)
    With Dynmap 3.1 beta released for 1.16 (Nether) I am watching the Nether biome updates roll in gradually as I re-run a full render of `DIM-1:flat`.

    And as I wait, I realized that in the time I wrote this to now my brothers and I also defeated the dragon and and started raiding End cities at which point I realized that its default lighting profile "brightnight" is extremely useful in finding cities and [End gateways](https://minecraft.gamepedia.com/End_gateway) as the diamond flaring of end rods and torches really help when scanning a 10k x 10k map.

    So I decided perhaps since the nether roof is most often used for portal hubs, I could change the lighting profile of `DIM-1:nether_roof` to brightnight as well.

    1. `dynmap pause all`
    2. `dmap mapset DIM-1:nether_roof lighting:brightnight`
    3. `dynmap pause none`
    4. `dynmap fullrender DIM-1:nether_roof`

    And the result is quite stupendous!
    ![image](https://user-images.githubusercontent.com/1482452/86040878-4c562080-ba34-11ea-896f-29fbd71f01da.png)

    ### Dark Red Background (November 27, 2020)
    Someone in the comments asked about how to add the red background you see in the DIM-1:flat and DIM-1:surface maps. Turns out this is all to do with some undocumented and unautomated dynmap features that live in the very hard-to-find [HD Map Configuration help file](https://github.com/webbukkit/dynmap/wiki/HD-Map-Configuration).

    1. Open `<SpigotMC Directory>/plugins/dynmap/worlds.txt`.
    2. Scroll down to `DIM-1` and in the maps section, search for all separate map definitions.
    3. Note that by default, the "flat" and "surface" maps for `DIM-1` have a background property of #300806.
    4. Copy this line into all applicable map sections. For our purposes, the nether_roof will look something like this:

    ```yaml
    - name: DIM-1
    title: The Nether
    enabled: true
    extrazoomout: 2
    maps:
    ...
    ...
    - class: org.dynmap.hdmap.HDMap
    name: nether_roof
    title: The Roof is on Fire!
    icon: images/bedrock_portal.png
    prefix: nether_roof
    perspective: nether_top_map_lowres
    ...
    ...
    background: '#300806'
    append_to_world: ''
    ```
    5. Reload the server and watch the nether roof map refresh into new, smoldering red gloriousness!
    ![image](https://user-images.githubusercontent.com/1482452/100487526-4f7a3900-30c6-11eb-87b1-92feb700f166.png)

    #### Additional Options
    rgba() with transparency settings instead of the #RRGGBB format actually works!

    In worlds.txt, replace `background:'#300806'` with `background: 'rgba(48,8,6,1.0)'` and reload.

    Additionally I did some digging into the .js files and found that dynmap may be simply translating the background options of map definitions here into raw CSS. In this case, I tried another thing:

    `background: 'url("images/book.png")'`
    YIKES!! What are we seeing!?
    ![image](https://user-images.githubusercontent.com/1482452/100487802-c401a780-30c7-11eb-8f96-9f42a0685dc0.png)
    Also [w3schools'](https://www.w3schools.com/cssref/css3_pr_background.asp) CSS3 background documentation describes a method of embedding not only a background image, but also its positioning, tiling, repeat, and additionally a backup color into the same line.
    `background: 'lightblue url("images/book.png") fixed'`

    As [docm77](https://www.twitch.tv/docm77live) is fond of saying, "Lawd a'mercy..."
    ![image](https://user-images.githubusercontent.com/1482452/100487870-0e832400-30c8-11eb-95d3-bb8cd9eafca9.png)

    We can also replace 'lightblue' with an RGB definition in #RGB, #RRGGBB, and rgba() formats.

    `background: 'rgba(48,8,6,0.5) url("images/book.png") fixed'`
    Not so spectactular, and the image is layered on top of the background color, so the alpha channel does not darken it any
    ![image](https://user-images.githubusercontent.com/1482452/100488075-5ce4f280-30c9-11eb-8a4a-1f804d7e1691.png)
    This simply means that to properly make a GOOD background image, choosing something less busy and/or manually darkening it in photo editing software it may be preferrable.
    ![image](https://user-images.githubusercontent.com/1482452/100488246-57d47300-30ca-11eb-8d3a-e3e6b6bfe608.png)
  2. KeyboardInterrupt revised this gist Aug 15, 2024. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,6 @@
    > ℹ: Note, this document is a fork, check out the original here: https://gist.github.com/depwl9992/626bf2c20269abe9cda79eeab0de58af
    > My main alteration to it is that I am running a fabric Minecraft server, and the world name for the Nether is `DIM-1`in my case, all commands have been altered accordingly.
    ### Initial Setup of the Nether Roof Map
    1. Assuming dynmap is already initialized and the folder structure has been generated during a first-time run, `<Spigot_Server>/plugins/dynmap/custom-perspectives.txt` should exist.
    2. Open [custom-perspectives.txt](https://github.com/webbukkit/dynmap/blob/v3.0/DynmapCore/src/main/resources/custom-perspectives.txt) in a text editor.
  3. KeyboardInterrupt revised this gist Aug 15, 2024. 1 changed file with 24 additions and 24 deletions.
    48 changes: 24 additions & 24 deletions Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -20,11 +20,11 @@
    [12:49:49] [Server thread/INFO]: Update renders are PAUSED
    [12:49:49] [Server thread/INFO]: Zoom out processing is ACTIVE
    ```
    6. If it does not already exist, add a new nether roof map with the command `dmap mapadd world_nether:nether_roof title:"The Roof" perspective:nether_top_map_lowres`.
    7. If it DOES already exist, you can change the perspective of an existing map with `dmap mapset world_nether:nether_roof perspective:nether_top_map_lowres`.
    6. If it does not already exist, add a new nether roof map with the command `dmap mapadd DIM-1:nether_roof title:"The Roof" perspective:nether_top_map_lowres`.
    7. If it DOES already exist, you can change the perspective of an existing map with `dmap mapset DIM-1:nether_roof perspective:nether_top_map_lowres`.
    ```console
    [12:50:25] [Server thread/INFO]: Refreshing configuration for world world_nether
    [12:50:25] [Server thread/INFO]: [dynmap] Loaded 4 maps of world 'world_nether'.
    [12:50:25] [Server thread/INFO]: Refreshing configuration for world DIM-1
    [12:50:25] [Server thread/INFO]: [dynmap] Loaded 4 maps of world 'DIM-1'.
    [12:50:25] [Server thread/INFO]: If you are done editing map data, run '/dynmap pause none' to resume rendering
    ```
    8. Run `dynmap pause none`.
    @@ -35,26 +35,26 @@
    [12:51:37] [Server thread/INFO]: Update renders are ACTIVE
    [12:51:37] [Server thread/INFO]: Zoom out processing is ACTIVE
    ```
    9. Run `dynmap cancelrender world_nether`.
    9. Run `dynmap cancelrender DIM-1`.
    ```console
    [12:54:27] [Server thread/INFO]: Cancelled render for 'world_nether'
    [12:54:27] [Server thread/INFO]: Cancelled render for 'DIM-1'
    ```
    _(This could also be blank, meaning no fullrender was in progress.)_

    10. Run `dynmap fullrender world_nether:nether_roof`.
    10. Run `dynmap fullrender DIM-1:nether_roof`.
    ```console
    [12:56:54] [Server thread/INFO]: Full render starting on world 'world_nether'...
    [12:58:34] [Dynmap Render Thread/INFO]: Full render of map 'nether_roof' of 'world_nether' in progress - 100 tiles rendered (50.30 msec/tile, 18.75 msec per render)
    [13:00:13] [Dynmap Render Thread/INFO]: Full render of map 'nether_roof' of 'world_nether' in progress - 200 tiles rendered (53.48 msec/tile, 16.67 msec per render)
    [13:01:54] [Dynmap Render Thread/INFO]: Full render of map 'nether_roof' of 'world_nether' in progress - 300 tiles rendered (49.51 msec/tile, 15.78 msec per render)
    [13:03:34] [Dynmap Render Thread/INFO]: Full render of map 'nether_roof' of 'world_nether' in progress - 400 tiles rendered (45.63 msec/tile, 15.27 msec per render)
    [12:56:54] [Server thread/INFO]: Full render starting on world 'DIM-1'...
    [12:58:34] [Dynmap Render Thread/INFO]: Full render of map 'nether_roof' of 'DIM-1' in progress - 100 tiles rendered (50.30 msec/tile, 18.75 msec per render)
    [13:00:13] [Dynmap Render Thread/INFO]: Full render of map 'nether_roof' of 'DIM-1' in progress - 200 tiles rendered (53.48 msec/tile, 16.67 msec per render)
    [13:01:54] [Dynmap Render Thread/INFO]: Full render of map 'nether_roof' of 'DIM-1' in progress - 300 tiles rendered (49.51 msec/tile, 15.78 msec per render)
    [13:03:34] [Dynmap Render Thread/INFO]: Full render of map 'nether_roof' of 'DIM-1' in progress - 400 tiles rendered (45.63 msec/tile, 15.27 msec per render)
    ```
    11. Note in the browser that the new map will not be assigned an icon in the right-hand map list, and as the new perspective starts at y=129, the nether roof texture will not be included. However, the spawn icon should be displayed at (0,0). As I have a standard ilmango zombie pigman gold farm on the nether roof, that is displayed near spawn as well.
    ![Screenshot 2020-05-28 13 06 43](https://user-images.githubusercontent.com/1482452/83182896-493ddc80-a0e4-11ea-81a5-32150278f8d9.png)

    ### Giving the new map an icon
    1. In the server console run `dynmap pause all`
    2. Run the command `dmap mapset world_nether:nether_roof icon:images/sign_warp.png`
    2. Run the command `dmap mapset DIM-1:nether_roof icon:images/sign_warp.png`
    3. Return to the browser and note the updated icon now displays something like a white chat bubble with a black "><":
    ![Screenshot 2020-05-28 13 20 46](https://user-images.githubusercontent.com/1482452/83186898-7bead380-a0ea-11ea-98de-53914017fc9f.png)
    4. Icons are stored in `<Spigot_Server>/plugins/dynmap/web/images`.
    @@ -66,7 +66,7 @@ _(This could also be blank, meaning no fullrender was in progress.)_
    >
    > ![bedrock_portal](https://user-images.githubusercontent.com/1482452/83185660-8d32e080-a0e8-11ea-9601-e2179f178c66.png)
    >
    > Then I ran the command `dmap mapset world_nether:nether_roof icon:images/bedrock_portal.png`, which I'm quite happy with!
    > Then I ran the command `dmap mapset DIM-1:nether_roof icon:images/bedrock_portal.png`, which I'm quite happy with!
    >
    > ![Screenshot 2020-05-28 13 37 15](https://user-images.githubusercontent.com/1482452/83189298-42b46280-a0ee-11ea-99bc-74cf74c3e529.png)

    @@ -81,34 +81,34 @@ _(This could also be blank, meaning no fullrender was in progress.)_
    4. Save and close the text editor.
    5. In the server console run `reload` and wait for all server and plugin configurations to be re-read from their respective files.
    6. Run `dynmap pause none`.
    7. Run `dynmap cancelrender world_nether`. You'll either see `Cancelled render for 'world_nether'` if a fullrender was in progress, or nothing.
    8. Run `dynmap fullrender world_nether:nether_roof` and wait a few minutes for the first few tiles to render in the browser. If all is well, whatever was displayed before should now be overwritten with a dark grey houndstoothy bedrock texture.
    7. Run `dynmap cancelrender DIM-1`. You'll either see `Cancelled render for 'DIM-1'` if a fullrender was in progress, or nothing.
    8. Run `dynmap fullrender DIM-1:nether_roof` and wait a few minutes for the first few tiles to render in the browser. If all is well, whatever was displayed before should now be overwritten with a dark grey houndstoothy bedrock texture.

    ### Lighting (June 29, 2020)
    With Dynmap 3.1 beta released for 1.16 (Nether) I am watching the Nether biome updates roll in gradually as I re-run a full render of `world_nether:flat`.
    With Dynmap 3.1 beta released for 1.16 (Nether) I am watching the Nether biome updates roll in gradually as I re-run a full render of `DIM-1:flat`.

    And as I wait, I realized that in the time I wrote this to now my brothers and I also defeated the dragon and and started raiding End cities at which point I realized that its default lighting profile "brightnight" is extremely useful in finding cities and [End gateways](https://minecraft.gamepedia.com/End_gateway) as the diamond flaring of end rods and torches really help when scanning a 10k x 10k map.

    So I decided perhaps since the nether roof is most often used for portal hubs, I could change the lighting profile of `world_nether:nether_roof` to brightnight as well.
    So I decided perhaps since the nether roof is most often used for portal hubs, I could change the lighting profile of `DIM-1:nether_roof` to brightnight as well.

    1. `dynmap pause all`
    2. `dmap mapset world_nether:nether_roof lighting:brightnight`
    2. `dmap mapset DIM-1:nether_roof lighting:brightnight`
    3. `dynmap pause none`
    4. `dynmap fullrender world_nether:nether_roof`
    4. `dynmap fullrender DIM-1:nether_roof`

    And the result is quite stupendous!
    ![image](https://user-images.githubusercontent.com/1482452/86040878-4c562080-ba34-11ea-896f-29fbd71f01da.png)

    ### Dark Red Background (November 27, 2020)
    Someone in the comments asked about how to add the red background you see in the world_nether:flat and world_nether:surface maps. Turns out this is all to do with some undocumented and unautomated dynmap features that live in the very hard-to-find [HD Map Configuration help file](https://github.com/webbukkit/dynmap/wiki/HD-Map-Configuration).
    Someone in the comments asked about how to add the red background you see in the DIM-1:flat and DIM-1:surface maps. Turns out this is all to do with some undocumented and unautomated dynmap features that live in the very hard-to-find [HD Map Configuration help file](https://github.com/webbukkit/dynmap/wiki/HD-Map-Configuration).

    1. Open `<SpigotMC Directory>/plugins/dynmap/worlds.txt`.
    2. Scroll down to `world_nether` and in the maps section, search for all separate map definitions.
    3. Note that by default, the "flat" and "surface" maps for `world_nether` have a background property of #300806.
    2. Scroll down to `DIM-1` and in the maps section, search for all separate map definitions.
    3. Note that by default, the "flat" and "surface" maps for `DIM-1` have a background property of #300806.
    4. Copy this line into all applicable map sections. For our purposes, the nether_roof will look something like this:

    ```yaml
    - name: world_nether
    - name: DIM-1
    title: The Nether
    enabled: true
    extrazoomout: 2
  4. @depwl9992 depwl9992 revised this gist Nov 27, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -132,7 +132,7 @@ Someone in the comments asked about how to add the red background you see in the
    #### Additional Options
    rgba() with transparency settings instead of the #RRGGBB format actually works!

    Replace `background:'#300806'` with `background: 'rgba(48,8,6,1.0)'` and reload.
    In worlds.txt, replace `background:'#300806'` with `background: 'rgba(48,8,6,1.0)'` and reload.

    Additionally I did some digging into the .js files and found that dynmap may be simply translating the background options of map definitions here into raw CSS. In this case, I tried another thing:

  5. @depwl9992 depwl9992 revised this gist Nov 27, 2020. 1 changed file with 11 additions and 0 deletions.
    11 changes: 11 additions & 0 deletions Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -147,3 +147,14 @@ Also [w3schools'](https://www.w3schools.com/cssref/css3_pr_background.asp) CSS3

    As [docm77](https://www.twitch.tv/docm77live) is fond of saying, "Lawd a'mercy..."
    ![image](https://user-images.githubusercontent.com/1482452/100487870-0e832400-30c8-11eb-95d3-bb8cd9eafca9.png)

    We can also replace 'lightblue' with an RGB definition in #RGB, #RRGGBB, and rgba() formats.

    `background: 'rgba(48,8,6,0.5) url("images/book.png") fixed'`
    Not so spectactular, and the image is layered on top of the background color, so the alpha channel does not darken it any
    ![image](https://user-images.githubusercontent.com/1482452/100488075-5ce4f280-30c9-11eb-8a4a-1f804d7e1691.png)
    This simply means that to properly make a GOOD background image, choosing something less busy and/or manually darkening it in photo editing software it may be preferrable.
    ![image](https://user-images.githubusercontent.com/1482452/100488246-57d47300-30ca-11eb-8d3a-e3e6b6bfe608.png)
  6. @depwl9992 depwl9992 revised this gist Nov 27, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -141,7 +141,7 @@ Additionally I did some digging into the .js files and found that dynmap may be
    YIKES!! What are we seeing!?
    ![image](https://user-images.githubusercontent.com/1482452/100487802-c401a780-30c7-11eb-8f96-9f42a0685dc0.png)
    Additionally [w3schools'](https://www.w3schools.com/cssref/css3_pr_background.asp) CSS3 background documentation describes a method of embedding not only a background image, but also its positioning, tiling, repeating and additionally a backup color into the same line.
    Also [w3schools'](https://www.w3schools.com/cssref/css3_pr_background.asp) CSS3 background documentation describes a method of embedding not only a background image, but also its positioning, tiling, repeat, and additionally a backup color into the same line.
    `background: 'lightblue url("images/book.png") fixed'`

  7. @depwl9992 depwl9992 revised this gist Nov 27, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -107,7 +107,7 @@ Someone in the comments asked about how to add the red background you see in the
    3. Note that by default, the "flat" and "surface" maps for `world_nether` have a background property of #300806.
    4. Copy this line into all applicable map sections. For our purposes, the nether_roof will look something like this:

    ```
    ```yaml
    - name: world_nether
    title: The Nether
    enabled: true
  8. @depwl9992 depwl9992 revised this gist Nov 27, 2020. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -132,7 +132,7 @@ Someone in the comments asked about how to add the red background you see in the
    #### Additional Options
    rgba() with transparency settings instead of the #RRGGBB format actually works!

    Replace `background:'#300806'` with `background: 'rgba(48,8,6,1.0)` and reload.
    Replace `background:'#300806'` with `background: 'rgba(48,8,6,1.0)'` and reload.

    Additionally I did some digging into the .js files and found that dynmap may be simply translating the background options of map definitions here into raw CSS. In this case, I tried another thing:

    @@ -145,5 +145,5 @@ Additionally [w3schools'](https://www.w3schools.com/cssref/css3_pr_background.as
    `background: 'lightblue url("images/book.png") fixed'`

    As docm77 is fond of saying, "Lawd a'mercy..."
    As [docm77](https://www.twitch.tv/docm77live) is fond of saying, "Lawd a'mercy..."
    ![image](https://user-images.githubusercontent.com/1482452/100487870-0e832400-30c8-11eb-95d3-bb8cd9eafca9.png)
  9. @depwl9992 depwl9992 revised this gist Nov 27, 2020. 1 changed file with 50 additions and 1 deletion.
    51 changes: 50 additions & 1 deletion Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -97,4 +97,53 @@ So I decided perhaps since the nether roof is most often used for portal hubs, I
    4. `dynmap fullrender world_nether:nether_roof`

    And the result is quite stupendous!
    ![image](https://user-images.githubusercontent.com/1482452/86040878-4c562080-ba34-11ea-896f-29fbd71f01da.png)
    ![image](https://user-images.githubusercontent.com/1482452/86040878-4c562080-ba34-11ea-896f-29fbd71f01da.png)

    ### Dark Red Background (November 27, 2020)
    Someone in the comments asked about how to add the red background you see in the world_nether:flat and world_nether:surface maps. Turns out this is all to do with some undocumented and unautomated dynmap features that live in the very hard-to-find [HD Map Configuration help file](https://github.com/webbukkit/dynmap/wiki/HD-Map-Configuration).

    1. Open `<SpigotMC Directory>/plugins/dynmap/worlds.txt`.
    2. Scroll down to `world_nether` and in the maps section, search for all separate map definitions.
    3. Note that by default, the "flat" and "surface" maps for `world_nether` have a background property of #300806.
    4. Copy this line into all applicable map sections. For our purposes, the nether_roof will look something like this:

    ```
    - name: world_nether
    title: The Nether
    enabled: true
    extrazoomout: 2
    maps:
    ...
    ...
    - class: org.dynmap.hdmap.HDMap
    name: nether_roof
    title: The Roof is on Fire!
    icon: images/bedrock_portal.png
    prefix: nether_roof
    perspective: nether_top_map_lowres
    ...
    ...
    background: '#300806'
    append_to_world: ''
    ```
    5. Reload the server and watch the nether roof map refresh into new, smoldering red gloriousness!
    ![image](https://user-images.githubusercontent.com/1482452/100487526-4f7a3900-30c6-11eb-87b1-92feb700f166.png)

    #### Additional Options
    rgba() with transparency settings instead of the #RRGGBB format actually works!

    Replace `background:'#300806'` with `background: 'rgba(48,8,6,1.0)` and reload.

    Additionally I did some digging into the .js files and found that dynmap may be simply translating the background options of map definitions here into raw CSS. In this case, I tried another thing:

    `background: 'url("images/book.png")'`
    YIKES!! What are we seeing!?
    ![image](https://user-images.githubusercontent.com/1482452/100487802-c401a780-30c7-11eb-8f96-9f42a0685dc0.png)
    Additionally [w3schools'](https://www.w3schools.com/cssref/css3_pr_background.asp) CSS3 background documentation describes a method of embedding not only a background image, but also its positioning, tiling, repeating and additionally a backup color into the same line.
    `background: 'lightblue url("images/book.png") fixed'`

    As docm77 is fond of saying, "Lawd a'mercy..."
    ![image](https://user-images.githubusercontent.com/1482452/100487870-0e832400-30c8-11eb-95d3-bb8cd9eafca9.png)
  10. @depwl9992 depwl9992 revised this gist Nov 27, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -82,7 +82,7 @@ _(This could also be blank, meaning no fullrender was in progress.)_
    5. In the server console run `reload` and wait for all server and plugin configurations to be re-read from their respective files.
    6. Run `dynmap pause none`.
    7. Run `dynmap cancelrender world_nether`. You'll either see `Cancelled render for 'world_nether'` if a fullrender was in progress, or nothing.
    8. Run `dynmap fullrender world_nether:nether_roof` and wait a few minutes for the first few chunks to render in the browser. If all is well, whatever was displayed before should now be overwritten with the grey/black bedrock texture.
    8. Run `dynmap fullrender world_nether:nether_roof` and wait a few minutes for the first few tiles to render in the browser. If all is well, whatever was displayed before should now be overwritten with a dark grey houndstoothy bedrock texture.

    ### Lighting (June 29, 2020)
    With Dynmap 3.1 beta released for 1.16 (Nether) I am watching the Nether biome updates roll in gradually as I re-run a full render of `world_nether:flat`.
  11. @depwl9992 depwl9992 revised this gist Jun 29, 2020. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -97,3 +97,4 @@ So I decided perhaps since the nether roof is most often used for portal hubs, I
    4. `dynmap fullrender world_nether:nether_roof`

    And the result is quite stupendous!
    ![image](https://user-images.githubusercontent.com/1482452/86040878-4c562080-ba34-11ea-896f-29fbd71f01da.png)
  12. @depwl9992 depwl9992 revised this gist Jun 29, 2020. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -94,4 +94,6 @@ So I decided perhaps since the nether roof is most often used for portal hubs, I
    1. `dynmap pause all`
    2. `dmap mapset world_nether:nether_roof lighting:brightnight`
    3. `dynmap pause none`
    4. `dynmap fullrender world_nether:nether_roof`
    4. `dynmap fullrender world_nether:nether_roof`

    And the result is quite stupendous!
  13. @depwl9992 depwl9992 revised this gist Jun 29, 2020. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -85,9 +85,9 @@ _(This could also be blank, meaning no fullrender was in progress.)_
    8. Run `dynmap fullrender world_nether:nether_roof` and wait a few minutes for the first few chunks to render in the browser. If all is well, whatever was displayed before should now be overwritten with the grey/black bedrock texture.

    ### Lighting (June 29, 2020)
    With Dynmap 3.1 released for 1.16 (Nether) I am watching the Nether updates roll in gradually as I re-run a full render of `world_nether:flat`.
    With Dynmap 3.1 beta released for 1.16 (Nether) I am watching the Nether biome updates roll in gradually as I re-run a full render of `world_nether:flat`.

    In the time I wrote this to now my brothers and I also broke into the End and started raiding End cities at which point I realized that its default lighting profile "brightnight" is extremely useful in finding cities and [End gateways](https://minecraft.gamepedia.com/End_gateway) as the diamond flaring of end rods and torches really help when scanning a 10k x 10k map.
    And as I wait, I realized that in the time I wrote this to now my brothers and I also defeated the dragon and and started raiding End cities at which point I realized that its default lighting profile "brightnight" is extremely useful in finding cities and [End gateways](https://minecraft.gamepedia.com/End_gateway) as the diamond flaring of end rods and torches really help when scanning a 10k x 10k map.

    So I decided perhaps since the nether roof is most often used for portal hubs, I could change the lighting profile of `world_nether:nether_roof` to brightnight as well.

  14. @depwl9992 depwl9992 revised this gist Jun 29, 2020. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -84,12 +84,12 @@ _(This could also be blank, meaning no fullrender was in progress.)_
    7. Run `dynmap cancelrender world_nether`. You'll either see `Cancelled render for 'world_nether'` if a fullrender was in progress, or nothing.
    8. Run `dynmap fullrender world_nether:nether_roof` and wait a few minutes for the first few chunks to render in the browser. If all is well, whatever was displayed before should now be overwritten with the grey/black bedrock texture.

    ### Lighting
    With Dynmap 3.1 released for 1.16 (Nether) I am watching the Nether updates roll in gradually as I re-run a full render of world_nether:flat.
    ### Lighting (June 29, 2020)
    With Dynmap 3.1 released for 1.16 (Nether) I am watching the Nether updates roll in gradually as I re-run a full render of `world_nether:flat`.

    In the time I wrote this my brothers and I also broke into the End and started raiding End cities at which point I realized that the lighting profile "brightnight" is extremely useful in finding cities and [End gateways](https://minecraft.gamepedia.com/End_gateway) as the diamond flaring of end rods and torches really help.
    In the time I wrote this to now my brothers and I also broke into the End and started raiding End cities at which point I realized that its default lighting profile "brightnight" is extremely useful in finding cities and [End gateways](https://minecraft.gamepedia.com/End_gateway) as the diamond flaring of end rods and torches really help when scanning a 10k x 10k map.

    So I decided perhaps since the nether roof is most often used for portal hubs, I could change the lighting profile of world_nether:nether_roof to brightnight as well.
    So I decided perhaps since the nether roof is most often used for portal hubs, I could change the lighting profile of `world_nether:nether_roof` to brightnight as well.

    1. `dynmap pause all`
    2. `dmap mapset world_nether:nether_roof lighting:brightnight`
  15. @depwl9992 depwl9992 revised this gist Jun 29, 2020. 1 changed file with 13 additions and 1 deletion.
    14 changes: 13 additions & 1 deletion Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -82,4 +82,16 @@ _(This could also be blank, meaning no fullrender was in progress.)_
    5. In the server console run `reload` and wait for all server and plugin configurations to be re-read from their respective files.
    6. Run `dynmap pause none`.
    7. Run `dynmap cancelrender world_nether`. You'll either see `Cancelled render for 'world_nether'` if a fullrender was in progress, or nothing.
    8. Run `dynmap fullrender world_nether:nether_roof` and wait a few minutes for the first few chunks to render in the browser. If all is well, whatever was displayed before should now be overwritten with the grey/black bedrock texture.
    8. Run `dynmap fullrender world_nether:nether_roof` and wait a few minutes for the first few chunks to render in the browser. If all is well, whatever was displayed before should now be overwritten with the grey/black bedrock texture.

    ### Lighting
    With Dynmap 3.1 released for 1.16 (Nether) I am watching the Nether updates roll in gradually as I re-run a full render of world_nether:flat.

    In the time I wrote this my brothers and I also broke into the End and started raiding End cities at which point I realized that the lighting profile "brightnight" is extremely useful in finding cities and [End gateways](https://minecraft.gamepedia.com/End_gateway) as the diamond flaring of end rods and torches really help.

    So I decided perhaps since the nether roof is most often used for portal hubs, I could change the lighting profile of world_nether:nether_roof to brightnight as well.

    1. `dynmap pause all`
    2. `dmap mapset world_nether:nether_roof lighting:brightnight`
    3. `dynmap pause none`
    4. `dynmap fullrender world_nether:nether_roof`
  16. @depwl9992 depwl9992 revised this gist May 28, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -59,7 +59,7 @@ _(This could also be blank, meaning no fullrender was in progress.)_
    ![Screenshot 2020-05-28 13 20 46](https://user-images.githubusercontent.com/1482452/83186898-7bead380-a0ea-11ea-98de-53914017fc9f.png)
    4. Icons are stored in `<Spigot_Server>/plugins/dynmap/web/images`.
    5. You can create or find 16x16px custom PNG images, copying them into this folder for use within the server console.
    6. To load the newly copied PNG image, run the `dmap mapset` command again, changing the `icon:images/sign_warp.png` bit to `icon:images/<filename>.png`
    6. To load the newly copied PNG image, repeat step 2, changing the `icon:images/sign_warp.png` bit to `icon:images/<filename>.png`

    > ### Example
    > I threw together this one called which blends the bedrock block texture and the nether_portal block texture, and copied it in as `<Spigot_Server>/plugins/dynmap/web/images/bedrock_portal.png`.
  17. @depwl9992 depwl9992 revised this gist May 28, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -62,7 +62,7 @@ _(This could also be blank, meaning no fullrender was in progress.)_
    6. To load the newly copied PNG image, run the `dmap mapset` command again, changing the `icon:images/sign_warp.png` bit to `icon:images/<filename>.png`

    > ### Example
    > I threw together this one called which blends the bedrock block texture and the nether_portal block texture, and copied it into `<Spigot_Server>/plugins/dynmap/web/images/bedrock_portal.png`.
    > I threw together this one called which blends the bedrock block texture and the nether_portal block texture, and copied it in as `<Spigot_Server>/plugins/dynmap/web/images/bedrock_portal.png`.
    >
    > ![bedrock_portal](https://user-images.githubusercontent.com/1482452/83185660-8d32e080-a0e8-11ea-9601-e2179f178c66.png)
    >
  18. @depwl9992 depwl9992 revised this gist May 28, 2020. 1 changed file with 6 additions and 2 deletions.
    8 changes: 6 additions & 2 deletions Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -57,9 +57,13 @@ _(This could also be blank, meaning no fullrender was in progress.)_
    2. Run the command `dmap mapset world_nether:nether_roof icon:images/sign_warp.png`
    3. Return to the browser and note the updated icon now displays something like a white chat bubble with a black "><":
    ![Screenshot 2020-05-28 13 20 46](https://user-images.githubusercontent.com/1482452/83186898-7bead380-a0ea-11ea-98de-53914017fc9f.png)
    4. Add custom images by creating or finding 16x16px PNG images and copying them into `<Spigot_Server>/plugins/dynmap/web/images`, and run the `dmap mapset` command again, changing the `icon:images/sign_warp.png` bit to `icon:images/<filename>.png`
    4. Icons are stored in `<Spigot_Server>/plugins/dynmap/web/images`.
    5. You can create or find 16x16px custom PNG images, copying them into this folder for use within the server console.
    6. To load the newly copied PNG image, run the `dmap mapset` command again, changing the `icon:images/sign_warp.png` bit to `icon:images/<filename>.png`

    > I threw together this one called which blends the bedrock block texture and the nether_portal block texture, and copied it into `<Spigot_Server>/plugins/dynmap/web/images/bedrock_portal.png`:
    > ### Example
    > I threw together this one called which blends the bedrock block texture and the nether_portal block texture, and copied it into `<Spigot_Server>/plugins/dynmap/web/images/bedrock_portal.png`.
    >
    > ![bedrock_portal](https://user-images.githubusercontent.com/1482452/83185660-8d32e080-a0e8-11ea-9601-e2179f178c66.png)
    >
    > Then I ran the command `dmap mapset world_nether:nether_roof icon:images/bedrock_portal.png`, which I'm quite happy with!
  19. @depwl9992 depwl9992 revised this gist May 28, 2020. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -63,6 +63,7 @@ _(This could also be blank, meaning no fullrender was in progress.)_
    > ![bedrock_portal](https://user-images.githubusercontent.com/1482452/83185660-8d32e080-a0e8-11ea-9601-e2179f178c66.png)
    >
    > Then I ran the command `dmap mapset world_nether:nether_roof icon:images/bedrock_portal.png`, which I'm quite happy with!
    >
    > ![Screenshot 2020-05-28 13 37 15](https://user-images.githubusercontent.com/1482452/83189298-42b46280-a0ee-11ea-99bc-74cf74c3e529.png)


  20. @depwl9992 depwl9992 revised this gist May 28, 2020. 1 changed file with 5 additions and 4 deletions.
    9 changes: 5 additions & 4 deletions Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -59,11 +59,12 @@ _(This could also be blank, meaning no fullrender was in progress.)_
    ![Screenshot 2020-05-28 13 20 46](https://user-images.githubusercontent.com/1482452/83186898-7bead380-a0ea-11ea-98de-53914017fc9f.png)
    4. Add custom images by creating or finding 16x16px PNG images and copying them into `<Spigot_Server>/plugins/dynmap/web/images`, and run the `dmap mapset` command again, changing the `icon:images/sign_warp.png` bit to `icon:images/<filename>.png`

    I threw together this one called which blends the bedrock block texture and the nether_portal block texture, and copied it into `<Spigot_Server>/plugins/dynmap/web/images/bedrock_portal.png`:
    ![bedrock_portal](https://user-images.githubusercontent.com/1482452/83185660-8d32e080-a0e8-11ea-9601-e2179f178c66.png)
    > I threw together this one called which blends the bedrock block texture and the nether_portal block texture, and copied it into `<Spigot_Server>/plugins/dynmap/web/images/bedrock_portal.png`:
    > ![bedrock_portal](https://user-images.githubusercontent.com/1482452/83185660-8d32e080-a0e8-11ea-9601-e2179f178c66.png)
    >
    > Then I ran the command `dmap mapset world_nether:nether_roof icon:images/bedrock_portal.png`, which I'm quite happy with!
    > ![Screenshot 2020-05-28 13 37 15](https://user-images.githubusercontent.com/1482452/83189298-42b46280-a0ee-11ea-99bc-74cf74c3e529.png)

    then ran the command `dmap mapset world_nether:nether_roof icon:images/bedrock_portal.png`, which I'm quite happy with!
    ![Screenshot 2020-05-28 13 37 15](https://user-images.githubusercontent.com/1482452/83186919-86a56880-a0ea-11ea-8fe7-bb0e6da9b0f6.png)

    5. Finally, run `dynmap pause none` to resume the fullrender or active rendering process. If a full render is not in progress, the map will only update when a player loads the nether roof chunks and remains there for some minimum amount of time.

  21. @depwl9992 depwl9992 created this gist May 28, 2020.
    79 changes: 79 additions & 0 deletions Rendering-the-Nether-Roof.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,79 @@
    ### Initial Setup of the Nether Roof Map
    1. Assuming dynmap is already initialized and the folder structure has been generated during a first-time run, `<Spigot_Server>/plugins/dynmap/custom-perspectives.txt` should exist.
    2. Open [custom-perspectives.txt](https://github.com/webbukkit/dynmap/blob/v3.0/DynmapCore/src/main/resources/custom-perspectives.txt) in a text editor.
    3. In this file below the line `perspectives:` add the following lines of text.
    ```yaml
    - class: org.dynmap.hdmap.IsoHDPerspective
    name: nether_top_map_lowres
    maximumheight: 256
    minimumheight: 129
    inclination: 90
    scale: 4
    azimuth: 180
    ```
    4. If SpigotMC is not running, start it and wait for everything to load, remaining in the server console. If SpigotMC _is_ running, you can re-attach to the console using whatever method you have set up.
    5. Run `dynmap pause all` to halt all live updates to the map.
    ```console
    [12:49:49] [Server thread/INFO]: [dynmap] Full/radius render pause set to true
    [12:49:49] [Server thread/INFO]: [dynmap] Update render pause set to true
    [12:49:49] [Server thread/INFO]: Full/Radius renders are PAUSED
    [12:49:49] [Server thread/INFO]: Update renders are PAUSED
    [12:49:49] [Server thread/INFO]: Zoom out processing is ACTIVE
    ```
    6. If it does not already exist, add a new nether roof map with the command `dmap mapadd world_nether:nether_roof title:"The Roof" perspective:nether_top_map_lowres`.
    7. If it DOES already exist, you can change the perspective of an existing map with `dmap mapset world_nether:nether_roof perspective:nether_top_map_lowres`.
    ```console
    [12:50:25] [Server thread/INFO]: Refreshing configuration for world world_nether
    [12:50:25] [Server thread/INFO]: [dynmap] Loaded 4 maps of world 'world_nether'.
    [12:50:25] [Server thread/INFO]: If you are done editing map data, run '/dynmap pause none' to resume rendering
    ```
    8. Run `dynmap pause none`.
    ```console
    [12:51:37] [Server thread/INFO]: [dynmap] Full/radius render pause set to false
    [12:51:37] [Server thread/INFO]: [dynmap] Update render pause set to false
    [12:51:37] [Server thread/INFO]: Full/Radius renders are ACTIVE
    [12:51:37] [Server thread/INFO]: Update renders are ACTIVE
    [12:51:37] [Server thread/INFO]: Zoom out processing is ACTIVE
    ```
    9. Run `dynmap cancelrender world_nether`.
    ```console
    [12:54:27] [Server thread/INFO]: Cancelled render for 'world_nether'
    ```
    _(This could also be blank, meaning no fullrender was in progress.)_

    10. Run `dynmap fullrender world_nether:nether_roof`.
    ```console
    [12:56:54] [Server thread/INFO]: Full render starting on world 'world_nether'...
    [12:58:34] [Dynmap Render Thread/INFO]: Full render of map 'nether_roof' of 'world_nether' in progress - 100 tiles rendered (50.30 msec/tile, 18.75 msec per render)
    [13:00:13] [Dynmap Render Thread/INFO]: Full render of map 'nether_roof' of 'world_nether' in progress - 200 tiles rendered (53.48 msec/tile, 16.67 msec per render)
    [13:01:54] [Dynmap Render Thread/INFO]: Full render of map 'nether_roof' of 'world_nether' in progress - 300 tiles rendered (49.51 msec/tile, 15.78 msec per render)
    [13:03:34] [Dynmap Render Thread/INFO]: Full render of map 'nether_roof' of 'world_nether' in progress - 400 tiles rendered (45.63 msec/tile, 15.27 msec per render)
    ```
    11. Note in the browser that the new map will not be assigned an icon in the right-hand map list, and as the new perspective starts at y=129, the nether roof texture will not be included. However, the spawn icon should be displayed at (0,0). As I have a standard ilmango zombie pigman gold farm on the nether roof, that is displayed near spawn as well.
    ![Screenshot 2020-05-28 13 06 43](https://user-images.githubusercontent.com/1482452/83182896-493ddc80-a0e4-11ea-81a5-32150278f8d9.png)

    ### Giving the new map an icon
    1. In the server console run `dynmap pause all`
    2. Run the command `dmap mapset world_nether:nether_roof icon:images/sign_warp.png`
    3. Return to the browser and note the updated icon now displays something like a white chat bubble with a black "><":
    ![Screenshot 2020-05-28 13 20 46](https://user-images.githubusercontent.com/1482452/83186898-7bead380-a0ea-11ea-98de-53914017fc9f.png)
    4. Add custom images by creating or finding 16x16px PNG images and copying them into `<Spigot_Server>/plugins/dynmap/web/images`, and run the `dmap mapset` command again, changing the `icon:images/sign_warp.png` bit to `icon:images/<filename>.png`

    I threw together this one called which blends the bedrock block texture and the nether_portal block texture, and copied it into `<Spigot_Server>/plugins/dynmap/web/images/bedrock_portal.png`:
    ![bedrock_portal](https://user-images.githubusercontent.com/1482452/83185660-8d32e080-a0e8-11ea-9601-e2179f178c66.png)

    then ran the command `dmap mapset world_nether:nether_roof icon:images/bedrock_portal.png`, which I'm quite happy with!
    ![Screenshot 2020-05-28 13 37 15](https://user-images.githubusercontent.com/1482452/83186919-86a56880-a0ea-11ea-8fe7-bb0e6da9b0f6.png)

    5. Finally, run `dynmap pause none` to resume the fullrender or active rendering process. If a full render is not in progress, the map will only update when a player loads the nether roof chunks and remains there for some minimum amount of time.

    ### Rendering the bedrock layer
    (Assuming you've already done everything previously mentioned)
    1. In the server console run `dynmap pause all`.
    2. In the file manager, open `<Spigot_Server>/plugins/dynmap/custom-perspectives.txt` in a text editor.
    3. Edit the line `minimumheight: 129`, changing it to `minimumheight: 128`
    4. Save and close the text editor.
    5. In the server console run `reload` and wait for all server and plugin configurations to be re-read from their respective files.
    6. Run `dynmap pause none`.
    7. Run `dynmap cancelrender world_nether`. You'll either see `Cancelled render for 'world_nether'` if a fullrender was in progress, or nothing.
    8. Run `dynmap fullrender world_nether:nether_roof` and wait a few minutes for the first few chunks to render in the browser. If all is well, whatever was displayed before should now be overwritten with the grey/black bedrock texture.