Skip to content
This repository was archived by the owner on Feb 25, 2026. It is now read-only.

Commit dfb0536

Browse files
committed
Improved Pathing logic
1 parent 232c659 commit dfb0536

5 files changed

Lines changed: 16 additions & 8 deletions

File tree

src/main/java/com/jelly/mightyminerv2/failsafe/FailsafeManager.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,12 @@ public class FailsafeManager {
3131
public Set<Failsafe> failsafesToIgnore = new HashSet<>();
3232
private final Clock timer = new Clock();
3333

34+
// TODO: Implement all failsafe later!
3435
public FailsafeManager() {
3536
this.failsafes.addAll(Arrays.asList(
3637
DisconnectFailsafe.getInstance(),
37-
// ItemChangeFailsafe.getInstance(),
3838
KnockbackFailsafe.getInstance(),
39-
// TeleportFailsafe.getInstance(),
40-
// RotationFailsafe.getInstance(),
41-
BedrockCheckFailsafe.getInstance(),
4239
WorldChangeFailsafe.getInstance(),
43-
PlayerFailsafe.getInstance(),
4440
ProfileFailsafe.getInstance()
4541
));
4642
}

src/main/java/com/jelly/mightyminerv2/failsafe/impl/PlayerFailsafe.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import java.util.Map;
1717
import java.util.stream.Collectors;
1818

19+
// TODO: Check if it causes excessive lag before re-implementing!
1920
public class PlayerFailsafe extends AbstractFailsafe {
2021

2122
@Getter

src/main/java/com/jelly/mightyminerv2/feature/impl/BlockMiner/BlockMiner.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,8 @@ public void start(MineableBlock[] blocksToMine, final int miningSpeed, final int
143143

144144
@Override
145145
public void stop() {
146+
if(currentState != null)
147+
currentState.onEnd(this);
146148
super.stop();
147149
KeyBindUtil.releaseAllExcept(); // Release all keybinds
148150
}

src/main/java/com/jelly/mightyminerv2/feature/impl/BlockMiner/states/BreakingState.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ public BlockMinerState onTick(BlockMiner miner) {
8080

8181
@Override
8282
public void onEnd(BlockMiner miner) {
83+
RotationHandler.getInstance().stop();
8384
log("Exiting Breaking State");
8485
}
8586

src/main/java/com/jelly/mightyminerv2/macro/impl/CommissionMacro/states/PathingState.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@ public class PathingState implements CommissionMacroState{
1616

1717
private final RouteNavigator routeNavigator = RouteNavigator.getInstance();
1818
private final String GRAPH_NAME = "Commission Macro";
19+
private int attempts = 0;
1920

2021
@Override
2122
public void onStart(CommissionMacro macro) {
2223
log("Starting pathing state");
2324
Commission commission = macro.getCurrentCommission();
2425

25-
// When using royal pigeon or refueling using Abiphone, no path finding is needed
26+
// When using royal pigeon or refueling using abiphone, no path finding is needed
2627
if ((commission == Commission.COMMISSION_CLAIM && MightyMinerConfig.commClaimMethod == 1)
2728
|| commission == Commission.REFUEL) {
2829
return;
@@ -82,8 +83,15 @@ public CommissionMacroState onTick(CommissionMacro macro) {
8283
macro.disable("Route navigator failed, but no error is detected. Please contact the developer.");
8384
break;
8485
case TIME_FAIL: case PATHFIND_FAILED:
85-
logError("Failed to pathfind. Warping and restarting");
86-
return new WarpingState();
86+
attempts++;
87+
if(attempts >= 3) {
88+
logError("Failed to pathfind. Warping and restarting");
89+
return new WarpingState();
90+
} else {
91+
logError("Failed to pathfind. Retrying to pathfind");
92+
onStart(macro);
93+
return this;
94+
}
8795
}
8896
return null;
8997
}

0 commit comments

Comments
 (0)