当前位置:首页 > Minecraft插件 > 正文

[1.7.x-1.15.x]Quests任务插件

介绍
Quests是易于使用的开源服务器插件,可让访问者沉浸在您所面临的挑战中!玩家可以同时执行多个任务,完成任务以获得出色的奖励和可解锁性。从在山顶上放置积木到在万圣节杀死一百只骷髅,这些组合仅受您的想象力限制!
Quests is the easy-to-use, open-source server plugin for immersing visitors in challenges made by you! Players can take on multiple quests simultaneously, completing them for stellar rewards and unlockables. From placing blocks on mountain tops to slaying a hundred Skeletons on Halloween, the combinations are only limited by your imagination
支持的语言
Chinese (中文) | Español (Spanish) | Français (French) | Deutsch (German) | Italiano (Italian) | Nederlands (Dutch) | Português (Portuguese) | русский (Russian) | ภาษาไทย (Thai) | Tiếng Việt (Vietnamese)
特点
游戏内编辑!你甚至根本不需要去改动配置,几乎所有操作都可以通过聊天栏完成
NPC支持!Quests支持Citizens 2的各种NPC!玩家可以与NPC交谈,甚至给NPC提交物品,甚至击杀NPC
诱人的奖励!你可以将物品,经验,权限,或者其它插件提供的VIP专属特权作为任务奖励!
创造性!你可以把物品转交,附魔,击杀生物/玩家,甚至到达目标地点作为任务!
独特的事件!可以在任务中设置触发雷击,药水效果,怪物生成,饥饿值改变,传送,甚至更多事件!
吸引眼球!默认情况下有可接受任务的NPC可以在头顶显示粒子效果,玩家可点击NPC打开GUI来选取任务
多语言支持!你几乎可以编辑插件的所有可见语言,甚至包含菜单格式!你还可以通过Crowdin提交多语言!
开发者!三种不同的API来让开发者创建属于自己的任务需求,任务奖励和任务目标!
In-game editor! You should never have to touch the file containing your Quests! Nearly everything can be configured via chat.
Helpful NPCs! Quests can be given by NPCs using Citizens 2! Players can also talk to, deliver items to, or kill, NPCs if you so desire.
Delicious rewards! Give items, experience, permissions, and/or perks from other plugins! Leaderboards are available should you decide to hand out Quest Points.
Get creative! Objectives range from item delivery and enchanting, to mobayer killing and reaching locations.
Unique events! Cause lightning strikes, potion effects, mob swarms, hunger, teleportation and more!
Attention grabbing! By default, NPCs show a particle effect above their heads when quests become available. Players can view those quests via inventory GUI, if configured.
Language support! You can edit nearly every written portion of Quests, down to the menu formatting. Anyone can contribute a translation via our Crowdin page!
Coders rejoice! Three different Quests APIs allow you to build your own requirements, rewards or objectives.
本插件是一个任务插件,让玩家可以完成各种丰富多彩的任务并获得奖励!任务可以是破坏/放置怪物,杀死生物/玩家,到达指定地点等等,甚至可以是回答出一道问题!
插件支持Citizens,可以让NPC作为任务的发布者,甚至以和NPC交谈或者杀死NPC作为任务! 

[1.7.x-1.15.x]Quests任务插件  第1张

支持多种插件作为前置,可以以杀死MythicMobs或者CustomMobs怪物作为任务,可以限制在某WorldGuard区域内接受任务,还可以以MCMMO技能经验作为任务奖励!

厌倦了繁琐的配置文件编辑任务?本插件让你在游戏内即可编辑任务!输入左侧的数字即可做出选择!

[1.7.x-1.15.x]Quests任务插件  第2张

本插件提供了任务可能触发的一系列事件,这些事件也是可以游戏内编辑的!

[1.7.x-1.15.x]Quests任务插件  第3张

使用教程-使用配置文件配置

打开配置文件中的quests.yml 本插件默认自带了4个任务
我们先从一个最简单的任务开始看起
quests:
  Miner:
    name: 石头矿工
    ask-message: <yellow>挖 <purple>10<yellow> 块 <purple>石头
    finish-message: <yellow>干得漂亮!请收下奖励!
    redo-delay: 1800
    requirements:
      items:
      - name-wood_pickaxe:amount-1
      remove-items:
      - false
      fail-requirement-message: <red>去挖石头至少也要准备一把 <purple>木镐<red> 吧...
    stages:
      ordered:
        '1':
          break-block-names:
          - stone
          break-block-amounts:
          - 10
          break-block-durability:
          - 0
    rewards:
      money: 1000
      quest-points: 1
