aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMove.java2
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMoveNearestAir.java2
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java24
3 files changed, 14 insertions, 14 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMove.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMove.java
index d486d220..ec790489 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMove.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMove.java
@@ -103,7 +103,7 @@ public class ActionMove extends AbstractAction {
public void forceRefresh(DungeonRoom dungeonRoom) {
try {
- if (latestFuture != null) latestFuture.cancel(true);
+ if (latestFuture != null) return;
} catch (Exception ignored) {}
latestFuture = dungeonRoom.createEntityPathTo(dungeonRoom.getContext().getWorld(), Minecraft.getMinecraft().thePlayer, target.getBlockPos(dungeonRoom), Integer.MAX_VALUE, 10000);
}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMoveNearestAir.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMoveNearestAir.java
index 85343568..14897147 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMoveNearestAir.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionMoveNearestAir.java
@@ -102,7 +102,7 @@ public class ActionMoveNearestAir extends AbstractAction {
public void forceRefresh(DungeonRoom dungeonRoom) {
try {
- if (latestFuture != null) latestFuture.cancel(true);
+ if (latestFuture != null) return;
} catch (Exception ignored) {}
latestFuture = dungeonRoom.createEntityPathTo(dungeonRoom.getContext().getWorld(), Minecraft.getMinecraft().thePlayer, target.getBlockPos(dungeonRoom), Integer.MAX_VALUE, 10000);
}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java
index 22daf0f2..452c0003 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java
@@ -339,18 +339,18 @@ public class GeneralRoomProcessor implements RoomProcessor {
searchForNextTarget();
} else if (FeatureRegistry.SECRET_CREATE_REFRESH_LINE.getKeybind() == keyInputEvent.getKey() && FeatureRegistry.SECRET_CREATE_REFRESH_LINE.isEnabled()) {
ActionRoute actionRoute = getBestFit(0);
- // disable force refresh. It's bad idea.
-// if (actionRoute.getCurrentAction() instanceof ActionMove) {
-// ActionMove ac = (ActionMove) actionRoute.getCurrentAction();
-// ac.forceRefresh(getDungeonRoom());
-// } else if (actionRoute.getCurrentAction() instanceof ActionMoveNearestAir) {
-// ActionMoveNearestAir ac = (ActionMoveNearestAir) actionRoute.getCurrentAction();
-// ac.forceRefresh(getDungeonRoom());
-// } else if (actionRoute.getCurrent() >= 1 && actionRoute.getActions().get(actionRoute.getCurrent()-1) instanceof ActionMove) {
-// ((ActionMove)actionRoute.getActions().get(actionRoute.getCurrent()-1)).forceRefresh(dungeonRoom);
-// } else if (actionRoute.getCurrent() >= 1 && actionRoute.getActions().get(actionRoute.getCurrent()-1) instanceof ActionMoveNearestAir) {
-// ((ActionMoveNearestAir)actionRoute.getActions().get(actionRoute.getCurrent()-1)).forceRefresh(dungeonRoom);
-// }
+ // actually do force refresh because of force freeze pathfind
+ if (actionRoute.getCurrentAction() instanceof ActionMove) {
+ ActionMove ac = (ActionMove) actionRoute.getCurrentAction();
+ ac.forceRefresh(getDungeonRoom());
+ } else if (actionRoute.getCurrentAction() instanceof ActionMoveNearestAir) {
+ ActionMoveNearestAir ac = (ActionMoveNearestAir) actionRoute.getCurrentAction();
+ ac.forceRefresh(getDungeonRoom());
+ } else if (actionRoute.getCurrent() >= 1 && actionRoute.getActions().get(actionRoute.getCurrent()-1) instanceof ActionMove) {
+ ((ActionMove)actionRoute.getActions().get(actionRoute.getCurrent()-1)).forceRefresh(dungeonRoom);
+ } else if (actionRoute.getCurrent() >= 1 && actionRoute.getActions().get(actionRoute.getCurrent()-1) instanceof ActionMoveNearestAir) {
+ ((ActionMoveNearestAir)actionRoute.getActions().get(actionRoute.getCurrent()-1)).forceRefresh(dungeonRoom);
+ }
if (FeatureRegistry.SECRET_CREATE_REFRESH_LINE.isPathfind() && !actionRoute.getActionRouteProperties().isPathfind()) {
actionRoute.getActionRouteProperties().setPathfind(true);