Skip to content

Commit

Permalink
Merge pull request #246 from osamabeinglagging/master
Browse files Browse the repository at this point in the history
Added Disconnect and Timer pause to Scheduler, Fixed Failsafe Disconnect Bug
  • Loading branch information
onixiya1337 authored Jul 10, 2024
2 parents bcc9eb4 + 758d9fc commit ae55bf4
Show file tree
Hide file tree
Showing 9 changed files with 263 additions and 152 deletions.
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ baseGroup=com.jelly.farmhelperv2
mcVersion=1.8.9
modid=farmhelperv2
modName=FarmHelper
version=2.8.3
shouldRelease=true
version=2.8.4-pre1
shouldRelease=false
33 changes: 31 additions & 2 deletions src/main/java/com/jelly/farmhelperv2/config/FarmHelperConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,10 @@
import com.jelly.farmhelperv2.config.struct.Rewarp;
import com.jelly.farmhelperv2.failsafe.FailsafeManager;
import com.jelly.farmhelperv2.feature.impl.*;
import com.jelly.farmhelperv2.feature.impl.Proxy.ProxyType;
import com.jelly.farmhelperv2.gui.AutoUpdaterGUI;
import com.jelly.farmhelperv2.handler.GameStateHandler;
import com.jelly.farmhelperv2.handler.GameStateHandler.BuffState;
import com.jelly.farmhelperv2.handler.MacroHandler;
import com.jelly.farmhelperv2.hud.DebugHUD;
import com.jelly.farmhelperv2.hud.ProfitCalculatorHUD;
Expand Down Expand Up @@ -67,7 +69,7 @@ public class FarmHelperConfig extends Config {
public static String proxyAddress = "";
public static String proxyUsername = "";
public static String proxyPassword = "";
public static Proxy.ProxyType proxyType = Proxy.ProxyType.HTTP;
public static ProxyType proxyType = ProxyType.HTTP;
//</editor-fold>

//<editor-fold desc="GENERAL">
Expand Down Expand Up @@ -795,6 +797,33 @@ public class FarmHelperConfig extends Config {
description = "Opens inventory on scheduler breaks"
)
public static boolean openInventoryOnSchedulerBreaks = true;
@Switch(
name = "Disconnect during break", category = SCHEDULER, subcategory = "Scheduler",
description = "Logs out of game and logs back in after break ends"
)
public static boolean schedulerDisconnectDuringBreak = false;
@Switch(
name = "Wait Until Rewarp Point for break", category = SCHEDULER, subcategory = "Scheduler",
description = "Waits until player is standing on rewarp point to take break"
)
public static boolean schedulerWaitUntilRewarp = false;
@Switch(
name = "Reset Scheduler on Macro Disabled", category = SCHEDULER, subcategory = "Scheduler",
description = "Resets Scheduler When macro is disabled"
)
public static boolean schedulerResetOnDisable = true;
@Button(
name = "Reset Scheduler", category = SCHEDULER, subcategory = "Scheduler",
text = "Reset Scheduler", description = "Resets Scheduler (Only works when macro is of)"
)
public Runnable schedulerReset = () -> {
if(!MacroHandler.getInstance().isMacroToggled()){
boolean old = FarmHelperConfig.schedulerResetOnDisable;
FarmHelperConfig.schedulerResetOnDisable = true;
Scheduler.getInstance().stop();
FarmHelperConfig.schedulerResetOnDisable = old;
}
};
//</editor-fold>

//<editor-fold desc="Leave timer">
Expand Down Expand Up @@ -2110,7 +2139,7 @@ public FarmHelperConfig() {
this.addDependency("failsafeCutoffAfterUsingAoteV", "useAoteVInPestsDestroyer");


this.hideIf("infoCookieBuffRequired", () -> GameStateHandler.getInstance().inGarden() || GameStateHandler.getInstance().getCookieBuffState() == GameStateHandler.BuffState.NOT_ACTIVE);
this.hideIf("infoCookieBuffRequired", () -> GameStateHandler.getInstance().inGarden() || GameStateHandler.getInstance().getCookieBuffState() == BuffState.NOT_ACTIVE);

this.addDependency("sendLogs", "enableWebHook");
this.addDependency("sendStatusUpdates", "enableWebHook");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import com.jelly.farmhelperv2.event.ReceivePacketEvent;
import com.jelly.farmhelperv2.failsafe.Failsafe;
import com.jelly.farmhelperv2.failsafe.FailsafeManager;
import com.jelly.farmhelperv2.feature.impl.AutoReconnect;
import com.jelly.farmhelperv2.feature.impl.BanInfoWS;
import com.jelly.farmhelperv2.handler.GameStateHandler;
import com.jelly.farmhelperv2.handler.MacroHandler;
Expand Down Expand Up @@ -79,6 +80,11 @@ public void duringFailsafeTrigger() {
e.printStackTrace();
}
}, 500, TimeUnit.MILLISECONDS);
} else {
if (!BanInfoWS.getInstance().isBanwave()) {
LogUtils.sendFailsafeMessage("[Failsafe] Reconnecting because banwave ended", false);
AutoReconnect.getInstance().start();
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
import com.jelly.farmhelperv2.failsafe.FailsafeManager;
import com.jelly.farmhelperv2.feature.impl.AutoReconnect;
import com.jelly.farmhelperv2.feature.impl.BanInfoWS;
import com.jelly.farmhelperv2.feature.impl.Scheduler;
import com.jelly.farmhelperv2.feature.impl.Scheduler.SchedulerState;
import com.jelly.farmhelperv2.handler.MacroHandler;
import com.jelly.farmhelperv2.util.LogUtils;
import net.minecraftforge.fml.common.network.FMLNetworkEvent;
Expand Down Expand Up @@ -53,8 +55,13 @@ public boolean shouldAltTab() {
@Override
public void onDisconnectDetection(FMLNetworkEvent.ClientDisconnectionFromServerEvent event) {
// if (MacroHandler.getInstance().isTeleporting()) return;
if (BanInfoWS.getInstance().isBanwave() && FarmHelperConfig.enableLeavePauseOnBanwave && !FarmHelperConfig.banwaveAction)
if (BanInfoWS.getInstance().isBanwave() && FarmHelperConfig.enableLeavePauseOnBanwave && !FarmHelperConfig.banwaveAction) {
return;
}

if (Scheduler.getInstance().isRunning() && Scheduler.getInstance().getSchedulerState() == SchedulerState.BREAK && FarmHelperConfig.schedulerDisconnectDuringBreak){
return;
}

FailsafeManager.getInstance().possibleDetection(this);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.jelly.farmhelperv2.config.page.FailsafeNotificationsPage;
import com.jelly.farmhelperv2.failsafe.Failsafe;
import com.jelly.farmhelperv2.failsafe.FailsafeManager;
import com.jelly.farmhelperv2.feature.impl.AutoReconnect;
import com.jelly.farmhelperv2.handler.GameStateHandler;
import com.jelly.farmhelperv2.handler.MacroHandler;
import com.jelly.farmhelperv2.util.LogUtils;
Expand Down Expand Up @@ -117,12 +118,15 @@ public void duringFailsafeTrigger() {
MacroHandler.getInstance().pauseMacro();
Multithreading.schedule(() -> {
try {
mc.getNetHandler().getNetworkManager().closeChannel(new ChatComponentText("Will reconnect after end of Jacob's Contest!"));
mc.getNetHandler().getNetworkManager().closeChannel(new ChatComponentText("Will reconnect after end of Jacob's Contest! Restart if you dont see a timer"));
AudioManager.getInstance().resetSound();
} catch (Exception e) {
e.printStackTrace();
}
}, 500, TimeUnit.MILLISECONDS);
} else if (GameStateHandler.getInstance().getJacobContestLeftClock().passed()) {
LogUtils.sendFailsafeMessage("[Failsafe] Resuming the macro because Jacob's Contest is over!", false);
AutoReconnect.getInstance().start();
}
}
}
Expand Down
Loading

0 comments on commit ae55bf4

Please sign in to comment.