这个任务的名字为“石头矿工”,玩家接受任务后首先看到的是提示语“挖10块石头”,玩家需要拥有一把木镐才能接受任务,否则会显示接受失败的提示语,玩家只要挖掘10块石头(stone:0)即为完成任务,完成任务后玩家将看到完成提示语“干得漂亮!请收下奖励!”,并得到1000金币+1任务点,本任务1800秒之后可以重新领取
配置的一级属性含义
name: 任务的名字,可以使用/quests take <任务名> 来接受任务
ask-message: 玩家接受任务后看到的第一句提示,通常用来作为任务描述
finish-mesage: 玩家完成任务后看到的提示语,通常用来作为祝贺以及描述奖励之用
插件自带的颜色代码是像<yellow>这样的字段,但是我推荐大家用更方便的 § 符号,例如§e
不要使用&作为颜色代码符号!!!!!
redo-delay: 该任务多少秒以后可以重做
npc-giver-id: 该任务由哪个ID的NPC发布?玩家点击NPC即可接受任务,NPC ID请使用数字
需要安装Citizens前置,如果不清楚NPC的ID请使用指令/npc list
npc-giver-id: 0
block-start: 玩家点击某世界某方块可以接受该任务,格式block-start: 世界名 X Y Z,例如
block-start: world <a href="tel:230 65 -180">230 65 -180</a>
region: 玩家必须处于哪个WorldGuard区域内才能接受该任务,例如
region: Lobby
gui-display: 输入指令/questadmin togglegui <NPC ID>可以设置NPC是以聊天的形式展示任务还是以GUI菜单的形式展示任务,若是以GUI形式,该任务会以什么物品显示(物品格式参下文)例如
gui-display: name-WOOD_PICKAXE:amount-1
events: 玩家接受该任务后触发的“事件”,详参下文
requirements: 接受该任务的前提,详参下文
stage: 该任务的阶段,详参下文
rewards: 完成该任务的奖励,详参下文
使用教程-配置-requirements
打开配置文件中的quests.yml 本插件默认自带了4个任务
我们先从一个最简单的任务开始看起
quests.yml中的requirements代表“接受该任务需要的前提”,格式如下
 
    requirements:
      money: 100
      quest-points: 1
      permissions:
      - pcd.test
      quests:
      - 完成该任务才能接下个任务
      quest-blocks:
      - 完成该任务禁止接此任务
      items:
      - name-wood_pickaxe:amount-1
      remove-items:
      - false
      mcmmo-skills:
      - Mining
      - Repair
      mcmmo-amounts:
      - 10
      - 10
      fail-requirement-message: <red>你不满足领取任务条件
money: 领取该任务需要的金钱数量
quest-points: 领取该任务需要的任务点数量
permissions: 领取该任务需要的权限
quests: 只有完成了下列任务才能接受此任务
quest-blocks: 与上面那条相反,一旦完成了下列任务就禁止接受此任务
items: 领取该任务需要的物品,物品格式如下(不一定所有属性都用上)
 - name-物品英文名:amount-数量:data-子ID:enchantment-附魔壹 附魔等级:enchantment-附魔贰 附魔等级:displayname-物品显示的名字:lore-第一行:lore-第二行:lore-第三行
以下提供一个示例
- name-DIAMOND_SWORD:amount-1:enchantment-Sharpness 3:enchantment-Looting 2:displayname-钻石之剑:lore-这是一把非常厉害的剑:lore-可以砍断任何东西
remove-items: 上述物品在领取任务时是否扣除,可选true/false
mcmmo-skills: 和mcmmo-amounts: 领取该任务需要的MCMMO技能和经验 必须一一对应!
fall-requirement-message: 当上述条件不满足任何一条时,显示该提示语
使用教程-配置-stage
quests.yml中的stage部分代表任务的分段,你可以把一个大任务分成几个阶段来让玩家进行
当然,只设置一个阶段也是可以的,以下提供一个示例
 
    stages:
      ordered:
        '1':
          death-event: DeathFail
          mobs-to-kill:
          - Pig
          mob-amounts:
          - 3
          finish-event: GoodJob
        '2':
          death-event: DeathFail
          mobs-to-kill:
          - Zombie
          mob-amounts:
          - 2
          finish-event: GoodJob
        '3':
          death-event: DeathFail
          mobs-to-kill:
          - Skeleton
          mob-amounts:
          - 1
          finish-event: GoodJob
