diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c6f7334..80e98e8 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 15eb67a..662ed8e 100644 --- a/.gitignore +++ b/.gitignore @@ -74,6 +74,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/api/src/main/java/com/rappytv/streakdisplay/api/StreakApiController.java b/api/src/main/java/com/rappytv/streakdisplay/api/StreakCacheController.java similarity index 77% rename from api/src/main/java/com/rappytv/streakdisplay/api/StreakApiController.java rename to api/src/main/java/com/rappytv/streakdisplay/api/StreakCacheController.java index adc550e..955ff18 100644 --- a/api/src/main/java/com/rappytv/streakdisplay/api/StreakApiController.java +++ b/api/src/main/java/com/rappytv/streakdisplay/api/StreakCacheController.java @@ -4,7 +4,7 @@ import net.labymod.api.reference.annotation.Referenceable; @Referenceable -public interface StreakApiController { +public interface StreakCacheController { void resolve(UUID uuid); @@ -12,6 +12,8 @@ public interface StreakApiController { Integer get(UUID uuid); + void remove(UUID uuid); + void clear(); } diff --git a/api/src/main/java/com/rappytv/streakdisplay/api/Textures.java b/api/src/main/java/com/rappytv/streakdisplay/api/StreakDisplayTextures.java similarity index 85% rename from api/src/main/java/com/rappytv/streakdisplay/api/Textures.java rename to api/src/main/java/com/rappytv/streakdisplay/api/StreakDisplayTextures.java index eb50872..93162e7 100644 --- a/api/src/main/java/com/rappytv/streakdisplay/api/Textures.java +++ b/api/src/main/java/com/rappytv/streakdisplay/api/StreakDisplayTextures.java @@ -2,7 +2,7 @@ import net.labymod.api.client.resources.ResourceLocation; -public class Textures { +public class StreakDisplayTextures { public static final ResourceLocation STREAK = ResourceLocation.create("streakdisplay", "textures/streak.png"); diff --git a/build.gradle.kts b/build.gradle.kts index ed961b4..4fa2ee7 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 = "org.example" -version = providers.environmentVariable("VERSION").getOrElse("1.0.1") +version = providers.environmentVariable("VERSION").getOrElse("1.0.2") labyMod { defaultPackageName = "com.rappytv.streakdisplay" @@ -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/core/src/main/java/com/rappytv/streakdisplay/StreakDisplayAddon.java b/core/src/main/java/com/rappytv/streakdisplay/core/StreakDisplayAddon.java similarity index 57% rename from core/src/main/java/com/rappytv/streakdisplay/StreakDisplayAddon.java rename to core/src/main/java/com/rappytv/streakdisplay/core/StreakDisplayAddon.java index e37a03f..f64663d 100644 --- a/core/src/main/java/com/rappytv/streakdisplay/StreakDisplayAddon.java +++ b/core/src/main/java/com/rappytv/streakdisplay/core/StreakDisplayAddon.java @@ -1,7 +1,9 @@ -package com.rappytv.streakdisplay; +package com.rappytv.streakdisplay.core; +import com.rappytv.streakdisplay.api.StreakCacheController; import com.rappytv.streakdisplay.api.generated.ReferenceStorage; -import com.rappytv.streakdisplay.nametag.StreakNameTag; +import com.rappytv.streakdisplay.core.listener.PlayerInfoListener; +import com.rappytv.streakdisplay.core.ui.nametag.StreakNameTag; import net.labymod.api.addon.LabyAddon; import net.labymod.api.client.entity.player.tag.PositionType; import net.labymod.api.models.addon.annotation.AddonMain; @@ -9,14 +11,14 @@ @AddonMain public class StreakDisplayAddon extends LabyAddon { - private static StreakDisplayAddon INSTANCE; + private static StreakDisplayAddon instance; @Override protected void enable() { - INSTANCE = this; + instance = this; this.registerSettingCategory(); - + this.registerListener(new PlayerInfoListener()); this.labyAPI().tagRegistry().register( "streakdisplay", PositionType.BELOW_NAME, @@ -29,7 +31,7 @@ protected Class configurationClass() { return StreakDisplayConfig.class; } - public static ReferenceStorage references() { - return INSTANCE.referenceStorageAccessor(); + public static StreakCacheController cacheController() { + return ((ReferenceStorage) instance.referenceStorageAccessor()).streakCacheController(); } } diff --git a/core/src/main/java/com/rappytv/streakdisplay/StreakDisplayConfig.java b/core/src/main/java/com/rappytv/streakdisplay/core/StreakDisplayConfig.java similarity index 84% rename from core/src/main/java/com/rappytv/streakdisplay/StreakDisplayConfig.java rename to core/src/main/java/com/rappytv/streakdisplay/core/StreakDisplayConfig.java index 6f5ad68..ba66e11 100644 --- a/core/src/main/java/com/rappytv/streakdisplay/StreakDisplayConfig.java +++ b/core/src/main/java/com/rappytv/streakdisplay/core/StreakDisplayConfig.java @@ -1,4 +1,4 @@ -package com.rappytv.streakdisplay; +package com.rappytv.streakdisplay.core; import net.labymod.api.addon.AddonConfig; import net.labymod.api.client.gui.screen.widget.widgets.input.ButtonWidget.ButtonSetting; @@ -22,10 +22,6 @@ public class StreakDisplayConfig extends AddonConfig { @SliderSetting(min = 5, max = 10) private final ConfigProperty size = new ConfigProperty<>(7); - @SpriteSlot(x = 2) - @SwitchSetting - private final ConfigProperty showBackground = new ConfigProperty<>(true); - @SettingSection("streaks") @SpriteSlot(x = 3) @SwitchSetting @@ -40,7 +36,7 @@ public class StreakDisplayConfig extends AddonConfig { @MethodOrder(after = "hideHiddenStreaks") @ButtonSetting public void clearCache() { - StreakDisplayAddon.references().streakApiController().clear(); + StreakDisplayAddon.cacheController().clear(); } @Override @@ -52,10 +48,6 @@ public ConfigProperty size() { return this.size; } - public ConfigProperty showBackground() { - return this.showBackground; - } - public ConfigProperty hideZeroStreaks() { return this.hideZeroStreaks; } diff --git a/core/src/main/java/com/rappytv/streakdisplay/controller/DefaultStreakApiController.java b/core/src/main/java/com/rappytv/streakdisplay/core/controller/DefaultStreakCacheController.java similarity index 84% rename from core/src/main/java/com/rappytv/streakdisplay/controller/DefaultStreakApiController.java rename to core/src/main/java/com/rappytv/streakdisplay/core/controller/DefaultStreakCacheController.java index 1392b0c..5e9b1e2 100644 --- a/core/src/main/java/com/rappytv/streakdisplay/controller/DefaultStreakApiController.java +++ b/core/src/main/java/com/rappytv/streakdisplay/core/controller/DefaultStreakCacheController.java @@ -1,8 +1,8 @@ -package com.rappytv.streakdisplay.controller; +package com.rappytv.streakdisplay.core.controller; import com.google.gson.JsonElement; import com.google.gson.JsonObject; -import com.rappytv.streakdisplay.api.StreakApiController; +import com.rappytv.streakdisplay.api.StreakCacheController; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -13,8 +13,8 @@ import net.labymod.api.util.io.web.request.Request; @Singleton -@Implements(StreakApiController.class) -public class DefaultStreakApiController implements StreakApiController { +@Implements(StreakCacheController.class) +public class DefaultStreakCacheController implements StreakCacheController { private static final String STREAK_ENDPOINT = "https://streaks.rappytv.com/streaks/%s"; private final Map cache = new HashMap<>(); @@ -63,6 +63,11 @@ public Integer get(UUID uuid) { return this.cache.get(uuid); } + @Override + public void remove(UUID uuid) { + this.cache.remove(uuid); + } + @Override public void clear() { this.cache.clear(); diff --git a/core/src/main/java/com/rappytv/streakdisplay/core/listener/PlayerInfoListener.java b/core/src/main/java/com/rappytv/streakdisplay/core/listener/PlayerInfoListener.java new file mode 100644 index 0000000..99234be --- /dev/null +++ b/core/src/main/java/com/rappytv/streakdisplay/core/listener/PlayerInfoListener.java @@ -0,0 +1,38 @@ +package com.rappytv.streakdisplay.core.listener; + +import com.rappytv.streakdisplay.api.StreakCacheController; +import com.rappytv.streakdisplay.core.StreakDisplayAddon; +import java.util.UUID; +import net.labymod.api.event.Subscribe; +import net.labymod.api.event.client.network.playerinfo.PlayerInfoRemoveEvent; +import net.labymod.api.event.client.network.server.ServerDisconnectEvent; +import net.labymod.api.event.client.render.model.entity.player.PlayerModelRenderEvent; + +public class PlayerInfoListener { + + private final StreakCacheController controller; + + public PlayerInfoListener() { + this.controller = StreakDisplayAddon.cacheController(); + } + + @Subscribe + public void onPlayerRender(PlayerModelRenderEvent event) { + UUID uuid = event.player().getUniqueId(); + + if (!this.controller.has(uuid)) { + this.controller.resolve(uuid); + } + } + + @Subscribe + public void onPlayerInfoRemove(PlayerInfoRemoveEvent event) { + this.controller.remove(event.playerInfo().profile().getUniqueId()); + } + + @Subscribe + public void onClientDisconnect(ServerDisconnectEvent event) { + this.controller.clear(); + } + +} diff --git a/core/src/main/java/com/rappytv/streakdisplay/core/ui/nametag/StreakNameTag.java b/core/src/main/java/com/rappytv/streakdisplay/core/ui/nametag/StreakNameTag.java new file mode 100644 index 0000000..5cecd21 --- /dev/null +++ b/core/src/main/java/com/rappytv/streakdisplay/core/ui/nametag/StreakNameTag.java @@ -0,0 +1,86 @@ +package com.rappytv.streakdisplay.core.ui.nametag; + +import com.rappytv.streakdisplay.api.StreakDisplayTextures; +import com.rappytv.streakdisplay.core.StreakDisplayAddon; +import com.rappytv.streakdisplay.core.StreakDisplayConfig; +import com.rappytv.streakdisplay.core.ui.snapshot.StreakDisplayExtraKeys; +import com.rappytv.streakdisplay.core.ui.snapshot.StreakUserSnapshot; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import net.labymod.api.client.component.Component; +import net.labymod.api.client.entity.player.tag.tags.ComponentNameTag; +import net.labymod.api.client.gui.icon.Icon; +import net.labymod.api.client.render.matrix.Stack; +import net.labymod.api.client.render.state.entity.EntitySnapshot; +import net.labymod.api.laby3d.render.queue.SubmissionCollector; +import net.labymod.api.laby3d.render.queue.submissions.IconSubmission.DisplayMode; +import org.jetbrains.annotations.NotNull; + +public class StreakNameTag extends ComponentNameTag { + + private static final Icon STREAK_ICON = Icon.texture(StreakDisplayTextures.STREAK); + + private final StreakDisplayConfig config; + private float iconSize; + + public StreakNameTag(StreakDisplayAddon addon) { + this.config = addon.configuration(); + } + + @Override + public void begin(EntitySnapshot snapshot) { + super.begin(snapshot); + this.iconSize = this.fontRenderer.getLineHeight(); + } + + @Override + protected @NotNull List buildComponents(EntitySnapshot snapshot) { + if (snapshot.isDiscrete() + || snapshot.isInvisible() + || !snapshot.has(StreakDisplayExtraKeys.STREAK_USER)) { + return super.buildComponents(snapshot); + } + StreakUserSnapshot streakUser = snapshot.get(StreakDisplayExtraKeys.STREAK_USER); + if (!streakUser.isEnabled()) { + return super.buildComponents(snapshot); + } + Component streakComponent = streakUser.streakComponent(); + + return streakComponent != null + ? Collections.singletonList(streakComponent) + : super.buildComponents(snapshot); + } + + @Override + public void render(Stack stack, SubmissionCollector submissionCollector, + EntitySnapshot snapshot) { + super.render(stack, submissionCollector, snapshot); + + submissionCollector.submitIcon( + stack, + STREAK_ICON, + DisplayMode.NORMAL, + -11, + -1f, + this.iconSize, + this.iconSize, + -1 + ); + } + + @Override + protected float calculateWidth(Collection components) { + return super.calculateWidth(components) - this.iconSize; + } + + @Override + protected int getBackgroundColor(EntitySnapshot snapshot) { + return 0; + } + + @Override + public float getScale() { + return this.config.size().get() / 10f; + } +} diff --git a/core/src/main/java/com/rappytv/streakdisplay/core/ui/snapshot/PlayerSnapshotProcessor.java b/core/src/main/java/com/rappytv/streakdisplay/core/ui/snapshot/PlayerSnapshotProcessor.java new file mode 100644 index 0000000..f2614bb --- /dev/null +++ b/core/src/main/java/com/rappytv/streakdisplay/core/ui/snapshot/PlayerSnapshotProcessor.java @@ -0,0 +1,26 @@ +package com.rappytv.streakdisplay.core.ui.snapshot; + +import net.labymod.api.client.entity.Entity; +import net.labymod.api.client.entity.player.Player; +import net.labymod.api.client.render.state.entity.EntitySnapshotProcessor; +import net.labymod.api.client.render.state.entity.EntitySnapshotRegistry; +import net.labymod.api.laby3d.renderer.snapshot.ExtrasWriter; +import net.labymod.api.service.annotation.AutoService; + +@AutoService(EntitySnapshotProcessor.class) +public class PlayerSnapshotProcessor extends EntitySnapshotProcessor { + + public PlayerSnapshotProcessor(EntitySnapshotRegistry registry) { + super(registry); + } + + @Override + public boolean supports(Entity entity) { + return entity instanceof Player; + } + + @Override + public void process(Player player, float partialTicks, ExtrasWriter entityWriter) { + this.registry().captureSnapshot(entityWriter, StreakDisplayExtraKeys.STREAK_USER, player); + } +} diff --git a/core/src/main/java/com/rappytv/streakdisplay/core/ui/snapshot/StreakDisplayExtraKeys.java b/core/src/main/java/com/rappytv/streakdisplay/core/ui/snapshot/StreakDisplayExtraKeys.java new file mode 100644 index 0000000..d86aaa3 --- /dev/null +++ b/core/src/main/java/com/rappytv/streakdisplay/core/ui/snapshot/StreakDisplayExtraKeys.java @@ -0,0 +1,12 @@ +package com.rappytv.streakdisplay.core.ui.snapshot; + +import net.labymod.api.laby3d.renderer.snapshot.ExtraKey; + +public class StreakDisplayExtraKeys { + + public static final ExtraKey STREAK_USER = ExtraKey.of( + "streak_user", + StreakUserSnapshot.class + ); + +} diff --git a/core/src/main/java/com/rappytv/streakdisplay/core/ui/snapshot/StreakUserSnapshot.java b/core/src/main/java/com/rappytv/streakdisplay/core/ui/snapshot/StreakUserSnapshot.java new file mode 100644 index 0000000..baea3f4 --- /dev/null +++ b/core/src/main/java/com/rappytv/streakdisplay/core/ui/snapshot/StreakUserSnapshot.java @@ -0,0 +1,47 @@ +package com.rappytv.streakdisplay.core.ui.snapshot; + +import com.rappytv.streakdisplay.api.StreakCacheController; +import com.rappytv.streakdisplay.core.StreakDisplayAddon; +import com.rappytv.streakdisplay.core.StreakDisplayConfig; +import net.labymod.api.client.component.Component; +import net.labymod.api.client.component.format.NamedTextColor; +import net.labymod.api.client.entity.player.Player; +import net.labymod.api.laby3d.renderer.snapshot.AbstractLabySnapshot; +import net.labymod.api.laby3d.renderer.snapshot.Extras; +import org.jetbrains.annotations.Nullable; + +public class StreakUserSnapshot extends AbstractLabySnapshot { + + private static final Component ZERO_COMPONENT = Component.text("0", NamedTextColor.DARK_GRAY); + private static final Component HIDDEN_COMPONENT = Component.translatable( + "streakdisplay.nametag.hiddenStreak", + NamedTextColor.RED + ); + + private final boolean enabled; + private final Component streakComponent; + + public StreakUserSnapshot(Player player, Extras extras, StreakDisplayAddon addon) { + super(extras); + StreakDisplayConfig config = addon.configuration(); + StreakCacheController controller = StreakDisplayAddon.cacheController(); + Integer streak = controller.get(player.getUniqueId()); + + this.enabled = config.enabled().get(); + this.streakComponent = switch (streak) { + case null -> null; + case -1 -> config.hideHiddenStreaks().get() ? null : HIDDEN_COMPONENT; + case 0 -> config.hideZeroStreaks().get() ? null : ZERO_COMPONENT; + default -> Component.text(streak.toString()); + }; + } + + public boolean isEnabled() { + return this.enabled; + } + + @Nullable + public Component streakComponent() { + return this.streakComponent; + } +} diff --git a/core/src/main/java/com/rappytv/streakdisplay/core/ui/snapshot/StreakUserSnapshotFactory.java b/core/src/main/java/com/rappytv/streakdisplay/core/ui/snapshot/StreakUserSnapshotFactory.java new file mode 100644 index 0000000..a8abff4 --- /dev/null +++ b/core/src/main/java/com/rappytv/streakdisplay/core/ui/snapshot/StreakUserSnapshotFactory.java @@ -0,0 +1,23 @@ +package com.rappytv.streakdisplay.core.ui.snapshot; + +import com.rappytv.streakdisplay.core.StreakDisplayAddon; +import net.labymod.api.client.entity.player.Player; +import net.labymod.api.laby3d.renderer.snapshot.Extras; +import net.labymod.api.laby3d.renderer.snapshot.LabySnapshotFactory; +import net.labymod.api.service.annotation.AutoService; + +@AutoService(LabySnapshotFactory.class) +public class StreakUserSnapshotFactory extends LabySnapshotFactory { + + private final StreakDisplayAddon addon; + + public StreakUserSnapshotFactory(StreakDisplayAddon addon) { + super(StreakDisplayExtraKeys.STREAK_USER); + this.addon = addon; + } + + @Override + public StreakUserSnapshot create(Player player, Extras extras) { + return new StreakUserSnapshot(player, extras, this.addon); + } +} diff --git a/core/src/main/java/com/rappytv/streakdisplay/nametag/StreakNameTag.java b/core/src/main/java/com/rappytv/streakdisplay/nametag/StreakNameTag.java deleted file mode 100644 index 70fb851..0000000 --- a/core/src/main/java/com/rappytv/streakdisplay/nametag/StreakNameTag.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.rappytv.streakdisplay.nametag; - -import com.rappytv.streakdisplay.StreakDisplayAddon; -import com.rappytv.streakdisplay.StreakDisplayConfig; -import com.rappytv.streakdisplay.api.StreakApiController; -import java.util.UUID; -import com.rappytv.streakdisplay.api.Textures; -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.entity.player.Player; -import net.labymod.api.client.entity.player.tag.tags.NameTag; -import net.labymod.api.client.gui.icon.Icon; -import net.labymod.api.client.render.RenderPipeline; -import net.labymod.api.client.render.font.RenderableComponent; -import net.labymod.api.client.render.matrix.Stack; -import org.jetbrains.annotations.Nullable; - -public class StreakNameTag extends NameTag { - - private static final Icon STREAK = Icon.texture(Textures.STREAK); - private final StreakDisplayConfig config; - private final StreakApiController controller; - - public StreakNameTag(StreakDisplayAddon addon) { - this.config = addon.configuration(); - this.controller = StreakDisplayAddon.references().streakApiController(); - } - - @Override - protected @Nullable RenderableComponent getRenderableComponent() { - if (!(this.entity instanceof Player)) { - return null; - } - UUID uuid = this.entity.getUniqueId(); - - Integer streak = null; - if (this.controller.has(uuid)) { - streak = this.controller.get(uuid); - } else { - this.controller.resolve(uuid); - } - - if (streak == null) { - return null; - } else if (streak == -1) { - if (this.config.hideHiddenStreaks().get()) { - return null; - } - return RenderableComponent.of(Component.translatable( - "streakdisplay.nametag.hiddenStreak", - NamedTextColor.RED - )); - } else if (streak == 0) { - if (this.config.hideZeroStreaks().get()) { - return null; - } - return RenderableComponent.of(Component.text("0", NamedTextColor.DARK_GRAY)); - } else { - return RenderableComponent.of(Component.text(streak.toString())); - } - } - - @Override - public float getScale() { - return this.config.size().get() / 10f; - } - - @Override - public float getWidth() { - return super.getWidth() + this.getHeight(); - } - - @SuppressWarnings("deprecation") - @Override - public void renderText(Stack stack, RenderableComponent component, boolean discrete, - int textColor, int backgroundColor, float x, float y) { - if (component == null) { - return; - } - - RenderPipeline renderPipeline = Laby.labyAPI().renderPipeline(); - - renderPipeline.rectangleRenderer().renderRectangle( - stack, - x, - y, - this.getWidth(), - this.getHeight(), - this.config.showBackground().get() ? backgroundColor : 0 - ); - renderPipeline.renderSeeThrough(this.entity, () -> STREAK.render( - stack, - x + 1, - y + 1.5f, - this.getHeight() - 3 - )); - - super.renderText( - stack, - component, - discrete, - textColor, - 0, - x + this.getHeight(), - y + 1 - ); - } - - @Override - public boolean isVisible() { - return this.config.enabled().get() - && !this.entity.isCrouching() - && super.isVisible(); - } -} diff --git a/core/src/main/resources/assets/streakdisplay/i18n/de_de.json b/core/src/main/resources/assets/streakdisplay/i18n/de_de.json index bd5f099..df34cc2 100644 --- a/core/src/main/resources/assets/streakdisplay/i18n/de_de.json +++ b/core/src/main/resources/assets/streakdisplay/i18n/de_de.json @@ -29,7 +29,7 @@ "description": "Wenn diese Option deaktiviert ist, wird angezeigt, dass die Streak versteckt ist, anstatt sie zu entfernen." }, "clearCache": { - "name": "Streak daten erneuern", + "name": "Lokale Streakdaten erneuern", "text": "Erneuern", "description": "Diese Option aktualisiert nur die Streak-Daten von der API und fordert keine neuen Daten von laby.net an." } diff --git a/core/src/main/resources/assets/streakdisplay/i18n/en_us.json b/core/src/main/resources/assets/streakdisplay/i18n/en_us.json index e6df7bb..4c40e5f 100644 --- a/core/src/main/resources/assets/streakdisplay/i18n/en_us.json +++ b/core/src/main/resources/assets/streakdisplay/i18n/en_us.json @@ -29,7 +29,7 @@ "description": "If disabled, it will indicate that the streak is hidden instead of removing it." }, "clearCache": { - "name": "Refresh streak data", + "name": "Refresh local streak data", "text": "Refresh", "description": "This only updates streaks from the API and does not request new data from the laby.net." } diff --git a/gradle.properties b/gradle.properties index 6168956..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 \ 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 a401705..06ca154 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,7 +1,7 @@ rootProject.name = "streakdisplay" pluginManagement { - val labyGradlePluginVersion = "0.5.9" + val labyGradlePluginVersion = "0.6.0" buildscript { repositories { maven("https://dist.labymod.net/api/v1/maven/release/")