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

44 lines
1.6 KiB
Java

package com.alttd.altitudequests.events;
import com.alttd.altitudequests.AQuest;
import com.alttd.altitudequests.config.Config;
import com.alttd.altitudequests.util.LoadUser;
import com.alttd.altitudequests.util.Logger;
import com.alttd.datalock.LockResponseEvent;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import java.util.UUID;
public class DataLock implements Listener {
@EventHandler
public void onLockResponseEvent(LockResponseEvent event) {
UUID uuid;
try {
uuid = UUID.fromString(event.getData());
} catch (Exception e) {
Logger.warning("Invalid data received from lock response event [%]", event.getData());
return;
}
if (Config.DEBUG) {
Logger.info("Received lock response: channel: [%], response type: [%], data: [%]", event.getChannel(), event.getResponseType().toString(), event.getData());
}
switch (event.getResponseType()) {
case TRY_LOCK_RESULT -> {
if (!event.getResult())
return;
new LoadUser(uuid).runTaskAsynchronously(AQuest.getInstance());
}
case QUEUE_LOCK_FAILED -> {
Logger.warning("Unable to queue lock");
}
case TRY_UNLOCK_RESULT -> {
if (event.getResult())
return;
Logger.warning("Unable to unlock user [%]", uuid.toString());
}
default -> Logger.warning("Received unimplemented response type [%]", event.getResponseType().toString());
}
}
}