这个任务被分为3个小阶段,分别是击杀3只猪,击杀2只僵尸,击杀1只骷髅
阶段中各属性含义
break-block-names:
break-block-amounts:
break-block-durability:
这三个属性代表完成该任务需要撸的方块的种类/次数/子ID,也就是鼠标左键点击方块,三者一一对应,格式同上
place-block-names:
place-block-amounts:
place-block-durability:
这三个属性代表完成该任务需要放置的方块的种类/数量/子ID,三者一一对应,格式同上
use-block-names:
use-block-amounts:
use-block-durability:
这三个属性代表完成该任务需要“使用”的方块的种类/次数/子ID,例如开关门,按按钮等等,三者一一对应,格式同上
cut-block-names:
cut-block-amounts:
cut-block-durability:
这三个属性代表完成该任务需要手持剪刀“剪”的方块种类/数量/子ID,可以是任何方块,三者一一对应,格式同上
fish-to-catch: 代表完成该任务需要钓鱼的数量,格式如下
fish-to-catch: 5
players-to-kill: 代表完成该任务需要击杀的玩家数量,格式如下
players-to-kill: 5
enchantments:
enchantment-item-names:
enchantment-amounts:
这三个属性代表完成该任务需要附魔出的属性/被附魔的物品/附魔的次数,三者一一对应,例如钻石胸甲,附魔保护属性1次,物品名称建议使用数字ID而非英文名称,格式如下
 
          enchantments:
          - 保护
          - 火焰保护
          enchantment-item-names:
          - 311
          - 313
          enchantment-amounts:
          - 1
          - 1
items-to-deliver:
npc-delivery-ids:
delivery-messages:
这三个属性代表要转交给NPC的物品/转交NPC的ID/转交后NPC说的话,三者一一对应,需要安装Citizens前置,物品格式请参上方requirements-items部分,格式如下
 
          items-to-deliver:
          - name-FISHING_ROD:amount-1
          npc-delivery-ids:
          - 0
          delivery-messages:
          - 货物已经安全送到了吗?太感谢你了!
npc-ids-to-talk-to: 代表完成该任务需要与之交谈的NPC ID,“交谈”即右键点击NPC即可,格式如下
 
 npc-ids-to-talk-to:
 - 0
npc-ids-to-kill:
npc-kill-amounts:
这两个属性代表完成该任务要击杀的NPC ID以及击杀次数,二者一一对应,格式如下
 
          npc-ids-to-kill:
          - 0
          npc-kill-amounts:
          - 1
mobs-to-kill:
mob-amounts:
locations-to-kill:
kill-location-radii:
kill-location-names:
这五个属性代表完成该任务需要击杀的怪物种类/击杀数量/击杀位置/击杀位置半径/击杀位置名称,五者一一对应,“击杀位置”的格式为“世界名 X Y Z”,“击杀位置半径”代表以击杀位置为中心多少格内的击杀算有效击杀,格式如下
 
         mobs-to-kill:
          - Pig
          mob-amounts:
          - 1
          locations-to-kill:
          - world -201.0 65.0 203.0
          kill-location-radii:
          - 3
          kill-location-names:
          - 击杀点
locations-to-reach:
reach-location-radii:
reach-location-names:
这三个属性代表完成该任务需要到达的位置/位置半径/位置名称,三者一一对应,“到达位置”的格式为“世界名 X Y Z”,“位置半径”代表以到达位置为中心玩家进入多少格内即算成功到达,格式如下
 
          locations-to-reach:
          - world -201.0 65.0 203.0
          reach-location-radii:
          - 2
          reach-location-names:
          - 到达点
