summaryrefslogtreecommitdiff
path: root/src/main/java/club/eviltransgenders/autoreconnect/AutoReconnect.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/club/eviltransgenders/autoreconnect/AutoReconnect.java')
-rw-r--r--src/main/java/club/eviltransgenders/autoreconnect/AutoReconnect.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/main/java/club/eviltransgenders/autoreconnect/AutoReconnect.java b/src/main/java/club/eviltransgenders/autoreconnect/AutoReconnect.java
index d756c23..f04fff9 100644
--- a/src/main/java/club/eviltransgenders/autoreconnect/AutoReconnect.java
+++ b/src/main/java/club/eviltransgenders/autoreconnect/AutoReconnect.java
@@ -16,6 +16,7 @@ import net.minecraft.network.chat.Component;
public final class AutoReconnect implements ClientModInitializer {
private static AutoReconnect instance;
private long reconnectTimer;
+ private int reconnectAttempts = 0;
public ServerData lastServerData;
@Override
@@ -26,8 +27,10 @@ public final class AutoReconnect implements ClientModInitializer {
public void afterScreenInit(Minecraft client, Screen screen, int scaledWidth, int scaledHeight) {
if (screen instanceof DisconnectedScreen) {
- this.reconnectTimer = 5 * 20;
+ this.reconnectTimer = 5 * 20 * (long)++reconnectAttempts;
ScreenEvents.afterTick(screen).register(this::afterScreenTick);
+ } else if (screen instanceof JoinMultiplayerScreen) {
+ this.reconnectAttempts = 0;
}
}
@@ -39,6 +42,10 @@ public final class AutoReconnect implements ClientModInitializer {
}
}
+ public void resetAttempts() {
+ this.reconnectAttempts = 0;
+ }
+
public static AutoReconnect getInstance() {
return instance;
}