Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import meteordevelopment.meteorclient.gui.tabs.Tab;
import meteordevelopment.meteorclient.gui.tabs.TabScreen;
import meteordevelopment.meteorclient.gui.tabs.WindowTabScreen;
import meteordevelopment.meteorclient.gui.widgets.containers.WContainer;
import meteordevelopment.meteorclient.gui.widgets.containers.WHorizontalList;
import meteordevelopment.meteorclient.gui.widgets.pressable.WButton;
import meteordevelopment.meteorclient.gui.widgets.pressable.WCheckbox;
Expand Down Expand Up @@ -37,6 +38,7 @@ public boolean isScreen(Screen screen) {
}

public static class HudScreen extends WindowTabScreen {
private WContainer settingsContainer;
private final Hud hud;

public HudScreen(GuiTheme theme, Tab tab) {
Expand All @@ -48,7 +50,8 @@ public HudScreen(GuiTheme theme, Tab tab) {

@Override
public void initWidgets() {
add(theme.settings(hud.settings)).expandX();
settingsContainer = add(theme.verticalList()).expandX().widget();
settingsContainer.add(theme.settings(hud.settings)).expandX().widget();

add(theme.horizontalSeparator()).expandX();

Expand Down Expand Up @@ -77,6 +80,13 @@ protected void onRenderBefore(DrawContext drawContext, float delta) {
HudEditorScreen.renderElements(drawContext);
}

@Override
public void tick() {
super.tick();

hud.settings.tick(settingsContainer, theme);
}

@Override
public boolean toClipboard() {
return NbtUtils.toClipboard(hud);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,8 @@ public void initWidgets() {

@Override
public void tick() {
super.tick();

profile.settings.tick(settingsContainer, theme);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@

public class Settings implements ISerializable<Settings>, Iterable<SettingGroup> {
private SettingGroup defaultGroup;
private boolean invalidate;

public final List<SettingGroup> groups = new ArrayList<>(1);

public void onActivated() {
Expand Down Expand Up @@ -61,6 +63,12 @@ public void reset() {
setting.reset();
}
}

invalidate();
}

public void invalidate() {
invalidate = true;
}

public SettingGroup getGroup(String name) {
Expand Down Expand Up @@ -125,13 +133,18 @@ public void tick(WContainer settings, GuiTheme theme) {
boolean visible = setting.isVisible();

if (visible != setting.lastWasVisible) {
settings.clear();
settings.add(theme.settings(this)).expandX();
invalidate();
}

setting.lastWasVisible = visible;
}
}

if (invalidate) {
settings.clear();
settings.add(theme.settings(this)).expandX();
invalidate = false;
}
}

@Override
Expand Down