Complete Multiple Quests Simultaneously in Edit Mode
Активный0.0
Установок
Последнее обновление
Complete Multiple Quests Simultaneously in Edit Mode
Этот минималистичный аддон для FTBQuests решает одну конкретную задачу: позволяет массово завершать задания в режиме редактирования. Когда вы выделяете несколько квестов одновременно, появляется возможность выполнить их все одним действием через контекстное меню.
Модификация была создана для решения проблемы с повреждённой прогрессией квестов после обновления модпака. Разработчик реализовал этот функционал буквально за полчаса для личного использования.
Важная информация:
- Совместимость ограничена версией Minecraft 1.20.1
- Мод создавался как личное решение и не планируется к поддержке в будущих версиях
- Функциональность проверена и работает корректно
Техническая реализация:
@Mixin(value = QuestButton.class, remap = false)
abstract class MCompleteMultiple {
@Final
@Shadow
protected QuestScreen questScreen;
@Redirect(
method="onClicked",
at=@At(
value="INVOKE",
target="java/util/List.add (Ljava/lang/Object;)Z",
ordinal = 5
)
)
private boolean inject(List original, Object it, @Local(name="selected") Collection<Quest> selected) {
original.add(it);
var file = ((QuestScreenAccessor)questScreen).getFile();
// скопировано напрямую из FTBQuests для кнопки "Завершить мгновенно", с добавлением "для всех выбранных"
return original.add(new ContextMenuItem(Component.translatable("ftbquests.gui.complete_instantly"), ThemeProperties.CHECK_ICON.get(), (b) -> selected.forEach((q) -> ChangeProgressMessage.sendToServer(file.selfTeamData, q, progressChange-> progressChange.setReset(false)).setYesNoText(Component.translatable("ftbquests.gui.complete_instantly_q")));
}
}