From cb9d56472813291d114cba6956dab518912f1420 Mon Sep 17 00:00:00 2001 From: Des Herriott Date: Thu, 23 Jan 2025 09:55:05 +0000 Subject: [PATCH 1/2] fix: dependencies of quests in invisible chapters shouldn't be invisible Need separate isSearchable() method; don't change QuestObject#isVisible since that causes dependents of quests in invisible chapters to also become invisible https://github.com/FTBTeam/FTB-Mods-Issues/issues/1454 --- .../ftb/mods/ftbquests/gui/SelectQuestObjectScreen.java | 2 +- .../ftb/mods/ftbquests/gui/quests/ViewQuestPanel.java | 2 +- .../main/java/dev/ftb/mods/ftbquests/quest/Quest.java | 9 +++++---- .../java/dev/ftb/mods/ftbquests/quest/QuestObject.java | 4 ++++ 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/common/src/main/java/dev/ftb/mods/ftbquests/gui/SelectQuestObjectScreen.java b/common/src/main/java/dev/ftb/mods/ftbquests/gui/SelectQuestObjectScreen.java index 8d8e24bc..f261908b 100644 --- a/common/src/main/java/dev/ftb/mods/ftbquests/gui/SelectQuestObjectScreen.java +++ b/common/src/main/java/dev/ftb/mods/ftbquests/gui/SelectQuestObjectScreen.java @@ -61,7 +61,7 @@ public void addButtons(Panel panel) { ClientQuestFile file = ClientQuestFile.INSTANCE; for (QuestObjectBase objectBase : file.getAllObjects()) { - if (config.predicate.test(objectBase) && (file.canEdit() || (!(objectBase instanceof QuestObject qo) || qo.isVisible(file.self)))) { + if (config.predicate.test(objectBase) && (file.canEdit() || (!(objectBase instanceof QuestObject qo) || qo.isSearchable(file.self)))) { list.add((T) objectBase); } } diff --git a/common/src/main/java/dev/ftb/mods/ftbquests/gui/quests/ViewQuestPanel.java b/common/src/main/java/dev/ftb/mods/ftbquests/gui/quests/ViewQuestPanel.java index 2745f6f1..cda78275 100644 --- a/common/src/main/java/dev/ftb/mods/ftbquests/gui/quests/ViewQuestPanel.java +++ b/common/src/main/java/dev/ftb/mods/ftbquests/gui/quests/ViewQuestPanel.java @@ -543,7 +543,7 @@ private void showList(Collection c, boolean dependencies) { } for (QuestObject object : c) { - if (questScreen.file.canEdit() || object.isVisible(questScreen.file.self)) { + if (questScreen.file.canEdit() || object.isSearchable(questScreen.file.self)) { MutableComponent title = object.getMutableTitle(); if (object.getQuestChapter() != null && object.getQuestChapter() != quest.getQuestChapter()) { Component suffix = Component.literal(" [").append(object.getQuestChapter().getTitle()).append("]").withStyle(ChatFormatting.GRAY); diff --git a/common/src/main/java/dev/ftb/mods/ftbquests/quest/Quest.java b/common/src/main/java/dev/ftb/mods/ftbquests/quest/Quest.java index c8ba1525..abdc731f 100644 --- a/common/src/main/java/dev/ftb/mods/ftbquests/quest/Quest.java +++ b/common/src/main/java/dev/ftb/mods/ftbquests/quest/Quest.java @@ -632,10 +632,6 @@ public void move(Chapter to, double x, double y) { @Override public boolean isVisible(TeamData data) { - if (chapter.alwaysInvisible) { - return false; - } - if (invisible && !data.isCompleted(this)) { if (invisibleUntilTasks == 0 || tasks.stream().filter(data::isCompleted).limit(invisibleUntilTasks).count() < invisibleUntilTasks) { return false; @@ -653,6 +649,11 @@ public boolean isVisible(TeamData data) { return getDependencies().anyMatch(object -> object.isVisible(data)); } + @Override + public boolean isSearchable(TeamData data) { + return !chapter.alwaysInvisible && super.isSearchable(data); + } + @Override public void clearCachedData() { super.clearCachedData(); diff --git a/common/src/main/java/dev/ftb/mods/ftbquests/quest/QuestObject.java b/common/src/main/java/dev/ftb/mods/ftbquests/quest/QuestObject.java index 777df6a4..c295b111 100644 --- a/common/src/main/java/dev/ftb/mods/ftbquests/quest/QuestObject.java +++ b/common/src/main/java/dev/ftb/mods/ftbquests/quest/QuestObject.java @@ -86,6 +86,10 @@ public boolean isVisible(TeamData data) { return true; } + public boolean isSearchable(TeamData data) { + return isVisible(data); + } + public void onStarted(QuestProgressEventData data) { } From e9adf26640a700b3ebb8465fa7954cdd58f8c9d7 Mon Sep 17 00:00:00 2001 From: Des Herriott Date: Thu, 23 Jan 2025 10:16:22 +0000 Subject: [PATCH 2/2] build: version -> 1902.5.10, changelog updated --- CHANGELOG.md | 5 +++++ gradle.properties | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 58472a11..29b60aca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1902.5.10] + +### Fixed +* Fixed dependencies of quests in always-hidden chapters also always being hidden (even if in a different chapter) + ## [1902.5.9] ### Fixed diff --git a/gradle.properties b/gradle.properties index 442c2b05..2ce8b930 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,7 +5,7 @@ mod_id=ftbquests archives_base_name=ftb-quests minecraft_version=1.19.2 # Build time -mod_version=1902.5.9 +mod_version=1902.5.10 maven_group=dev.ftb.mods mod_author=FTB Team # Curse release