AltitudeQuests/src/main/java/com/alttd/altitudequests/events/LogoutEvent.java

42 lines
1.4 KiB
Java

package com.alttd.altitudequests.events;
import com.alttd.altitudequests.AQuest;
import com.alttd.altitudequests.config.Config;
import com.alttd.altitudequests.objects.Quest;
import com.alttd.altitudequests.util.Logger;
import com.alttd.datalock.DataLockAPI;
import org.bukkit.Bukkit;
import org.bukkit.NamespacedKey;
import org.bukkit.boss.KeyedBossBar;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerQuitEvent;
import javax.annotation.Nullable;
import java.util.UUID;
public class LogoutEvent implements Listener {
@EventHandler
public void onPlayerQuit(PlayerQuitEvent event) {
UUID uuid = event.getPlayer().getUniqueId();
if (Config.DEBUG)
Logger.info("Syncing %", event.getPlayer().getName());
removeBossBar(NamespacedKey.fromString(uuid + "-part-" + "1", AQuest.getInstance()));
removeBossBar(NamespacedKey.fromString(uuid + "-part-" + "2", AQuest.getInstance()));
Quest.unloadUser(uuid).thenAccept(result -> DataLockAPI.get().tryUnlock("aquest:player-data", uuid.toString()));
}
private void removeBossBar(@Nullable NamespacedKey namespacedKey) {
if (namespacedKey == null) {
return;
}
KeyedBossBar bossBar = Bukkit.getBossBar(namespacedKey);
if (bossBar == null) {
return;
}
Bukkit.removeBossBar(namespacedKey);
}
}