forked from SteamWar/SteamWar
Fix AdvancementsManager
(cherry picked from commit c221989f9c6128f55e84bb260a9b319193934edf)
This commit is contained in:
@@ -22,7 +22,9 @@ package de.steamwar.velocitycore.advancements;
|
||||
import com.velocitypowered.api.event.Subscribe;
|
||||
import com.velocitypowered.api.event.connection.DisconnectEvent;
|
||||
import com.velocitypowered.api.event.connection.PostLoginEvent;
|
||||
import com.velocitypowered.api.event.player.ServerPostConnectEvent;
|
||||
import com.velocitypowered.api.network.ProtocolVersion;
|
||||
import com.velocitypowered.api.proxy.Player;
|
||||
import com.velocitypowered.proxy.connection.client.ConnectedPlayer;
|
||||
import com.velocitypowered.proxy.protocol.MinecraftPacket;
|
||||
import com.velocitypowered.proxy.protocol.ProtocolUtils;
|
||||
@@ -65,15 +67,24 @@ public class AdvancementsManager extends BasicListener {
|
||||
|
||||
@Subscribe(priority = -1000)
|
||||
public void onPostLogin(PostLoginEvent event) {
|
||||
sendAdvancements(event.getPlayer());
|
||||
}
|
||||
|
||||
@Subscribe(priority = -1000)
|
||||
public void onServerPostConnect(ServerPostConnectEvent event) {
|
||||
sendAdvancements(event.getPlayer());
|
||||
}
|
||||
|
||||
private void sendAdvancements(Player player) {
|
||||
// Only enable for 1.21.4 or higher
|
||||
if (event.getPlayer().getProtocolVersion().lessThan(ProtocolVersion.MINECRAFT_1_21_4)) {
|
||||
if (player.getProtocolVersion().lessThan(ProtocolVersion.MINECRAFT_1_21_4)) {
|
||||
return;
|
||||
}
|
||||
|
||||
((ConnectedPlayer) event.getPlayer()).getConnection().write(selectAdvancementTabPacket);
|
||||
SteamwarUser user = SteamwarUser.get(event.getPlayer().getUniqueId());
|
||||
((ConnectedPlayer) player).getConnection().write(selectAdvancementTabPacket);
|
||||
SteamwarUser user = SteamwarUser.get(player.getUniqueId());
|
||||
for (Advancement advancement : Advancements.getAll()) {
|
||||
advancement.get(user);
|
||||
advancement.get(user).update();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user