跳到正文

Complete Multiple Quests Simultaneously in Edit Mode

作者:ABadHaiku

一个非常简单的 FTBQuests 插件,可让你在编辑模式中右键一次性完成多个任务。

收藏

介绍

介绍由机器翻译自 CurseForge 原页面,仅供参考。

一个极其简单的 FTBQuests 模组,只做一件事:当你在编辑模式下选中多个任务时,可以右键 -> “立即完成”来一次性完成它们全部。

我大概花了半个小时做这个,因为我的 TFG 任务进度在更新后损坏了。顺便说一句,整合包很棒。4/10,greg 太多了。

只在 1.20.1 上有效,因为这是我自用的,而且大概不会为后续版本维护。不过它确实能用。

Logo:https://commons.wikimedia.org/wiki/File:Eo_circle_green_checkmark.svg,依据 Creative Commons Attribution-Share Alike 4.0 International

许可授权。

总之,我是在自己那个“随便折腾”的模组项目里做的这个,那个项目会被复用于各种东西,所以没有 GitHub。不过这里是源代码,去掉了因为我没用 Architectury 而不得不做的那些粗糙反射:

@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”)));
    }
}

常见问题

Complete Multiple Quests Simultaneously in Edit Mode 支持哪些 Minecraft 版本?

Complete Multiple Quests Simultaneously in Edit Mode 支持 Minecraft Java 版 1.20.1,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

Complete Multiple Quests Simultaneously in Edit Mode 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

ABadHaiku 的其他作品

查看全部 →