aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor
diff options
context:
space:
mode:
authorsyeyoung <cyong06@naver.com>2021-02-12 15:14:12 +0900
committersyeyoung <cyong06@naver.com>2021-02-12 15:14:12 +0900
commitb808e27a2cc2c6c8fdf93e5de6ddf05053c3addb (patch)
tree1336677c7e35bf63ba1b6ebeb1eafa8b7aadda37 /src/main/java/kr/syeyoung/dungeonsguide/roomprocessor
parent92c8d9cec9fcc3a53ad95ff0212d77bf87becab7 (diff)
downloadSkyblock-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-xsrc/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java18
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