Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
A fully comprehensive tutorial for webbukkit/dynmap to render the nether roof in Minecraft

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 in a text editor.
  3. In this file below the line perspectives: add the following lines of text.
  - class: org.dynmap.hdmap.IsoHDPerspective
    name: nether_top_map_lowres
    maximumheight: 256
    minimumheight: 129
    inclination: 90
    scale: 4
    azimuth: 180
  1. 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.
  2. Run dynmap pause all to halt all live updates to the map.
[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
  1. 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.
  2. 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.
[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
  1. Run dynmap pause none.
[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
  1. Run dynmap cancelrender world_nether.
[12:54:27] [Server thread/INFO]: Cancelled render for 'world_nether'

(This could also be blank, meaning no fullrender was in progress.)

  1. Run dynmap fullrender world_nether:nether_roof.
[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)
  1. 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

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
  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, repeat step 2, 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 in as <Spigot_Server>/plugins/dynmap/web/images/bedrock_portal.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

  1. 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.

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.

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 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.

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

And the result is quite stupendous! image


This comment has been minimized.

Copy link

mylogon341 commented May 28, 2020

Legend. I'll give this a go tonight.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.