dev/mishka/gamblerplus/client/TrackerScreen.class 29.3 KB
- Class
- public final synchronized dev.mishka.gamblerplus.client.TrackerScreen
- Extends
- net.minecraft.class_437
- Implements
- nothing
- Compiled for
- Java 21
Reconstructed source
// Reconstructed from bytecode by BackProbe (dev/mishka/gamblerplus/client/TrackerScreen.class, Java 21); this is not the original source.
package dev.mishka.gamblerplus.client;
import java.time.Instant;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.EnumMap;
import java.util.List;
import java.util.Objects;
import net.minecraft.class_10799;
import net.minecraft.class_11909;
import net.minecraft.class_2561;
import net.minecraft.class_2960;
import net.minecraft.class_310;
import net.minecraft.class_332;
import net.minecraft.class_437;
public final class TrackerScreen extends class_437 {
private static final class_2960 ICON;
private static final int PANEL_W;
private static final int PANEL_H;
private static final int SIDE_W;
private static final int SIDE_GAP;
private static final int ROW_H;
private static final int SESSION_ROW_H;
private static final int ICON_SIZE;
private static final long ANIM_MS;
private static final DateTimeFormatter TIME_FMT;
private static final DateTimeFormatter DATE_FMT;
private final Config config;
private final Stats stats;
private final SessionManager sessions;
private int px;
private int py;
private int sessionsX;
private int verifyX;
private boolean sidePanelsFit;
private int scroll;
private int sessionScroll;
private long openedAtMs;
private float uiScale;
private int virtualW;
private int virtualH;
private final EnumMap anims;
private final int[][] hitboxes;
private final List pastSessionHits;
private final List pastSessionRefs;
private final List pastDeleteHits;
private final List pastDeleteRefs;
public TrackerScreen(Config arg0, Stats arg1) {
super(class_310.method_1551(), class_310.method_1551().field_1772, class_2561.method_43470("Gambler Plus"));
this.uiScale = 1.0F;
this.anims = new EnumMap(TrackerScreen.HitId.class);
this.hitboxes = new int[][TrackerScreen.HitId.values().length];
this.pastSessionHits = new ArrayList();
this.pastSessionRefs = new ArrayList();
this.pastDeleteHits = new ArrayList();
this.pastDeleteRefs = new ArrayList();
this.config = arg0;
this.stats = arg1;
this.sessions = GamblerPlusClient.SESSIONS;
return;
}
protected void method_25426() {
int var1 = 16;
int var2 = 852;
float var3 = (((float) (this.field_22789 - var1)) / ((float) var2));
float var4 = (((float) (this.field_22790 - var1)) / 300.0);
float var5 = Math.min(1.0F, Math.min(var3, var4));
if (Float.compare(var5, 0.6499999761581421) < 0) goto L64;
this.uiScale = var5;
this.sidePanelsFit = true;
goto L108;
L64:
float var6 = (((float) (this.field_22789 - var1)) / 500.0);
float var7 = (((float) (this.field_22790 - var1)) / 300.0);
this.uiScale = Math.min(1.0F, Math.min(var6, var7));
this.sidePanelsFit = false;
L108:
this.virtualW = Math.round((((float) this.field_22789) / this.uiScale));
this.virtualH = Math.round((((float) this.field_22790) / this.uiScale));
this.px = ((this.virtualW - 500) / 2);
this.py = ((this.virtualH - 300) / 2);
this.sessionsX = ((this.px - 8) - 168);
this.verifyX = ((this.px + 500) + 8);
this.openedAtMs = System.currentTimeMillis();
return;
}
public boolean method_25421() {
return false;
}
public void method_25394(class_332 arg0, int arg1, int arg2, float arg3) {
float var5 = ((float) (System.currentTimeMillis() - this.openedAtMs));
float var6 = Theme.easeOutBack(Theme.smoothStep(0.0F, 260.0, var5));
float var7 = Theme.easeOutBack(Theme.smoothStep(220.0, 500.0, var5));
float var8 = Theme.easeOutBack(Theme.smoothStep(300.0, 580.0, var5));
float var9 = Theme.smoothStep(0.0F, 200.0, var5);
int var10 = ((int) (176.0 * var9));
arg0.method_25294(0, 0, this.field_22789, this.field_22790, (var10 << 24));
int var11 = Math.round((((float) arg1) / this.uiScale));
int var12 = Math.round((((float) arg2) / this.uiScale));
var var13 = arg0.method_51448();
var13.pushMatrix();
var13.scale(this.uiScale, this.uiScale);
this.clearHitboxes();
var13.pushMatrix();
var13.translate(0.0F, ((1.0F - var6) * -32.0));
arg0.method_25294(this.px, this.py, (this.px + 500), (this.py + 300), -15855596);
this.outline(arg0, this.px, this.py, (this.px + 500), (this.py + 300), -14276046);
this.drawHeader(arg0);
this.drawSummary(arg0, var11, var12);
this.drawLog(arg0);
this.drawFooter(arg0, var11, var12);
var var14 = "made by q3c on dc";
int var15 = this.field_22793.method_1727(var14);
arg0.method_51433(this.field_22793, var14, (this.px + ((500 - var15) / 2)), ((this.py + 300) + 6), -11709599, false);
var13.popMatrix();
if (!this.sidePanelsFit) goto L391;
var13.pushMatrix();
var13.translate(0.0F, ((1.0F - var7) * -40.0));
this.drawSessionsPanel(arg0, var11, var12);
var13.popMatrix();
var13.pushMatrix();
var13.translate(0.0F, ((1.0F - var8) * -40.0));
this.drawVerifyPanel(arg0, var11, var12);
var13.popMatrix();
L391:
var13.popMatrix();
return;
}
private void drawHeader(class_332 arg0) {
int var2 = this.px;
int var3 = this.py;
int var4 = 28;
arg0.method_25294(var2, var3, (var2 + 500), (var3 + var4), -15329251);
arg0.method_25294(var2, (var3 + var4), (var2 + 500), ((var3 + var4) + 1), -14276046);
int var5 = (var2 + 8);
int var6 = (var3 + ((var4 - 20) / 2));
this.drawIcon(arg0, var5, var6, 20);
int var7 = ((var5 + 20) + 8);
Objects.requireNonNull(this.field_22793);
int var8 = (var3 + ((var4 - 9) / 2));
arg0.method_51433(this.field_22793, "Gambler", var7, var8, -1644565, false);
int var9 = this.field_22793.method_1727("Gambler ");
arg0.method_51433(this.field_22793, "Plus", (var7 + var9), var8, -13927425, false);
if (!this.config.gamblingMode()) goto L180;
var stack0 = "TRACKING";
goto L183;
L180:
stack0 = "PAUSED";
L183:
var var10 = stack0;
int var11 = this.field_22793.method_1727(var10);
int var12 = (((var2 + 500) - var11) - 12);
stack0 = arg0;
var stack1 = this.field_22793;
var stack2 = var10;
var stack3 = var12;
var stack4 = var8;
if (!this.config.gamblingMode()) goto L236;
var stack5 = -11870592;
goto L239;
L236:
stack5 = -11709599;
L239:
stack0.method_51433(stack1, stack2, stack3, stack4, stack5, false);
return;
}
private void drawSummary(class_332 arg0, int arg1, int arg2) {
int var4 = (this.px + 14);
int var5 = (this.py + 40);
int var6 = 152;
arg0.method_51433(this.field_22793, "SESSION", var4, var5, -11709599, false);
arg0.method_51433(this.field_22793, "ALL TIME", (var4 + var6), var5, -11709599, false);
arg0.method_51433(this.field_22793, "STREAKS", (var4 + (var6 * 2)), var5, -11709599, false);
long var7 = this.stats.sessionNet();
long var9 = this.stats.allTimeNet();
arg0.method_51433(this.field_22793, AmountFormat.signed(var7), var4, (var5 + 12), Theme.color(var7), false);
arg0.method_51433(this.field_22793, AmountFormat.signed(var9), (var4 + var6), (var5 + 12), Theme.color(var9), false);
var stack0 = arg0;
var stack1 = this.field_22793;
var stack2 = indy.makeConcatWithConstants(this.stats.lossStreak(), this.stats.winStreak());
var stack3 = (var4 + (var6 * 2));
var stack4 = (var5 + 12);
if (this.stats.lossStreak() < this.config.streakThreshold()) goto L220;
var stack5 = -1096636;
goto L223;
L220:
stack5 = -1644565;
L223:
stack0.method_51433(stack1, stack2, stack3, stack4, stack5, false);
this.subLine(arg0, var4, (var5 + 26), "in", AmountFormat.pretty(this.stats.sessionIn()), -11870592);
this.subLine(arg0, var4, (var5 + 38), "out", AmountFormat.pretty(this.stats.sessionOut()), -1096636);
this.subLine(arg0, var4, (var5 + 50), "trades", indy.makeConcatWithConstants(this.stats.sessionInCount(), this.stats.sessionOutCount()), -8748911);
this.subLine(arg0, (var4 + var6), (var5 + 26), "in", AmountFormat.pretty(this.stats.allTimeIn()), -11870592);
this.subLine(arg0, (var4 + var6), (var5 + 38), "out", AmountFormat.pretty(this.stats.allTimeOut()), -1096636);
this.subLine(arg0, (var4 + var6), (var5 + 50), "trades", indy.makeConcatWithConstants(this.stats.allTimeInCount(), this.stats.allTimeOutCount()), -8748911);
this.subLine(arg0, (var4 + (var6 * 2)), (var5 + 26), "worst", indy.makeConcatWithConstants(this.stats.longestLossStreak()), -1096636);
this.subLine(arg0, (var4 + (var6 * 2)), (var5 + 38), "best", indy.makeConcatWithConstants(this.stats.longestWinStreak()), -11870592);
this.drawTriggerControl(arg0, (var4 + (var6 * 2)), (var5 + 50), arg1, arg2);
arg0.method_25294((this.px + 14), (var5 + 66), ((this.px + 500) - 14), (var5 + 67), -14736855);
return;
}
private void subLine(class_332 arg0, int arg1, int arg2, String arg3, String arg4, int arg5) {
arg0.method_51433(this.field_22793, arg3, arg1, arg2, -11709599, false);
int var7 = this.field_22793.method_1727(arg3);
arg0.method_51433(this.field_22793, arg4, ((arg1 + var7) + 6), arg2, arg5, false);
return;
}
private void drawTriggerControl(class_332 arg0, int arg1, int arg2, int arg3, int arg4) {
arg0.method_51433(this.field_22793, "trigger", arg1, arg2, -11709599, false);
int var6 = ((arg1 + this.field_22793.method_1727("trigger")) + 6);
int var7 = 10;
int var8 = 11;
int var9 = (arg2 - 2);
int var10 = this.config.streakThreshold();
if (var10 <= 2) goto L66;
var stack0 = 1;
goto L67;
L66:
stack0 = 0;
L67:
int var11 = stack0;
if (var10 >= 20) goto L80;
stack0 = 1;
goto L81;
L80:
stack0 = 0;
L81:
int var12 = stack0;
this.miniButton(arg0, "-", var6, var9, var7, var8, arg3, arg4, TrackerScreen.HitId.STREAK_DOWN, var11);
var6 = (var6 + (var7 + 4));
var var13 = String.valueOf(var10);
int var14 = this.field_22793.method_1727(var13);
arg0.method_51433(this.field_22793, var13, var6, arg2, -1644565, false);
var6 = (var6 + (var14 + 4));
this.miniButton(arg0, "+", var6, var9, var7, var8, arg3, arg4, TrackerScreen.HitId.STREAK_UP, var12);
return;
}
private void miniButton(class_332 arg0, String arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, TrackerScreen.HitId arg8, boolean arg9) {
if (arg9 == 0) goto L41;
if (arg6 < arg2) goto L41;
if (arg6 >= (arg2 + arg4)) goto L41;
if (arg7 < arg3) goto L41;
if (arg7 >= (arg3 + arg5)) goto L41;
var stack0 = 1;
goto L42;
L41:
stack0 = 0;
L42:
int var11 = stack0;
stack0 = arg0;
var stack1 = arg2;
var stack2 = arg3;
var stack3 = (arg2 + arg4);
var stack4 = (arg3 + arg5);
if (var11 == 0) goto L68;
var stack5 = -15000028;
goto L71;
L68:
stack5 = -15329251;
L71:
stack0.method_25294(stack1, stack2, stack3, stack4, stack5);
stack0 = this;
stack1 = arg0;
stack2 = arg2;
stack3 = arg3;
stack4 = (arg2 + arg4);
stack5 = (arg3 + arg5);
if (var11 == 0) goto L99;
var stack6 = -13927425;
goto L101;
L99:
stack6 = -14276046;
L101:
stack0.outline(stack1, stack2, stack3, stack4, stack5, stack6);
int var12 = this.field_22793.method_1727(arg1);
if (arg9 == 0) goto L136;
if (var11 == 0) goto L130;
stack0 = -13927425;
goto L139;
L130:
stack0 = -1644565;
goto L139;
L136:
stack0 = -11709599;
L139:
int var13 = stack0;
Objects.requireNonNull(this.field_22793);
arg0.method_51433(this.field_22793, arg1, (arg2 + ((arg4 - var12) / 2)), ((arg3 + ((arg5 - 9) / 2)) + 1), var13, false);
stack0 = this.hitboxes;
stack1 = arg8.ordinal();
if (arg9 == 0) goto L226;
stack2 = new int[4];
stack2[0] = arg2;
stack2[1] = arg3;
stack2[2] = (arg2 + arg4);
stack2[3] = (arg3 + arg5);
goto L227;
L226:
stack2 = null;
L227:
stack0[stack1] = stack2;
return;
}
private void drawLog(class_332 arg0) {
int var2 = (this.px + 14);
int var3 = (this.py + 116);
int var4 = 472;
int var5 = 108;
arg0.method_51433(this.field_22793, "RECENT PAYMENTS", var2, var3, -11709599, false);
int var6 = (var3 + 12);
int var7 = (var6 + var5);
arg0.method_25294(var2, var6, (var2 + var4), var7, -15000028);
this.outline(arg0, var2, var6, (var2 + var4), var7, -14276046);
var var8 = this.stats.snapshot();
if (!var8.isEmpty()) goto L171;
if (!this.config.gamblingMode()) goto L122;
var stack0 = "waiting for the next payment...";
goto L125;
L122:
stack0 = "tracking paused - turn it on to record payments";
L125:
var var9 = stack0;
int var10 = this.field_22793.method_1727(var9);
arg0.method_51433(this.field_22793, var9, (var2 + ((var4 - var10) / 2)), ((var6 + (var5 / 2)) - 4), -11709599, false);
return;
L171:
var9 = (var5 / 12);
var10 = Math.min(var9, var8.size());
int var11 = Math.max(0, Math.min(this.scroll, (var8.size() - var10)));
arg0.method_44379((var2 + 1), (var6 + 1), ((var2 + var4) - 1), (var7 - 1));
int var12 = 0;
L239:
if (var12 >= var10) goto L500;
var var13 = ((PaymentEvent) var8.get((var11 + var12)));
int var14 = ((var6 + 2) + (var12 * 12));
if ((var12 & 1) != 1) goto L310;
arg0.method_25294((var2 + 1), (var14 - 2), ((var2 + var4) - 1), ((var14 + 12) - 2), 150994943);
L310:
var var15 = TrackerScreen.TIME_FMT.format(Instant.ofEpochMilli(var13.timestampMs()));
if (!var13.incoming()) goto L340;
stack0 = "IN ";
goto L343;
L340:
stack0 = "OUT";
L343:
var var16 = stack0;
if (!var13.incoming()) goto L359;
stack0 = "+";
goto L362;
L359:
stack0 = "-";
L362:
var var17 = indy.makeConcatWithConstants(stack0, AmountFormat.pretty(var13.amount()));
if (!var13.incoming()) goto L391;
stack0 = -11870592;
goto L394;
L391:
stack0 = -1096636;
L394:
int var18 = stack0;
arg0.method_51433(this.field_22793, var15, (var2 + 8), var14, -11709599, false);
arg0.method_51433(this.field_22793, var16, (var2 + 60), var14, var18, false);
arg0.method_51433(this.field_22793, var13.player(), (var2 + 90), var14, -1644565, false);
int var19 = this.field_22793.method_1727(var17);
arg0.method_51433(this.field_22793, var17, (((var2 + var4) - 10) - var19), var14, var18, false);
var12 += 1;
goto L239;
L500:
arg0.method_44380();
if (var8.size() <= var9) goto L626;
var12 = ((var2 + var4) - 4);
var13 = (var6 + 2);
var14 = (var5 - 4);
var15 = Math.max(12, ((var14 * var9) / var8.size()));
var16 = (((var14 - var15) * var11) / Math.max(1, (var8.size() - var9)));
arg0.method_25294(var12, var13, (var12 + 2), (var13 + var14), -14276046);
arg0.method_25294(var12, (var13 + var16), (var12 + 2), ((var13 + var16) + var15), -8748911);
L626:
return;
}
private void drawFooter(class_332 arg0, int arg1, int arg2) {
int var4 = ((this.py + 300) - 50);
arg0.method_25294(this.px, var4, (this.px + 500), (var4 + 1), -14276046);
int var5 = (var4 + 8);
int var6 = (this.px + 14);
var6 = this.pill(arg0, "display", this.config.hudDisplay().name().toLowerCase(), var6, var5, arg1, arg2, TrackerScreen.HitId.DISPLAY);
var6 = this.pill(arg0, "anchor", this.anchorLabel(), (var6 + 8), var5, arg1, arg2, TrackerScreen.HitId.ANCHOR);
var var7 = Keybinds.openUi.method_16007().getString();
var var8 = indy.makeConcatWithConstants(var7);
int var9 = this.field_22793.method_1727(var8);
arg0.method_51433(this.field_22793, var8, (((this.px + 500) - 14) - var9), (var5 + 2), -11709599, false);
int var10 = (var4 + 28);
int var11 = (this.px + 14);
var11 = this.toggle(arg0, "tracking", this.config.gamblingMode(), var11, var10, arg1, arg2, TrackerScreen.HitId.GAMBLING);
var11 = this.toggle(arg0, "hud bar", this.config.hudBar(), (var11 + 14), var10, arg1, arg2, TrackerScreen.HitId.HUD);
var11 = this.toggle(arg0, "toast", this.config.showToast(), (var11 + 14), var10, arg1, arg2, TrackerScreen.HitId.TOAST);
return;
}
private void drawSessionsPanel(class_332 arg0, int arg1, int arg2) {
int var4 = this.sessionsX;
int var5 = this.py;
int var6 = 168;
int var7 = 300;
arg0.method_25294(var4, var5, (var4 + var6), (var5 + var7), -15855596);
this.outline(arg0, var4, var5, (var4 + var6), (var5 + var7), -14276046);
arg0.method_25294(var4, var5, (var4 + var6), (var5 + 24), -15329251);
arg0.method_25294(var4, (var5 + 24), (var4 + var6), (var5 + 25), -14276046);
arg0.method_51433(this.field_22793, "SESSIONS", (var4 + 12), (var5 + 9), -1644565, false);
int var8 = (var5 + 32);
var var9 = this.sessions.snapshotCurrent(this.stats);
int var10 = (var4 + 10);
int var11 = (var6 - 20);
if (var9 == null) goto L543;
int var12 = 58;
if (arg1 < var10) goto L209;
if (arg1 >= (var10 + var11)) goto L209;
if (arg2 < var8) goto L209;
if (arg2 >= (var8 + 44)) goto L209;
var stack0 = 1;
goto L210;
L209:
stack0 = 0;
L210:
int var13 = stack0;
stack0 = arg0;
var stack1 = var10;
var stack2 = var8;
var stack3 = (var10 + var11);
var stack4 = (var8 + var12);
if (var13 == 0) goto L238;
var stack5 = -15000028;
goto L241;
L238:
stack5 = -15329251;
L241:
stack0.method_25294(stack1, stack2, stack3, stack4, stack5);
stack0 = this;
stack1 = arg0;
stack2 = var10;
stack3 = var8;
stack4 = (var10 + var11);
stack5 = (var8 + var12);
if (var13 == 0) goto L271;
var stack6 = -11870592;
goto L273;
L271:
stack6 = -14276046;
L273:
stack0.outline(stack1, stack2, stack3, stack4, stack5, stack6);
arg0.method_25294(var10, var8, (var10 + 2), (var8 + var12), -11870592);
arg0.method_51433(this.field_22793, var9.label(), (var10 + 8), (var8 + 5), -1644565, false);
var var14 = indy.makeConcatWithConstants(this.formatDuration((System.currentTimeMillis() - var9.startedAt())));
arg0.method_51433(this.field_22793, var14, (var10 + 8), (var8 + 17), -11709599, false);
var var15 = AmountFormat.signed(var9.net());
arg0.method_51433(this.field_22793, var15, (var10 + 8), (var8 + 30), Theme.color(var9.net()), false);
var var16 = indy.makeConcatWithConstants(var9.inCount(), var9.outCount());
int var17 = this.field_22793.method_1727(var16);
arg0.method_51433(this.field_22793, var16, (((var10 + var11) - 8) - var17), (var8 + 30), -8748911, false);
stack2 = new int[4];
stack2[0] = var10;
stack2[1] = var8;
stack2[2] = (var10 + var11);
stack2[3] = (var8 + 44);
this.hitboxes[TrackerScreen.HitId.CURRENT_SESSION_DETAIL.ordinal()] = stack2;
this.button(arg0, "end session", var10, (var8 + 44), var11, 12, arg1, arg2, TrackerScreen.HitId.END_SESSION, -1096636);
var8 = (var8 + (var12 + 8));
goto L677;
L543:
var12 = 44;
arg0.method_25294(var10, var8, (var10 + var11), (var8 + var12), -15329251);
this.outline(arg0, var10, var8, (var10 + var11), (var8 + var12), -14276046);
var13 = "no active session";
var14 = this.field_22793.method_1727(var13);
arg0.method_51433(this.field_22793, var13, (var10 + ((var11 - var14) / 2)), (var8 + 8), -11709599, false);
this.button(arg0, "start session", (var10 + 6), (var8 + 24), (var11 - 12), 14, arg1, arg2, TrackerScreen.HitId.NEW_SESSION, -11870592);
var8 = (var8 + (var12 + 8));
L677:
if (var9 == null) goto L709;
this.button(arg0, "new session", var10, var8, var11, 14, arg1, arg2, TrackerScreen.HitId.NEW_SESSION, -13927425);
var8 += 20;
L709:
arg0.method_51433(this.field_22793, "PAST", (var4 + 12), var8, -11709599, false);
var8 += 12;
var12 = var8;
var13 = ((var5 + var7) - 8);
var14 = (var13 - var12);
this.pastSessionHits.clear();
this.pastSessionRefs.clear();
this.pastDeleteHits.clear();
this.pastDeleteRefs.clear();
var15 = this.sessions.past();
if (!var15.isEmpty()) goto L858;
var16 = "nothing yet";
var17 = this.field_22793.method_1727(var16);
arg0.method_51433(this.field_22793, var16, (var4 + ((var6 - var17) / 2)), (var12 + 6), -11709599, false);
goto L1512;
L858:
arg0.method_44379((var4 + 1), var12, ((var4 + var6) - 1), var13);
var16 = (var14 / 22);
var17 = Math.max(0, Math.min(this.sessionScroll, (var15.size() - var16)));
int var18 = Math.min((var16 + 1), (var15.size() - var17));
int var19 = 0;
L929:
if (var19 >= var18) goto L1408;
var var20 = ((Session) var15.get((var17 + var19)));
int var21 = (var12 + (var19 * 22));
int var22 = ((var4 + var6) - 16);
int var23 = (var21 - 1);
int var24 = 10;
int var25 = 10;
if (arg1 < var22) goto L1021;
if (arg1 >= (var22 + var24)) goto L1021;
if (arg2 < var23) goto L1021;
if (arg2 >= (var23 + var25)) goto L1021;
stack0 = 1;
goto L1022;
L1021:
stack0 = 0;
L1022:
int var26 = stack0;
if (var26 != 0) goto L1071;
if (arg1 < (var4 + 4)) goto L1071;
if (arg1 >= ((var4 + var6) - 4)) goto L1071;
if (arg2 < (var21 - 2)) goto L1071;
if (arg2 >= ((var21 + 22) - 2)) goto L1071;
stack0 = 1;
goto L1072;
L1071:
stack0 = 0;
L1072:
int var27 = stack0;
if (var27 == 0) goto L1108;
arg0.method_25294((var4 + 4), (var21 - 2), ((var4 + var6) - 4), ((var21 + 22) - 2), 419430399);
L1108:
arg0.method_51433(this.field_22793, TrackerScreen.DATE_FMT.format(Instant.ofEpochMilli(var20.startedAt())), (var4 + 10), var21, -11709599, false);
var var28 = AmountFormat.signed(var20.net());
int var29 = this.field_22793.method_1727(var28);
arg0.method_51433(this.field_22793, var28, (((var4 + var6) - 22) - var29), var21, Theme.color(var20.net()), false);
var var30 = indy.makeConcatWithConstants(var20.inCount(), var20.outCount(), this.formatDuration(var20.durationMs()));
arg0.method_51433(this.field_22793, var30, (var4 + 10), (var21 + 10), -8748911, false);
stack0 = arg0;
stack1 = this.field_22793;
stack2 = "x";
stack3 = (var22 + 2);
stack4 = (var23 + 1);
if (var26 == 0) goto L1271;
stack5 = -1096636;
goto L1274;
L1271:
stack5 = -11709599;
L1274:
stack0.method_51433(stack1, stack2, stack3, stack4, stack5, false);
stack1 = new int[4];
stack1[0] = (var4 + 4);
stack1[1] = (var21 - 2);
stack1[2] = ((var4 + var6) - 4);
stack1[3] = ((var21 + 22) - 2);
this.pastSessionHits.add(stack1);
this.pastSessionRefs.add(var20);
stack1 = new int[4];
stack1[0] = (var22 - 2);
stack1[1] = (var23 - 2);
stack1[2] = ((var22 + var24) + 2);
stack1[3] = ((var23 + var25) + 2);
this.pastDeleteHits.add(stack1);
this.pastDeleteRefs.add(Long.valueOf(var20.id()));
var19 += 1;
goto L929;
L1408:
arg0.method_44380();
if (var15.size() <= var16) goto L1512;
var19 = ((var4 + var6) - 3);
var20 = var12;
var21 = var14;
var22 = Math.max(10, ((var21 * var16) / var15.size()));
var23 = (((var21 - var22) * var17) / Math.max(1, (var15.size() - var16)));
arg0.method_25294(var19, (var20 + var23), (var19 + 2), ((var20 + var23) + var22), -8748911);
L1512:
return;
}
private void drawVerifyPanel(class_332 arg0, int arg1, int arg2) {
int var4 = this.verifyX;
int var5 = this.py;
int var6 = 168;
int var7 = 300;
arg0.method_25294(var4, var5, (var4 + var6), (var5 + var7), -15855596);
this.outline(arg0, var4, var5, (var4 + var6), (var5 + var7), -14276046);
arg0.method_25294(var4, var5, (var4 + var6), (var5 + 24), -15329251);
arg0.method_25294(var4, (var5 + 24), (var4 + var6), (var5 + 25), -14276046);
arg0.method_51433(this.field_22793, "SETTINGS", (var4 + 12), (var5 + 9), -1644565, false);
int var8 = (var4 + 12);
int var9 = (var6 - 24);
int var10 = (var5 + 32);
arg0.method_51433(this.field_22793, "verify large payments", var8, var10, -11709599, false);
var10 += 12;
this.toggle(arg0, "enabled", this.config.verifyLargePayments(), var8, var10, arg1, arg2, TrackerScreen.HitId.VERIFY_ENABLE);
var10 += 18;
int var11 = 20;
arg0.method_25294(var8, var10, (var8 + var9), (var10 + var11), -15329251);
this.outline(arg0, var8, var10, (var8 + var9), (var10 + var11), -14276046);
var var12 = AmountFormat.pretty(this.config.largePaymentThreshold());
int var13 = this.field_22793.method_1727(var12);
Objects.requireNonNull(this.field_22793);
arg0.method_51433(this.field_22793, var12, (var8 + ((var9 - var13) / 2)), (var10 + ((var11 - 9) / 2)), -1644565, false);
var10 = (var10 + (var11 + 4));
int var14 = 14;
int var15 = ((var9 - 6) / 2);
this.button(arg0, "-", var8, var10, var15, var14, arg1, arg2, TrackerScreen.HitId.THRESHOLD_DOWN, -8748911);
this.button(arg0, "+", ((var8 + var15) + 6), var10, var15, var14, arg1, arg2, TrackerScreen.HitId.THRESHOLD_UP, -8748911);
var10 = (var10 + (var14 + 10));
arg0.method_25294((var4 + 12), var10, ((var4 + var6) - 12), (var10 + 1), -14736855);
var10 += 8;
arg0.method_51433(this.field_22793, "rakeback", var8, var10, -11709599, false);
var10 += 12;
this.toggle(arg0, "enabled", this.config.rakebackEnabled(), var8, var10, arg1, arg2, TrackerScreen.HitId.RAKEBACK_ENABLE);
var10 += 18;
arg0.method_25294(var8, var10, (var8 + var9), (var10 + var11), -15329251);
this.outline(arg0, var8, var10, (var8 + var9), (var10 + var11), -14276046);
var var16 = this.formatPct(this.config.rakebackPct());
int var17 = this.field_22793.method_1727(var16);
Objects.requireNonNull(this.field_22793);
arg0.method_51433(this.field_22793, var16, (var8 + ((var9 - var17) / 2)), (var10 + ((var11 - 9) / 2)), -1644565, false);
var10 = (var10 + (var11 + 4));
this.button(arg0, "-", var8, var10, var15, var14, arg1, arg2, TrackerScreen.HitId.RATE_DOWN, -8748911);
this.button(arg0, "+", ((var8 + var15) + 6), var10, var15, var14, arg1, arg2, TrackerScreen.HitId.RATE_UP, -8748911);
var10 = (var10 + (var14 + 4));
this.button(arg0, "open list", var8, var10, var9, 16, arg1, arg2, TrackerScreen.HitId.OPEN_RAKEBACK, -13927425);
return;
}
private String formatPct(double arg0) {
if (Double.compare(arg0, Math.floor(arg0)) != 0) goto L27;
var stack1 = new Object[1];
stack1[0] = Double.valueOf(arg0);
return String.format("%.0f%%", stack1);
L27:
stack1 = new Object[1];
stack1[0] = Double.valueOf(arg0);
return String.format("%.1f%%", stack1);
}
private String anchorLabel() {
switch (TrackerScreen$1.$SwitchMap$dev$mishka$gamblerplus$client$Config$HudAnchor[this.config.hudAnchor().ordinal()]) {
case 1: goto L50;
case 2: goto L56;
case 3: goto L62;
default: goto L40;
}
L40:
throw new MatchException(null, null);
L50:
var stack0 = "left";
goto L65;
L56:
stack0 = "center";
goto L65;
L62:
stack0 = "right";
L65:
return stack0;
}
private String formatDuration(long arg0) {
long var3 = (arg0 / 1000L);
long var5 = (var3 / 60L);
long var7 = (var5 / 60L);
if (Long.compare(var7, 0L) <= 0) goto L42;
return indy.makeConcatWithConstants(var7, (var5 % 60L));
L42:
if (Long.compare(var5, 0L) <= 0) goto L62;
return indy.makeConcatWithConstants(var5, (var3 % 60L));
L62:
return indy.makeConcatWithConstants(var3);
}
private int toggle(class_332 arg0, String arg1, boolean arg2, int arg3, int arg4, int arg5, int arg6, TrackerScreen.HitId arg7) {
int var9 = 28;
int var10 = 14;
int var11 = (var10 / 2);
int var12 = this.field_22793.method_1727(arg1);
int var13 = ((var9 + 6) + var12);
int var14 = (var10 + 2);
float var15 = this.animPos(arg7, arg2);
if (arg5 < arg3) goto L87;
if (arg5 >= (arg3 + var13)) goto L87;
if (arg6 < arg4) goto L87;
if (arg6 >= (arg4 + var14)) goto L87;
var stack0 = 1;
goto L88;
L87:
stack0 = 0;
L88:
int var16 = stack0;
if (var16 == 0) goto L100;
stack0 = -14276046;
goto L103;
L100:
stack0 = -14671061;
L103:
int var17 = stack0;
int var18 = Theme.lerpColor(-12959926, -11870592, var15);
this.fillPill(arg0, arg3, arg4, var9, var10, var17);
int var19 = 1;
int var20 = (var11 - var19);
int var21 = ((arg3 + var11) + Math.round((var15 * ((float) (var9 - var10)))));
int var22 = (arg4 + var11);
this.fillCircle(arg0, var21, var22, var20, var18);
Objects.requireNonNull(this.field_22793);
int var23 = ((arg4 + ((var10 - 9) / 2)) + 1);
stack0 = arg0;
var stack1 = this.field_22793;
var stack2 = arg1;
var stack3 = ((arg3 + var9) + 6);
var stack4 = var23;
if (arg2 == 0) goto L231;
var stack5 = -1644565;
goto L234;
L231:
stack5 = -8748911;
L234:
stack0.method_51433(stack1, stack2, stack3, stack4, stack5, false);
stack2 = new int[4];
stack2[0] = arg3;
stack2[1] = arg4;
stack2[2] = (arg3 + var13);
stack2[3] = (arg4 + var14);
this.hitboxes[arg7.ordinal()] = stack2;
return (arg3 + var13);
}
private float animPos(TrackerScreen.HitId arg0, boolean arg1) {
long var3 = System.currentTimeMillis();
var var5 = ((TrackerScreen.ToggleAnim) this.anims.get(arg0));
if (var5 != null) goto L72;
var5 = new TrackerScreen.ToggleAnim();
var5.state = arg1;
var stack0 = var5;
if (arg1 == 0) goto L47;
var stack1 = 1.0F;
goto L48;
L47:
stack1 = 0.0F;
L48:
stack0.posAtChange = stack1;
var5.changedAt = (var3 - 999999L);
this.anims.put(arg0, var5);
L72:
if (!var5.state) goto L84;
stack0 = 1.0F;
goto L85;
L84:
stack0 = 0.0F;
L85:
float var6 = stack0;
float var7 = Math.min(1.0F, (((float) (var3 - var5.changedAt)) / 180.0));
float var8 = (var5.posAtChange + ((var6 - var5.posAtChange) * Theme.easeOutCubic(var7)));
if (var5.state == arg1) goto L176;
var5.posAtChange = var8;
var5.state = arg1;
var5.changedAt = var3;
if (arg1 == 0) goto L163;
stack0 = 1.0F;
goto L164;
L163:
stack0 = 0.0F;
L164:
var6 = stack0;
var7 = 0.0F;
var8 = var5.posAtChange;
L176:
return var8;
}
private void fillPill(class_332 arg0, int arg1, int arg2, int arg3, int arg4, int arg5) {
int var7 = (arg4 / 2);
arg0.method_25294((arg1 + var7), arg2, ((arg1 + arg3) - var7), (arg2 + arg4), arg5);
this.fillCircle(arg0, (arg1 + var7), (arg2 + var7), var7, arg5);
this.fillCircle(arg0, ((arg1 + arg3) - var7), (arg2 + var7), var7, arg5);
return;
}
private void fillCircle(class_332 arg0, int arg1, int arg2, int arg3, int arg4) {
int var6 = (-arg3);
L5:
if (var6 >= arg3) goto L77;
double var7 = (((double) var6) + 0.5);
int var9 = ((int) Math.round(Math.sqrt((((double) (arg3 * arg3)) - (var7 * var7)))));
if (var9 <= 0) goto L71;
arg0.method_25294((arg1 - var9), (arg2 + var6), (arg1 + var9), ((arg2 + var6) + 1), arg4);
L71:
var6 += 1;
goto L5;
L77:
return;
}
private int pill(class_332 arg0, String arg1, String arg2, int arg3, int arg4, int arg5, int arg6, TrackerScreen.HitId arg7) {
var var9 = indy.makeConcatWithConstants(arg1, arg2);
int var10 = this.field_22793.method_1727(var9);
int var11 = (var10 + 14);
int var12 = 14;
if (arg5 < arg3) goto L69;
if (arg5 >= (arg3 + var11)) goto L69;
if (arg6 < arg4) goto L69;
if (arg6 >= (arg4 + var12)) goto L69;
var stack0 = 1;
goto L70;
L69:
stack0 = 0;
L70:
int var13 = stack0;
stack0 = arg0;
var stack1 = arg3;
var stack2 = arg4;
var stack3 = (arg3 + var11);
var stack4 = (arg4 + var12);
if (var13 == 0) goto L98;
var stack5 = -14671061;
goto L101;
L98:
stack5 = -15329251;
L101:
stack0.method_25294(stack1, stack2, stack3, stack4, stack5);
this.outline(arg0, arg3, arg4, (arg3 + var11), (arg4 + var12), -14276046);
arg0.method_51433(this.field_22793, indy.makeConcatWithConstants(arg1), (arg3 + 7), (arg4 + 3), -11709599, false);
int var14 = this.field_22793.method_1727(indy.makeConcatWithConstants(arg1));
arg0.method_51433(this.field_22793, arg2, ((arg3 + 7) + var14), (arg4 + 3), -1644565, false);
stack2 = new int[4];
stack2[0] = arg3;
stack2[1] = arg4;
stack2[2] = (arg3 + var11);
stack2[3] = (arg4 + var12);
this.hitboxes[arg7.ordinal()] = stack2;
return (arg3 + var11);
}
private void button(class_332 arg0, String arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, TrackerScreen.HitId arg8, int arg9) {
if (arg6 < arg2) goto L36;
if (arg6 >= (arg2 + arg4)) goto L36;
if (arg7 < arg3) goto L36;
if (arg7 >= (arg3 + arg5)) goto L36;
var stack0 = 1;
goto L37;
L36:
stack0 = 0;
L37:
int var11 = stack0;
stack0 = arg0;
var stack1 = arg2;
var stack2 = arg3;
var stack3 = (arg2 + arg4);
var stack4 = (arg3 + arg5);
if (var11 == 0) goto L63;
var stack5 = -15000028;
goto L66;
L63:
stack5 = -15329251;
L66:
stack0.method_25294(stack1, stack2, stack3, stack4, stack5);
stack0 = this;
stack1 = arg0;
stack2 = arg2;
stack3 = arg3;
stack4 = (arg2 + arg4);
stack5 = (arg3 + arg5);
if (var11 == 0) goto L93;
var stack6 = arg9;
goto L95;
L93:
stack6 = -14276046;
L95:
stack0.outline(stack1, stack2, stack3, stack4, stack5, stack6);
int var12 = this.field_22793.method_1727(arg1);
Objects.requireNonNull(this.field_22793);
stack0 = arg0;
stack1 = this.field_22793;
stack2 = arg1;
stack3 = (arg2 + ((arg4 - var12) / 2));
stack4 = (arg3 + ((arg5 - 9) / 2));
if (var11 == 0) goto L151;
stack5 = arg9;
goto L154;
L151:
stack5 = -1644565;
L154:
stack0.method_51433(stack1, stack2, stack3, stack4, stack5, false);
stack2 = new int[4];
stack2[0] = arg2;
stack2[1] = arg3;
stack2[2] = (arg2 + arg4);
stack2[3] = (arg3 + arg5);
this.hitboxes[arg8.ordinal()] = stack2;
return;
}
private void drawIcon(class_332 arg0, int arg1, int arg2, int arg3) {
float var5 = (((float) arg3) / 500.0);
var var6 = arg0.method_51448();
var6.pushMatrix();
var6.translate(((float) arg1), ((float) arg2));
var6.scale(var5, var5);
arg0.method_25291(class_10799.field_56883, TrackerScreen.ICON, 0, 0, 0.0F, 0.0F, 500, 500, 500, 500, -1);
var6.popMatrix();
return;
}
private void outline(class_332 arg0, int arg1, int arg2, int arg3, int arg4, int arg5) {
arg0.method_25294(arg1, arg2, arg3, (arg2 + 1), arg5);
arg0.method_25294(arg1, (arg4 - 1), arg3, arg4, arg5);
arg0.method_25294(arg1, arg2, (arg1 + 1), arg4, arg5);
arg0.method_25294((arg3 - 1), arg2, arg3, arg4, arg5);
return;
}
private void clearHitboxes() {
int var1 = 0;
L2:
if (var1 >= this.hitboxes.length) goto L24;
this.hitboxes[var1] = null;
var1 += 1;
goto L2;
L24:
return;
}
public boolean method_25402(class_11909 arg0, boolean arg1) {
int var3 = Math.round((((float) arg0.comp_4798()) / this.uiScale));
int var4 = Math.round((((float) arg0.comp_4799()) / this.uiScale));
int var5 = 0;
L32:
if (var5 >= this.hitboxes.length) goto L416;
var var6 = this.hitboxes[var5];
if (var6 != null) goto L59;
goto L410;
L59:
if (var3 < var6[0]) goto L410;
if (var3 >= var6[2]) goto L410;
if (var4 < var6[1]) goto L410;
if (var4 >= var6[3]) goto L410;
switch (TrackerScreen.HitId.values()[var5].ordinal()) {
case 0: goto L184;
case 1: goto L194;
case 2: goto L204;
case 3: goto L214;
case 4: goto L224;
case 5: goto L234;
case 6: goto L248;
case 7: goto L388;
case 8: goto L262;
case 9: goto L272;
case 10: goto L283;
case 11: goto L294;
case 12: goto L313;
case 13: goto L332;
case 14: goto L342;
case 15: goto L353;
case 16: goto L364;
default: goto L408;
}
L184:
this.config.toggleGamblingMode();
goto L408;
L194:
this.config.toggleHudBar();
goto L408;
L204:
this.config.toggleShowToast();
goto L408;
L214:
this.config.cycleHudDisplay();
goto L408;
L224:
this.config.cycleHudAnchor();
goto L408;
L234:
this.sessions.startNew(this.stats);
goto L408;
L248:
this.sessions.endCurrent(this.stats);
goto L408;
L262:
this.config.toggleVerify();
goto L408;
L272:
this.config.stepThreshold(-1);
goto L408;
L283:
this.config.stepThreshold(1);
goto L408;
L294:
this.config.setStreakThreshold((this.config.streakThreshold() - 1));
goto L408;
L313:
this.config.setStreakThreshold((this.config.streakThreshold() + 1));
goto L408;
L332:
this.config.toggleRakeback();
goto L408;
L342:
this.config.stepRakebackPct(-1);
goto L408;
L353:
this.config.stepRakebackPct(1);
goto L408;
L364:
class_310.method_1551().method_29970(new RakebackScreen(this.config, this.sessions));
goto L408;
L388:
class_310.method_1551().method_29970(new SessionDetailScreen(indy.get(this), true));
L408:
return true;
L410:
var5 += 1;
goto L32;
L416:
var5 = 0;
L419:
if (var5 >= this.pastDeleteHits.size()) goto L516;
var6 = ((int[]) this.pastDeleteHits.get(var5));
if (var3 < var6[0]) goto L510;
if (var3 >= var6[2]) goto L510;
if (var4 < var6[1]) goto L510;
if (var4 >= var6[3]) goto L510;
this.sessions.deletePast(((Long) this.pastDeleteRefs.get(var5)).longValue());
return true;
L510:
var5 += 1;
goto L419;
L516:
var5 = 0;
L519:
if (var5 >= this.pastSessionHits.size()) goto L628;
var6 = ((int[]) this.pastSessionHits.get(var5));
if (var3 < var6[0]) goto L622;
if (var3 >= var6[2]) goto L622;
if (var4 < var6[1]) goto L622;
if (var4 >= var6[3]) goto L622;
var var7 = ((Session) this.pastSessionRefs.get(var5));
class_310.method_1551().method_29970(new SessionDetailScreen(indy.get(var7), false));
return true;
L622:
var5 += 1;
goto L519;
L628:
return super.method_25402(arg0, arg1);
}
public boolean method_25401(double arg0, double arg1, double arg2, double arg3) {
int var9 = Math.round((((float) arg0) / this.uiScale));
int var10 = Math.round((((float) arg1) / this.uiScale));
if (Double.compare(arg3, 0.0) >= 0) goto L35;
var stack0 = 1;
goto L36;
L35:
stack0 = -1;
L36:
int var11 = stack0;
if (!this.sidePanelsFit) goto L84;
if (var9 < this.sessionsX) goto L84;
if (var9 >= (this.sessionsX + 168)) goto L84;
this.sessionScroll = Math.max(0, (this.sessionScroll + var11));
return true;
L84:
stack0 = this;
var stack1 = 0;
var stack2 = this.scroll;
if (Double.compare(arg3, 0.0) >= 0) goto L101;
var stack3 = -1;
goto L102;
L101:
stack3 = 1;
L102:
stack0.scroll = Math.max(stack1, (stack2 + stack3));
return true;
}
private static Session lambda$mouseClicked$1(Session arg0) {
return arg0;
}
private Session lambda$mouseClicked$0() {
return this.sessions.snapshotCurrent(this.stats);
}
static {
TrackerScreen.ICON = class_2960.method_60655("gamblerplus", "textures/gui/donut.png");
TrackerScreen.TIME_FMT = DateTimeFormatter.ofPattern("HH:mm:ss").withZone(ZoneId.systemDefault());
TrackerScreen.DATE_FMT = DateTimeFormatter.ofPattern("MMM d HH:mm").withZone(ZoneId.systemDefault());
return;
}
}
Methods declared
public void <init>(dev.mishka.gamblerplus.client.Config, dev.mishka.gamblerplus.client.Stats) protected void method_25426() public boolean method_25421() public void method_25394(net.minecraft.class_332, int, int, float) private void drawHeader(net.minecraft.class_332) private void drawSummary(net.minecraft.class_332, int, int) private void subLine(net.minecraft.class_332, int, int, java.lang.String, java.lang.String, int) private void drawTriggerControl(net.minecraft.class_332, int, int, int, int) private void miniButton(net.minecraft.class_332, java.lang.String, int, int, int, int, int, int, dev.mishka.gamblerplus.client.TrackerScreen$HitId, boolean) private void drawLog(net.minecraft.class_332) private void drawFooter(net.minecraft.class_332, int, int) private void drawSessionsPanel(net.minecraft.class_332, int, int) private void drawVerifyPanel(net.minecraft.class_332, int, int) private java.lang.String formatPct(double) private java.lang.String anchorLabel() private java.lang.String formatDuration(long) private int toggle(net.minecraft.class_332, java.lang.String, boolean, int, int, int, int, dev.mishka.gamblerplus.client.TrackerScreen$HitId) private float animPos(dev.mishka.gamblerplus.client.TrackerScreen$HitId, boolean) private void fillPill(net.minecraft.class_332, int, int, int, int, int) private void fillCircle(net.minecraft.class_332, int, int, int, int) private int pill(net.minecraft.class_332, java.lang.String, java.lang.String, int, int, int, int, dev.mishka.gamblerplus.client.TrackerScreen$HitId) private void button(net.minecraft.class_332, java.lang.String, int, int, int, int, int, int, dev.mishka.gamblerplus.client.TrackerScreen$HitId, int) private void drawIcon(net.minecraft.class_332, int, int, int) private void outline(net.minecraft.class_332, int, int, int, int, int) private void clearHitboxes() public boolean method_25402(net.minecraft.class_11909, boolean) public boolean method_25401(double, double, double, double) private static synthetic dev.mishka.gamblerplus.client.Session lambda$mouseClicked$1(dev.mishka.gamblerplus.client.Session) private synthetic dev.mishka.gamblerplus.client.Session lambda$mouseClicked$0() static void <clinit>()
Fields
private static final net.minecraft.class_2960 ICON private static final int PANEL_W private static final int PANEL_H private static final int SIDE_W private static final int SIDE_GAP private static final int ROW_H private static final int SESSION_ROW_H private static final int ICON_SIZE private static final long ANIM_MS private static final java.time.format.DateTimeFormatter TIME_FMT private static final java.time.format.DateTimeFormatter DATE_FMT private final dev.mishka.gamblerplus.client.Config config private final dev.mishka.gamblerplus.client.Stats stats private final dev.mishka.gamblerplus.client.SessionManager sessions private int px private int py private int sessionsX private int verifyX private boolean sidePanelsFit private int scroll private int sessionScroll private long openedAtMs private float uiScale private int virtualW private int virtualH private final java.util.EnumMap anims private final int[][] hitboxes private final java.util.List pastSessionHits private final java.util.List pastSessionRefs private final java.util.List pastDeleteHits private final java.util.List pastDeleteRefs
Calls out to
dev.mishka.gamblerplus.client.AmountFormat.pretty(long) : java.lang.String dev.mishka.gamblerplus.client.AmountFormat.signed(long) : java.lang.String dev.mishka.gamblerplus.client.Config.cycleHudAnchor() dev.mishka.gamblerplus.client.Config.cycleHudDisplay() dev.mishka.gamblerplus.client.Config.gamblingMode() : boolean dev.mishka.gamblerplus.client.Config.hudAnchor() : dev.mishka.gamblerplus.client.Config$HudAnchor dev.mishka.gamblerplus.client.Config.hudBar() : boolean dev.mishka.gamblerplus.client.Config.hudDisplay() : dev.mishka.gamblerplus.client.Config$HudDisplay dev.mishka.gamblerplus.client.Config.largePaymentThreshold() : long dev.mishka.gamblerplus.client.Config.rakebackEnabled() : boolean dev.mishka.gamblerplus.client.Config.rakebackPct() : double dev.mishka.gamblerplus.client.Config.setStreakThreshold(int) dev.mishka.gamblerplus.client.Config.showToast() : boolean dev.mishka.gamblerplus.client.Config.stepRakebackPct(int) dev.mishka.gamblerplus.client.Config.stepThreshold(int) dev.mishka.gamblerplus.client.Config.streakThreshold() : int dev.mishka.gamblerplus.client.Config.toggleGamblingMode() dev.mishka.gamblerplus.client.Config.toggleHudBar() dev.mishka.gamblerplus.client.Config.toggleRakeback() dev.mishka.gamblerplus.client.Config.toggleShowToast() dev.mishka.gamblerplus.client.Config.toggleVerify() dev.mishka.gamblerplus.client.Config.verifyLargePayments() : boolean dev.mishka.gamblerplus.client.Config$HudAnchor.ordinal() : int dev.mishka.gamblerplus.client.Config$HudDisplay.name() : java.lang.String dev.mishka.gamblerplus.client.SessionManager dev.mishka.gamblerplus.client.GamblerPlusClient.SESSIONS net.minecraft.class_304 dev.mishka.gamblerplus.client.Keybinds.openUi dev.mishka.gamblerplus.client.PaymentEvent.amount() : long dev.mishka.gamblerplus.client.PaymentEvent.incoming() : boolean dev.mishka.gamblerplus.client.PaymentEvent.player() : java.lang.String dev.mishka.gamblerplus.client.PaymentEvent.timestampMs() : long dev.mishka.gamblerplus.client.RakebackScreen.<init>(dev.mishka.gamblerplus.client.Config, dev.mishka.gamblerplus.client.SessionManager) dev.mishka.gamblerplus.client.Session.durationMs() : long dev.mishka.gamblerplus.client.Session.id() : long dev.mishka.gamblerplus.client.Session.inCount() : int dev.mishka.gamblerplus.client.Session.label() : java.lang.String dev.mishka.gamblerplus.client.Session.net() : long dev.mishka.gamblerplus.client.Session.outCount() : int dev.mishka.gamblerplus.client.Session.startedAt() : long dev.mishka.gamblerplus.client.SessionDetailScreen.<init>(java.util.function.Supplier, boolean) dev.mishka.gamblerplus.client.SessionManager.deletePast(long) : boolean dev.mishka.gamblerplus.client.SessionManager.endCurrent(dev.mishka.gamblerplus.client.Stats) dev.mishka.gamblerplus.client.SessionManager.past() : java.util.List dev.mishka.gamblerplus.client.SessionManager.snapshotCurrent(dev.mishka.gamblerplus.client.Stats) : dev.mishka.gamblerplus.client.Session dev.mishka.gamblerplus.client.SessionManager.startNew(dev.mishka.gamblerplus.client.Stats) dev.mishka.gamblerplus.client.Stats.allTimeIn() : long dev.mishka.gamblerplus.client.Stats.allTimeInCount() : int dev.mishka.gamblerplus.client.Stats.allTimeNet() : long dev.mishka.gamblerplus.client.Stats.allTimeOut() : long dev.mishka.gamblerplus.client.Stats.allTimeOutCount() : int dev.mishka.gamblerplus.client.Stats.longestLossStreak() : int dev.mishka.gamblerplus.client.Stats.longestWinStreak() : int dev.mishka.gamblerplus.client.Stats.lossStreak() : int dev.mishka.gamblerplus.client.Stats.sessionIn() : long dev.mishka.gamblerplus.client.Stats.sessionInCount() : int dev.mishka.gamblerplus.client.Stats.sessionNet() : long dev.mishka.gamblerplus.client.Stats.sessionOut() : long dev.mishka.gamblerplus.client.Stats.sessionOutCount() : int dev.mishka.gamblerplus.client.Stats.snapshot() : java.util.List dev.mishka.gamblerplus.client.Stats.winStreak() : int dev.mishka.gamblerplus.client.Theme.color(long) : int dev.mishka.gamblerplus.client.Theme.easeOutBack(float) : float dev.mishka.gamblerplus.client.Theme.easeOutCubic(float) : float dev.mishka.gamblerplus.client.Theme.lerpColor(int, int, float) : int dev.mishka.gamblerplus.client.Theme.smoothStep(float, float, float) : float java.time.format.DateTimeFormatter dev.mishka.gamblerplus.client.TrackerScreen.DATE_FMT net.minecraft.class_2960 dev.mishka.gamblerplus.client.TrackerScreen.ICON java.time.format.DateTimeFormatter dev.mishka.gamblerplus.client.TrackerScreen.TIME_FMT dev.mishka.gamblerplus.client.TrackerScreen.anchorLabel() : java.lang.String dev.mishka.gamblerplus.client.TrackerScreen.animPos(dev.mishka.gamblerplus.client.TrackerScreen$HitId, boolean) : float java.util.EnumMap dev.mishka.gamblerplus.client.TrackerScreen.anims dev.mishka.gamblerplus.client.TrackerScreen.button(net.minecraft.class_332, java.lang.String, int, int, int, int, int, int, dev.mishka.gamblerplus.client.TrackerScreen$HitId, int) dev.mishka.gamblerplus.client.TrackerScreen.clearHitboxes() dev.mishka.gamblerplus.client.Config dev.mishka.gamblerplus.client.TrackerScreen.config dev.mishka.gamblerplus.client.TrackerScreen.drawFooter(net.minecraft.class_332, int, int) dev.mishka.gamblerplus.client.TrackerScreen.drawHeader(net.minecraft.class_332) dev.mishka.gamblerplus.client.TrackerScreen.drawIcon(net.minecraft.class_332, int, int, int) dev.mishka.gamblerplus.client.TrackerScreen.drawLog(net.minecraft.class_332) dev.mishka.gamblerplus.client.TrackerScreen.drawSessionsPanel(net.minecraft.class_332, int, int) dev.mishka.gamblerplus.client.TrackerScreen.drawSummary(net.minecraft.class_332, int, int) dev.mishka.gamblerplus.client.TrackerScreen.drawTriggerControl(net.minecraft.class_332, int, int, int, int) dev.mishka.gamblerplus.client.TrackerScreen.drawVerifyPanel(net.minecraft.class_332, int, int) int dev.mishka.gamblerplus.client.TrackerScreen.field_22789 int dev.mishka.gamblerplus.client.TrackerScreen.field_22790 net.minecraft.class_327 dev.mishka.gamblerplus.client.TrackerScreen.field_22793 dev.mishka.gamblerplus.client.TrackerScreen.fillCircle(net.minecraft.class_332, int, int, int, int) dev.mishka.gamblerplus.client.TrackerScreen.fillPill(net.minecraft.class_332, int, int, int, int, int) dev.mishka.gamblerplus.client.TrackerScreen.formatDuration(long) : java.lang.String dev.mishka.gamblerplus.client.TrackerScreen.formatPct(double) : java.lang.String int[][] dev.mishka.gamblerplus.client.TrackerScreen.hitboxes dev.mishka.gamblerplus.client.TrackerScreen.lambda$mouseClicked$0() : dev.mishka.gamblerplus.client.Session dev.mishka.gamblerplus.client.TrackerScreen.lambda$mouseClicked$1(dev.mishka.gamblerplus.client.Session) : dev.mishka.gamblerplus.client.Session dev.mishka.gamblerplus.client.TrackerScreen.miniButton(net.minecraft.class_332, java.lang.String, int, int, int, int, int, int, dev.mishka.gamblerplus.client.TrackerScreen$HitId, boolean) long dev.mishka.gamblerplus.client.TrackerScreen.openedAtMs dev.mishka.gamblerplus.client.TrackerScreen.outline(net.minecraft.class_332, int, int, int, int, int) java.util.List dev.mishka.gamblerplus.client.TrackerScreen.pastDeleteHits java.util.List dev.mishka.gamblerplus.client.TrackerScreen.pastDeleteRefs java.util.List dev.mishka.gamblerplus.client.TrackerScreen.pastSessionHits java.util.List dev.mishka.gamblerplus.client.TrackerScreen.pastSessionRefs dev.mishka.gamblerplus.client.TrackerScreen.pill(net.minecraft.class_332, java.lang.String, java.lang.String, int, int, int, int, dev.mishka.gamblerplus.client.TrackerScreen$HitId) : int int dev.mishka.gamblerplus.client.TrackerScreen.px int dev.mishka.gamblerplus.client.TrackerScreen.py int dev.mishka.gamblerplus.client.TrackerScreen.scroll int dev.mishka.gamblerplus.client.TrackerScreen.sessionScroll dev.mishka.gamblerplus.client.SessionManager dev.mishka.gamblerplus.client.TrackerScreen.sessions int dev.mishka.gamblerplus.client.TrackerScreen.sessionsX boolean dev.mishka.gamblerplus.client.TrackerScreen.sidePanelsFit dev.mishka.gamblerplus.client.Stats dev.mishka.gamblerplus.client.TrackerScreen.stats dev.mishka.gamblerplus.client.TrackerScreen.subLine(net.minecraft.class_332, int, int, java.lang.String, java.lang.String, int) dev.mishka.gamblerplus.client.TrackerScreen.toggle(net.minecraft.class_332, java.lang.String, boolean, int, int, int, int, dev.mishka.gamblerplus.client.TrackerScreen$HitId) : int float dev.mishka.gamblerplus.client.TrackerScreen.uiScale int dev.mishka.gamblerplus.client.TrackerScreen.verifyX int dev.mishka.gamblerplus.client.TrackerScreen.virtualH int dev.mishka.gamblerplus.client.TrackerScreen.virtualW int[] dev.mishka.gamblerplus.client.TrackerScreen$1.$SwitchMap$dev$mishka$gamblerplus$client$Config$HudAnchor dev.mishka.gamblerplus.client.TrackerScreen$HitId dev.mishka.gamblerplus.client.TrackerScreen$HitId.ANCHOR dev.mishka.gamblerplus.client.TrackerScreen$HitId dev.mishka.gamblerplus.client.TrackerScreen$HitId.CURRENT_SESSION_DETAIL dev.mishka.gamblerplus.client.TrackerScreen$HitId dev.mishka.gamblerplus.client.TrackerScreen$HitId.DISPLAY dev.mishka.gamblerplus.client.TrackerScreen$HitId dev.mishka.gamblerplus.client.TrackerScreen$HitId.END_SESSION dev.mishka.gamblerplus.client.TrackerScreen$HitId dev.mishka.gamblerplus.client.TrackerScreen$HitId.GAMBLING dev.mishka.gamblerplus.client.TrackerScreen$HitId dev.mishka.gamblerplus.client.TrackerScreen$HitId.HUD dev.mishka.gamblerplus.client.TrackerScreen$HitId dev.mishka.gamblerplus.client.TrackerScreen$HitId.NEW_SESSION dev.mishka.gamblerplus.client.TrackerScreen$HitId dev.mishka.gamblerplus.client.TrackerScreen$HitId.OPEN_RAKEBACK dev.mishka.gamblerplus.client.TrackerScreen$HitId dev.mishka.gamblerplus.client.TrackerScreen$HitId.RAKEBACK_ENABLE dev.mishka.gamblerplus.client.TrackerScreen$HitId dev.mishka.gamblerplus.client.TrackerScreen$HitId.RATE_DOWN dev.mishka.gamblerplus.client.TrackerScreen$HitId dev.mishka.gamblerplus.client.TrackerScreen$HitId.RATE_UP dev.mishka.gamblerplus.client.TrackerScreen$HitId dev.mishka.gamblerplus.client.TrackerScreen$HitId.STREAK_DOWN dev.mishka.gamblerplus.client.TrackerScreen$HitId dev.mishka.gamblerplus.client.TrackerScreen$HitId.STREAK_UP dev.mishka.gamblerplus.client.TrackerScreen$HitId dev.mishka.gamblerplus.client.TrackerScreen$HitId.THRESHOLD_DOWN dev.mishka.gamblerplus.client.TrackerScreen$HitId dev.mishka.gamblerplus.client.TrackerScreen$HitId.THRESHOLD_UP dev.mishka.gamblerplus.client.TrackerScreen$HitId dev.mishka.gamblerplus.client.TrackerScreen$HitId.TOAST dev.mishka.gamblerplus.client.TrackerScreen$HitId dev.mishka.gamblerplus.client.TrackerScreen$HitId.VERIFY_ENABLE dev.mishka.gamblerplus.client.TrackerScreen$HitId.ordinal() : int dev.mishka.gamblerplus.client.TrackerScreen$HitId.values() : dev.mishka.gamblerplus.client.TrackerScreen$HitId[] dev.mishka.gamblerplus.client.TrackerScreen$ToggleAnim.<init>() long dev.mishka.gamblerplus.client.TrackerScreen$ToggleAnim.changedAt float dev.mishka.gamblerplus.client.TrackerScreen$ToggleAnim.posAtChange boolean dev.mishka.gamblerplus.client.TrackerScreen$ToggleAnim.state java.lang.Double.valueOf(double) : java.lang.Double java.lang.Long.longValue() : long java.lang.Long.valueOf(long) : java.lang.Long java.lang.MatchException.<init>(java.lang.String, java.lang.Throwable) java.lang.Math.floor(double) : double java.lang.Math.max(int, int) : int java.lang.Math.min(float, float) : float java.lang.Math.min(int, int) : int java.lang.Math.round(float) : int java.lang.Math.round(double) : long java.lang.Math.sqrt(double) : double java.lang.String.format(java.lang.String, java.lang.Object[]) : java.lang.String java.lang.String.toLowerCase() : java.lang.String java.lang.String.valueOf(int) : java.lang.String java.lang.System.currentTimeMillis() : long java.lang.invoke.LambdaMetafactory.metafactory(java.lang.invoke.MethodHandles$Lookup, java.lang.String, java.lang.invoke.MethodType, java.lang.invoke.MethodType, java.lang.invoke.MethodHandle, java.lang.invoke.MethodType) : java.lang.invoke.CallSite java.lang.invoke.StringConcatFactory.makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup, java.lang.String, java.lang.invoke.MethodType, java.lang.String, java.lang.Object[]) : java.lang.invoke.CallSite java.time.Instant.ofEpochMilli(long) : java.time.Instant java.time.ZoneId.systemDefault() : java.time.ZoneId java.time.format.DateTimeFormatter.format(java.time.temporal.TemporalAccessor) : java.lang.String java.time.format.DateTimeFormatter.ofPattern(java.lang.String) : java.time.format.DateTimeFormatter java.time.format.DateTimeFormatter.withZone(java.time.ZoneId) : java.time.format.DateTimeFormatter java.util.ArrayList.<init>() java.util.EnumMap.<init>(java.lang.Class) java.util.EnumMap.get(java.lang.Object) : java.lang.Object java.util.EnumMap.put(java.lang.Enum, java.lang.Object) : java.lang.Object java.util.List.add(java.lang.Object) : boolean java.util.List.clear() java.util.List.get(int) : java.lang.Object java.util.List.isEmpty() : boolean java.util.List.size() : int java.util.Objects.requireNonNull(java.lang.Object) : java.lang.Object com.mojang.blaze3d.pipeline.RenderPipeline net.minecraft.class_10799.field_56883 net.minecraft.class_11909.comp_4798() : double net.minecraft.class_11909.comp_4799() : double net.minecraft.class_2561.getString() : java.lang.String net.minecraft.class_2561.method_43470(java.lang.String) : net.minecraft.class_5250 net.minecraft.class_2960.method_60655(java.lang.String, java.lang.String) : net.minecraft.class_2960 net.minecraft.class_304.method_16007() : net.minecraft.class_2561 net.minecraft.class_327 net.minecraft.class_310.field_1772 net.minecraft.class_310.method_1551() : net.minecraft.class_310 net.minecraft.class_310.method_29970(net.minecraft.class_437) net.minecraft.class_327.method_1727(java.lang.String) : int net.minecraft.class_332.method_25291(com.mojang.blaze3d.pipeline.RenderPipeline, net.minecraft.class_2960, int, int, float, float, int, int, int, int, int) net.minecraft.class_332.method_25294(int, int, int, int, int) net.minecraft.class_332.method_44379(int, int, int, int) net.minecraft.class_332.method_44380() net.minecraft.class_332.method_51433(net.minecraft.class_327, java.lang.String, int, int, int, boolean) net.minecraft.class_332.method_51448() : org.joml.Matrix3x2fStack net.minecraft.class_437.<init>(net.minecraft.class_310, net.minecraft.class_327, net.minecraft.class_2561) net.minecraft.class_437.method_25402(net.minecraft.class_11909, boolean) : boolean org.joml.Matrix3x2fStack.popMatrix() : org.joml.Matrix3x2fStack org.joml.Matrix3x2fStack.pushMatrix() : org.joml.Matrix3x2fStack org.joml.Matrix3x2fStack.scale(float, float) : org.joml.Matrix3x2f org.joml.Matrix3x2fStack.translate(float, float) : org.joml.Matrix3x2f
Text compiled into the class
Gambler Plus made by q3c on dc Gambler Gambler Plus TRACKING PAUSED SESSION ALL TIME STREAKS L / W in out trades + worst losses best wins trigger - + RECENT PAYMENTS waiting for the next payment... tracking paused - turn it on to record payments IN OUT display anchor [] toggle window tracking hud bar toast SESSIONS for W / L end session no active session start session new session PAST nothing yet W/L - x SETTINGS verify large payments enabled rakeback open list %.0f%% %.1f%% left center right h m m s s : : : gamblerplus textures/gui/donut.png HH:mm:ss MMM d HH:mm