aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide/roomprocessor')
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java
index 1386fb72..7b1e3433 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java
@@ -35,9 +35,7 @@ import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.fml.common.gameevent.InputEvent;
import java.awt.*;
-import java.util.Map;
-import java.util.PriorityQueue;
-import java.util.UUID;
+import java.util.*;
public class GeneralRoomProcessor implements RoomProcessor {
@@ -64,6 +62,7 @@ public class GeneralRoomProcessor implements RoomProcessor {
}
}
}
+ private Set<String> visited = new HashSet<String>();
public void searchForNextTarget() {
BlockPos pos = Minecraft.getMinecraft().thePlayer.getPosition();
@@ -72,6 +71,7 @@ public class GeneralRoomProcessor implements RoomProcessor {
Map.Entry<String, DungeonMechanic> lowestWeightMechanic = null;
for (Map.Entry<String, DungeonMechanic> mech: dungeonRoom.getDungeonRoomInfo().getMechanics().entrySet()) {
if (!(mech.getValue() instanceof DungeonSecret)) continue;
+ if (visited.contains(mech.getKey())) continue;
if (((DungeonSecret) mech.getValue()).getSecretStatus(getDungeonRoom()) != DungeonSecret.SecretStatus.FOUND) {
double cost = 0;
if (((DungeonSecret) mech.getValue()).getSecretType() == DungeonSecret.SecretType.BAT &&
@@ -91,6 +91,7 @@ public class GeneralRoomProcessor implements RoomProcessor {
}
}
if (lowestWeightMechanic != null) {
+ visited.add(lowestWeightMechanic.getKey());
pathfind(lowestWeightMechanic.getKey(), "found");
}
}