概述
Quests 是一款基于 Bukkit API 1.20.1 开发的高度模块化 Minecraft 任务系统插件,旨在为服务器提供灵活、可扩展的任务管理解决方案。支持单服务器、BungeeCord 跨服网络、大型 RPG 服务器等多种场景。
核心特性
多样化任务类型:涵盖击杀、收集、交互、破坏、放置、制作、钓鱼、农业等多种任务形式灵活条件系统:24 种条件类型,支持复杂组合逻辑与顺序执行丰富奖励机制:支持物品、经验、命令、经济、点数及复合奖励完善任务管理:支持前置任务、分类管理(主线 / 支线 / 日常 / 特殊)、重复机制与完成统计直观 GUI 系统:智能分页、实时进度显示、多视图模式与交互提示
安装与配置
前置要求
运行 Bukkit/Spigot/Paper 1.20.1 版本的服务器可选:PlaceholderAPI(用于占位符支持)
安装步骤
将 Quests.jar 放入服务器 plugins 目录启动服务器,插件会自动生成配置文件停止服务器,根据需求修改配置文件重启服务器或使用 /quest reload 命令加载配置
目录结构
plaintext
任务配置详解
基础任务结构
每个任务配置文件(YAML 格式)包含以下核心部分:
任务类型
MAIN:主线任务,推动剧情发展SIDE:支线任务,提供额外内容DAILY:日常任务,定期重置SPECIAL:特殊任务,通常用于活动或挑战
条件系统详解
Quests 采用模块化的统一条件系统,支持复杂逻辑组合与顺序执行。
条件类型分类
目标条件 (Target Conditions)
条件类型用途主要参数BLOCK_TARGET检查目标方块类型block/blocks - 方块类型列表ENTITY_TARGET检查目标实体类型entity_type - 实体类型,entity_name - 实体名称ACTION检查玩家动作类型action - 动作类型 (KILL/BREAK/COLLECT 等)
环境条件 (Environment Conditions)
条件类型用途主要参数LOCATION检查位置相关条件world - 世界名称,min_x/max_x - 坐标范围,radius - 半径BIOME检查生物群系biomes - 生物群系列表TIME检查游戏时间min_time/max_time - 时间范围WEATHER检查天气条件weather - 天气类型,allow_rain - 是否允许下雨
玩家条件 (Player Conditions)
条件类型用途主要参数LEVEL检查玩家等级min_level/max_level - 等级范围PERMISSION检查权限permissions - 权限列表,require_all - 是否需要全部权限PLAYER_ACTION检查玩家动作状态actions - 动作列表,logic - 逻辑关系,inverted - 是否取反PLAYER_MOVEMENT检查玩家移动movement_type - 移动类型,min_distance - 最小距离
物品条件 (Item Conditions)
条件类型用途主要参数ITEM检查背包物品items - 物品列表,consume - 是否消耗,check_armor - 是否检查装备TOOL检查工具和附魔material - 工具类型,enchantments - 附魔列表,require_silk_touch - 是否需要精准采集
活动条件 (Activity Conditions)
条件类型用途主要参数FISHING检查钓鱼相关state - 钓鱼状态,catches - 鱼类列表,require_treasure - 是否需要宝物FARMING检查农业相关action - 农业动作,crops - 作物列表,require_fully_grown - 是否需要成熟
组合条件 (Composite Conditions)
条件类型用途主要参数COMPOSITE组合多个条件logic - 逻辑关系 (AND/OR/NOT/XOR), conditions - 子条件列表SEQUENTIAL顺序条件检查steps - 步骤列表,reset_on_fail - 失败是否重置
任务条件 (Quest Conditions)
条件类型用途主要参数PRE_QUEST前置任务检查quest_id - 前置任务 ID, completed - 是否完成,min_completions - 最小完成次数TASK_REPEATABILITY任务重复性检查quest_id - 任务 ID, check_cooldown - 检查冷却,check_max_completions - 检查最大次数
条件组合示例
复合条件 (COMPOSITE)
顺序条件 (SEQUENTIAL)
任务重复性机制
基础配置
前置任务完成次数要求
奖励系统
支持多种奖励类型,可组合使用:
任务配置示例
新手任务
日常钓鱼任务
调试与常见问题
启用调试模式
常见错误修复
SEQUENTIAL 条件格式错误
错误格式:
正确格式:
条件参数错误
错误示例(使用错误的条件类型):
正确示例:
扩展与集成
PlaceholderAPI 集成:通过 placeholder.yml 配置自定义占位符多语言支持:通过 message.yml 配置不同语言的消息文本经济插件支持:自动适配主流经济插件(如 Vault + Essentials)
Quests 是一款基于 Bukkit API 1.20.1 开发的高度模块化 Minecraft 任务系统插件,旨在为服务器提供灵活、可扩展的任务管理解决方案。支持单服务器、BungeeCord 跨服网络、大型 RPG 服务器等多种场景。
核心特性
多样化任务类型:涵盖击杀、收集、交互、破坏、放置、制作、钓鱼、农业等多种任务形式灵活条件系统:24 种条件类型,支持复杂组合逻辑与顺序执行丰富奖励机制:支持物品、经验、命令、经济、点数及复合奖励完善任务管理:支持前置任务、分类管理(主线 / 支线 / 日常 / 特殊)、重复机制与完成统计直观 GUI 系统:智能分页、实时进度显示、多视图模式与交互提示
安装与配置
前置要求
运行 Bukkit/Spigot/Paper 1.20.1 版本的服务器可选:PlaceholderAPI(用于占位符支持)
安装步骤
将 Quests.jar 放入服务器 plugins 目录启动服务器,插件会自动生成配置文件停止服务器,根据需求修改配置文件重启服务器或使用 /quest reload 命令加载配置
目录结构
plaintext
plugins/Quests/├── message.yml # 消息配置文件├── placeholder.yml # 占位符配置├── quests/ # 任务配置目录│ ├── main_quests/ # 主线任务配置│ ├── daily_quests/ # 日常任务配置│ └── ...└── config.yml # 插件核心配置任务配置详解
基础任务结构
每个任务配置文件(YAML 格式)包含以下核心部分:
任务ID: display_name: "任务显示名称" description: - "任务描述行1" - "任务描述行2" type: 任务类型 # MAIN/SIDE/DAILY/SPECIAL repeatable: 是否可重复 # true/false max_completions: 最大完成次数 # -1为无限制 cooldown: 冷却时间(秒) time_limit: 时间限制(秒) # 0为无限制 start_conditions: # 任务开始条件 # 条件配置... tasks: # 任务目标列表 子任务ID: type: UNIVERSAL action: 动作类型 # KILL/COLLECT/BREAK/PLACE等 display_name: "子任务显示名称" amount: 目标数量 conditions: # 子任务完成条件 # 条件配置... rewards: # 任务奖励 # 奖励配置...任务类型
MAIN:主线任务,推动剧情发展SIDE:支线任务,提供额外内容DAILY:日常任务,定期重置SPECIAL:特殊任务,通常用于活动或挑战
条件系统详解
Quests 采用模块化的统一条件系统,支持复杂逻辑组合与顺序执行。
条件类型分类
目标条件 (Target Conditions)
条件类型用途主要参数BLOCK_TARGET检查目标方块类型block/blocks - 方块类型列表ENTITY_TARGET检查目标实体类型entity_type - 实体类型,entity_name - 实体名称ACTION检查玩家动作类型action - 动作类型 (KILL/BREAK/COLLECT 等)
环境条件 (Environment Conditions)
条件类型用途主要参数LOCATION检查位置相关条件world - 世界名称,min_x/max_x - 坐标范围,radius - 半径BIOME检查生物群系biomes - 生物群系列表TIME检查游戏时间min_time/max_time - 时间范围WEATHER检查天气条件weather - 天气类型,allow_rain - 是否允许下雨
玩家条件 (Player Conditions)
条件类型用途主要参数LEVEL检查玩家等级min_level/max_level - 等级范围PERMISSION检查权限permissions - 权限列表,require_all - 是否需要全部权限PLAYER_ACTION检查玩家动作状态actions - 动作列表,logic - 逻辑关系,inverted - 是否取反PLAYER_MOVEMENT检查玩家移动movement_type - 移动类型,min_distance - 最小距离
物品条件 (Item Conditions)
条件类型用途主要参数ITEM检查背包物品items - 物品列表,consume - 是否消耗,check_armor - 是否检查装备TOOL检查工具和附魔material - 工具类型,enchantments - 附魔列表,require_silk_touch - 是否需要精准采集
活动条件 (Activity Conditions)
条件类型用途主要参数FISHING检查钓鱼相关state - 钓鱼状态,catches - 鱼类列表,require_treasure - 是否需要宝物FARMING检查农业相关action - 农业动作,crops - 作物列表,require_fully_grown - 是否需要成熟
组合条件 (Composite Conditions)
条件类型用途主要参数COMPOSITE组合多个条件logic - 逻辑关系 (AND/OR/NOT/XOR), conditions - 子条件列表SEQUENTIAL顺序条件检查steps - 步骤列表,reset_on_fail - 失败是否重置
任务条件 (Quest Conditions)
条件类型用途主要参数PRE_QUEST前置任务检查quest_id - 前置任务 ID, completed - 是否完成,min_completions - 最小完成次数TASK_REPEATABILITY任务重复性检查quest_id - 任务 ID, check_cooldown - 检查冷却,check_max_completions - 检查最大次数
条件组合示例
复合条件 (COMPOSITE)
conditions: complex_condition: type: COMPOSITE logic: AND # 逻辑关系:AND/OR/NOT/XOR conditions: level_check: type: LEVEL min_level: 10 item_check: type: ITEM items: - material: DIAMOND_SWORD amount: 1顺序条件 (SEQUENTIAL)
conditions: sequence: type: SEQUENTIAL reset_on_fail: true steps: step_1: type: COMPOSITE logic: AND display_name: "步骤1: 击杀僵尸" conditions: entity_check: type: ENTITY_TARGET entity_type: ZOMBIE action_check: type: ACTION action: KILL step_2: type: COMPOSITE logic: AND display_name: "步骤2: 收集战利品" conditions: item_check: type: ITEM items: - material: ROTTEN_FLESH amount: 5任务重复性机制
基础配置
quest_example: repeatable: true # 是否可重复 max_completions: 10 # 最大完成次数,-1为无限制 cooldown: 300 # 重复冷却时间(秒) start_conditions: repeatability: type: TASK_REPEATABILITY require_repeatable: true check_cooldown: true check_max_completions: true前置任务完成次数要求
advanced_quest: start_conditions: pre_quest: type: PRE_QUEST quest_id: beginner_quest min_completions: 3 # 要求前置任务完成3次以上奖励系统
支持多种奖励类型,可组合使用:
rewards: # 物品奖励 items: type: ITEM items: sword: material: IRON_SWORD amount: 1 name: "&6新手之剑" lore: - "&7完成新手任务的奖励" # 经验奖励 experience: type: EXP levels: 5 # 等级奖励 exp_points: 100 # 经验值奖励 # 命令奖励 commands: type: COMMAND executor: CONSOLE # 执行方式:CONSOLE/PLAYER commands: - "give %player% diamond 3" - "say &a恭喜 %player% 完成了任务!" # 经济奖励 (需经济插件支持) economy: type: ECONOMY amount: 1000 # 金额任务配置示例
新手任务
starter_quest: display_name: "&6新手任务" description: - "&7欢迎来到服务器!" - "&7完成这个任务来熟悉基本操作" - "" - "&e任务目标:" - "&7• 击杀10只僵尸" - "&7• 收集64个圆石" type: MAIN repeatable: false max_completions: 1 cooldown: 0 start_conditions: level_check: type: LEVEL min_level: 0 max_level: 10 tasks: kill_zombies: type: UNIVERSAL action: KILL display_name: "&c击杀僵尸" amount: 10 conditions: zombie_target: type: ENTITY_TARGET entity_type: ZOMBIE collect_cobblestone: type: UNIVERSAL action: COLLECT display_name: "&7收集圆石" amount: 1 conditions: cobblestone_item: type: ITEM items: - material: COBBLESTONE amount: 64 rewards: items: type: ITEM items: - material: IRON_SWORD amount: 1 experience: type: EXP levels: 5日常钓鱼任务
daily_fishing: display_name: "&3日常钓鱼任务" type: DAILY repeatable: true cooldown: 86400 # 24小时冷却 tasks: fish_caught: type: UNIVERSAL action: FISHING display_name: "&3钓取鱼类" amount: 5 conditions: fishing_check: type: FISHING state: CAUGHT_FISH catches: - SALMON - COD - TROPICAL_FISH rewards: economy: type: ECONOMY amount: 500 items: type: ITEM items: - material: ENCHANTED_BOOK amount: 1调试与常见问题
启用调试模式
tasks: debug_task: type: UNIVERSAL action: KILL amount: 10 debug: true # 启用详细日志 conditions: # 条件配置常见错误修复
SEQUENTIAL 条件格式错误
错误格式:
steps: step_1: conditions: - type: ENTITY_TARGET entity_type: ZOMBIE正确格式:
steps: step_1: type: COMPOSITE logic: AND conditions: entity_check: type: ENTITY_TARGET entity_type: ZOMBIE条件参数错误
错误示例(使用错误的条件类型):
# 错误:使用 PLAYER_ACTION 检查等级player_check: type: PLAYER_ACTION min_exp_level: 30正确示例:
# 正确:使用 LEVEL 条件player_check: type: LEVEL min_level: 30扩展与集成
PlaceholderAPI 集成:通过 placeholder.yml 配置自定义占位符多语言支持:通过 message.yml 配置不同语言的消息文本经济插件支持:自动适配主流经济插件(如 Vault + Essentials)