跳到正文

Realm RPG: Quests & Rewards

作者:NoCube

NPC、随机生成的任务、新结构以及世界各地的随机遭遇。

收藏

截图

介绍

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


参与者 MCreator x CurseForge ModJam 2024
需要安装 GeckoLib 和 Curios API

 

简介:

这个模组添加了一套完整的可重复任务系统,体验几乎与大型多人在线角色扮演游戏相同。游历世界时,你可能会遇到里面有 NPC 的新建筑。与他们交谈,即可接取程序生成的任务。 
使用任务日志(默认按键:J)查看信息;接取任务后,也可以启用任务追踪界面(默认按键:K),更轻松地完成任务。

 

任务

“可选任务,完成后可获得奖励”

如何开始?

  • 在主世界寻找一座有 NPC 的新建筑。与 NPC 交谈即可开始任务。你会在聊天栏中看到所需信息。大多数任务都有 NPC 专属的开始和结束对话。有些任务描述值得仔细阅读,不过最重要的词语总会以黄色突出显示(例如所需物品及其数量)。
  • 按 J 打开任务日志(默认按键,可在按键绑定设置中更改)。在这里可以查看任务类型。将鼠标悬停在不同的文字上,可能会看到有用的提示。你也可以按 K 开启任务追踪界面(默认按键,可在按键绑定设置中更改),追踪当前任务。任务进度会显示在屏幕左侧。
  • 完成任务后返回 NPC 身边并与之交谈,他会随机给予你奖励,奖励包括绿宝石以及更稀有、实用的物品。

 

更多任务详情

  • 任务系统基于 JSON,这意味着玩家可以自行配置,甚至可以用新任务进行扩展(更多内容请阅读本页底部)。
  • 与多人游戏完全兼容,并带有竞争元素:谁先完成任务谁就获得奖励。
  • 如果 NPC 死亡,或其他玩家在你之前完成了此任务,或有人对该 NPC 使用了遗忘药水,任务将停止。
  • 当你开始一个任务或任务被中断时,你会在聊天中收到通知。它通过橙色或红色以及方括号来区分。
  • 一次只能进行一个任务的原则。你可能喜欢也可能讨厌它,但你无法同时完成来自不同 NPC 的 30 个目标相似的任务,因为这会破坏游戏平衡。
  • 同一个 NPC 永远不会连续给出相同的任务。你不会连续两次为 Angler’s bobbers 收集木材,但这并不改变同一个任务可能经常出现的事实。
  • 如果你不喜欢当前任务,或者想从另一个 NPC 那里接任务,只需点击任务日志中的拒绝按钮。将鼠标悬停在此按钮上时,会出现一条通知,提示你将失去进度。这对于交付类任务并不重要,因为当你取消任务时,没有人会拿走你的物品。
  • 如果你不喜欢使用快捷键,任务日志也以物品形式存在。可在物品栏或工作台中用 3 张纸和 1 个绿宝石合成。 
  • 遗忘药水是一个有用的物品,可以对 NPC 使用以跳过当前任务并开始新任务。
  • 如果你已经达到了所需进度,那么将鼠标悬停在任务日志中的“返回 NPC”文本上,你将看到上次见面的坐标。
  • 在任务日志中,将光标悬停在书的左上角,即可查看你已完成的任务数量。

任务类型

任务类型指的是玩家完成一个任务需要执行的动作。目前游戏中有 8 种可用的任务类型:

  • 交付 – 收集所需物品并交付给 NPC。注意:物品将被消耗。
  • 合成 – 合成所需物品以完成任务。注意:物品会留在你身上。
  • 狩猎 – 杀死指定的生物。生物变种也计入(如果指定的是蜘蛛,洞穴蜘蛛也会计入)。
  • 训练 – 对指定生物造成暴击(跳跃或下落时攻击)。
  • 钓鱼 – 使用钓鱼竿钓鱼。
  • 建造 – 放置所需方块以完成任务。破坏此类方块会减少进度。
  • 破坏 – 破坏所需方块以完成任务。放置此类方块会减少进度。
  • 耕作 – 使用锄头耕地。踩踏土壤会减少进度。

 

任务稀有度

