diff options
author | syeyoung <cyong06@naver.com> | 2021-02-12 15:14:12 +0900 |
---|---|---|
committer | syeyoung <cyong06@naver.com> | 2021-02-12 15:14:12 +0900 |
commit | b808e27a2cc2c6c8fdf93e5de6ddf05053c3addb (patch) | |
tree | 1336677c7e35bf63ba1b6ebeb1eafa8b7aadda37 /src/main/java/kr/syeyoung/dungeonsguide/roomprocessor | |
parent | 92c8d9cec9fcc3a53ad95ff0212d77bf87becab7 (diff) | |
download | Skyblock-Dungeons-Guide-b808e27a2cc2c6c8fdf93e5de6ddf05053c3addb.tar.gz Skyblock-Dungeons-Guide-b808e27a2cc2c6c8fdf93e5de6ddf05053c3addb.tar.bz2 Skyblock-Dungeons-Guide-b808e27a2cc2c6c8fdf93e5de6ddf05053c3addb.zip |
works pretty great
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide/roomprocessor')
-rwxr-xr-x | src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java index 71c6fbc0..da7b7b59 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java @@ -4,6 +4,7 @@ import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.Config; import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; import kr.syeyoung.dungeonsguide.dungeon.EntitySpawnManager; +import kr.syeyoung.dungeonsguide.dungeon.actions.ActionComplete; import kr.syeyoung.dungeonsguide.dungeon.actions.tree.ActionRoute; import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint; import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonMechanic; @@ -48,7 +49,22 @@ public class GeneralRoomProcessor implements RoomProcessor { @Override public void tick() { - if (path != null) path.onTick(); + if (path != null) { + path.onTick(); + if (FeatureRegistry.SECRET_AUTO_BROWSE_NEXT.isEnabled() && path.getCurrentAction() instanceof ActionComplete) { + if (!path.getState().equals("found")) return; + if (!(dungeonRoom.getDungeonRoomInfo().getMechanics().get(path.getMechanic()) instanceof DungeonSecret)) return; + boolean foundcurr = false; + for (Map.Entry<String, DungeonMechanic> mech: dungeonRoom.getDungeonRoomInfo().getMechanics().entrySet()) { + if (!(mech.getValue() instanceof DungeonSecret)) continue; + if (foundcurr && ((DungeonSecret) mech.getValue()).getSecretStatus(getDungeonRoom()) != DungeonSecret.SecretStatus.FOUND) { + pathfind(mech.getKey(), "found"); + break; + } + if (mech.getKey().equals(path.getMechanic())) foundcurr = true; + } + } + } } @Override |