diff --git a/bootstrap/bungeecord/build.gradle.kts b/bootstrap/bungeecord/build.gradle.kts index 84061650d..0216a43dd 100644 --- a/bootstrap/bungeecord/build.gradle.kts +++ b/bootstrap/bungeecord/build.gradle.kts @@ -8,7 +8,10 @@ dependencies { implementation(libs.cloud.bungee) implementation(libs.adventure.text.serializer.bungeecord) - compileOnlyApi(libs.bungeecord.proxy) + compileOnlyApi(libs.bungeecord.proxy) { + isTransitive = false + } + compileOnlyApi(libs.bungeecord.api) } platformRelocate("net.md_5.bungee.jni") diff --git a/bootstrap/mod/src/main/java/org/geysermc/geyser/platform/mod/GeyserModUpdateListener.java b/bootstrap/mod/src/main/java/org/geysermc/geyser/platform/mod/GeyserModUpdateListener.java index ec34766dc..6948bd1e1 100644 --- a/bootstrap/mod/src/main/java/org/geysermc/geyser/platform/mod/GeyserModUpdateListener.java +++ b/bootstrap/mod/src/main/java/org/geysermc/geyser/platform/mod/GeyserModUpdateListener.java @@ -26,17 +26,21 @@ package org.geysermc.geyser.platform.mod; import net.minecraft.server.level.ServerPlayer; +import org.geysermc.geyser.GeyserImpl; import org.geysermc.geyser.Permissions; import org.geysermc.geyser.platform.mod.command.ModCommandSource; import org.geysermc.geyser.util.VersionCheckUtils; public final class GeyserModUpdateListener { public static void onPlayReady(ServerPlayer player) { - // Should be creating this in the supplier, but we need it for the permission check. - // Not a big deal currently because ModCommandSource doesn't load locale, so don't need to try to wait for it. - ModCommandSource source = new ModCommandSource(player.createCommandSourceStack()); - if (source.hasPermission(Permissions.CHECK_UPDATE)) { - VersionCheckUtils.checkForGeyserUpdate(() -> source); + // We could just not register the listener, but, this allows config reloading + if (GeyserImpl.getInstance().getConfig().isNotifyOnNewBedrockUpdate()) { + // Should be creating this in the supplier, but we need it for the permission check. + // Not a big deal currently because ModCommandSource doesn't load locale, so don't need to try to wait for it. + ModCommandSource source = new ModCommandSource(player.createCommandSourceStack()); + if (source.hasPermission(Permissions.CHECK_UPDATE)) { + VersionCheckUtils.checkForGeyserUpdate(() -> source); + } } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f13dbbf14..1e0358f39 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -30,6 +30,7 @@ cloud-minecraft = "2.0.0-beta.11" cloud-minecraft-modded = "2.0.0-beta.12" commodore = "2.2" bungeecord = "1.21-R0.1-20250215.224541-54" +bungeecord-api = "1.21-R0.1" velocity = "3.4.0-SNAPSHOT" viaproxy = "3.3.2-SNAPSHOT" fabric-loader = "0.16.14" @@ -121,6 +122,7 @@ neoforge-minecraft = { group = "net.neoforged", name = "neoforge", version.ref = adapters-spigot = { group = "org.geysermc.geyser.adapters", name = "spigot-all", version.ref = "adapters" } adapters-paper = { group = "org.geysermc.geyser.adapters", name = "paper-all", version.ref = "adapters" } bungeecord-proxy = { group = "net.md-5", name = "bungeecord-proxy", version.ref = "bungeecord" } +bungeecord-api = { group = "net.md-5", name = "bungeecord-api", version.ref = "bungeecord-api" } checker-qual = { group = "org.checkerframework", name = "checker-qual", version.ref = "checkerframework" } commodore = { group = "me.lucko", name = "commodore", version.ref = "commodore" } guava = { group = "com.google.guava", name = "guava", version.ref = "guava" }