任务可以有两种稀有度:普通或稀有。普通任务是你会最常做的任务。它们有不错的奖励,而且大多不难完成。稀有任务以紫色标示,它们可能更难或更危险,但奖励可能非常好。当你开始为NPC做任务时,前三个任务总是普通任务。后续任务的稀有度概率取决于玩家当前的游戏进度。在多人游戏中,这个概率是根据最后为该NPC完成任务的玩家来计算的。例如:你已经去过末地,现在正在接受你家附近渔夫的任务。一个在这个世界没有进度的朋友加入了你的游戏,但他不知怎么在你之前完成了这个任务。这个渔夫的下一个任务的稀有度将根据朋友的进度计算,而不是你的。但在不同游戏阶段,稀有度的概率是多少呢? 

  • 全新玩家——前3个任务总是普通任务。
  • 前3个任务之后:普通(95%概率),稀有(5%概率)。
  • 找到第一颗钻石后——普通(90%),稀有(10%)
  • 访问下界后——普通(80%),稀有(20%)
  • 访问末地后——普通(70%),稀有(30%)
  • 在当前ModJam版本中,稀有任务总是出现得更频繁,以便于测试*

任务NPC

渔夫 
“那个似乎什么事都做不好的老人。即使他弄坏了前两根鱼竿,你也不会让他没有新鱼竿可用,对吧?”

  • /locate structure realmrpg_quests:anglers
  • 可以在河流附近的渔夫小屋找到。该结构是随机生成的,周围可能会生成小桥、码头和其他附加建筑以适应当地地形。
  • 总共有24个可重复任务(15个普通,9个稀有)。所有任务在游戏中都已经写好了文本台词。
  • 如果安装了其他模组,可能会要求来自这些模组的物品(Create、Farmer’s Delight、Aquaculture、Upgrade Aquatic)

普通任务:

  • 24种简单任务的组合,非常适合前期和中期(例如渔夫的钓鱼线坏了,所以他请你帮他弄一些线)

稀有任务:

  • 发光鱼饵。NPC 让你给他一个发光的凝块,用来制作发光鱼饵。你必须找到并杀死“在深水中游动的青绿色发光生物”才能获得它。完成此任务时,渔夫除了给予奖励外,还会给你一些发光鱼饵,你可以自己使用。要做到这一点,你需要在夜间钓鱼时将其放在副手,然后你将有 50% 的几率获得 1-3 条额外的鱼。此物品是消耗品。
  • 守卫者。渔夫报告说守卫者已经到来。在此任务期间,钓出物品会导致生成一个守卫者。你必须杀死所需数量的守卫者才能完成任务。
  • 蔚蓝匕首鳍。钓到许多这种鱼。在此任务激活期间,在雨天或雷暴天气下可在任何地方钓到(50% 几率)。
  • 猩红石斑鱼。钓到一条强壮的红色鱼,它会损坏你的钓鱼竿并发出独特的声音。在此任务激活期间,可在任何地方钓到(20% 几率)。
  • 刺背鲽鱼。钓到并交付一条带刺的鱼,它会对您造成 6 点伤害。在此任务激活期间,可在任何地方钓到(25% 几率)。
  • 珍珠鲶鱼。钓到并交付一条能让你短暂失明的鱼。在此任务激活期间,在晴天可在任何地方钓到(25% 几率)。
  • 黑鳍笛鲷。钓到并交付一条会召唤幻翼帮忙的鱼。在此任务激活期间,在夜间可在任何地方钓到(50% 几率)。
  • 铜鱼。你需要钓到一条会随着时间氧化的鱼(此机制目前已禁用)。在此任务激活期间,可在任何地方钓到(25% 几率)。

 

厨师
“一位顶级大厨,随时准备喂饱世界上的每一个人……当然,前提是有人能给他带来合适的食材。”

  • /locate structure realmrpg_quests:cooks
  • 可在平原的厨师小屋中找到。该结构是随机生成的,周围可能环绕着道路、麦田、谷仓、房屋、鸡舍、路灯和其他附加建筑以适应当地地形。
  • 总共有 12 个可重复任务(9 个普通,4 个稀有)。所有任务在游戏中都已写好文本行。
  • 如果安装了其他模组(农夫乐事、Upgrade Aquatic),可以要求提供来自这些模组的物品。

普通任务:

  • 12 个简单任务的集合,非常适合游戏前期和中期(例如厨师需要一些棕色蘑菇来做饭,或者要求你耕地)

稀有任务:

  • 苦力怕果。厨师要求你为他找到苦力怕果,可以通过杀死暴露在阳光下的苦力怕获得。这是清晨去战斗的好理由。
  • 赭色海带。在此任务期间,海草有几率掉落赭色海带,厨师要求你获取它。
  • 天鹅绒松露。挖掘任何土块就能找到天鹅绒松露并交给厨师。
  • 高级餐点。厨师要求你准备一道复杂的菜肴(使用工作台)。如果安装了农夫乐事,此任务可能会根据你的运气变得更简单或更困难。

 

