diff options
| author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-10-23 23:20:17 -0400 | 
|---|---|---|
| committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-10-28 00:51:24 -0400 | 
| commit | 47d80b6fabe48b5e5aab3ec800046e8cc3b2fdf5 (patch) | |
| tree | 3278fb313946127bb50ba8dea6a499f59d57c25a /src/main/java | |
| parent | 739eeb014e31aec54ad12b4ef14f95eca4bc2dea (diff) | |
| download | Skyblocker-47d80b6fabe48b5e5aab3ec800046e8cc3b2fdf5.tar.gz Skyblocker-47d80b6fabe48b5e5aab3ec800046e8cc3b2fdf5.tar.bz2 Skyblocker-47d80b6fabe48b5e5aab3ec800046e8cc3b2fdf5.zip | |
Render custom waypoints
Diffstat (limited to 'src/main/java')
3 files changed, 11 insertions, 3 deletions
| diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java index 38dc1060..45eed595 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java @@ -1,5 +1,7 @@  package de.hysky.skyblocker.skyblock.dungeon.secrets; +import com.google.common.collect.Multimap; +import com.google.common.collect.MultimapBuilder;  import com.google.gson.JsonArray;  import com.google.gson.JsonElement;  import com.google.gson.JsonObject; @@ -14,7 +16,6 @@ import de.hysky.skyblocker.config.SkyblockerConfigManager;  import de.hysky.skyblocker.utils.Constants;  import de.hysky.skyblocker.utils.Utils;  import de.hysky.skyblocker.utils.scheduler.Scheduler; -import de.hysky.skyblocker.utils.waypoint.Waypoint;  import it.unimi.dsi.fastutil.objects.Object2ByteMap;  import it.unimi.dsi.fastutil.objects.Object2ByteOpenHashMap;  import it.unimi.dsi.fastutil.objects.ObjectIntPair; @@ -107,7 +108,7 @@ public class DungeonSecrets {      private static final Map<Vector2ic, Room> rooms = new HashMap<>();      private static final Map<String, JsonElement> roomsJson = new HashMap<>();      private static final Map<String, JsonElement> waypointsJson = new HashMap<>(); -    private static final Map<String, Waypoint> customWaypoints = new HashMap<>(); +    private static final Multimap<String, SecretWaypoint> customWaypoints = MultimapBuilder.hashKeys().arrayListValues().build();      @Nullable      private static CompletableFuture<Void> roomsLoaded;      /** @@ -139,6 +140,10 @@ public class DungeonSecrets {          return waypointsJson.get(room).getAsJsonArray();      } +    public static Collection<SecretWaypoint> getCustomWaypoints(String room) { +        return customWaypoints.get(room); +    } +      /**       * Loads the dungeon secrets asynchronously from {@code /assets/skyblocker/dungeons}.       * Use {@link #isRoomsLoaded()} to check for completion of loading. diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/Room.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/Room.java index 0d7a444f..0840c727 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/Room.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/Room.java @@ -307,6 +307,9 @@ public class Room {              BlockPos pos = DungeonMapUtils.relativeToActual(direction, physicalCornerPos, waypoint);              secretWaypointsMutable.put(secretIndex, pos, new SecretWaypoint(secretIndex, waypoint, secretName, pos));          } +        for (SecretWaypoint customWaypoint : DungeonSecrets.getCustomWaypoints(name)) { +            secretWaypointsMutable.put(customWaypoint.secretIndex, customWaypoint.pos, customWaypoint); +        }          secretWaypoints = ImmutableTable.copyOf(secretWaypointsMutable);          matched = TriState.TRUE; diff --git a/src/main/java/de/hysky/skyblocker/utils/waypoint/Waypoint.java b/src/main/java/de/hysky/skyblocker/utils/waypoint/Waypoint.java index 26190d60..e7858f05 100644 --- a/src/main/java/de/hysky/skyblocker/utils/waypoint/Waypoint.java +++ b/src/main/java/de/hysky/skyblocker/utils/waypoint/Waypoint.java @@ -10,7 +10,7 @@ import java.util.function.Supplier;  public class Waypoint {      protected static final float DEFAULT_HIGHLIGHT_ALPHA = 0.5f;      protected static final float DEFAULT_LINE_WIDTH = 5f; -    protected final BlockPos pos; +    public final BlockPos pos;      private final Box box;      private final Supplier<Type> typeSupplier;      private final float[] colorComponents; | 
