mirror of
https://github.com/ColdeZhang/Dominion.git
synced 2024-10-19 00:36:40 +08:00
修复dynmap渲染报错问题
This commit is contained in:
parent
aa31a45cec
commit
6f1ae1a904
@ -3,16 +3,12 @@ package cn.lunadeer.dominion.utils;
|
|||||||
import cn.lunadeer.dominion.dtos.DominionDTO;
|
import cn.lunadeer.dominion.dtos.DominionDTO;
|
||||||
import cn.lunadeer.minecraftpluginutils.Scheduler;
|
import cn.lunadeer.minecraftpluginutils.Scheduler;
|
||||||
import cn.lunadeer.minecraftpluginutils.XLogger;
|
import cn.lunadeer.minecraftpluginutils.XLogger;
|
||||||
import com.flowpowered.math.vector.Vector2d;
|
|
||||||
import de.bluecolored.bluemap.api.math.Shape;
|
|
||||||
import org.dynmap.DynmapCommonAPI;
|
import org.dynmap.DynmapCommonAPI;
|
||||||
import org.dynmap.DynmapCommonAPIListener;
|
import org.dynmap.DynmapCommonAPIListener;
|
||||||
import org.dynmap.markers.AreaMarker;
|
import org.dynmap.markers.AreaMarker;
|
||||||
import org.dynmap.markers.MarkerAPI;
|
import org.dynmap.markers.MarkerAPI;
|
||||||
import org.dynmap.markers.MarkerSet;
|
import org.dynmap.markers.MarkerSet;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@ -20,14 +16,22 @@ public class DynmapConnect extends DynmapCommonAPIListener {
|
|||||||
|
|
||||||
public static DynmapConnect instance;
|
public static DynmapConnect instance;
|
||||||
|
|
||||||
private MarkerSet markerSet;
|
private MarkerSet markerSet_dominion;
|
||||||
|
private MarkerSet markerSet_mca;
|
||||||
|
|
||||||
|
public DynmapConnect() {
|
||||||
|
instance = this;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void apiEnabled(DynmapCommonAPI dynmapCommonAPI) {
|
public void apiEnabled(DynmapCommonAPI dynmapCommonAPI) {
|
||||||
MarkerAPI markerAPI = dynmapCommonAPI.getMarkerAPI();
|
MarkerAPI markerAPI = dynmapCommonAPI.getMarkerAPI();
|
||||||
this.markerSet = markerAPI.getMarkerSet("dominion");
|
this.markerSet_dominion = markerAPI.getMarkerSet("dominion");
|
||||||
if (this.markerSet == null) {
|
if (this.markerSet_dominion == null) {
|
||||||
this.markerSet = markerAPI.createMarkerSet("dominion", "Dominion领地", null, false);
|
this.markerSet_dominion = markerAPI.createMarkerSet("dominion", "Dominion领地", null, false);
|
||||||
|
}
|
||||||
|
if (this.markerSet_mca == null) {
|
||||||
|
this.markerSet_mca = markerAPI.createMarkerSet("mca", "MCA文件", null, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -35,7 +39,7 @@ public class DynmapConnect extends DynmapCommonAPIListener {
|
|||||||
String nameLabel = "<div>" + dominion.getName() + "</div>";
|
String nameLabel = "<div>" + dominion.getName() + "</div>";
|
||||||
double[] xx = {dominion.getX1(), dominion.getX2()};
|
double[] xx = {dominion.getX1(), dominion.getX2()};
|
||||||
double[] zz = {dominion.getZ1(), dominion.getZ2()};
|
double[] zz = {dominion.getZ1(), dominion.getZ2()};
|
||||||
AreaMarker marker = this.markerSet.createAreaMarker(
|
AreaMarker marker = this.markerSet_dominion.createAreaMarker(
|
||||||
dominion.getId().toString(),
|
dominion.getId().toString(),
|
||||||
nameLabel,
|
nameLabel,
|
||||||
true,
|
true,
|
||||||
@ -51,6 +55,7 @@ public class DynmapConnect extends DynmapCommonAPIListener {
|
|||||||
|
|
||||||
public void setDominionMarkers(List<DominionDTO> dominions) {
|
public void setDominionMarkers(List<DominionDTO> dominions) {
|
||||||
Scheduler.runTaskAsync(() -> {
|
Scheduler.runTaskAsync(() -> {
|
||||||
|
this.markerSet_dominion.getAreaMarkers().forEach(AreaMarker::deleteMarker);
|
||||||
for (DominionDTO dominion : dominions) {
|
for (DominionDTO dominion : dominions) {
|
||||||
this.setDominionMarker(dominion);
|
this.setDominionMarker(dominion);
|
||||||
}
|
}
|
||||||
@ -59,6 +64,7 @@ public class DynmapConnect extends DynmapCommonAPIListener {
|
|||||||
|
|
||||||
public void setMCAMarkers(Map<String, List<String>> mca_files) {
|
public void setMCAMarkers(Map<String, List<String>> mca_files) {
|
||||||
Scheduler.runTaskAsync(() -> {
|
Scheduler.runTaskAsync(() -> {
|
||||||
|
this.markerSet_mca.getAreaMarkers().forEach(AreaMarker::deleteMarker);
|
||||||
for (Map.Entry<String, List<String>> entry : mca_files.entrySet()) {
|
for (Map.Entry<String, List<String>> entry : mca_files.entrySet()) {
|
||||||
for (String file : entry.getValue()) {
|
for (String file : entry.getValue()) {
|
||||||
String[] cords = file.split("\\.");
|
String[] cords = file.split("\\.");
|
||||||
@ -69,7 +75,7 @@ public class DynmapConnect extends DynmapCommonAPIListener {
|
|||||||
String nameLabel = "<div>" + file + "</div>";
|
String nameLabel = "<div>" + file + "</div>";
|
||||||
double[] xx = {world_x1, world_x2};
|
double[] xx = {world_x1, world_x2};
|
||||||
double[] zz = {world_z1, world_z2};
|
double[] zz = {world_z1, world_z2};
|
||||||
AreaMarker marker = this.markerSet.createAreaMarker(
|
AreaMarker marker = this.markerSet_mca.createAreaMarker(
|
||||||
file,
|
file,
|
||||||
nameLabel,
|
nameLabel,
|
||||||
true,
|
true,
|
||||||
|
Loading…
Reference in New Issue
Block a user