怪物猎人
“一位击败了上百个骷髅的传奇英雄。但即使是他也需要你的帮助。”

  • /locate structure realmrpg_quests:monster_hunters
  • 可在森林中的怪物猎人塔找到。该结构随机生成,周围可能环绕着道路、仓库和其他附加建筑以贴合地形。
  • 共有9个可重复任务(6个普通,3个稀有)。目前所有任务的文本均为简化版。
  • 如果安装了其他模组(农夫乐事、Upgrade Aquatic),任务可能会要求来自这些模组的物品。

普通任务:

  • 9种简单任务,非常适合中后期游戏(例如击杀一些僵尸、进行战斗训练并对苦力怕造成暴击等)

稀有任务:

  • 灾厄村民之鼻。怪物猎人谈到与灾厄村民有旧仇。他要求你取来他们的鼻子……而你知道怎么弄到。(任何灾厄村民都适合此任务,包括卫道士、唤魔者等)
  • 恶魂。NPC要求你击败一只恶魂。
  • 烈焰人。NPC要求你击杀几只烈焰人。

矿工小屋
“靠近地表的地下避难所”

  • /locate structure realmrpg_quests:miners
  • 该结构的入口很少出现在大多数草甸生物群系和沙漠的地表。
  • 矿工NPC目前已从模组中移除,由怪物猎人替代。

 

伐木工小屋
“隐藏在树丛中的森林小屋”

  • /locate structure realmrpg_quests:lumberjacks
  • 该结构很少出现在森林和针叶林生物群系中。
  • 伐木工NPC目前已从模组中移除,由村民替代。

 

其他角色

无头骷髅
“这只凋灵骷髅似乎丢了脑袋。字面意义上的。”

  • 可在地狱砖废墟中与普通凋灵骷髅一同找到。
  • 他不会注意到或攻击玩家。也许你应该试着以某种方式帮助他?(可能会有几种后果)

猪灵赌徒
“绝对不可疑的人,纯粹出于取悦访客的愿望(嗯,以及为此赚取相当多的金币)而行动”

  • 只需支付1块金锭的微薄费用,你就能参与他的猜罐游戏。 
  • 他会向你展示奖励藏在哪个罐子里,然后在你面前搅拌它们。
  • 从三个罐子中选一个,获得奖励。或者选错并承担后果(后果可能各不相同,也可能不存在。)
  • 他绝对没有作弊。你可以放心。

 

配置 / 添加新任务

你可能在想,我该如何把自己的任务添加到游戏中?下面将详细说明所需的知识。

配置

目前模组会为任务本身添加配置文件。位置在你的 Minecraft 安装文件夹中(例如 minecraft/config/realmrpg/quests/)

它是如何工作的?

甚至在进入你的世界之前,如果 Minecraft 游戏文件夹中没有 json 配置文件,游戏就会创建它们。如果配置已经存在,那么游戏中的 NPC 将能够根据这些文件中的数据生成任务。例如,钓鱼者会有来自 angler.json 文件的任务。你可以在游戏运行时直接编辑此文件,但这不会影响已经生成的任务。只有在当前任务完成后,下一个任务才会根据你的更改生成。

任务在 JSON 中是什么样子?

这是一个随机任务的示例。它的稀有度为普通,ID 为 9。主要文本基于钓鱼者的钓具任务。它会要求玩家交付随机数量(7 到 21 个)随机颜色的蜡烛。它会给予玩家来自原版沙漠神殿箱子的战利品。它会奖励玩家 11 点经验。

  "questType_c9": "deliver",
  "questText_c9": "quest.realmrpg_quests.angler.tackles",
  "questRewardText_c9": "quest.realmrpg_quests.generic.reward",
  "questTarget_c9": "minecraft:candles",
  "questReward_c9": "minecraft:chests/desert_pyramid",
  "questSpecialEvents_c9": "",
  "questCustomName_c9": "",
  "questTaskCustomName_c9": "",
  "questTargetCustomName_c9": "",
  "questTargetEnchanted_c9": false,
  "questTargetMin_c9": 7,
  "questTargetMax_c9": 21,
  "questExp_c9": 11,

 

这一切意味着什么?

每个任务都由上面显示的行组成。行的顺序无关紧要,但所有行都是任务正常工作所必需的。在每行末尾,你会看到任务稀有度的首字母(c 或 r,分别代表普通和稀有),以及任务 ID 的数字。当游戏选择下一个任务时,这个 ID 很重要,而检查的 ID 数量在 commonQuestCount 和 rareQuestCount 行中指定(几乎在 .json 文件的开头)。