mobs-to-tame:
mob-tame-amounts:
这两个属性代表完成该任务需要驯服的生物种类/次数,二者一一对应,格式如下
 
          mobs-to-tame:
          - Wolf
          mob-tame-amounts:
          - 1
sheep-to-shear:
sheep-amounts:
这两个属性代表完成该任务需要剪羊毛的颜色/数量,二者一一对应,剪羊毛颜色属性请务必使用英文单词而非中文汉字,格式如下
 
          sheep-to-shear:
          - white
          - yellow
          sheep-amounts:
          - 5
          - 5
password-displays:
password-phrases:
这两个属性代表完成该任务需要回答的问题/问题的答案,二者一一对应,格式如下
 
          password-displays:
          - 他戴着一副黑*框*眼*镜,他被人尊称为长*者,他独自领导一个大的集体,但是在他执*政期间集体内外风云变幻,常有敌*对势*力想用各种方法瓦解集体,但是在他的英明领导下都未能得逞,他常常教导后辈要提高知识水平,不能图*样图*森*破,他也会对后辈的顽劣表示I'm angry.请问他是谁?
          password-phrases:
          - 慢羊羊
同样你可以给一个问题设置多个答案,每个答案请使用竖杠 | 隔开,例如
 
          password-displays:
          - 你们是不是应该给秋风残叶的帖子评个人气?
          password-phrases:
          - Yes|当然|是的|一定|那肯定的啊
start-event: 任务开始时触发的事件,请参下文
finish-event: 任务结束时触发的事件,请参下文
disconnect-event: 玩家突然掉线触发的事件,一般设置为任务失败,请参下文
death-event: 玩家死亡触发的事件,一般设置为任务失败,请参下文
chat-event-triggers:
chat-events:
这两个属性代表玩家在聊天栏发送哪些内容会触发事件/触发的事件名,二者一一对应,格式如下
 
          chat-event-triggers:
          - 我要篡位
          chat-events:
          - 篡位剧情
delay: 该阶段任务结束后,要冷却多少秒才能开始下一个阶段
delay-message: 任务冷却中的提示语,格式如下
 
          delay: 1
          delay-message: 还在冷却中!
start-message: 该阶段任务开始时的提示语
complete-message: 该阶段任务完成时的提示语
使用教程-配置-events
events部分本身代表“事件”,即在接受任务到完成任务之间触发的一系列事件
events的各配置在events.yml文件中,以下是一个例子
events:
  ExampleEvent:
    message: '<red>你获得了药水效果!'
    potion-effect-types:
      - Speed
      - Jump
    potion-effect-durations:
      - 100
      - 25
    potion-effect-amplifiers:
      - 3
      - 2
当这个名叫ExampleEvent的事件被触发时,玩家会看见消息:你获得了药水效果! 同时获得速度IV100秒以及跳跃III25秒
事件中各属性含义
message: 该事件被触发后玩家看到的消息,可加以§开头的彩色代码,不要使用&开头的彩色代码
items: 该事件被触发后玩家获得的物品 物品格式参上方requirements-items部分,格式如下
    items:
    - name-DIAMOND_PICKAXE:amount-1:data-2
potion-effect-types:
potion-effect-durations:
potion-effect-amplifiers:
这三个属性代表该事件被触发后玩家获得的药水效果种类/时长/等级,格式见本部分最上方例子
explosions: 该事件被触发后在某世界某坐标产生一次爆炸,格式如下
    explosions:
    - world -261.0 64.0 134.0
lightning-strikes: 该事件被触发后在某世界某坐标产生一次雷击,格式如下
    lightning-strikes:
    - world -1.0 127.0 59.0
commands: 该事件被触发后执行的控制台指令,可使用<player>变量指代执行任务的玩家
请注意是控制台指令,不是OP指令也不是玩家指令!某些只能由玩家执行的指令可能无法执行!
    commands:
    - eco give <player> 1000
teleport-location: 该事件被触发后将玩家传送至某世界某坐标,格式如下
    teleport-location: world 8.0 127.0 59.0
health: 该事件被触发后设置玩家的血量值
hunger: 该事件被触发后设置玩家的饥饿值
effects:
effect-locations:
这两个属性代表该事件被触发后听到的音效/音效被播放的坐标,二者一一对应,格式如下
    effects:
    - GHAST_SHOOT
    effect-locations:
    - world -267.0 64.0 125.0
