Dynmap API - webbukkit/dynmap GitHub Wiki
This documentation doesn't contain full api docs for dynmap. You need a fundamental knowledge from java and the general non api usage from the dynmap.
Add the dynmap api as dependency to your maven or gradle project
repositories {
maven { url = "https://repo.mikeprimm.com/" }
}
dependencies {
compileOnly "us.dynmap:DynmapCoreAPI:3.7-beta-6"
}
<repositories>
<repository>
<id>MikeRepo</id>
<url>https://repo.mikeprimm.com/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>us.dynmap</groupId>
<artifactId>DynmapCoreAPI</artifactId>
<version>3.7-beta-6</version>
<scope>provided</scope>
</dependency>
</dependencies>
Make sure to register the dependency in your used platform.
For Bukkit based platforms you should add dynmap
to the depend
or softdepend
array in the plugin.yml.
...
depend:
- dynmap
Use the static method DynmapCommonAPIListener.register
to register an instance of DynmapCommonAPIListener.
The Dynmap plugin or mod will call the method apiEnabled(DynmapCommonAPI api)
when the api becomes enabled.
Link to DynmapCommonAPIListener: https://github.com/webbukkit/dynmap/blob/v3.0/DynmapCoreAPI/src/main/java/org/dynmap/DynmapCommonAPIListener.java
MarkerSet markerAPI = api.getMarkerAPI();
To create a new marker you need a MarkerSet. You can either use an existing MarkerSet or create a new one.
MarkerSet set = markerAPI.createMarkerSet(
/* Marker set ID */ "setId",
/* Marker set label */ "Display Name",
/* Set of permitted marker icons */ null,
/* Is marker set persistent */ false
);
With the MarkerSet instance you can change the attributes. You can hide that set by default, set layer priorities, min and max zoom levels. For a full reference take a look in the MarkerSet interface.
MarkerSet set = markerAPI.getMarkerSet("setId");
MarkerIcon icon = markerAPI.getMarkerIcon("building");
MarkerIcon icon = markerAPI.createMarkerIcon("id", "title", inputStream);
To receive an input stream from a .png file from your plugin you can use
plugin.getResource("myicon.png");
String htmlLabel = "<div>Hello World</div>"
Marker marker = set.createMarker(
/* Marker ID */ "uniqueMarkerId",
/* Marker label */ htmlLabel,
/* Process label as HTML */ true,
/* World to display marker in */ "world",
/* X coordinate */ 10,
/* Y coordinate */ 20,
/* Z coordinate */ 30,
/* Related MarkerIcon object */ icon,
/* Marker is persistent */ false
);