From 6e83d5a1093626e049375c9ca1499615a08a425f Mon Sep 17 00:00:00 2001 From: RappyTV Date: Tue, 24 Feb 2026 18:40:45 +0100 Subject: [PATCH 1/6] chore: Sync with template --- .github/workflows/build.yml | 4 ++-- .gitignore | 2 ++ build.gradle.kts | 5 +++++ gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle.kts | 2 +- 6 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d9a6061..5b24c34 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,11 +12,11 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@v4 with: distribution: 'corretto' - java-version: '21' + java-version: '25' - name: Cache Gradle dependencies uses: actions/cache@v4 with: diff --git a/.gitignore b/.gitignore index 47d9f66..69ec47e 100644 --- a/.gitignore +++ b/.gitignore @@ -73,6 +73,8 @@ run/ # LabyGradle | Addon Plugin build-data.txt .assetsroot +resources_index.json +access_widener_index.json # Don't ignore libraries !libs/*.jar \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 8305070..2a4db4c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -37,4 +37,9 @@ subprojects { group = rootProject.group version = rootProject.version + + extensions.findByType(JavaPluginExtension::class.java)?.apply { + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 + } } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 44dc10b..6326517 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ org.gradle.jvmargs=-Xmx4096m -net.labymod.minecraft-versions=1.8.9;1.12.2;1.16.5;1.17.1;1.18.2;1.19.2;1.19.3;1.19.4;1.20.1;1.20.2;1.20.4;1.20.5;1.20.6;1.21;1.21.1;1.21.3;1.21.4;1.21.5 \ No newline at end of file +net.labymod.minecraft-versions=1.8.9;1.12.2;1.16.5;1.17.1;1.18.2;1.19.4;1.20.1;1.20.6;1.21;1.21.1;1.21.3;1.21.4;1.21.5;1.21.8;1.21.10;1.21.11 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e1adfb4..ac57dd1 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle.kts b/settings.gradle.kts index 69203b6..4a723b0 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,7 +1,7 @@ rootProject.name = "speedruntimer" pluginManagement { - val labyGradlePluginVersion = "0.5.9" + val labyGradlePluginVersion = "0.6.0" buildscript { repositories { From 0875567acfcb614d1b784b272b8c99c8dba9040b Mon Sep 17 00:00:00 2001 From: RappyTV Date: Tue, 24 Feb 2026 19:44:27 +0100 Subject: [PATCH 2/6] fix: Colors are displayed wrong --- .../hudwidget/TimerHudWidget.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/core/src/main/java/com/rappytv/speedruntimer/hudwidget/TimerHudWidget.java b/core/src/main/java/com/rappytv/speedruntimer/hudwidget/TimerHudWidget.java index 5c332b7..1a285b8 100644 --- a/core/src/main/java/com/rappytv/speedruntimer/hudwidget/TimerHudWidget.java +++ b/core/src/main/java/com/rappytv/speedruntimer/hudwidget/TimerHudWidget.java @@ -2,7 +2,7 @@ import com.rappytv.speedruntimer.SpeedrunTimerAddon; import com.rappytv.speedruntimer.util.Timer.TimerState; -import net.labymod.api.Laby; +import net.labymod.api.client.gfx.pipeline.renderer.text.TextRenderingOptions; import net.labymod.api.client.gui.hud.HudWidgetRendererAccessor; import net.labymod.api.client.gui.hud.binding.dropzone.HudWidgetDropzone; import net.labymod.api.client.gui.hud.binding.dropzone.NamedHudWidgetDropzones; @@ -12,21 +12,17 @@ import net.labymod.api.client.gui.hud.position.HudWidgetAnchor; import net.labymod.api.client.gui.icon.Icon; import net.labymod.api.client.gui.screen.ScreenContext; -import net.labymod.api.client.render.font.ComponentRenderer; import net.labymod.api.client.render.font.RenderableComponent; -import net.labymod.api.client.render.matrix.Stack; import net.labymod.api.client.resources.ResourceLocation; import net.labymod.api.util.bounds.area.RectangleAreaPosition; public class TimerHudWidget extends SimpleHudWidget { private final SpeedrunTimerAddon addon; - private final ComponentRenderer renderer; public TimerHudWidget(SpeedrunTimerAddon addon) { super("speedruntimer_display", HudWidgetConfig.class); this.addon = addon; - this.renderer = Laby.references().renderPipeline().componentRenderer(); this.bindDropzones(new TimerHudWidgetDropzone()); this.setIcon(Icon.texture(ResourceLocation.create( @@ -45,11 +41,16 @@ public void initializePreConfigured(HudWidgetConfig config) { @Override public void render(RenderPhase phase, ScreenContext context, boolean isEditorContext, HudSize size) { - Stack stack = context.stack(); RenderableComponent statusComponent = RenderableComponent.of(this.addon.getTimer().getDisplay()); - if (stack != null) { - this.renderer.builder().text(statusComponent).pos(this.anchor.isLeft() ? 2 : (this.anchor.isCenter() ? statusComponent.getWidth() / 2.0f : 2.0f), 0).color(-1).shadow(true).centered(this.anchor.isCenter()).render(stack); - } + context.canvas().submitRenderableComponent( + statusComponent, + this.anchor.isCenter() ? statusComponent.getWidth() / 2 : 0, + 0, + -1, + TextRenderingOptions.SHADOW | (this.anchor.isCenter() + ? TextRenderingOptions.CENTERED + : TextRenderingOptions.NONE + )); size.set(statusComponent.getWidth(), statusComponent.getHeight()); } From 93db43d4fb2897c10eab13d4ecda812920ca9d7f Mon Sep 17 00:00:00 2001 From: RappyTV Date: Tue, 24 Feb 2026 19:46:31 +0100 Subject: [PATCH 3/6] fix: Addon not starting due to reference storage * Remove versioned code * Play sound via CountdownCompleteEvent --- .../event/CountdownCompleteEvent.java | 7 +++ .../speedruntimer/sound/TimerSound.java | 12 ----- .../com/rappytv/speedruntimer/util/Timer.java | 9 ++-- .../speedruntimer/SpeedrunTimerAddon.java | 44 +++++++++++++------ .../sound/DefaultTimerSound.java | 13 ------ .../v1_12_2/VersionedTimerSound.java | 18 -------- .../v1_8_9/VersionedTimerSound.java | 18 -------- 7 files changed, 41 insertions(+), 80 deletions(-) create mode 100644 api/src/main/java/com/rappytv/speedruntimer/event/CountdownCompleteEvent.java delete mode 100644 api/src/main/java/com/rappytv/speedruntimer/sound/TimerSound.java delete mode 100644 core/src/main/java/com/rappytv/speedruntimer/sound/DefaultTimerSound.java delete mode 100644 game-runner/src/v1_12_2/java/com/rappytv/speedruntimer/v1_12_2/VersionedTimerSound.java delete mode 100644 game-runner/src/v1_8_9/java/com/rappytv/speedruntimer/v1_8_9/VersionedTimerSound.java diff --git a/api/src/main/java/com/rappytv/speedruntimer/event/CountdownCompleteEvent.java b/api/src/main/java/com/rappytv/speedruntimer/event/CountdownCompleteEvent.java new file mode 100644 index 0000000..f21e7e3 --- /dev/null +++ b/api/src/main/java/com/rappytv/speedruntimer/event/CountdownCompleteEvent.java @@ -0,0 +1,7 @@ +package com.rappytv.speedruntimer.event; + +import net.labymod.api.event.Event; + +public class CountdownCompleteEvent implements Event { + +} diff --git a/api/src/main/java/com/rappytv/speedruntimer/sound/TimerSound.java b/api/src/main/java/com/rappytv/speedruntimer/sound/TimerSound.java deleted file mode 100644 index ffb8c4e..0000000 --- a/api/src/main/java/com/rappytv/speedruntimer/sound/TimerSound.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.rappytv.speedruntimer.sound; - -import net.labymod.api.client.resources.ResourceLocation; -import net.labymod.api.reference.annotation.Referenceable; -import org.jetbrains.annotations.Nullable; - -@Nullable -@Referenceable -public interface TimerSound { - - ResourceLocation getNotificationSound(); -} diff --git a/api/src/main/java/com/rappytv/speedruntimer/util/Timer.java b/api/src/main/java/com/rappytv/speedruntimer/util/Timer.java index cf6d0bc..c8f8d47 100644 --- a/api/src/main/java/com/rappytv/speedruntimer/util/Timer.java +++ b/api/src/main/java/com/rappytv/speedruntimer/util/Timer.java @@ -1,5 +1,7 @@ package com.rappytv.speedruntimer.util; +import com.rappytv.speedruntimer.event.CountdownCompleteEvent; +import net.labymod.api.Laby; import net.labymod.api.client.component.Component; import net.labymod.api.client.component.format.NamedTextColor; import net.labymod.api.client.component.format.TextDecoration; @@ -9,15 +11,10 @@ public class Timer { private static final String displayFormat = "%s:%s:%s"; private static final java.util.Timer timer = new java.util.Timer(); - private final Runnable onCountdownComplete; private TimerState state = TimerState.OFF; private TimerDirection direction = TimerDirection.COUNT_DOWN; private long seconds = 0; - public Timer(Runnable onCountdownComplete) { - this.onCountdownComplete = onCountdownComplete; - } - public void startCountUp() { if(this.state != TimerState.OFF) return; this.direction = TimerDirection.COUNT_UP; @@ -70,7 +67,7 @@ else if(Timer.this.direction == TimerDirection.COUNT_DOWN) { if(Timer.this.seconds < 0) { Timer.this.seconds = 0; Timer.this.state = TimerState.PAUSED; - Timer.this.onCountdownComplete.run(); + Laby.fireEvent(new CountdownCompleteEvent()); } } } diff --git a/core/src/main/java/com/rappytv/speedruntimer/SpeedrunTimerAddon.java b/core/src/main/java/com/rappytv/speedruntimer/SpeedrunTimerAddon.java index b2614d5..6d6a126 100644 --- a/core/src/main/java/com/rappytv/speedruntimer/SpeedrunTimerAddon.java +++ b/core/src/main/java/com/rappytv/speedruntimer/SpeedrunTimerAddon.java @@ -1,10 +1,8 @@ package com.rappytv.speedruntimer; -import com.rappytv.speedruntimer.api.generated.ReferenceStorage; import com.rappytv.speedruntimer.command.TimerCommand; +import com.rappytv.speedruntimer.event.CountdownCompleteEvent; import com.rappytv.speedruntimer.hudwidget.TimerHudWidget; -import com.rappytv.speedruntimer.sound.DefaultTimerSound; -import com.rappytv.speedruntimer.sound.TimerSound; import com.rappytv.speedruntimer.util.Timer; import net.labymod.api.Laby; import net.labymod.api.addon.LabyAddon; @@ -12,6 +10,8 @@ import net.labymod.api.client.component.format.NamedTextColor; import net.labymod.api.client.component.format.TextDecoration; import net.labymod.api.client.resources.ResourceLocation; +import net.labymod.api.event.Subscribe; +import net.labymod.api.loader.MinecraftVersions; import net.labymod.api.models.addon.annotation.AddonMain; import org.jetbrains.annotations.NotNull; @@ -25,24 +25,30 @@ public class SpeedrunTimerAddon extends LabyAddon { .append(Component.space()); private Timer timer; + private ResourceLocation timerSound; @SuppressWarnings("ConstantConditions") @Override - protected void enable() { - TimerSound timerSound = ((ReferenceStorage) this.referenceStorageAccessor()).getTimerSound(); - if(timerSound == null) - timerSound = new DefaultTimerSound(); - ResourceLocation sound = timerSound.getNotificationSound(); - this.timer = new Timer(() -> { - if(this.configuration().countdownSound().get()) { - Laby.references().minecraftSounds().playSound(sound, 1f, 1f); - } - }); + public void enable() { + this.timer = new Timer(); + this.initializeTimerSound(); this.registerSettingCategory(); this.registerCommand(new TimerCommand(this)); Laby.labyAPI().hudWidgetRegistry().register(new TimerHudWidget(this)); } + @Subscribe + public void onCountDownComplete(CountdownCompleteEvent event) { + if(!this.configuration().countdownSound().get() || this.timerSound == null) { + return; + } + Laby.references().minecraftSounds().playSound( + this.timerSound, + 1f, + 1f + ); + } + @Override protected Class configurationClass() { return SpeedrunTimerConfig.class; @@ -56,4 +62,16 @@ public Timer getTimer() { public static Component prefix() { return prefix; } + + private void initializeTimerSound() { + String path; + if(MinecraftVersions.current().equals(MinecraftVersions.V1_8_9)) { + path = "note.pling"; + } else if(MinecraftVersions.current().equals(MinecraftVersions.V1_12_2)) { + path = "block.note.pling"; + } else { + path = "block.note_block.pling"; + } + this.timerSound = ResourceLocation.create("minecraft", path); + } } diff --git a/core/src/main/java/com/rappytv/speedruntimer/sound/DefaultTimerSound.java b/core/src/main/java/com/rappytv/speedruntimer/sound/DefaultTimerSound.java deleted file mode 100644 index e42c060..0000000 --- a/core/src/main/java/com/rappytv/speedruntimer/sound/DefaultTimerSound.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.rappytv.speedruntimer.sound; - -import net.labymod.api.client.resources.ResourceLocation; - -public class DefaultTimerSound implements TimerSound { - - private final ResourceLocation sound = ResourceLocation.create("minecraft", "block.note_block.pling"); - - @Override - public ResourceLocation getNotificationSound() { - return this.sound; - } -} diff --git a/game-runner/src/v1_12_2/java/com/rappytv/speedruntimer/v1_12_2/VersionedTimerSound.java b/game-runner/src/v1_12_2/java/com/rappytv/speedruntimer/v1_12_2/VersionedTimerSound.java deleted file mode 100644 index 54a3fe5..0000000 --- a/game-runner/src/v1_12_2/java/com/rappytv/speedruntimer/v1_12_2/VersionedTimerSound.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.rappytv.speedruntimer.v1_12_2; - -import com.rappytv.speedruntimer.sound.TimerSound; -import net.labymod.api.client.resources.ResourceLocation; -import net.labymod.api.models.Implements; -import javax.inject.Singleton; - -@Singleton -@Implements(TimerSound.class) -public class VersionedTimerSound implements TimerSound { - - private final ResourceLocation sound = ResourceLocation.create("minecraft", "block.note.pling"); - - @Override - public ResourceLocation getNotificationSound() { - return this.sound; - } -} diff --git a/game-runner/src/v1_8_9/java/com/rappytv/speedruntimer/v1_8_9/VersionedTimerSound.java b/game-runner/src/v1_8_9/java/com/rappytv/speedruntimer/v1_8_9/VersionedTimerSound.java deleted file mode 100644 index 38a7f5c..0000000 --- a/game-runner/src/v1_8_9/java/com/rappytv/speedruntimer/v1_8_9/VersionedTimerSound.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.rappytv.speedruntimer.v1_8_9; - -import com.rappytv.speedruntimer.sound.TimerSound; -import net.labymod.api.client.resources.ResourceLocation; -import net.labymod.api.models.Implements; -import javax.inject.Singleton; - -@Singleton -@Implements(TimerSound.class) -public class VersionedTimerSound implements TimerSound { - - private final ResourceLocation sound = ResourceLocation.create("minecraft", "note.pling"); - - @Override - public ResourceLocation getNotificationSound() { - return this.sound; - } -} From 0a37830c27568423cdf350282a09723dbac20d03 Mon Sep 17 00:00:00 2001 From: RappyTV Date: Tue, 24 Feb 2026 19:47:06 +0100 Subject: [PATCH 4/6] chore: Rename Timer#startCountdown --- api/src/main/java/com/rappytv/speedruntimer/util/Timer.java | 2 +- .../java/com/rappytv/speedruntimer/command/TimerCommand.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/src/main/java/com/rappytv/speedruntimer/util/Timer.java b/api/src/main/java/com/rappytv/speedruntimer/util/Timer.java index c8f8d47..99773bd 100644 --- a/api/src/main/java/com/rappytv/speedruntimer/util/Timer.java +++ b/api/src/main/java/com/rappytv/speedruntimer/util/Timer.java @@ -22,7 +22,7 @@ public void startCountUp() { this.start(); } - public void startCountDown(long seconds) { + public void startCountdown(long seconds) { if(this.state != TimerState.OFF) return; this.direction = TimerDirection.COUNT_DOWN; this.seconds = seconds; diff --git a/core/src/main/java/com/rappytv/speedruntimer/command/TimerCommand.java b/core/src/main/java/com/rappytv/speedruntimer/command/TimerCommand.java index 8cd1c5a..e43b18a 100644 --- a/core/src/main/java/com/rappytv/speedruntimer/command/TimerCommand.java +++ b/core/src/main/java/com/rappytv/speedruntimer/command/TimerCommand.java @@ -134,7 +134,7 @@ public boolean execute(String prefix, String[] arguments) { return true; } - this.timer.startCountDown(seconds); + this.timer.startCountdown(seconds); this.displayMessage( Component.empty() .append(SpeedrunTimerAddon.prefix()) From 8e3f5800dedcb11a3edad7f3f61e4d71a23c7411 Mon Sep 17 00:00:00 2001 From: RappyTV Date: Tue, 24 Feb 2026 19:48:50 +0100 Subject: [PATCH 5/6] chore: Move module code in their respective packages --- .../rappytv/speedruntimer/{util => api}/Timer.java | 4 ++-- .../{ => api}/event/CountdownCompleteEvent.java | 2 +- .../speedruntimer/{ => core}/SpeedrunTimerAddon.java | 11 +++++------ .../speedruntimer/{ => core}/SpeedrunTimerConfig.java | 2 +- .../{ => core}/command/TimerCommand.java | 10 +++++----- .../{ => core}/hudwidget/TimerHudWidget.java | 6 +++--- 6 files changed, 17 insertions(+), 18 deletions(-) rename api/src/main/java/com/rappytv/speedruntimer/{util => api}/Timer.java (97%) rename api/src/main/java/com/rappytv/speedruntimer/{ => api}/event/CountdownCompleteEvent.java (68%) rename core/src/main/java/com/rappytv/speedruntimer/{ => core}/SpeedrunTimerAddon.java (88%) rename core/src/main/java/com/rappytv/speedruntimer/{ => core}/SpeedrunTimerConfig.java (95%) rename core/src/main/java/com/rappytv/speedruntimer/{ => core}/command/TimerCommand.java (97%) rename core/src/main/java/com/rappytv/speedruntimer/{ => core}/hudwidget/TimerHudWidget.java (95%) diff --git a/api/src/main/java/com/rappytv/speedruntimer/util/Timer.java b/api/src/main/java/com/rappytv/speedruntimer/api/Timer.java similarity index 97% rename from api/src/main/java/com/rappytv/speedruntimer/util/Timer.java rename to api/src/main/java/com/rappytv/speedruntimer/api/Timer.java index 99773bd..c03f334 100644 --- a/api/src/main/java/com/rappytv/speedruntimer/util/Timer.java +++ b/api/src/main/java/com/rappytv/speedruntimer/api/Timer.java @@ -1,6 +1,6 @@ -package com.rappytv.speedruntimer.util; +package com.rappytv.speedruntimer.api; -import com.rappytv.speedruntimer.event.CountdownCompleteEvent; +import com.rappytv.speedruntimer.api.event.CountdownCompleteEvent; import net.labymod.api.Laby; import net.labymod.api.client.component.Component; import net.labymod.api.client.component.format.NamedTextColor; diff --git a/api/src/main/java/com/rappytv/speedruntimer/event/CountdownCompleteEvent.java b/api/src/main/java/com/rappytv/speedruntimer/api/event/CountdownCompleteEvent.java similarity index 68% rename from api/src/main/java/com/rappytv/speedruntimer/event/CountdownCompleteEvent.java rename to api/src/main/java/com/rappytv/speedruntimer/api/event/CountdownCompleteEvent.java index f21e7e3..10846b3 100644 --- a/api/src/main/java/com/rappytv/speedruntimer/event/CountdownCompleteEvent.java +++ b/api/src/main/java/com/rappytv/speedruntimer/api/event/CountdownCompleteEvent.java @@ -1,4 +1,4 @@ -package com.rappytv.speedruntimer.event; +package com.rappytv.speedruntimer.api.event; import net.labymod.api.event.Event; diff --git a/core/src/main/java/com/rappytv/speedruntimer/SpeedrunTimerAddon.java b/core/src/main/java/com/rappytv/speedruntimer/core/SpeedrunTimerAddon.java similarity index 88% rename from core/src/main/java/com/rappytv/speedruntimer/SpeedrunTimerAddon.java rename to core/src/main/java/com/rappytv/speedruntimer/core/SpeedrunTimerAddon.java index 6d6a126..2538059 100644 --- a/core/src/main/java/com/rappytv/speedruntimer/SpeedrunTimerAddon.java +++ b/core/src/main/java/com/rappytv/speedruntimer/core/SpeedrunTimerAddon.java @@ -1,9 +1,9 @@ -package com.rappytv.speedruntimer; +package com.rappytv.speedruntimer.core; -import com.rappytv.speedruntimer.command.TimerCommand; -import com.rappytv.speedruntimer.event.CountdownCompleteEvent; -import com.rappytv.speedruntimer.hudwidget.TimerHudWidget; -import com.rappytv.speedruntimer.util.Timer; +import com.rappytv.speedruntimer.core.command.TimerCommand; +import com.rappytv.speedruntimer.api.event.CountdownCompleteEvent; +import com.rappytv.speedruntimer.core.hudwidget.TimerHudWidget; +import com.rappytv.speedruntimer.api.Timer; import net.labymod.api.Laby; import net.labymod.api.addon.LabyAddon; import net.labymod.api.client.component.Component; @@ -27,7 +27,6 @@ public class SpeedrunTimerAddon extends LabyAddon { private Timer timer; private ResourceLocation timerSound; - @SuppressWarnings("ConstantConditions") @Override public void enable() { this.timer = new Timer(); diff --git a/core/src/main/java/com/rappytv/speedruntimer/SpeedrunTimerConfig.java b/core/src/main/java/com/rappytv/speedruntimer/core/SpeedrunTimerConfig.java similarity index 95% rename from core/src/main/java/com/rappytv/speedruntimer/SpeedrunTimerConfig.java rename to core/src/main/java/com/rappytv/speedruntimer/core/SpeedrunTimerConfig.java index f94234b..b07637a 100644 --- a/core/src/main/java/com/rappytv/speedruntimer/SpeedrunTimerConfig.java +++ b/core/src/main/java/com/rappytv/speedruntimer/core/SpeedrunTimerConfig.java @@ -1,4 +1,4 @@ -package com.rappytv.speedruntimer; +package com.rappytv.speedruntimer.core; import net.labymod.api.addon.AddonConfig; import net.labymod.api.client.gui.screen.widget.widgets.input.SwitchWidget.SwitchSetting; diff --git a/core/src/main/java/com/rappytv/speedruntimer/command/TimerCommand.java b/core/src/main/java/com/rappytv/speedruntimer/core/command/TimerCommand.java similarity index 97% rename from core/src/main/java/com/rappytv/speedruntimer/command/TimerCommand.java rename to core/src/main/java/com/rappytv/speedruntimer/core/command/TimerCommand.java index e43b18a..53bed2f 100644 --- a/core/src/main/java/com/rappytv/speedruntimer/command/TimerCommand.java +++ b/core/src/main/java/com/rappytv/speedruntimer/core/command/TimerCommand.java @@ -1,9 +1,9 @@ -package com.rappytv.speedruntimer.command; +package com.rappytv.speedruntimer.core.command; -import com.rappytv.speedruntimer.SpeedrunTimerAddon; -import com.rappytv.speedruntimer.util.Timer; -import com.rappytv.speedruntimer.util.Timer.TimerDirection; -import com.rappytv.speedruntimer.util.Timer.TimerState; +import com.rappytv.speedruntimer.core.SpeedrunTimerAddon; +import com.rappytv.speedruntimer.api.Timer; +import com.rappytv.speedruntimer.api.Timer.TimerDirection; +import com.rappytv.speedruntimer.api.Timer.TimerState; import net.labymod.api.Laby; import net.labymod.api.client.chat.command.Command; import net.labymod.api.client.chat.command.SubCommand; diff --git a/core/src/main/java/com/rappytv/speedruntimer/hudwidget/TimerHudWidget.java b/core/src/main/java/com/rappytv/speedruntimer/core/hudwidget/TimerHudWidget.java similarity index 95% rename from core/src/main/java/com/rappytv/speedruntimer/hudwidget/TimerHudWidget.java rename to core/src/main/java/com/rappytv/speedruntimer/core/hudwidget/TimerHudWidget.java index 1a285b8..8fe965b 100644 --- a/core/src/main/java/com/rappytv/speedruntimer/hudwidget/TimerHudWidget.java +++ b/core/src/main/java/com/rappytv/speedruntimer/core/hudwidget/TimerHudWidget.java @@ -1,7 +1,7 @@ -package com.rappytv.speedruntimer.hudwidget; +package com.rappytv.speedruntimer.core.hudwidget; -import com.rappytv.speedruntimer.SpeedrunTimerAddon; -import com.rappytv.speedruntimer.util.Timer.TimerState; +import com.rappytv.speedruntimer.core.SpeedrunTimerAddon; +import com.rappytv.speedruntimer.api.Timer.TimerState; import net.labymod.api.client.gfx.pipeline.renderer.text.TextRenderingOptions; import net.labymod.api.client.gui.hud.HudWidgetRendererAccessor; import net.labymod.api.client.gui.hud.binding.dropzone.HudWidgetDropzone; From f8abb39a34e1b7b5708dc17921081bf09b1ad984 Mon Sep 17 00:00:00 2001 From: RappyTV Date: Tue, 24 Feb 2026 19:52:24 +0100 Subject: [PATCH 6/6] chore: Bump version --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 2a4db4c..2d8b065 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,7 +6,7 @@ plugins { val versions = providers.gradleProperty("net.labymod.minecraft-versions").get().split(";") group = "com.rappytv.speedruntimer" -version = providers.environmentVariable("VERSION").getOrElse("1.0.1") +version = providers.environmentVariable("VERSION").getOrElse("1.0.2") labyMod { defaultPackageName = "com.rappytv.speedruntimer"