例如,你想给钓鱼者添加一个普通任务。默认情况下,他的 json 文件中有 "commonQuestCount": 15。你只需复制并粘贴与任务 15 相关的所有行,并将它们末尾的数字改为 16。然后只需将 commonQuestCount 改为 16(这样游戏现在会检查所有 16 个可能的普通任务)。就这样,任务准备好了!你可以将任何行的值更改为你想要的任何内容。

然而,如果这些行中有任何一行让你觉得复杂,下面你可以看到详细解释:

questType
(任务类型,取决于所需的玩家操作)

  • 接受以下值之一: deliver、craft、kill、crit、build、destroy、catch、till
  • 你无法添加自己的新任务类型

questText
(NPC 在接到此任务时会对玩家说的话)

  • 接受任意本地化条目
  • 如果本地化条目包含 {Target} 或 {Count},它们将被替换为任务目标的名称以及完成任务所需操作的数量。
  • 替换示例:“Gather {Target} and bring me {Count} pieces” = “Gather Apple and bring me 12 pieces”
  • 通用文本(递送):quest.realmrpg_quests.generic.deliver
  • 通用文本(狩猎):quest.realmrpg_quests.generic.kill

questRewardText
(NPC 在完成此任务时说的话)

  • 接受任意本地化条目
  • 基础奖励文本为 quest.realmrpg_quests.generic.reward

questTarget
(完成任务所需的内容)

  • 对于递送和合成任务,它是一个物品标签,每次会从中随机选择一个物品。示例:minecraft:candles
  • 对于狩猎和训练任务,它是一个实体标签,其中任何实体都适合完成任务。示例:minecraft:skeletons
  • 对于 建造和破坏任务,它是一个方块标签,其中 任何方块都适合完成任务。示例:minecraft:coal_ores
  • 对于钓鱼和耕地任务,该值不重要,可以留空或设为 none

questReward
(将给予完成任务玩家的奖励)

  • 接受任意战利品表
  • 示例(原版):minecraft:chests/simple_dungeon
  • 示例(模组):realmrpg_quests:rewards/cook/generic

 questSpecialEvents
(稀有任务期间发生的事件和检查)

  • 大多在基础模组中硬编码。目前无法通过配置添加自定义事件。
  • 你仍然可以用不同的文本、奖励战利品表、经验值等制作当前稀有任务的“你的版本”。
  • 查看现有的 json 配置文件并复制可能的值(来自 Angler 的示例:scarlet_grouper)
  • 留空或设为 none 可使任务具有普通颜色。
  • 插入任何其他值(甚至 blahblah)可使此任务具有紫色,如同稀有任务一样。

 questCustomName
(任务在日志中的显示名称)

  • 接受任意本地化条目。(例如游戏内 biome.minecraft.swamp 将显示为 Swamp)
  • 如果留空或设为 none,它将在游戏内被替换为任务类型(例如 Delivery 或 Hunting)

questTaskCustomName
(任务目标在日志中的显示名称)

  • 接受任意本地化条目。
  • 务必将此值设置为 so

questTargetCustomName
(任务日志中任务目标的显示名称)

  • 可使用任何本地化条目。
  • 对于狩猎、训练、破坏或建造任务,请务必将此值设为某个名称,以便在任务中显示目标。

questTargetEnchanted
(如果任务目标是物品,是否应附有魔咒)

  • 目前无效。未来会用于需要附魔物品的交付任务。

 questTargetMin, questTargetMax
(如果任务目标是物品,是否应附有魔咒)

  • 完成任务所需操作次数的最小值和最大值(击杀数 / 放置方块数 / 物品数量)
  • 最小值不得大于最大值,反之亦然
  • 这些值不得设为零或负数。
  • 对于交付类任务,数值不得超过 64,否则任务将无法完成。

questExp
(完成任务后给予的经验值)

  • NPC给予玩家的“经验奖励球”中的经验值数量
  • 此值不得设为零或负数。

 

这次 ModJam 让我萌生了一个想法:暂时放下手头所有项目,尽快为我的 RPG 系列尝试制作一个小巧却与众不同的模组。尽管我能投入的时间大约只有这次竞赛的一半,但我还是努力将 MCreator 推到极限,并在模组制作方面学到了许多新东西。希望我的项目即使目前尚未完成,也足够有趣,能与其他参赛作品相媲美。我迫不及待想看看大家这个月都做出了什么!

常见问题

Realm RPG: Quests & Rewards 支持哪些 Minecraft 版本?

Realm RPG: Quests & Rewards 支持 Minecraft Java 版 1.20.1,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

Realm RPG: Quests & Rewards 怎么安装?

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

评论

登录后评论和评分

NoCube 的其他作品

查看全部 →