42 lines
1.4 KiB
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);
|
|
}
|
|
}
|