22 lines
606 B
Java
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();
|
|
}
|
|
}
|