package com.alttd.essentia.tasks; import com.alttd.essentia.configuration.Config; import com.alttd.essentia.request.Request; import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; import org.bukkit.scheduler.BukkitRunnable; public class RequestTimeout extends BukkitRunnable { private final Request request; public RequestTimeout(Request request) { this.request = request; } @Override public void run() { if (!request.target().isOnline() || !request.requester().isOnline()) { request.cancel(); return; } TagResolver placeholders = TagResolver.resolver( Placeholder.component("requester", request.requester().displayName()), Placeholder.component("target", request.target().displayName()) ); request.requester().sendRichMessage(Config.REQUEST_TIMED_OUT, placeholders); request.target().sendRichMessage(Config.REQUEST_TIMED_OUT, placeholders); request.cancel(); } }