- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
“GuillaumeVDN的插件文档/QuestCreator/示例”的版本间的差异
Qsefthuopq(讨论 | 贡献) (创建页面,内容为“{{模板:VDNBox}} =示例任务= You can download the files here. ==内容== This example has a NPC activator and a quest. 激活器: * The NPC will display par…”) |
Qsefthuopq(讨论 | 贡献) 小 |
||
(未显示同一用户的3个中间版本) | |||
第1行: | 第1行: | ||
{{模板:VDNBox}} | {{模板:VDNBox}} | ||
− | = | + | =NPC打工任务= |
− | + | 你可以点击[http://guillaumevdn.com/plugins/doc/files/example_npc_fetch.zip 这里]下载文件。 | |
− | |||
==内容== | ==内容== | ||
− | + | 该示例包含一个NPC激活器和一个任务。 | |
激活器: | 激活器: | ||
− | * | + | * NPC会在玩家有可接受或进行中的任务时显示粒子效果 |
− | * | + | * 玩家接近NPC会触发对话,对话结束后玩家可打开确认开始任务的GUI |
任务内容: | 任务内容: | ||
− | * | + | * 挖掘20块石头和20块泥土/草方块 |
− | * | + | * 持有20块圆石和20块泥土与NPC交互 |
− | * | + | * 获得$20的任务奖励并发射烟花火箭 |
其它: | 其它: | ||
− | * | + | * 该任务最多只能完成20次 |
− | * | + | * 任务冷却时间为10小时。 |
==激活器== | ==激活器== | ||
/quest_activators/npc_farmer.yml | /quest_activators/npc_farmer.yml | ||
+ | <source lang="yaml"> | ||
type: CITIZENS_NPCS | type: CITIZENS_NPCS | ||
npcs: [0] | npcs: [0] | ||
第33行: | 第33行: | ||
sneak_click_cancel: true | sneak_click_cancel: true | ||
− | required_gui_quests: 9999 # | + | required_gui_quests: 9999 # 设置为较大的数字则永远不打开 |
− | + | </source> | |
==任务模型== | ==任务模型== | ||
/quest_models/example_npc_fetch.yml | /quest_models/example_npc_fetch.yml | ||
− | # -------------------- | + | <source lang="yaml"> |
+ | # -------------------- 显示设置 -------------------- | ||
− | display_name: | + | display_name: NPC打工任务 |
− | description: [' | + | description: ['你需要挖掘20块石头和20块泥土并将掉落物带给NPC。'] |
start_notify: | start_notify: | ||
− | title: '& | + | title: '&6任务开始' |
− | title_subtitle: '& | + | title_subtitle: '&7你开始了任务{quest}&7!' |
sound: ENTITY_PLAYER_LEVELUP | sound: ENTITY_PLAYER_LEVELUP | ||
第63行: | 第64行: | ||
{controls} | {controls} | ||
− | # -------------------- | + | # -------------------- 任务结束设置 -------------------- |
completion: | completion: | ||
第69行: | 第70行: | ||
notify: | notify: | ||
SUCCESS: | SUCCESS: | ||
− | title: '& | + | title: '&d任务完成' |
− | title_subtitle: '& | + | title_subtitle: '&7你完成了任务&a{quest}&7!' |
sound: ENTITY_PLAYER_LEVELUP | sound: ENTITY_PLAYER_LEVELUP | ||
FAIL: | FAIL: | ||
− | title: '& | + | title: '&c任务失败' |
− | title_subtitle: '& | + | title_subtitle: '&7任务&c{quest}&7失败!' |
sound: BLOCK_ANVIL_DESTROY | sound: BLOCK_ANVIL_DESTROY | ||
CANCEL: | CANCEL: | ||
− | title: '& | + | title: '&c任务取消' |
− | title_subtitle: '& | + | title_subtitle: '&7你取消了任务&c{quest}' |
sound: BLOCK_ANVIL_DESTROY | sound: BLOCK_ANVIL_DESTROY | ||
第85行: | 第86行: | ||
end_types: [SUCCESS] | end_types: [SUCCESS] | ||
− | # -------------------- | + | # -------------------- 激活器设置 -------------------- |
activators: [npc_farmer] | activators: [npc_farmer] | ||
activators_dialog: | activators_dialog: | ||
− | - '&6[ | + | - '&6[农民] &7想要来点任务吗?给我带点方块就行。' |
− | - '' # | + | - '' # 该行留空,用于让玩家点击打开GUI |
activators_dialog_auto_start_distance: 3.5 | activators_dialog_auto_start_distance: 3.5 | ||
第99行: | 第100行: | ||
reset_distance: 5.0 | reset_distance: 5.0 | ||
reset_notify: | reset_notify: | ||
− | message: '&6[ | + | message: '&6[农民] &7好吧 D:' |
− | # -------------------- | + | # -------------------- 任务内容 -------------------- |
branches: | branches: | ||
第109行: | 第110行: | ||
objects: | objects: | ||
− | # ----- | + | # ----- 第一个目标:挖掘目标。玩家需要挖掘20块石头和泥土。 |
FARM: | FARM: | ||
# display | # display | ||
− | name_short: | + | name_short: 挖点方块 |
− | objective_detail: '& | + | objective_detail: '&7挖掘方块 | &7石头:&b{objective_progression:a}&7/&b{objective_goal:a} &7| 泥土:&b{objective_progression:b}&7/&b{objective_goal:b}' |
objective_detail_verbose: | | objective_detail_verbose: | | ||
− | & | + | &7挖点方块 |
− | & | + | &7石头:&b{objective_progression:a}&7/&b{objective_goal:a} |
− | & | + | &7泥土:&b{objective_progression:b}&7/&b{objective_goal:b} |
start_notify: | start_notify: | ||
− | message: '&6[ | + | message: '&6[农民] &7太好了!我会等你回来的。' |
# blocks break settings | # blocks break settings | ||
type: PLAYER_BLOCKS_BREAK | type: PLAYER_BLOCKS_BREAK | ||
第131行: | 第132行: | ||
goal: 20.0 | goal: 20.0 | ||
allow_player_blocks: false | allow_player_blocks: false | ||
− | allow_player_blocks_error_message: '& | + | allow_player_blocks_error_message: '&c该方块是玩家放置的,无法增加任务进度!' |
# post-object | # post-object | ||
complete_notify: | complete_notify: | ||
sound: ENTITY_PLAYER_LEVELUP | sound: ENTITY_PLAYER_LEVELUP | ||
− | message: '&7[&a{quest}&7] | + | message: '&7[&a{quest}&7] 已达成任务目标!你可以将物品交付给农民了。' |
goto: OBJECT DELIVER | goto: OBJECT DELIVER | ||
− | # ----- | + | # ----- 第二个目标:NPC交付目标。 |
− | # | + | # 玩家需要持有20块圆石和泥土并与NPC交互(这些物品将从玩家背包中取走) |
DELIVER: | DELIVER: | ||
− | # | + | # 显示 |
− | name_short: | + | name_short: 交付物品 |
− | objective_detail: '& | + | objective_detail: '&7交付物品 | 圆石:&b{objective_progression:a}&7/&b{objective_goal:a} &7| 泥土:&b{objective_progression:b}&7/&b{objective_goal:b}' |
objective_detail_verbose: | | objective_detail_verbose: | | ||
− | & | + | &7将以下物品交给农民: |
− | & | + | &7圆石:&b{objective_progression:a}&7/&b{objective_goal:a} |
− | & | + | &7泥土:&b{objective_progression:b}&7/&b{objective_goal:b} |
− | # | + | # NPC交付设置 |
type: PLAYER_CITIZENS_NPC_DELIVER_ITEMS | type: PLAYER_CITIZENS_NPC_DELIVER_ITEMS | ||
npc: 0 | npc: 0 | ||
第166行: | 第167行: | ||
complete_notify: | complete_notify: | ||
sound: ENTITY_PLAYER_LEVELUP | sound: ENTITY_PLAYER_LEVELUP | ||
− | message: '&6[ | + | message: '&6[农民] &7太棒了!这$20是你的奖励 :D' |
+ | goto: QUEST_SUCCESS | ||
+ | |||
+ | # -------------------- 奖励设置 -------------------- | ||
+ | |||
+ | end_objects: | ||
+ | SUCCESS: | ||
+ | a: | ||
+ | type: SERVER_LOGIC_MONEY | ||
+ | currency: VAULT | ||
+ | value_formula: {value} + 20.0 # 添加20$ | ||
+ | b: | ||
+ | type: SERVER_FIREWORKS_LAUNCH | ||
+ | effects: | ||
+ | 1: | ||
+ | type: CREEPER | ||
+ | colors: | | ||
+ | AQUA | ||
+ | BLUE | ||
+ | fade_colors: | | ||
+ | AQUA | ||
+ | BLUE | ||
+ | flicker: true | ||
+ | trail: true | ||
+ | count: 1 | ||
+ | position: | ||
+ | type: PLAYER_RELATIVE_SINGLE | ||
+ | location: | ||
+ | distance: 3.0 | ||
+ | vertical_offset: 1.0 | ||
+ | </source> | ||
+ | =NPC交付任务= | ||
+ | [http://guillaumevdn.com/plugins/doc/files/example_npc_deliver.zip 点击这里]下载配置文件 | ||
+ | ==内容== | ||
+ | 该示例包含一个NPC激活器和一个任务。 | ||
+ | |||
+ | 这份示例使用了不同于上一个示例的任务目标——玩家必须手持并一次性交付物品。 | ||
+ | |||
+ | 激活器: | ||
+ | |||
+ | * NPC会在玩家有可接受或进行中的任务时显示粒子效果 | ||
+ | * 玩家接近NPC会触发对话,对话结束后玩家可打开确认开始任务的GUI | ||
+ | 任务内容: | ||
+ | |||
+ | * 手持64个小麦与NPC交互 | ||
+ | * 获得$150的奖励并发射烟花火箭 | ||
+ | 其它: | ||
+ | * 该任务最多可完成20次 | ||
+ | * 任务冷却时间为10小时 | ||
+ | ==激活器== | ||
+ | /quest_activators/npc_farmer.yml | ||
+ | <source lang="yaml"> | ||
+ | type: CITIZENS_NPCS | ||
+ | npcs: [0] | ||
+ | |||
+ | particles: | ||
+ | AVAILABLE: notify_1 | ||
+ | PROGRESS: notify_2 | ||
+ | |||
+ | particles_location: | ||
+ | vertical_offset: 2.5 | ||
+ | |||
+ | sneak_click_cancel: true | ||
+ | |||
+ | required_gui_quests: 9999 # 设置为较大的数字则永远不会打开 | ||
+ | |||
+ | </source> | ||
+ | ==任务模型== | ||
+ | /quest_models/example_npc_deliver.yml | ||
+ | <source lang="yaml"> | ||
+ | # -------------------- 显示设置 -------------------- | ||
+ | |||
+ | display_name: NPC交付任务 | ||
+ | description: ['你需要带给NPC64个小麦。'] | ||
+ | |||
+ | start_notify: | ||
+ | title: '&6任务开始' | ||
+ | title_subtitle: '&7你开始了任务{quest}&7!' | ||
+ | sound: ENTITY_PLAYER_LEVELUP | ||
+ | |||
+ | progress_notify: | ||
+ | actionbar: '&a{quest} &7| {objective}' | ||
+ | progress_notify_scoreboard: true | ||
+ | |||
+ | all_status_item: | ||
+ | type: STONE | ||
+ | name: '&6{quest}' | ||
+ | lore: | | ||
+ | &7{description} | ||
+ | {completions} | ||
+ | {last_completion} | ||
+ | {cooldown} | ||
+ | {detailed_progression} | ||
+ | {detailed_errors} | ||
+ | {controls} | ||
+ | |||
+ | # -------------------- 任务结束设置 -------------------- | ||
+ | |||
+ | completion: | ||
+ | max_completions: 20 | ||
+ | notify: | ||
+ | SUCCESS: | ||
+ | title: '&d任务完成' | ||
+ | title_subtitle: '&7你完成了任务&a{quest}&7!' | ||
+ | sound: ENTITY_PLAYER_LEVELUP | ||
+ | FAIL: | ||
+ | title: '&c任务失败' | ||
+ | title_subtitle: '&7任务&c{quest}&7失败!' | ||
+ | sound: BLOCK_ANVIL_DESTROY | ||
+ | CANCEL: | ||
+ | title: '&c任务取消' | ||
+ | title_subtitle: '&7你取消了任务&c{quest}' | ||
+ | sound: BLOCK_ANVIL_DESTROY | ||
+ | |||
+ | cooldown: | ||
+ | duration: 10 HOUR | ||
+ | end_types: [SUCCESS] | ||
+ | |||
+ | # -------------------- 激活器设置 -------------------- | ||
+ | |||
+ | activators: [npc_farmer] | ||
+ | |||
+ | activators_dialog: | ||
+ | - '&6[农民] &7我有任务要给你。我需要点小麦。' | ||
+ | - '' # 该行留空,用于让玩家点击打开GUI | ||
+ | |||
+ | activators_dialog_auto_start_distance: 3.5 | ||
+ | |||
+ | activators_dialog_reset: | ||
+ | reset_delay: 30 SECOND | ||
+ | reset_distance: 5.0 | ||
+ | reset_notify: | ||
+ | message: '&6[农民] &7好吧 D:' | ||
+ | |||
+ | # -------------------- 任务内容 -------------------- | ||
+ | |||
+ | branches: | ||
+ | |||
+ | MAIN: | ||
+ | starts_at: DELIVER | ||
+ | objects: | ||
+ | |||
+ | # ----- 主要目标:获取物品目标。玩家必须手持64个小麦与NPC交互。 | ||
+ | |||
+ | DELIVER: | ||
+ | start_notify: | ||
+ | message: '&6[农民] &7太好了!我需要你带给我64个小麦。我会在这里等你的。' | ||
+ | # display | ||
+ | name_short: 将64个小麦交给农民 | ||
+ | objective_detail: '&7交付小麦:&b{objective_progression}&7/&b{objective_goal}' | ||
+ | # npc deliver settings | ||
+ | type: PLAYER_CITIZENS_NPC_INTERACT | ||
+ | npc: 0 | ||
+ | items_needed: | ||
+ | items: | ||
+ | a: | ||
+ | item: | ||
+ | type: WHEAT | ||
+ | goal: 64 | ||
+ | in_hand: true | ||
+ | take: true | ||
+ | error_message: '&6[农民] &7你找到多少小麦了?记住,我要的是64个。' | ||
+ | # post-object | ||
+ | complete_notify: | ||
+ | sound: ENTITY_PLAYER_LEVELUP | ||
+ | message: '&6[农民] &7不错,这是你的$150奖励 :D' | ||
+ | goto: QUEST_SUCCESS | ||
+ | |||
+ | # -------------------- 奖励设置 -------------------- | ||
+ | |||
+ | end_objects: | ||
+ | SUCCESS: | ||
+ | a: | ||
+ | type: SERVER_LOGIC_MONEY | ||
+ | currency: VAULT | ||
+ | value_formula: {value} + 150.0 # 添加150$ | ||
+ | b: | ||
+ | type: SERVER_FIREWORKS_LAUNCH | ||
+ | effects: | ||
+ | 1: | ||
+ | type: CREEPER | ||
+ | colors: | | ||
+ | AQUA | ||
+ | BLUE | ||
+ | fade_colors: | | ||
+ | AQUA | ||
+ | BLUE | ||
+ | flicker: true | ||
+ | trail: true | ||
+ | count: 1 | ||
+ | position: | ||
+ | type: PLAYER_RELATIVE_SINGLE | ||
+ | location: | ||
+ | distance: 3.0 | ||
+ | vertical_offset: 1.0 | ||
+ | |||
+ | </source> | ||
+ | =抉择(分支目标)= | ||
+ | 你可以[http://guillaumevdn.com/plugins/doc/files/example_choice.zip 点击这里]下载文件。 | ||
+ | ==内容== | ||
+ | 该示例包含全部可用的分支目标及其大部分设置。 | ||
+ | ==任务模型== | ||
+ | /quest_models/example_choice.yml | ||
+ | <source lang="yaml"> | ||
+ | # -------------------- 显示设置 -------------------- | ||
+ | |||
+ | display_name: 分支示例 | ||
+ | description: ['这是一份演示分支目标的示例配置。'] | ||
+ | |||
+ | start_notify: | ||
+ | title: '&6任务开始' | ||
+ | title_subtitle: '&7你开始了任务{quest}&7!' | ||
+ | sound: ENTITY_PLAYER_LEVELUP | ||
+ | |||
+ | progress_notify: | ||
+ | actionbar: '&a{quest} &7| {objective}' | ||
+ | progress_notify_scoreboard: true | ||
+ | |||
+ | all_status_item: | ||
+ | type: STONE | ||
+ | name: '&6{quest}' | ||
+ | lore: | | ||
+ | &7{description} | ||
+ | {completions} | ||
+ | {last_completion} | ||
+ | {cooldown} | ||
+ | {detailed_progression} | ||
+ | {detailed_errors} | ||
+ | {controls} | ||
+ | |||
+ | # -------------------- 任务结束设置 -------------------- | ||
+ | |||
+ | completion: | ||
+ | max_completions: -1 | ||
+ | notify: | ||
+ | SUCCESS: | ||
+ | title: '&d任务完成' | ||
+ | title_subtitle: '&7你完成了任务&a{quest}&7!' | ||
+ | sound: ENTITY_PLAYER_LEVELUP | ||
+ | FAIL: | ||
+ | title: '&c任务失败' | ||
+ | title_subtitle: '&7任务&c{quest}&7失败!' | ||
+ | sound: BLOCK_ANVIL_DESTROY | ||
+ | CANCEL: | ||
+ | title: '&c任务取消' | ||
+ | title_subtitle: '&7你取消了任务&c{quest}' | ||
+ | sound: BLOCK_ANVIL_DESTROY | ||
+ | |||
+ | # -------------------- 任务内容 -------------------- | ||
+ | |||
+ | branches: | ||
+ | |||
+ | MAIN: | ||
+ | starts_at: CHAT | ||
+ | objects: | ||
+ | |||
+ | # -----第一个目标:聊天抉择 | ||
+ | |||
+ | CHAT: | ||
+ | # 显示 | ||
+ | name_short: 作出抉择 | ||
+ | start_notify: | ||
+ | message: | | ||
+ | &r-------------------- | ||
+ | &6[系统] 请点击聊天框内的抉择项。 | ||
+ | &r | ||
+ | # 分支聊天消息 | ||
+ | type: DIVERGE_CHAT | ||
+ | repeat_delay: 30 SECOND | ||
+ | choices: | ||
+ | a: | ||
+ | text: '&6(a) &aDIVERGE_CHAT目标测试文本。' | ||
+ | redo_text: '&6(a) &7DIVERGE_CHAT目标测试文本。' | ||
+ | goto: OBJECT CHAT | ||
+ | b: | ||
+ | text: '&6(b) &aDIVERGE_GUI目标测试文本。' | ||
+ | redo_text: '&6(b) &7DIVERGE_GUI目标测试文本。' | ||
+ | goto: OBJECT GUI | ||
+ | c: | ||
+ | text: '&6(c) &aDIVERGE_OBJECTS目标测试文本。' | ||
+ | redo_text: '&6(c) &7DIVERGE_OBJECTS目标测试文本。' | ||
+ | goto: OBJECT OBJECTS | ||
+ | d: | ||
+ | text: '&6(d) &a该选项只在你有$10时可用。点击重启该目标。' | ||
+ | redo_text: '&6(d) &7该选项只在你有$10时可用。 点击重启该目标。' | ||
+ | unavailable_text: '&6(d) &8该选项只在你有$10时可用。' | ||
+ | conditions: | ||
+ | conditions: | ||
+ | a: | ||
+ | type: LOGIC_MONEY | ||
+ | currency: VAULT | ||
+ | logic: '{money} >= 10' | ||
+ | goto: OBJECT CHAT | ||
+ | e: | ||
+ | text: '&6(e) &e该选项只能点击一次。它会重启该目标。' | ||
+ | max_completions: 1 | ||
+ | goto: OBJECT CHAT | ||
+ | f: | ||
+ | text: '&6(f) &a我可溜了!(停止任务)' | ||
+ | redo_text: '&6(f) &7我可溜了!(停止任务)' | ||
+ | goto: QUEST_SUCCESS | ||
+ | # post-object | ||
+ | complete_notify: | ||
+ | sound: ENTITY_PLAYER_LEVELUP | ||
+ | message: '&7[系统] 你成功地在聊天框内作出抉择!' | ||
+ | |||
+ | # ----- 第二个目标:GUI抉择 | ||
+ | |||
+ | GUI: | ||
+ | # 显示 | ||
+ | name_short: 作出抉择 | ||
+ | start_notify: | ||
+ | message: '&6[系统] 请在GUI内作出抉择。你只需点击其中一个选项。' | ||
+ | # 分支聊天消息 | ||
+ | type: DIVERGE_GUI | ||
+ | reopen_delay: 5 SECOND | ||
+ | choices: | ||
+ | a: | ||
+ | slot: 10 | ||
+ | item: | ||
+ | type: GREEN_WOOL | ||
+ | name: '&aDIVERGE_CHAT目标测试文本。' | ||
+ | redo_item: | ||
+ | type: GRAY_WOOL | ||
+ | name: '&7DIVERGE_CHAT目标测试文本。' | ||
+ | goto: OBJECT CHAT | ||
+ | b: | ||
+ | slot: 11 | ||
+ | item: | ||
+ | type: GREEN_WOOL | ||
+ | name: '&aDIVERGE_GUI目标测试文本。.' | ||
+ | redo_item: | ||
+ | type: GRAY_WOOL | ||
+ | name: '&7DIVERGE_GUI目标测试文本。' | ||
+ | goto: OBJECT GUI | ||
+ | c: | ||
+ | slot: 12 | ||
+ | item: | ||
+ | type: GREEN_WOOL | ||
+ | name: '&aDIVERGE_OBJECTS目标测试文本' | ||
+ | redo_item: | ||
+ | type: GRAY_WOOL | ||
+ | name: '&7DIVERGE_OBJECTS目标测试文本。' | ||
+ | goto: OBJECT OBJECTS | ||
+ | d: | ||
+ | slot: 13 | ||
+ | item: | ||
+ | type: GREEN_WOOL | ||
+ | name: '&a该选项只在你有$10时可用。 点击重启该目标。' | ||
+ | redo_item: | ||
+ | type: GRAY_WOOL | ||
+ | name: '&7该选项只在你有$10时可用。 点击重启该目标。' | ||
+ | unavailable_item: | ||
+ | type: RED_WOOL | ||
+ | name: '&8该选项只在你有$10时可用。' | ||
+ | conditions: | ||
+ | conditions: | ||
+ | a: | ||
+ | type: LOGIC_MONEY | ||
+ | currency: VAULT | ||
+ | logic: '{money} >= 10' | ||
+ | goto: OBJECT GUI | ||
+ | e: | ||
+ | slot: 14 | ||
+ | item: | ||
+ | type: ORANGE_WOOL | ||
+ | name: '&a该选项只能点击一次。 它会重启该目标。' | ||
+ | max_completions: 1 | ||
+ | goto: OBJECT GUI | ||
+ | f: | ||
+ | slot: 15 | ||
+ | item: | ||
+ | type: GREEN_WOOL | ||
+ | name: '&a我可溜了!(停止任务)' | ||
+ | redo_item: | ||
+ | type: GRAY_WOOL | ||
+ | name: '&7我可溜了!(停止任务)' | ||
+ | goto: QUEST_SUCCESS | ||
+ | # post-object | ||
+ | complete_notify: | ||
+ | sound: ENTITY_PLAYER_LEVELUP | ||
+ | message: '&7[系统] 你在GUI中作出了抉择。' | ||
+ | |||
+ | # ----- 第三个目标:目标抉择 | ||
+ | |||
+ | OBJECTS: | ||
+ | # 显示 | ||
+ | name_short: 作出抉择 | ||
+ | start_notify: | ||
+ | message: '&6[系统] 请作出抉择。你可以跳跃3次重启任务或在聊天框输入“goodbye”停止任务。' | ||
+ | update_notify: | ||
+ | message: '&6[系统] 请作出抉择。你可以跳跃3次重启任务或在聊天框输入“goodbye”停止任务。' | ||
+ | update_notify_delay: 30 SECOND | ||
+ | # 分支聊天消息 | ||
+ | type: DIVERGE_OBJECTS | ||
+ | choices: | ||
+ | a: | ||
+ | object: OBJECTS_RESTART | ||
+ | goto: OBJECT CHAT | ||
+ | b: | ||
+ | object: OBJECTS_STOP | ||
+ | goto: QUEST_SUCCESS | ||
+ | # 完成目标前 | ||
+ | complete_notify: | ||
+ | sound: ENTITY_PLAYER_LEVELUP | ||
+ | message: '&7[系统] 你用目标作出了抉择。' | ||
+ | |||
+ | OBJECTS_RESTART: | ||
+ | type: PLAYER_JUMP | ||
+ | goal: 3 | ||
+ | |||
+ | OBJECTS_STOP: | ||
+ | type: PLAYER_CHAT | ||
+ | whitelist: ['goodbye'] | ||
+ | error_message: '&7如果你想要停止任务,请输入“goodbye”。' | ||
+ | |||
+ | # -------------------- 奖励设置 -------------------- | ||
+ | |||
+ | end_objects: | ||
+ | SUCCESS: | ||
+ | a: | ||
+ | type: SERVER_FIREWORKS_LAUNCH | ||
+ | effects: | ||
+ | 1: | ||
+ | type: CREEPER | ||
+ | colors: | | ||
+ | AQUA | ||
+ | BLUE | ||
+ | fade_colors: | | ||
+ | AQUA | ||
+ | BLUE | ||
+ | flicker: true | ||
+ | trail: true | ||
+ | count: 1 | ||
+ | position: | ||
+ | type: PLAYER_RELATIVE_SINGLE | ||
+ | location: | ||
+ | distance: 3.0 | ||
+ | vertical_offset: 1.0 | ||
+ | |||
+ | </source> | ||
+ | =农场任务组 + GUI= | ||
+ | [http://guillaumevdn.com/plugins/doc/files/example_gui_group_farm.zip 点击下载配置文件] | ||
+ | ==内容== | ||
+ | 任务: | ||
+ | |||
+ | * 在这5个农场任务中,你需要破坏X个成熟的小麦 | ||
+ | * 你会获得X元的奖励并发射烟花火箭 | ||
+ | 全局变量 | ||
+ | |||
+ | * 全局变量可定义任务的目标和奖励 | ||
+ | 组: | ||
+ | |||
+ | * 该任务组包含5个玩家需要按顺序完成的任务 | ||
+ | |||
+ | GUI: | ||
+ | |||
+ | * 主GUI会根据任务状态显示全部5个任务 | ||
+ | * GUI里还有点击可显示聊天消息的物品 | ||
+ | ==全局变量== | ||
+ | /global_variables.yml | ||
+ | <source lang="yaml"> | ||
+ | # 耕种小麦任务的目标和奖励 | ||
+ | |||
+ | farm_wheat_1_goal: 25 | ||
+ | farm_wheat_2_goal: 50 | ||
+ | farm_wheat_3_goal: 100 | ||
+ | farm_wheat_4_goal: 150 | ||
+ | farm_wheat_5_goal: 250 | ||
+ | |||
+ | farm_wheat_1_reward: 100 | ||
+ | farm_wheat_2_reward: 200 | ||
+ | farm_wheat_3_reward: 400 | ||
+ | farm_wheat_4_reward: 600 | ||
+ | farm_wheat_5_reward: 1000 | ||
+ | |||
+ | </source> | ||
+ | ==任务组== | ||
+ | /quest_groups/group_farm.yml | ||
+ | <source lang="yaml"> | ||
+ | max_concurrent: 1 | ||
+ | execution_order: true | ||
+ | |||
+ | models: [farm_wheat_1,farm_wheat_2,farm_wheat_3,farm_wheat_4,farm_wheat_5] | ||
+ | </source> | ||
+ | ==GUI== | ||
+ | /guis/main.yml | ||
+ | <source lang="yaml"> | ||
+ | name: '&a农场GUI' | ||
+ | type: CHEST_1_ROW | ||
+ | |||
+ | contents: | ||
+ | 0: | ||
+ | type: QUESTS | ||
+ | quests: [farm_wheat_1] | ||
+ | locations: | ||
+ | - 0,0 | ||
+ | 1: | ||
+ | type: QUESTS | ||
+ | quests: [farm_wheat_2] | ||
+ | locations: | ||
+ | - 0,1 | ||
+ | 2: | ||
+ | type: QUESTS | ||
+ | quests: [farm_wheat_3] | ||
+ | locations: | ||
+ | - 0,2 | ||
+ | 3: | ||
+ | type: QUESTS | ||
+ | quests: [farm_wheat_4] | ||
+ | locations: | ||
+ | - 0,3 | ||
+ | 4: | ||
+ | type: QUESTS | ||
+ | quests: [farm_wheat_5] | ||
+ | locations: | ||
+ | - 0,4 | ||
+ | 8: | ||
+ | type: NONE | ||
+ | locations: | ||
+ | - 0,8 | ||
+ | icon: | ||
+ | type: NETHER_STAR | ||
+ | name: '&7点我!' | ||
+ | lore: | | ||
+ | &7左击、右击或其它点击类型。 | ||
+ | override_clicks: | ||
+ | LEFT: COMMANDS_AS_PLAYER say &b你按了鼠标左键! | ||
+ | RIGHT: COMMANDS_AS_PLAYER say &b你按了鼠标右键! | ||
+ | DEFAULT: COMMANDS_AS_PLAYER say &b你按了鼠标的其它键! | ||
+ | |||
+ | </source> | ||
+ | ==第一个任务模型== | ||
+ | /quest_models/farm_wheat_1.yml | ||
+ | |||
+ | 其它任务模型请点击上方的下载链接查看(这些模型只有名称和变量名不一样)。 | ||
+ | <source lang="yaml"> | ||
+ | # -------------------- 显示设置 -------------------- | ||
+ | |||
+ | display_name: 收割小麦 I | ||
+ | description: ['你需要收割、{gvariable:farm_wheat_1_goal}个小麦。'] | ||
+ | |||
+ | start_notify: | ||
+ | title: '&6任务开始' | ||
+ | title_subtitle: '&7你开始了任务{quest}&7!' | ||
+ | sound: ENTITY_PLAYER_LEVELUP | ||
+ | |||
+ | progress_notify: | ||
+ | actionbar: '&a{quest} &7| {objective}' | ||
+ | progress_notify_scoreboard: true | ||
+ | |||
+ | all_status_item: | ||
+ | type: WHEAT | ||
+ | name: '&6{quest}' | ||
+ | lore: | | ||
+ | &7{description} | ||
+ | {completions} | ||
+ | {last_completion} | ||
+ | {cooldown} | ||
+ | {detailed_progression} | ||
+ | {detailed_errors} | ||
+ | {controls} | ||
+ | |||
+ | status_item: | ||
+ | UNAVAILABLE: | ||
+ | type: BEDROCK | ||
+ | name: '&c{quest}' | ||
+ | lore: | | ||
+ | &7{description} | ||
+ | {detailed_errors} | ||
+ | {controls} | ||
+ | |||
+ | # -------------------- 任务结束设置 -------------------- | ||
+ | |||
+ | completion: | ||
+ | max_completions: 1 | ||
+ | notify: | ||
+ | SUCCESS: | ||
+ | title: '&d任务完成' | ||
+ | title_subtitle: '&7你完成了任务&a{quest}&7!' | ||
+ | sound: ENTITY_PLAYER_LEVELUP | ||
+ | FAIL: | ||
+ | title: '&c任务失败' | ||
+ | title_subtitle: '&7任务&c{quest}&7失败!' | ||
+ | sound: BLOCK_ANVIL_DESTROY | ||
+ | CANCEL: | ||
+ | title: '&c任务取消' | ||
+ | title_subtitle: '&7你取消了任务&c{quest}' | ||
+ | sound: BLOCK_ANVIL_DESTROY | ||
+ | |||
+ | # -------------------- 任务内容 -------------------- | ||
+ | |||
+ | branches: | ||
+ | |||
+ | MAIN: | ||
+ | starts_at: FARM | ||
+ | objects: | ||
+ | |||
+ | # -----主要目标:玩家需要收割X个小麦(在全局变量中设定) | ||
+ | |||
+ | FARM: | ||
+ | # 显示 | ||
+ | name_short: 收割小麦 | ||
+ | objective_detail: '&7收割小麦 | &b{objective_progression}&7/&b{objective_goal}' | ||
+ | # 方块破坏设置 | ||
+ | type: PLAYER_BLOCKS_BREAK | ||
+ | blocks: | ||
+ | a: | ||
+ | types: [WHEAT] | ||
+ | states: [AGE 7] | ||
+ | goal: {gvariable:farm_wheat_1_goal} | ||
+ | # post-object | ||
+ | complete_notify: | ||
+ | sound: ENTITY_PLAYER_LEVELUP | ||
+ | message: '&7[&a{quest}&7] 恭喜你!这是你的奖励:${gvariable:farm_wheat_1_reward}。' | ||
goto: QUEST_SUCCESS | goto: QUEST_SUCCESS | ||
− | # -------------------- | + | # -------------------- 奖励设置 -------------------- |
end_objects: | end_objects: | ||
第176行: | 第791行: | ||
type: SERVER_LOGIC_MONEY | type: SERVER_LOGIC_MONEY | ||
currency: VAULT | currency: VAULT | ||
− | value_formula: {value} + | + | value_formula: {value} + {gvariable:farm_wheat_1_reward} # 货币奖励 |
b: | b: | ||
type: SERVER_FIREWORKS_LAUNCH | type: SERVER_FIREWORKS_LAUNCH | ||
第196行: | 第811行: | ||
distance: 3.0 | distance: 3.0 | ||
vertical_offset: 1.0 | vertical_offset: 1.0 | ||
+ | </source> |
2020年11月29日 (日) 16:16的最新版本
GuillaumeVDN的插件文档 | |
---|---|
页面 | |
所有插件都有的常见内容 | |
QuestCreator |
目录
NPC打工任务
你可以点击这里下载文件。
内容
该示例包含一个NPC激活器和一个任务。
激活器:
- NPC会在玩家有可接受或进行中的任务时显示粒子效果
- 玩家接近NPC会触发对话,对话结束后玩家可打开确认开始任务的GUI
任务内容:
- 挖掘20块石头和20块泥土/草方块
- 持有20块圆石和20块泥土与NPC交互
- 获得$20的任务奖励并发射烟花火箭
其它:
- 该任务最多只能完成20次
- 任务冷却时间为10小时。
激活器
/quest_activators/npc_farmer.yml
type: CITIZENS_NPCS
npcs: [0]
particles:
AVAILABLE: notify_1
PROGRESS: notify_2
particles_location:
vertical_offset: 2.5
sneak_click_cancel: true
required_gui_quests: 9999 # 设置为较大的数字则永远不打开
任务模型
/quest_models/example_npc_fetch.yml
# -------------------- 显示设置 --------------------
display_name: NPC打工任务
description: ['你需要挖掘20块石头和20块泥土并将掉落物带给NPC。']
start_notify:
title: '&6任务开始'
title_subtitle: '&7你开始了任务{quest}&7!'
sound: ENTITY_PLAYER_LEVELUP
progress_notify:
actionbar: '&a{quest} &7| {objective}'
progress_notify_scoreboard: true
all_status_item:
type: STONE
name: '&6{quest}'
lore: |
&7{description}
{completions}
{last_completion}
{cooldown}
{detailed_progression}
{detailed_errors}
{controls}
# -------------------- 任务结束设置 --------------------
completion:
max_completions: 20
notify:
SUCCESS:
title: '&d任务完成'
title_subtitle: '&7你完成了任务&a{quest}&7!'
sound: ENTITY_PLAYER_LEVELUP
FAIL:
title: '&c任务失败'
title_subtitle: '&7任务&c{quest}&7失败!'
sound: BLOCK_ANVIL_DESTROY
CANCEL:
title: '&c任务取消'
title_subtitle: '&7你取消了任务&c{quest}'
sound: BLOCK_ANVIL_DESTROY
cooldown:
duration: 10 HOUR
end_types: [SUCCESS]
# -------------------- 激活器设置 --------------------
activators: [npc_farmer]
activators_dialog:
- '&6[农民] &7想要来点任务吗?给我带点方块就行。'
- '' # 该行留空,用于让玩家点击打开GUI
activators_dialog_auto_start_distance: 3.5
activators_dialog_reset:
reset_delay: 30 SECOND
reset_distance: 5.0
reset_notify:
message: '&6[农民] &7好吧 D:'
# -------------------- 任务内容 --------------------
branches:
MAIN:
starts_at: FARM
objects:
# ----- 第一个目标:挖掘目标。玩家需要挖掘20块石头和泥土。
FARM:
# display
name_short: 挖点方块
objective_detail: '&7挖掘方块 | &7石头:&b{objective_progression:a}&7/&b{objective_goal:a} &7| 泥土:&b{objective_progression:b}&7/&b{objective_goal:b}'
objective_detail_verbose: |
&7挖点方块
&7石头:&b{objective_progression:a}&7/&b{objective_goal:a}
&7泥土:&b{objective_progression:b}&7/&b{objective_goal:b}
start_notify:
message: '&6[农民] &7太好了!我会等你回来的。'
# blocks break settings
type: PLAYER_BLOCKS_BREAK
blocks:
a:
types: [STONE]
goal: 20.0
b:
types: [DIRT,GRASS_BLOCK]
goal: 20.0
allow_player_blocks: false
allow_player_blocks_error_message: '&c该方块是玩家放置的,无法增加任务进度!'
# post-object
complete_notify:
sound: ENTITY_PLAYER_LEVELUP
message: '&7[&a{quest}&7] 已达成任务目标!你可以将物品交付给农民了。'
goto: OBJECT DELIVER
# ----- 第二个目标:NPC交付目标。
# 玩家需要持有20块圆石和泥土并与NPC交互(这些物品将从玩家背包中取走)
DELIVER:
# 显示
name_short: 交付物品
objective_detail: '&7交付物品 | 圆石:&b{objective_progression:a}&7/&b{objective_goal:a} &7| 泥土:&b{objective_progression:b}&7/&b{objective_goal:b}'
objective_detail_verbose: |
&7将以下物品交给农民:
&7圆石:&b{objective_progression:a}&7/&b{objective_goal:a}
&7泥土:&b{objective_progression:b}&7/&b{objective_goal:b}
# NPC交付设置
type: PLAYER_CITIZENS_NPC_DELIVER_ITEMS
npc: 0
items:
a:
item:
type: COBBLESTONE
goal: 20.0
take: true
b:
item:
type: DIRT
goal: 20.0
take: true
# post-object
complete_notify:
sound: ENTITY_PLAYER_LEVELUP
message: '&6[农民] &7太棒了!这$20是你的奖励 :D'
goto: QUEST_SUCCESS
# -------------------- 奖励设置 --------------------
end_objects:
SUCCESS:
a:
type: SERVER_LOGIC_MONEY
currency: VAULT
value_formula: {value} + 20.0 # 添加20$
b:
type: SERVER_FIREWORKS_LAUNCH
effects:
1:
type: CREEPER
colors: |
AQUA
BLUE
fade_colors: |
AQUA
BLUE
flicker: true
trail: true
count: 1
position:
type: PLAYER_RELATIVE_SINGLE
location:
distance: 3.0
vertical_offset: 1.0
NPC交付任务
点击这里下载配置文件
内容
该示例包含一个NPC激活器和一个任务。
这份示例使用了不同于上一个示例的任务目标——玩家必须手持并一次性交付物品。
激活器:
- NPC会在玩家有可接受或进行中的任务时显示粒子效果
- 玩家接近NPC会触发对话,对话结束后玩家可打开确认开始任务的GUI
任务内容:
- 手持64个小麦与NPC交互
- 获得$150的奖励并发射烟花火箭
其它:
- 该任务最多可完成20次
- 任务冷却时间为10小时
激活器
/quest_activators/npc_farmer.yml
type: CITIZENS_NPCS
npcs: [0]
particles:
AVAILABLE: notify_1
PROGRESS: notify_2
particles_location:
vertical_offset: 2.5
sneak_click_cancel: true
required_gui_quests: 9999 # 设置为较大的数字则永远不会打开
任务模型
/quest_models/example_npc_deliver.yml
# -------------------- 显示设置 --------------------
display_name: NPC交付任务
description: ['你需要带给NPC64个小麦。']
start_notify:
title: '&6任务开始'
title_subtitle: '&7你开始了任务{quest}&7!'
sound: ENTITY_PLAYER_LEVELUP
progress_notify:
actionbar: '&a{quest} &7| {objective}'
progress_notify_scoreboard: true
all_status_item:
type: STONE
name: '&6{quest}'
lore: |
&7{description}
{completions}
{last_completion}
{cooldown}
{detailed_progression}
{detailed_errors}
{controls}
# -------------------- 任务结束设置 --------------------
completion:
max_completions: 20
notify:
SUCCESS:
title: '&d任务完成'
title_subtitle: '&7你完成了任务&a{quest}&7!'
sound: ENTITY_PLAYER_LEVELUP
FAIL:
title: '&c任务失败'
title_subtitle: '&7任务&c{quest}&7失败!'
sound: BLOCK_ANVIL_DESTROY
CANCEL:
title: '&c任务取消'
title_subtitle: '&7你取消了任务&c{quest}'
sound: BLOCK_ANVIL_DESTROY
cooldown:
duration: 10 HOUR
end_types: [SUCCESS]
# -------------------- 激活器设置 --------------------
activators: [npc_farmer]
activators_dialog:
- '&6[农民] &7我有任务要给你。我需要点小麦。'
- '' # 该行留空,用于让玩家点击打开GUI
activators_dialog_auto_start_distance: 3.5
activators_dialog_reset:
reset_delay: 30 SECOND
reset_distance: 5.0
reset_notify:
message: '&6[农民] &7好吧 D:'
# -------------------- 任务内容 --------------------
branches:
MAIN:
starts_at: DELIVER
objects:
# ----- 主要目标:获取物品目标。玩家必须手持64个小麦与NPC交互。
DELIVER:
start_notify:
message: '&6[农民] &7太好了!我需要你带给我64个小麦。我会在这里等你的。'
# display
name_short: 将64个小麦交给农民
objective_detail: '&7交付小麦:&b{objective_progression}&7/&b{objective_goal}'
# npc deliver settings
type: PLAYER_CITIZENS_NPC_INTERACT
npc: 0
items_needed:
items:
a:
item:
type: WHEAT
goal: 64
in_hand: true
take: true
error_message: '&6[农民] &7你找到多少小麦了?记住,我要的是64个。'
# post-object
complete_notify:
sound: ENTITY_PLAYER_LEVELUP
message: '&6[农民] &7不错,这是你的$150奖励 :D'
goto: QUEST_SUCCESS
# -------------------- 奖励设置 --------------------
end_objects:
SUCCESS:
a:
type: SERVER_LOGIC_MONEY
currency: VAULT
value_formula: {value} + 150.0 # 添加150$
b:
type: SERVER_FIREWORKS_LAUNCH
effects:
1:
type: CREEPER
colors: |
AQUA
BLUE
fade_colors: |
AQUA
BLUE
flicker: true
trail: true
count: 1
position:
type: PLAYER_RELATIVE_SINGLE
location:
distance: 3.0
vertical_offset: 1.0
抉择(分支目标)
你可以点击这里下载文件。
内容
该示例包含全部可用的分支目标及其大部分设置。
任务模型
/quest_models/example_choice.yml
# -------------------- 显示设置 --------------------
display_name: 分支示例
description: ['这是一份演示分支目标的示例配置。']
start_notify:
title: '&6任务开始'
title_subtitle: '&7你开始了任务{quest}&7!'
sound: ENTITY_PLAYER_LEVELUP
progress_notify:
actionbar: '&a{quest} &7| {objective}'
progress_notify_scoreboard: true
all_status_item:
type: STONE
name: '&6{quest}'
lore: |
&7{description}
{completions}
{last_completion}
{cooldown}
{detailed_progression}
{detailed_errors}
{controls}
# -------------------- 任务结束设置 --------------------
completion:
max_completions: -1
notify:
SUCCESS:
title: '&d任务完成'
title_subtitle: '&7你完成了任务&a{quest}&7!'
sound: ENTITY_PLAYER_LEVELUP
FAIL:
title: '&c任务失败'
title_subtitle: '&7任务&c{quest}&7失败!'
sound: BLOCK_ANVIL_DESTROY
CANCEL:
title: '&c任务取消'
title_subtitle: '&7你取消了任务&c{quest}'
sound: BLOCK_ANVIL_DESTROY
# -------------------- 任务内容 --------------------
branches:
MAIN:
starts_at: CHAT
objects:
# -----第一个目标:聊天抉择
CHAT:
# 显示
name_short: 作出抉择
start_notify:
message: |
&r--------------------
&6[系统] 请点击聊天框内的抉择项。
&r
# 分支聊天消息
type: DIVERGE_CHAT
repeat_delay: 30 SECOND
choices:
a:
text: '&6(a) &aDIVERGE_CHAT目标测试文本。'
redo_text: '&6(a) &7DIVERGE_CHAT目标测试文本。'
goto: OBJECT CHAT
b:
text: '&6(b) &aDIVERGE_GUI目标测试文本。'
redo_text: '&6(b) &7DIVERGE_GUI目标测试文本。'
goto: OBJECT GUI
c:
text: '&6(c) &aDIVERGE_OBJECTS目标测试文本。'
redo_text: '&6(c) &7DIVERGE_OBJECTS目标测试文本。'
goto: OBJECT OBJECTS
d:
text: '&6(d) &a该选项只在你有$10时可用。点击重启该目标。'
redo_text: '&6(d) &7该选项只在你有$10时可用。 点击重启该目标。'
unavailable_text: '&6(d) &8该选项只在你有$10时可用。'
conditions:
conditions:
a:
type: LOGIC_MONEY
currency: VAULT
logic: '{money} >= 10'
goto: OBJECT CHAT
e:
text: '&6(e) &e该选项只能点击一次。它会重启该目标。'
max_completions: 1
goto: OBJECT CHAT
f:
text: '&6(f) &a我可溜了!(停止任务)'
redo_text: '&6(f) &7我可溜了!(停止任务)'
goto: QUEST_SUCCESS
# post-object
complete_notify:
sound: ENTITY_PLAYER_LEVELUP
message: '&7[系统] 你成功地在聊天框内作出抉择!'
# ----- 第二个目标:GUI抉择
GUI:
# 显示
name_short: 作出抉择
start_notify:
message: '&6[系统] 请在GUI内作出抉择。你只需点击其中一个选项。'
# 分支聊天消息
type: DIVERGE_GUI
reopen_delay: 5 SECOND
choices:
a:
slot: 10
item:
type: GREEN_WOOL
name: '&aDIVERGE_CHAT目标测试文本。'
redo_item:
type: GRAY_WOOL
name: '&7DIVERGE_CHAT目标测试文本。'
goto: OBJECT CHAT
b:
slot: 11
item:
type: GREEN_WOOL
name: '&aDIVERGE_GUI目标测试文本。.'
redo_item:
type: GRAY_WOOL
name: '&7DIVERGE_GUI目标测试文本。'
goto: OBJECT GUI
c:
slot: 12
item:
type: GREEN_WOOL
name: '&aDIVERGE_OBJECTS目标测试文本'
redo_item:
type: GRAY_WOOL
name: '&7DIVERGE_OBJECTS目标测试文本。'
goto: OBJECT OBJECTS
d:
slot: 13
item:
type: GREEN_WOOL
name: '&a该选项只在你有$10时可用。 点击重启该目标。'
redo_item:
type: GRAY_WOOL
name: '&7该选项只在你有$10时可用。 点击重启该目标。'
unavailable_item:
type: RED_WOOL
name: '&8该选项只在你有$10时可用。'
conditions:
conditions:
a:
type: LOGIC_MONEY
currency: VAULT
logic: '{money} >= 10'
goto: OBJECT GUI
e:
slot: 14
item:
type: ORANGE_WOOL
name: '&a该选项只能点击一次。 它会重启该目标。'
max_completions: 1
goto: OBJECT GUI
f:
slot: 15
item:
type: GREEN_WOOL
name: '&a我可溜了!(停止任务)'
redo_item:
type: GRAY_WOOL
name: '&7我可溜了!(停止任务)'
goto: QUEST_SUCCESS
# post-object
complete_notify:
sound: ENTITY_PLAYER_LEVELUP
message: '&7[系统] 你在GUI中作出了抉择。'
# ----- 第三个目标:目标抉择
OBJECTS:
# 显示
name_short: 作出抉择
start_notify:
message: '&6[系统] 请作出抉择。你可以跳跃3次重启任务或在聊天框输入“goodbye”停止任务。'
update_notify:
message: '&6[系统] 请作出抉择。你可以跳跃3次重启任务或在聊天框输入“goodbye”停止任务。'
update_notify_delay: 30 SECOND
# 分支聊天消息
type: DIVERGE_OBJECTS
choices:
a:
object: OBJECTS_RESTART
goto: OBJECT CHAT
b:
object: OBJECTS_STOP
goto: QUEST_SUCCESS
# 完成目标前
complete_notify:
sound: ENTITY_PLAYER_LEVELUP
message: '&7[系统] 你用目标作出了抉择。'
OBJECTS_RESTART:
type: PLAYER_JUMP
goal: 3
OBJECTS_STOP:
type: PLAYER_CHAT
whitelist: ['goodbye']
error_message: '&7如果你想要停止任务,请输入“goodbye”。'
# -------------------- 奖励设置 --------------------
end_objects:
SUCCESS:
a:
type: SERVER_FIREWORKS_LAUNCH
effects:
1:
type: CREEPER
colors: |
AQUA
BLUE
fade_colors: |
AQUA
BLUE
flicker: true
trail: true
count: 1
position:
type: PLAYER_RELATIVE_SINGLE
location:
distance: 3.0
vertical_offset: 1.0
农场任务组 + GUI
内容
任务:
- 在这5个农场任务中,你需要破坏X个成熟的小麦
- 你会获得X元的奖励并发射烟花火箭
全局变量
- 全局变量可定义任务的目标和奖励
组:
- 该任务组包含5个玩家需要按顺序完成的任务
GUI:
- 主GUI会根据任务状态显示全部5个任务
- GUI里还有点击可显示聊天消息的物品
全局变量
/global_variables.yml
# 耕种小麦任务的目标和奖励
farm_wheat_1_goal: 25
farm_wheat_2_goal: 50
farm_wheat_3_goal: 100
farm_wheat_4_goal: 150
farm_wheat_5_goal: 250
farm_wheat_1_reward: 100
farm_wheat_2_reward: 200
farm_wheat_3_reward: 400
farm_wheat_4_reward: 600
farm_wheat_5_reward: 1000
任务组
/quest_groups/group_farm.yml
max_concurrent: 1
execution_order: true
models: [farm_wheat_1,farm_wheat_2,farm_wheat_3,farm_wheat_4,farm_wheat_5]
GUI
/guis/main.yml
name: '&a农场GUI'
type: CHEST_1_ROW
contents:
0:
type: QUESTS
quests: [farm_wheat_1]
locations:
- 0,0
1:
type: QUESTS
quests: [farm_wheat_2]
locations:
- 0,1
2:
type: QUESTS
quests: [farm_wheat_3]
locations:
- 0,2
3:
type: QUESTS
quests: [farm_wheat_4]
locations:
- 0,3
4:
type: QUESTS
quests: [farm_wheat_5]
locations:
- 0,4
8:
type: NONE
locations:
- 0,8
icon:
type: NETHER_STAR
name: '&7点我!'
lore: |
&7左击、右击或其它点击类型。
override_clicks:
LEFT: COMMANDS_AS_PLAYER say &b你按了鼠标左键!
RIGHT: COMMANDS_AS_PLAYER say &b你按了鼠标右键!
DEFAULT: COMMANDS_AS_PLAYER say &b你按了鼠标的其它键!
第一个任务模型
/quest_models/farm_wheat_1.yml
其它任务模型请点击上方的下载链接查看(这些模型只有名称和变量名不一样)。
# -------------------- 显示设置 --------------------
display_name: 收割小麦 I
description: ['你需要收割、{gvariable:farm_wheat_1_goal}个小麦。']
start_notify:
title: '&6任务开始'
title_subtitle: '&7你开始了任务{quest}&7!'
sound: ENTITY_PLAYER_LEVELUP
progress_notify:
actionbar: '&a{quest} &7| {objective}'
progress_notify_scoreboard: true
all_status_item:
type: WHEAT
name: '&6{quest}'
lore: |
&7{description}
{completions}
{last_completion}
{cooldown}
{detailed_progression}
{detailed_errors}
{controls}
status_item:
UNAVAILABLE:
type: BEDROCK
name: '&c{quest}'
lore: |
&7{description}
{detailed_errors}
{controls}
# -------------------- 任务结束设置 --------------------
completion:
max_completions: 1
notify:
SUCCESS:
title: '&d任务完成'
title_subtitle: '&7你完成了任务&a{quest}&7!'
sound: ENTITY_PLAYER_LEVELUP
FAIL:
title: '&c任务失败'
title_subtitle: '&7任务&c{quest}&7失败!'
sound: BLOCK_ANVIL_DESTROY
CANCEL:
title: '&c任务取消'
title_subtitle: '&7你取消了任务&c{quest}'
sound: BLOCK_ANVIL_DESTROY
# -------------------- 任务内容 --------------------
branches:
MAIN:
starts_at: FARM
objects:
# -----主要目标:玩家需要收割X个小麦(在全局变量中设定)
FARM:
# 显示
name_short: 收割小麦
objective_detail: '&7收割小麦 | &b{objective_progression}&7/&b{objective_goal}'
# 方块破坏设置
type: PLAYER_BLOCKS_BREAK
blocks:
a:
types: [WHEAT]
states: [AGE 7]
goal: {gvariable:farm_wheat_1_goal}
# post-object
complete_notify:
sound: ENTITY_PLAYER_LEVELUP
message: '&7[&a{quest}&7] 恭喜你!这是你的奖励:${gvariable:farm_wheat_1_reward}。'
goto: QUEST_SUCCESS
# -------------------- 奖励设置 --------------------
end_objects:
SUCCESS:
a:
type: SERVER_LOGIC_MONEY
currency: VAULT
value_formula: {value} + {gvariable:farm_wheat_1_reward} # 货币奖励
b:
type: SERVER_FIREWORKS_LAUNCH
effects:
1:
type: CREEPER
colors: |
AQUA
BLUE
fade_colors: |
AQUA
BLUE
flicker: true
trail: true
count: 1
position:
type: PLAYER_RELATIVE_SINGLE
location:
distance: 3.0
vertical_offset: 1.0