Fix first join sending disabled advancement packets

Remove the first-join advancement sends left active after AdvancementsManager was disabled. Preserve the welcome broadcast and new-player cleanup.

Fixes SteamWar/SteamWar#530
This commit is contained in:
Codex
2026-11-12 01:10:10 +01:00
parent fb8711f357
commit 48a578cc0e
@@ -36,9 +36,6 @@ import de.steamwar.sql.CheckedSchematic;
import de.steamwar.sql.SchematicType; import de.steamwar.sql.SchematicType;
import de.steamwar.sql.SteamwarUser; import de.steamwar.sql.SteamwarUser;
import de.steamwar.sql.UserPerm; import de.steamwar.sql.UserPerm;
import de.steamwar.velocitycore.VelocityCore;
import de.steamwar.velocitycore.advancements.Advancement;
import de.steamwar.velocitycore.advancements.Advancements;
import de.steamwar.velocitycore.commands.*; import de.steamwar.velocitycore.commands.*;
import de.steamwar.velocitycore.discord.DiscordBot; import de.steamwar.velocitycore.discord.DiscordBot;
import de.steamwar.velocitycore.discord.util.DiscordRanks; import de.steamwar.velocitycore.discord.util.DiscordRanks;
@@ -47,7 +44,6 @@ import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.event.ClickEvent; import net.kyori.adventure.text.event.ClickEvent;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit;
@Linked @Linked
public class ConnectionListener extends BasicListener { public class ConnectionListener extends BasicListener {
@@ -122,12 +118,8 @@ public class ConnectionListener extends BasicListener {
} }
if (newPlayers.contains(player.getUniqueId())) { if (newPlayers.contains(player.getUniqueId())) {
Advancements.ROOT.get(user, (advancement, __) -> new Advancement.Data(advancement, user, 0));
Chatter.broadcast().system("JOIN_FIRST", player); Chatter.broadcast().system("JOIN_FIRST", player);
newPlayers.remove(player.getUniqueId()); newPlayers.remove(player.getUniqueId());
VelocityCore.schedule(() -> {
Advancements.ROOT.get(user).update();
}).delay(1, TimeUnit.SECONDS).schedule();
} }
if (!StreamingCommand.isNotStreaming(user)) { if (!StreamingCommand.isNotStreaming(user)) {