clear-inventory: 该事件被触发后是否清空玩家背包,谨慎使用,可选true/false
fail-quest: 该事件被触发后是否任务失败,一般和death-event:连用,即“玩家死亡,任务失败”,可选true/false
storm-world:
storm-duration:
这两个属性代表该事件被触发后某世界开始下雨以及下雨的时长,时长单位是tick,格式如下
    storm-world: world
    storm-duration: 40
thunder-world:
thunder-duration:
这两个属性代表该事件被触发后某世界开始雷雨以及雷雨的时长,时长单位是tick,格式如下
    thunder-world: world
    thunder-duration: 60
mob-spawns: 该事件被触发以后生成怪物,属性较多,请参下方配置格式
    mob-spawns:
      '0':
        # 怪物的显示名称
        name: 僵尸
        # 怪物的生成地点 格式:世界 X Y Z
        spawn-location: world_nether 23.0 127.0 43.0
        # 怪物种类
        mob-type: ZOMBIE
        # 怪物生成数量
        spawn-amounts: 5
        # 手持物品 物品格式参上文
        held-item: name-WOOD_PICKAXE:amount-1
        # 手持物品掉落几率 可输入0.0-1.0之间的数
        held-item-drop-chance: 0.1
        # 怪物穿的靴子
        boots: name-DIAMOND_BOOTS:amount-1
        # 靴子掉落几率
        boots-drop-chance: 0.1
        # 怪物穿的护腿
        leggings: name-DIAMOND_LEGGINGS:amount-1
        # 护腿掉落几率
        leggings-drop-chance: 0.1
        # 怪物穿的胸甲
        chest-plate: name-DIAMOND_CHESTPLATE:amount-1
        # 胸甲掉落几率
        chest-plate-drop-chance: 0.1
        # 怪物戴的头盔
        helmet: name-DIAMOND_HELMET:amount-1
        # 头盔掉落几率
        helmet-drop-chance: 0.1
[3.x新增] timer: 任务限时秒,超时即主任务失败(而非任务阶段失败),一般和start-event:连用,即“任务开始,计时开始”,格式如下
timer: 40
[3.x新增] cancel-timer: 任务计时取消,即不再限时,一般和finish-event:连用,即“阶段达成,计时取消”,可选true/false
使用教程-配置-rewards
quests.yml中的rewards代表完成全部阶段任务获得的奖励,以下是一个例子
    rewards:
      money: 1000
      quest-points: 1
      exp: 100
      items:
      - name-WOOD_PICKAXE:amount-1
      commands:
      - eco give <player> 1000
      permissions:
      - pcd.test
      mcmmo-skills:
      - ALL
      mcmmo-levels:
      - 10
money: 金钱奖励
quest-points: 任务点奖励
exp: 经验奖励
items: 物品奖励 物品格式参上文
commands: 完成任务后执行的控制台指令
permissions: 完成任务后给玩家添加的权限
mcmmo-skills:
mcmmo-levels: 这两项是MCMMO技能名称以及相应的经验奖励,二者一一对应,如果把技能名称设置为ALL代表所有技能

使用教程-使用指令

/quests 玩家指令帮助
/questadmin 管理员指令帮助
指令帮助内容已全部汉化,不在本帖赘述
本插件权限系统已经默认配置好,不需要做其他更改
玩家默认拥有的权限
quests.quest - 使用/quest查看当前任务
quests.questinfo - 查看任务帮助
quests.quests - 查看玩家帮助
quests.list - 查看任务列表
quests.take - 用指令接受任务
quests.quit - 放弃任务
quests.stats - 查看自己已做的任务记录
quests.top - 查看任务达人榜
quests.info - 查看插件信息
quests.journal - 查看任务记录书
其余管理员权限不再赘述

config参数

