Skip to content

Commit 09ed375

Browse files
committed
Replaced using a counter for click timing with using system time
1 parent 3f9b784 commit 09ed375

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

src/main/java/com/thevoidblock/syncac/config/AutoClickerConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
public abstract class AutoClickerConfig {
44

5-
public int timeElapsed = 0;
6-
public int syncInterval;
5+
public long startTime = 0;
6+
public long syncInterval;
77

88
public abstract boolean isEnabled();
99
public abstract int getInterval();

src/main/java/com/thevoidblock/syncac/util/AutoClicker.java

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import me.shedaniel.autoconfig.AutoConfig;
55
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
66

7+
import static java.lang.System.nanoTime;
78
import static com.thevoidblock.syncac.util.GetCarpetLoggerInfo.getTPS;
89

910
public class AutoClicker {
@@ -13,24 +14,27 @@ public static void registerAutoClickers() {
1314
AutoClicker.registerAutoClicker(new UseAutoClicker());
1415
}
1516

17+
private static final long TICK_TO_NANO = 50_000_000;
18+
1619
public static void registerAutoClicker(AutoClickerConfig clicker) {
1720

21+
clicker.startTime = nanoTime();
22+
1823
ClientTickEvents.END_CLIENT_TICK.register(
1924
client -> {
2025

21-
clicker.syncInterval = clicker.getInterval();
26+
ModConfig config = AutoConfig.getConfigHolder(ModConfig.class).getConfig();
2227

23-
if (clicker.isEnabled() && AutoConfig.getConfigHolder(ModConfig.class).getConfig().MOD_ENABLED) {
28+
if (config.MOD_ENABLED && clicker.isEnabled()) {
2429

25-
if(clicker.isSync()) clicker.syncInterval = (int) Math.max(clicker.getInterval() *(20/getTPS()), clicker.syncInterval);
26-
27-
if (clicker.timeElapsed >= clicker.syncInterval) {
30+
if(clicker.isSync())
31+
if(getTPS() <= 20) clicker.syncInterval = (int) Math.max(clicker.getInterval() *(20/getTPS()), clicker.syncInterval);
32+
else clicker.syncInterval = (int) Math.min(clicker.getInterval() *(20/getTPS()), clicker.syncInterval);
2833

34+
if ((nanoTime() - clicker.startTime) >= clicker.syncInterval* TICK_TO_NANO) {
2935
clicker.run();
30-
clicker.timeElapsed = 0;
31-
32-
} else {
33-
clicker.timeElapsed++;
36+
clicker.syncInterval = clicker.getInterval();
37+
clicker.startTime = nanoTime();
3438
}
3539
}
3640

0 commit comments

Comments
 (0)