- ◆ 游戏版本
- 1.16.5
- ◆ 服务端核心
- CatServer
- ◆ 前置/依赖
- PixelCore
- ◆ 模组加载器
- Forge
- NeoForge
- ◆ 原作者
- Mutimc
功能
- 剧情系统(首次登录/NPC对话/区域触发)
- NPC 对话(手动/自动/选项模式)
- 任务追踪(击败/捕捉宝可梦)
- NPC/方块绑定对话
- 全息文字显示
- 距离引导
- 冷却系统
- 指令限制
代码:
/pixelstory reload 重载配置
/pixelstory list 列出剧情
/pixelstory start <ID> 触发剧情
/pixelstory reset <ID> 重置剧情
/pixelstory resetall <玩家> 重置玩家数据
/pixelstory hologram 全息管理
/pixelstory entitybind <ID> 实体绑定
/pixelstory blockbind <ID> 方块绑定
/pixelstory unbind 解绑
权限
代码:
pixelstory.admin 管理员权限
pixelstory.player 玩家权限
配置示例
YAML:
# ============================================
# 剧情: 后山任务
# 触发方式: NPC 对话触发
# 说明: 玩家与村长对话后接取任务
# ============================================
# ---------- 剧情标识 ----------
# 唯一标识符,用于命令引用和条件检查
id: "后山任务"
# ---------- 显示名称 ----------
# 剧情完成时显示的名称
name: "后山任务"
# ---------- 剧情类型 ----------
# main: 主线剧情 | side: 支线剧情 | daily: 日常剧情
type: "main"
# ---------- 首次登录触发 ----------
# true: 首次登录时自动触发 | false: 不自动触发
first_join_trigger: false
# ---------- 触发条件 ----------
trigger:
# 触发类型: first_join | npc | region
type: "npc"
# NPC ID (对应 npcs.yml 中的配置)
npc_id: "cunzhang"
# ---------- 前置要求 ----------
# 玩家需要完成的剧情或条件列表
requires:
- "初入世界" # 需要完成初入世界剧情
- "npc_mom" # 需要完成妈妈对话
# ---------- 条件限制 ----------
conditions:
# 最低等级要求,0 表示无限制
min_level: 0
# 最高等级限制,-1 表示无限制
max_level: -1
# 权限要求,留空表示无权限要求
permission: ""
# ---------- 指令限制 ----------
# 播放剧情时限制玩家使用的指令
command_restriction:
# true: 启用指令限制 | false: 禁用
enabled: true
# 白名单:允许使用的指令(支持前缀匹配)
whitelist:
- "/eb" # 允许使用 /eb
- "/msg" # 允许私聊
- "/tell" # 允许私聊
- "/r" # 允许回复
- "/pixelmon" # 允许 Pixelmon 指令
- "/poke" # 允许 Pokemon 指令
# 黑名单:禁止使用的指令(优先于白名单)
# 留空表示不使用黑名单
blacklist: []
# 禁止使用指令时的提示消息
deny_message: "&c你正在执行任务中,暂时无法使用该指令!"
# true: 仅在剧情播放期间限制 | false: 完成任务前一直限制
only_during_story: true
# ---------- 任务配置 ----------
task:
# true: 启用任务追踪 | false: 禁用
enabled: true
# 任务类型: beat(击败) | capture(捕捉) | both(两者均可)
type: "beat"
# 任务目标数量
target: 5
# 完成后自动触发的剧情 ID
complete_story: "后山任务_完成"
# 进度消息模板
# 可用占位符: {type}, {current}, {target}
progress_message: "&a击败进度: §e{current}/{target} §a只宝可梦"
# 完成时提示消息
complete_message: "&a任务完成!请返回向村长报告"
# 完成时执行的命令(留空则不执行)
complete_command: ""
# ---------- 剧情脚本 ----------
script:
# ==========================================================
# 第一阶段: 接受任务动画
# ==========================================================
# 标题显示: 标题 & 副标题
# 格式: title <标题> <副标题> <停留时间>
- "title &a&l任务接取成功 &7调查后山异常 60"
- "wait 2"
# 消息发送
- "msg &6&l=== 任务发布 ==="
- "msg &e村长交给你一项重要任务"
- "msg &e最近后山的野生宝可梦变得异常暴躁"
- "msg &e已经有好几位村民被攻击了"
- "wait 2"
# ==========================================================
# 第二阶段: 任务目标
# ==========================================================
- "title &e&l任务目标 &7前往后山调查 40"
- "wait 2"
- "msg &a&l任务目标"
- "msg &e1. 前往后山区域"
# 使用 {task.target} 占位符显示配置的任务目标数量
- "msg &e2. 击败 {task.target} 只暴躁的野生宝可梦"
- "msg &e3. 返回向村长报告"
- "wait 2"
# ==========================================================
# 第三阶段: 接取任务 & 引导
# ==========================================================
- "title &a&l任务已自动接取 &7去后山吧 40"
- "actionbar &e前往后山,击败 5 只暴躁宝可梦"
- "msg &a任务已自动接取,快去后山吧!"
- "wait 1"
# 距离引导命令: guide <显示名称> <X> <Y> <Z> <持续秒数>
# -1 表示无限持续
- "guide 后山区域 200 64 200 120"
- "msg &e已开启距离引导,跟随指引前往后山"
- "msg &e击败 5 只宝可梦后返回向村长报告"
- "wait 1"
# ---------- 奖励 ----------
# 剧情完成后立即发放的奖励
# 支持: console: | command: | xp
rewards: []
# ---------- 完成后设置 ----------
completed:
# 自动跳转到下一个剧情 ID(留空不跳转)
next_story: ""
# 完成后执行的命令列表
commands:
# 停止距离引导
- "guide_stop"
# ---------- 冷却时间 ----------
cooldown:
# 冷却秒数,-1 表示无冷却
seconds: -1
# 冷却中提示消息
message: "&c该剧情还在冷却中"