Files
spigot-quest-board/src/main/java/games/dmg/spigotquestboard/QuestBrowser.java
T
dmg a09a0a3163
Release / release (push) Successful in 2m17s
CI / build (push) Successful in 1m7s
feat(quests): add shared active quest browsing
2026-09-04 23:51:34 -04:00

22 lines
606 B
Java

package games.dmg.spigotquestboard;
import java.time.Instant;
import java.util.List;
import java.util.UUID;
interface QuestBrowser {
List<Quest> activeQuests(Instant now);
default List<String> completableQuestIds(Instant now) {
return activeQuests(now).stream().map(Quest::id).map(UUID::toString).toList();
}
default List<String> cancellableQuestIds(UUID issuerId, Instant now) {
return activeQuests(now).stream()
.filter(quest -> quest.issuerId().equals(issuerId))
.map(Quest::id)
.map(UUID::toString)
.toList();
}
}