From 252f9afcdbb338fcaf7f3983118bad51a8d32d5d Mon Sep 17 00:00:00 2001 From: Mike Primm Date: Wed, 12 Aug 2020 10:08:36 -0500 Subject: [PATCH] Add support for marker set persistence, prevent add to non persistent --- .../dynmap/markers/impl/MarkerAPIImpl.java | 24 ++++++++++++++++++- .../v116/BukkitVersionHelperSpigot116.java | 4 ++-- ...unkCache115.java => MapChunkCache116.java} | 2 +- 3 files changed, 26 insertions(+), 4 deletions(-) rename bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/{MapChunkCache115.java => MapChunkCache116.java} (99%) diff --git a/DynmapCore/src/main/java/org/dynmap/markers/impl/MarkerAPIImpl.java b/DynmapCore/src/main/java/org/dynmap/markers/impl/MarkerAPIImpl.java index 1b66d081..33d8be22 100644 --- a/DynmapCore/src/main/java/org/dynmap/markers/impl/MarkerAPIImpl.java +++ b/DynmapCore/src/main/java/org/dynmap/markers/impl/MarkerAPIImpl.java @@ -1394,6 +1394,11 @@ public class MarkerAPIImpl implements MarkerAPI, Event.Listener { sender.sendMessage("Error: invalid set - " + setid); return true; } + // Prevent adding persistent markers to a non-persistent set + if (!set.isMarkerSetPersistent()) { + sender.sendMessage("Error: cannot add to non-persistent marker set - set is likely plugin owned"); + return true; + } MarkerIcon ico = null; if(iconid == null) { ico = set.getDefaultMarkerIcon(); @@ -1932,6 +1937,9 @@ public class MarkerAPIImpl implements MarkerAPI, Event.Listener { if (set.getMaxZoom() >= 0) { msg += ", maxzoom:" + set.getMaxZoom(); } + if (set.isMarkerSetPersistent()) { + msg += ", persistent=true"; + } sender.sendMessage(msg); } return true; @@ -2193,6 +2201,11 @@ public class MarkerAPIImpl implements MarkerAPI, Event.Listener { sender.sendMessage("Error: invalid set - " + setid); return true; } + // Prevent adding persistent markers to a non-persistent set + if (!set.isMarkerSetPersistent()) { + sender.sendMessage("Error: cannot add to non-persistent marker set - set is likely plugin owned"); + return true; + } /* Make coord list */ double[] xx = new double[ll.size()]; double[] zz = new double[ll.size()]; @@ -2395,6 +2408,11 @@ public class MarkerAPIImpl implements MarkerAPI, Event.Listener { sender.sendMessage("Error: invalid set - " + setid); return true; } + // Prevent adding persistent markers to a non-persistent set + if (!set.isMarkerSetPersistent()) { + sender.sendMessage("Error: cannot add to non-persistent marker set - set is likely plugin owned"); + return true; + } /* Make coord list */ double[] xx = new double[ll.size()]; double[] yy = new double[ll.size()]; @@ -2611,7 +2629,11 @@ public class MarkerAPIImpl implements MarkerAPI, Event.Listener { sender.sendMessage("Error: invalid set - " + setid); return true; } - + // Prevent adding persistent markers to a non-persistent set + if (!set.isMarkerSetPersistent()) { + sender.sendMessage("Error: cannot add to non-persistent marker set - set is likely plugin owned"); + return true; + } /* Make circle marker */ CircleMarker m = set.createCircleMarker(id, label, "true".equals(markup), loc.world, loc.x, loc.y, loc.z, 1, 1, true); if(m == null) { diff --git a/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/BukkitVersionHelperSpigot116.java b/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/BukkitVersionHelperSpigot116.java index 26979791..4d413e62 100644 --- a/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/BukkitVersionHelperSpigot116.java +++ b/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/BukkitVersionHelperSpigot116.java @@ -22,7 +22,7 @@ import org.dynmap.bukkit.helper.BukkitMaterial; import org.dynmap.bukkit.helper.BukkitVersionHelperCB; import org.dynmap.bukkit.helper.BukkitVersionHelperGeneric; import org.dynmap.bukkit.helper.BukkitWorld; -import org.dynmap.bukkit.helper.v116.MapChunkCache115; +import org.dynmap.bukkit.helper.v116.MapChunkCache116; import org.dynmap.renderer.DynmapBlockState; import org.dynmap.utils.MapChunkCache; import org.dynmap.utils.Polygon; @@ -141,7 +141,7 @@ public class BukkitVersionHelperSpigot116 extends BukkitVersionHelperGeneric { */ @Override public MapChunkCache getChunkCache(BukkitWorld dw, List chunks) { - MapChunkCache115 c = new MapChunkCache115(); + MapChunkCache116 c = new MapChunkCache116(); c.setChunks(dw, chunks); return c; } diff --git a/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/MapChunkCache115.java b/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/MapChunkCache116.java similarity index 99% rename from bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/MapChunkCache115.java rename to bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/MapChunkCache116.java index 3fee4c53..2ab91d1d 100644 --- a/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/MapChunkCache115.java +++ b/bukkit-helper-116/src/main/java/org/dynmap/bukkit/helper/v116/MapChunkCache116.java @@ -32,7 +32,7 @@ import net.minecraft.server.v1_16_R1.NBTTagList; /** * Container for managing chunks - dependent upon using chunk snapshots, since rendering is off server thread */ -public class MapChunkCache115 extends AbstractMapChunkCache { +public class MapChunkCache116 extends AbstractMapChunkCache { public static class NBTSnapshot implements Snapshot { private static interface Section {