dynmap: update dynmap to fix borders, show costs on routes, and use a special icon for hubs
This commit is contained in:
parent
4ad16238e2
commit
eaa8313cd1
@ -91,17 +91,10 @@ public class DynmapEventRelay implements Listener {
|
|||||||
log.info("Could not generate polygon for region " + region.name());
|
log.info("Could not generate polygon for region " + region.name());
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
boolean isFrontier = geom.isFrontier(region);
|
AreaMarker marker = m_borderSet.createAreaMarker(null, region.name(), false, world.getName(), polygon.x, polygon.z, false);
|
||||||
if (!isFrontier) {
|
marker.setFillStyle(0.7, region.color().getColor().asRGB());
|
||||||
AreaMarker marker = m_borderSet.createAreaMarker(null, region.name(), false, world.getName(), polygon.x, polygon.z, false);
|
marker.setLineStyle(2, 0.8, region.color().getColor().asRGB());
|
||||||
marker.setFillStyle(0.7, region.color().getColor().asRGB());
|
m_borderMarkers.get(world).add(marker);
|
||||||
marker.setLineStyle(2, 0.8, region.color().getColor().asRGB());
|
|
||||||
m_borderMarkers.get(world).add(marker);
|
|
||||||
} else {
|
|
||||||
PolyLineMarker marker = m_borderSet.createPolyLineMarker(null, region.name(), false, world.getName(), polygon.x, polygon.y, polygon.z, false);
|
|
||||||
marker.setLineStyle(2, 0.5, region.color().getColor().asRGB());
|
|
||||||
m_borderMarkers.get(world).add(marker);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add a line between each region, for teleportations
|
// Add a line between each region, for teleportations
|
||||||
double thickness = Math.max(1, Math.log(geom.neighbors(region).size()) * 2.75);
|
double thickness = Math.max(1, Math.log(geom.neighbors(region).size()) * 2.75);
|
||||||
@ -109,9 +102,13 @@ public class DynmapEventRelay implements Listener {
|
|||||||
double x[] = { neighbor.location().getBlockX(), region.location().getBlockX() };
|
double x[] = { neighbor.location().getBlockX(), region.location().getBlockX() };
|
||||||
double y[] = { 64, 64 };
|
double y[] = { 64, 64 };
|
||||||
double z[] = { neighbor.location().getBlockZ(), region.location().getBlockZ() };
|
double z[] = { neighbor.location().getBlockZ(), region.location().getBlockZ() };
|
||||||
PolyLineMarker marker = m_routesSet.createPolyLineMarker(null, null, false, world.getName(), x, y, z, false);
|
String label = neighbor.name() + " / " + region.name();
|
||||||
marker.setLineStyle((int)Math.ceil(thickness), 0.5, region.color().getColor().asRGB());
|
String description = "<p>Travel Cost to " + neighbor.name() + ": " + region.getTravelCost(neighbor) + "</p>";
|
||||||
m_borderMarkers.get(world).add(marker);
|
description += "<p>Travel Cost to " + region.name() + ": " + neighbor.getTravelCost(region) + "</p>";
|
||||||
|
PolyLineMarker routeMarker = m_routesSet.createPolyLineMarker(null, label, true, world.getName(), x, y, z, false);
|
||||||
|
routeMarker.setDescription(description);
|
||||||
|
routeMarker.setLineStyle((int)Math.ceil(thickness), 0.5, region.color().getColor().asRGB());
|
||||||
|
m_borderMarkers.get(world).add(routeMarker);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -119,11 +116,17 @@ public class DynmapEventRelay implements Listener {
|
|||||||
private void createMarkerForRegion(Region region) {
|
private void createMarkerForRegion(Region region) {
|
||||||
Location loc = region.location();
|
Location loc = region.location();
|
||||||
MarkerIcon icon = m_api.getMarkerIcon("compass");
|
MarkerIcon icon = m_api.getMarkerIcon("compass");
|
||||||
|
if (region.isHub()) {
|
||||||
|
icon = m_api.getMarkerIcon("world");
|
||||||
|
}
|
||||||
CircleMarker circleMarker = m_routesSet.createCircleMarker(null, region.name(), false, loc.getWorld().getName(), loc.getX(), loc.getY(), loc.getZ(), 60, 60, false);
|
CircleMarker circleMarker = m_routesSet.createCircleMarker(null, region.name(), false, loc.getWorld().getName(), loc.getX(), loc.getY(), loc.getZ(), 60, 60, false);
|
||||||
Marker marker = m_centerSet.createMarker(null, region.name(), loc.getWorld().getName(), loc.getX(), loc.getY(), loc.getZ(), icon, false);
|
Marker marker = m_centerSet.createMarker(null, region.name(), loc.getWorld().getName(), loc.getX(), loc.getY(), loc.getZ(), icon, false);
|
||||||
circleMarker.setFillStyle(0.75, region.color().getColor().asRGB());
|
circleMarker.setFillStyle(0.75, region.color().getColor().asRGB());
|
||||||
circleMarker.setLineStyle(0, 0, 0);
|
circleMarker.setLineStyle(0, 0, 0);
|
||||||
String desc = "<h2>" + region.name() + "</h2>";
|
String desc = "<h2>" + region.name() + "</h2>";
|
||||||
|
if (region.isHub()) {
|
||||||
|
desc += "<p><strong>World Hub</strong></p>";
|
||||||
|
}
|
||||||
marker.setDescription(desc);
|
marker.setDescription(desc);
|
||||||
circleMarker.setDescription(desc);
|
circleMarker.setDescription(desc);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user