Skip to content

Commit cd4b382

Browse files
committed
Remove deprecated CottonHud class
1 parent ed1911b commit cd4b382

File tree

4 files changed

+30
-170
lines changed

4 files changed

+30
-170
lines changed

src/main/java/io/github/cottonmc/cotton/gui/client/CottonHud.java

Lines changed: 0 additions & 161 deletions
This file was deleted.

src/main/java/io/github/cottonmc/cotton/gui/client/WidgetHudElement.java

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.github.cottonmc.cotton.gui.client;
22

3+
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
34
import net.fabricmc.fabric.api.client.rendering.v1.hud.HudElement;
45
import net.minecraft.client.MinecraftClient;
56
import net.minecraft.client.gui.DrawContext;
@@ -10,6 +11,9 @@
1011
import org.jetbrains.annotations.ApiStatus;
1112
import org.jetbrains.annotations.Nullable;
1213

14+
import java.util.HashSet;
15+
import java.util.Set;
16+
1317
/**
1418
* A HUD element wrapping a {@link WWidget}.
1519
*
@@ -18,6 +22,17 @@
1822
* @since 14.0.0
1923
*/
2024
public record WidgetHudElement(WWidget widget, @Nullable Positioner positioner) implements HudElement {
25+
@ApiStatus.Internal
26+
static final Set<WWidget> tickingWidgets = new HashSet<>();
27+
28+
static {
29+
ClientTickEvents.END_CLIENT_TICK.register(client -> {
30+
for (WWidget widget : tickingWidgets) {
31+
widget.tick();
32+
}
33+
});
34+
}
35+
2136
/**
2237
* Constructs a new {@code WidgetHudElement} without a positioner.
2338
*
@@ -71,14 +86,14 @@ public WidgetHudElement(WWidget widget, int x, int y, int width, int height) {
7186
* Enables this HUD element's widget ticking.
7287
*/
7388
public void enableTicking() {
74-
CottonHud.tickingWidgets.add(widget);
89+
tickingWidgets.add(widget);
7590
}
7691

7792
/**
7893
* Disables this HUD element's widget ticking.
7994
*/
8095
public void disableTicking() {
81-
CottonHud.tickingWidgets.remove(widget);
96+
tickingWidgets.remove(widget);
8297
}
8398

8499
@Override

src/testMod/java/io/github/cottonmc/test/client/LibGuiTestClient.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import net.minecraft.text.Text;
1313

1414
import io.github.cottonmc.cotton.gui.client.CottonClientScreen;
15-
import io.github.cottonmc.cotton.gui.client.CottonHud;
1615
import io.github.cottonmc.cotton.gui.client.CottonInventoryScreen;
1716
import io.github.cottonmc.cotton.gui.client.LightweightGuiDescription;
1817
import io.github.cottonmc.cotton.gui.client.WidgetHudElement;
@@ -47,7 +46,9 @@ public void onInitializeClient() {
4746
CottonInventoryScreen::new
4847
);
4948

50-
CottonHud.add(new WHudTest(), 10, -20, 10, 10);
49+
WidgetHudElement testHudElement = new WidgetHudElement(new WHudTest(), 10, -20, 10, 10);
50+
testHudElement.enableTicking();
51+
HudElementRegistry.addLast(LibGuiTest.id("test"), testHudElement);
5152
WidgetHudElement labelHudElement = new WidgetHudElement(new WLabel(Text.literal("Test label")), 10, -30, 10, 10);
5253
HudElementRegistry.addLast(LibGuiTest.id("test_label"), labelHudElement);
5354

src/testMod/java/io/github/cottonmc/test/client/WHudTest.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,25 @@
66

77
import io.github.cottonmc.cotton.gui.client.ScreenDrawing;
88
import io.github.cottonmc.cotton.gui.widget.WWidget;
9-
import org.apache.logging.log4j.LogManager;
10-
import org.apache.logging.log4j.Logger;
9+
10+
import java.util.Random;
1111

1212
@Environment(EnvType.CLIENT)
1313
public class WHudTest extends WWidget {
14-
private static final Logger LOGGER = LogManager.getLogger();
14+
private final Random random = new Random();
15+
private int offsetX;
16+
private int offsetY;
1517

1618
@Override
1719
public void paint(DrawContext context, int x, int y, int mouseX, int mouseY) {
18-
ScreenDrawing.coloredRect(context, x, y, width, height, 0xFF_00FF00);
20+
ScreenDrawing.coloredRect(context, x + offsetX, y + offsetY, width, height, 0xFF_00FF00);
1921
}
2022

2123
@Override
2224
public void tick() {
23-
LOGGER.debug("tick!");
25+
if (random.nextFloat() < 0.1f) {
26+
offsetX += random.nextInt(-1, 2);
27+
offsetY += random.nextInt(-1, 2);
28+
}
2429
}
2530
}

0 commit comments

Comments
 (0)