资源图标

原创 娱乐 自定义模块化Quests强大的自定义编辑任务功能 1.0

请登录后获取
版权类型
原创
插件中文名称
自定义模块化任务插件
插件英文名称
Quests
原帖地址
#
支持的核心(服务端)
  1. Paper
语言支持
中文(简体)
适配版本(Java)
  1. 1.21
  2. 1.20
概述

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)
作者
NineK
价格
250.00金粒
下载
19
查看
764
首次发布
最后更新

评分

0.00 星 0 次评分
后退
顶部 底部