From 8887bfc6e86ae572de0cbaf5997a80a3e3daeff4 Mon Sep 17 00:00:00 2001 From: Len <40720638+destro174@users.noreply.github.com> Date: Mon, 3 Jul 2023 08:51:21 +0200 Subject: [PATCH] Fix loading --- .../java/com/alttd/gridlines/GridLines.java | 6 +- .../alttd/gridlines/configuration/Config.java | 12 ++-- .../alttd/gridlines/layer/GridLinesLayer.java | 60 ++++++++++--------- 3 files changed, 39 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/alttd/gridlines/GridLines.java b/src/main/java/com/alttd/gridlines/GridLines.java index bd001d8..05354bc 100644 --- a/src/main/java/com/alttd/gridlines/GridLines.java +++ b/src/main/java/com/alttd/gridlines/GridLines.java @@ -2,7 +2,6 @@ package com.alttd.gridlines; import com.alttd.gridlines.configuration.Config; import com.alttd.gridlines.layer.GridLinesLayer; -import com.alttd.gridlines.listener.WorldListener; import net.pl3x.map.core.Pl3xMap; import org.bukkit.plugin.java.JavaPlugin; @@ -15,8 +14,9 @@ public class GridLines extends JavaPlugin { getServer().getPluginManager().disablePlugin(this); return; } - new Config().reload(); - getServer().getPluginManager().registerEvents(new WorldListener(), this); + Config.reload(); + Pl3xMap.api().getWorldRegistry().forEach(GridLinesLayer::new); +// getServer().getPluginManager().registerEvents(new WorldListener(), this); } @Override diff --git a/src/main/java/com/alttd/gridlines/configuration/Config.java b/src/main/java/com/alttd/gridlines/configuration/Config.java index 5919458..e4964a0 100644 --- a/src/main/java/com/alttd/gridlines/configuration/Config.java +++ b/src/main/java/com/alttd/gridlines/configuration/Config.java @@ -1,13 +1,10 @@ package com.alttd.gridlines.configuration; -import com.alttd.gridlines.GridLines; import net.pl3x.map.core.configuration.AbstractConfig; -public class Config extends AbstractConfig { +import java.io.File; - public Config() { - reload(); - } +public class Config extends AbstractConfig { @Key("settings.layer.label") @Comment("Label for map layer") @@ -27,7 +24,8 @@ public class Config extends AbstractConfig { private static final Config CONFIG = new Config(); - public void reload() { - reload(GridLines.getPlugin(GridLines.class).getDataFolder().toPath(), Config.class); + public static void reload() { + File configPath = new File(System.getProperty("user.home") + File.separator + "share" + File.separator + "configs" + File.separator + "gridlines"); + CONFIG.reload(configPath.toPath().resolve("config.yml"), Config.class); } } diff --git a/src/main/java/com/alttd/gridlines/layer/GridLinesLayer.java b/src/main/java/com/alttd/gridlines/layer/GridLinesLayer.java index 8973901..7fd0af9 100644 --- a/src/main/java/com/alttd/gridlines/layer/GridLinesLayer.java +++ b/src/main/java/com/alttd/gridlines/layer/GridLinesLayer.java @@ -5,6 +5,7 @@ import com.alttd.gridlines.configuration.Config; import net.pl3x.map.core.markers.Point; import net.pl3x.map.core.markers.layer.WorldLayer; import net.pl3x.map.core.markers.marker.Marker; +import net.pl3x.map.core.markers.marker.MultiPolyline; import net.pl3x.map.core.markers.marker.Polyline; import net.pl3x.map.core.markers.option.Fill; import net.pl3x.map.core.markers.option.Options; @@ -21,59 +22,60 @@ public class GridLinesLayer extends WorldLayer { public static final String KEY = "gridlines"; private final Collection> MARKERS = new HashSet<>(); - private final World mapWorld; public GridLinesLayer(@NotNull World world) { super(KEY, world, () -> Config.LAYER_LABEL); - this.mapWorld = world; + setShowControls(Config.LAYER_SHOW_CONTROLS); setDefaultHidden(Config.LAYER_DEFAULT_HIDDEN); setPriority(Config.LAYER_PRIORITY); setZIndex(Config.LAYER_ZINDEX); + setUpdateInterval(0); updateLayer(); + world.getLayerRegistry().register(this); } @Override public @NotNull Collection> getMarkers() { - return MARKERS; + return this.MARKERS; } public void updateLayer() { MARKERS.clear(); - org.bukkit.World world = Bukkit.getWorld(mapWorld.getName()); + org.bukkit.World world = Bukkit.getWorld(getWorld().getName()); if (world == null) return; WorldBorder worldBorder = world.getWorldBorder(); double radius = worldBorder.getSize() / 2; double radius2 = radius * -1; int t; - String key = "gridline"; + String key = "gridline_" + world.getName(); + Options options = Options.builder() + .strokeColor(0xFFFF0000) + .strokeWeight(1) + .fill(false).build(); for(int i = -64; i < radius; i += 128) { t = i * -1; - MARKERS.add(Marker.multiPolyline(key + "-" + i, - Polyline.of(key + i + "-1", - Point.of(radius, i), - Point.of(radius2, i) - ), - Polyline.of(key + i + "-2", - Point.of(i, radius), - Point.of(i, radius2) - ), - Polyline.of(key + i + "-3", - Point.of(radius, t), - Point.of(radius2, t) - ), - Polyline.of(key + i + "-4", - Point.of(t, radius), - Point.of(t, radius2) - ) - )); - } - Options options = new Options() - .setStroke(new Stroke().setColor(0xFFFF0000).setWeight(1)) - .setFill(new Fill().setEnabled(false)); - for (Marker marker : MARKERS) { - marker.setOptions(options); + MARKERS.add( + MultiPolyline.of(key + i, + Polyline.of(key + i + "-1", + Point.of(radius, i), + Point.of(radius2, i) + ), + Polyline.of(key + i + "-2", + Point.of(i, radius), + Point.of(i, radius2) + ), + Polyline.of(key + i + "-3", + Point.of(radius, t), + Point.of(radius2, t) + ), + Polyline.of(key + i + "-4", + Point.of(t, radius), + Point.of(t, radius2) + ) + ).setOptions(options) + ); } }