mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2026-02-07 18:46:49 +01:00
@@ -3,10 +3,12 @@ package emu.grasscutter.data.binout;
|
||||
import dev.morphia.annotations.Entity;
|
||||
import emu.grasscutter.data.GameData;
|
||||
import emu.grasscutter.game.quest.enums.QuestType;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
public class MainQuestData {
|
||||
@@ -59,20 +61,19 @@ public class MainQuestData {
|
||||
if (this.talks == null) this.talks = new ArrayList<>();
|
||||
if (this.subQuests == null) this.subQuests = new SubQuestData[0];
|
||||
|
||||
this.talks = this.talks.stream().filter(Objects::nonNull).toList();
|
||||
this.talks = this.talks.stream()
|
||||
.filter(Objects::nonNull).toList();
|
||||
// Apply talk data to the quest talk map.
|
||||
this.talks.forEach(talkData -> GameData.getQuestTalkMap().put(talkData.getId(), this.getId()));
|
||||
this.talks.forEach(talkData -> GameData.getQuestTalkMap().put(
|
||||
talkData.getId(), this.getId()));
|
||||
// Apply additional sub-quest data to sub-quests.
|
||||
Arrays.stream(this.subQuests)
|
||||
.forEach(
|
||||
quest -> {
|
||||
var questData = GameData.getQuestDataMap().get(quest.getSubId());
|
||||
if (questData != null) questData.applyFrom(quest);
|
||||
});
|
||||
Arrays.stream(this.subQuests).forEach(quest -> {
|
||||
var questData = GameData.getQuestDataMap().get(quest.getSubId());
|
||||
if (questData != null) questData.applyFrom(quest);
|
||||
});
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class SubQuestData {
|
||||
@Data public static class SubQuestData {
|
||||
private int subId;
|
||||
private int order;
|
||||
private boolean isMpBlock;
|
||||
|
||||
Reference in New Issue
Block a user