Skip to content

Commit 36f3268

Browse files
committed
Add a getter to Tabs to get Tab instances by class
Like `Systems#get` and `Modules#get`
1 parent a5a5ff2 commit 36f3268

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

src/main/java/meteordevelopment/meteorclient/commands/commands/SettingCommand.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import meteordevelopment.meteorclient.gui.WidgetScreen;
1515
import meteordevelopment.meteorclient.gui.tabs.TabScreen;
1616
import meteordevelopment.meteorclient.gui.tabs.Tabs;
17+
import meteordevelopment.meteorclient.gui.tabs.builtin.HudTab;
1718
import meteordevelopment.meteorclient.settings.Setting;
1819
import meteordevelopment.meteorclient.systems.modules.Module;
1920
import meteordevelopment.meteorclient.utils.Utils;
@@ -29,7 +30,7 @@ public void build(LiteralArgumentBuilder<CommandSource> builder) {
2930
builder.then(
3031
literal("hud")
3132
.executes(context -> {
32-
TabScreen screen = Tabs.get().get(3).createScreen(GuiThemes.get());
33+
TabScreen screen = Tabs.get(HudTab.class).createScreen(GuiThemes.get());
3334
screen.parent = null;
3435

3536
Utils.screenToOpen = screen;

src/main/java/meteordevelopment/meteorclient/gui/tabs/Tabs.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
package meteordevelopment.meteorclient.gui.tabs;
77

8+
import it.unimi.dsi.fastutil.objects.Reference2ReferenceOpenHashMap;
89
import meteordevelopment.meteorclient.gui.tabs.builtin.*;
910
import meteordevelopment.meteorclient.pathing.PathManagers;
1011
import meteordevelopment.meteorclient.utils.PreInit;
@@ -14,6 +15,7 @@
1415

1516
public class Tabs {
1617
private static final List<Tab> tabs = new ArrayList<>();
18+
private static final Reference2ReferenceOpenHashMap<Class<? extends Tab>, Tab> tabInstances = new Reference2ReferenceOpenHashMap<>();
1719

1820
private Tabs() {
1921
}
@@ -35,9 +37,14 @@ public static void init() {
3537

3638
public static void add(Tab tab) {
3739
tabs.add(tab);
40+
tabInstances.put(tab.getClass(), tab);
3841
}
3942

4043
public static List<Tab> get() {
4144
return tabs;
4245
}
46+
47+
public static Tab get(Class<? extends Tab> klass) {
48+
return tabInstances.get(klass);
49+
}
4350
}

0 commit comments

Comments
 (0)