# 玩家可在任务提示出现后多少秒内接受任务?
accept-timeout: 20
# 允许玩家通过指令接受任务吗
allow-command-questing: true
# 允许玩家通过指令接受NPC发布的任务吗
allow-command-quests-with-npcs: false
# 允许玩家放弃任务吗
allow-quitting: true
# 玩家必须输入 Yes/No 来确认接受任务
ask-confirmation: true
# 是否在玩家进入服务器的时候就生成有关玩家的配置文件
# 如果设置为false 玩家只在第一次使用本插件时生成配置文件
generate-files-on-join: true
# 检查玩家正在执行的任务时 是否忽视锁定的任务
ignore-locked-quests: false
# 若任务要求杀死一个玩家 请问杀死该玩家的时间冷却?
kill-delay: 600
# 语言文件
language: en-US
# 玩家一次能领取多少任务 设置成0无限制
max-quests: 0
# 启用任务NPC周围的粒子效果:新任务/重做任务
npc-effects:
  enabled: true
  new-quest: note
  redo-quest: angry_villager
# 允许玩家查看任务需要的前提吗  
show-requirements: true
# 允许玩家接受任务以及完成任务时显示Title消息吗
show-titles: true
# 显示翻译后的子指令
translate-subcommands: false
# 让指南针自动指向下一步发布任务的NPC位置
use-compass: true

示例任务

我随便写几个示例任务好了,供你们参考,可能更新也可能不更新
示例任务中提到的服务器名 剧情名 地名 人名均为虚构
以下任务涉及到的事件events.yml
  DeathFail:
    fail-quest: true
  FindtheTarget:
    items:
    - name-WHEAT:amount-1:displayname-药草
  TimerEvent:
    timer: 40
  CancelTimer:
    cancel-timer: true
《任务一》
任务描述:请在60秒内击杀邪恶的BOSS(来自MythicMobs)
任务奖励:1000金币 100经验
任务备注:如果中途死亡/掉线/超时则任务失败
备注:需要安装MythicMobs以及添加相应附属
quests:
  KilltheBOSS:
    name: 杀死BOSS
    ask-message: §e勇士!请帮我们杀死邪恶的BOSS!我们会给你丰厚的报酬的!
    finish-message: §e太感谢你了!请务必收下报酬!
    stages:
      ordered:
        '1':
          custom-objectives:
            custom1:
              name: Kill MythicMobs Objective
              # 击杀一只完成任务
              count: 1
              data:
                Mob Level: '0'
                Mob Faction: ANY
                Objective Name: 邪恶的BOSS
                # MythicMobs里的怪物名称:BOSS
                Internal Mobnames: BOSS
                Notifier enabled: 'true'
                Notifier msg: '已击杀 %c%/%s%'
          # 任务开始 触发TimeEvent事件 即“60秒计时开始”      
          start-event: TimerEvent
          # 任务结束 触发CancelTimer事件 即“计时停止”
          finish-event: CancelTimer
          # 玩家死亡 任务失败
          death-event: DeathFail
          # 玩家掉线 任务失败
          disconnect-event: DeathFail
    rewards:
      money: 1000
      exp: 100
《任务二》
任务描述:PCD组长夜幕病了 请去镇子外面寻找药草 找到后请把药草转交给组长夜幕
任务奖励:成为OP
备注:需要安装Citizens前置
quests:
  FindtheTarget:
    name: 寻找药草
    ask-message: §ePCD小组组长夜幕病了 需要到镇子外面的野地里寻找药草来治疗才行 如果你找到了 就尽快送去组长夜幕那里!
    finish-message: §e天哪太感谢你了!你救了我们组长的命!我们钦定你为OP!
    stages:
      ordered:
        # 阶段一 寻找药草
        '1':
          # 药草位于世界world坐标100 63 100的位置 玩家只要进入该坐标10格范围内即算成功找到
          locations-to-reach:
          - world 100.0 63.0 100.0
          reach-location-radii:
          - 10
          reach-location-names:
          - 药草
          complete-message: §e你已经找到药草了!快去把药草送给组长夜幕!
          # 任务结束 触发FindtheTarget事件 玩家获得物品“药草”
          finish-event: FindtheTarget
        # 阶段二 转交药草  
        '2':
          items-to-deliver:
          - name-WHEAT:amount-1:displayname-药草
          # “组长夜幕”NPC的ID是0
          npc-delivery-ids:
          - 0
          delivery-messages:
          - 这……这是能用来治病的药草吗?
    rewards:
      # 以执行指令作为奖励 玩家成为OP
      commands:
      - op <player>


 隐藏内容
您未登录,请登录注册后查看

0
您需要 登录账户 后才能发表评论

发表评论