跳到主要内容

常见问题

遇到问题先执行 /cd admin validate <副本>:找不到的出生点、出怪点、区域、怪物、脚本组,以及设置文件里看不懂的写法都会列出来。/cd admin reload 也会列出所有警告。

怪物组不出怪​

按顺序检查:

  1. 有没有叫出来? 怪物组默认 auto-start: false,要在脚本里写 monstergroup 怪物组名 才会出怪(通常写在 start.yml 或上一组的 end)。想开场就出怪,改成 auto-start: true,或在编辑菜单的「怪物组」右键切换。
  2. 出怪点名称对不对? 怪物会出现在和怪物组同名的出怪点(或怪物组 point: 写的名称)。在编辑模式用铁锹点出怪点时输入的就是这个名称。/cd admin info <副本> 会显示每组有几个出怪点,0 个就是名称没对上。
  3. 怪物 ID 对不对? 写 MythicMobs 的怪物 ID,或 minecraft:zombie 这种原版怪。/cd admin info <副本> 每只怪后面 ✔ = 找得到、✘ = 找不到;MythicMobs 没装时只能用原版怪。在编辑模式右键出怪点的标签 →「预览生怪」,可以直接看第 1 波生不生得出来(10 秒后自动移除)。
  4. 怪是不是被清掉了? 一场最多追踪 max-mobs(默认 150)只怪物;副本世界会挡掉自然生成,但其他插件(例如清怪插件)可能把怪清掉。

副本进行中找不到出怪点会在控制台警告;开 debug: true 还会显示看不懂的条件。详见 怪物组。

地图存不了​

  • 提示「需要安装 FastAsyncWorldEdit」:保存与贴图都需要 FAWE(或 WorldEdit)。强烈建议用 FAWE:只有 WorldEdit 时贴图会在主线程执行,默认会拒绝开副本(paste.allow-main-thread: false)。
  • 提示「编辑区里什么都没有」:要在自己这一格里盖东西(或 //paste、/cd admin import)才有东西可存。
  • 提示范围太大:地图长宽不能超过「world.slot-spacing − 128」,默认 896。调大 slot-spacing 后重启。
  • 保存了还是开不了:看 /cd admin validate,最常见的是没有出生点(用床点一下)。

坐标怎么写​

脚本里的坐标是 X/Z 相对格子原点、Y 是世界高度,不是世界坐标。

  • 在编辑模式用指南针左键点方块,聊天栏会显示这个方块的坐标,点一下复制,直接贴进脚本。
  • 更推荐用点位名称:指南针右键点一下取名 boss,脚本写 teleport boss,以后改地图只要移动点位。
  • ~0,~2,~0 = 相对触发者;checkpoint = 当前存档点。

详见 点位 points.yml。

编辑到一半当机了​

  • 背包不会丢:进入编辑模式时背包已经备份到 editor-backup/,下次登录会自动还给你,连位置和游戏模式一起还原。
  • 点位不会丢:点位每改一次就立刻存进 points.yml。
  • 方块:没有 /cd admin save 的方块不在 map.schem 里,但编辑世界本身会照常存档,下次 /cd admin edit 回去通常还在,确认没问题再保存。要放弃,用 /cd admin edit <副本> reset 换回上次保存的地图。

玩家卡在副本世界​

正常情况下不会:

  • 登录时出现在副本世界、但已经不在任何副本里的玩家,会被送回进副本前的位置(或 lobby、主世界出生点)。
  • 当机时人在副本里的玩家,下次登录会被送回原处并恢复游戏模式,入场券与次数自动退还(见 掉线与当机保护)。

如果还是有人卡住:

  • 有 clouddungeon.admin 的管理员不会被自动送出副本世界(方便管理员进去查看),用 /spawn 之类的指令离开即可。
  • 填好 config.yml 的 lobby: "世界,x,y,z,yaw,pitch",所有离开副本的人都送到大厅,不依赖进副本前的位置。
  • 检查是否有其他插件(登录点、AuthMe 之类)在登录时又把人传回旧位置。

怎么做门​

  1. 在地图上盖好门(铁栏杆、石墙……),或留空让插件填。
  2. 编辑模式拿铁栏杆工具:左键点 A 角、右键点 B 角,蹲下右键取名(例如 大门)。留空的门,框选时副手拿着要填的方块。
  3. 脚本:
end:
- "obstacle open 大门" # 开门(方块变空气)
- "message &a大门打开了!"

obstacle close 大门 再关上,会还原成原本的方块。详见 点位 与 动作:地图与场景。

怎么做入场券​

  1. 在 plugins/CloudDungeon/tickets.yml 定义入场券:
tickets:
frost_key:
material: PRISMARINE_SHARD
name: "&b霜烬古殿 &8· &f入场券"
lore:
- "&7持有者可以挑战「霜烬古殿」一次"
glow: true
  1. 副本 config.yml 设置要收什么:
ticket:
payer: each # each = 每人各付 / leader = 队长付全队
items:
frost_key: 1
money: 0 # 也可以收金钱(需要 Vault)
refund-on-fail: false
  1. 发给玩家:/cd admin ticket give frost_key <玩家> [数量](可以放进商店、任务、礼包插件的指令里)。

入场券靠物品上的隐藏标签辨识,玩家改名、改 lore 都伪造不了。开始挑战时才扣;开不成、停服、当机都会自动退还。详见 副本设置。

计分板被其他插件盖掉​

TAB、FeatherBoard 这类插件会把自己的计分板盖回来。在 config.yml 用 hooks 进副本时关掉、离开时打开(掉线时也会执行 on-leave,重连回副本再执行 on-enter):

scoreboard:
hooks:
on-enter:
- "tab scoreboard off {player}"
on-leave:
- "tab scoreboard on {player}"

不想用本插件的计分板,就把 scoreboard.enabled 设成 false,改用 PlaceholderAPI 变量 放进你自己的计分板。详见 计分板、王条与音效。

想用资源包里的音效​

音效名称直接写资源包 sounds.json 里的名称(命名空间:名称):

# 副本 config.yml
sounds:
start: "myserver:dungeon.horn 1 1"
clear: "myserver:dungeon.victory 0.8 1"
# 脚本
- "sound myserver:boss.roar 1 1"

格式是 音效 [音量] [音调],写 none = 不播放。详见 计分板、王条与音效。

怎么测试​

/cd admin test <副本> [模式]:

  • 不检查人数、入场条件、冷却、次数、入场券,不扣入场券、不算次数、不进排行榜。
  • 地图、出生点还是会检查,地图没保存开不了。
  • 有队伍时整队一起进去(照样要按准备)。
  • 有人正在编辑的副本,玩家开不了,但 test 可以。
  • 通关时不发任何奖励(通关、首通、评价、额外条件、难度模式奖励都不发),也不会留下首通记录。

在编辑模式里最快:编辑菜单点「存档并测试」,保存地图、离开编辑,3 秒后自动开一场测试。

测试中可以用 /cd admin instance list 找到编号,再用 instance info、instance group、instance var、instance clear 查看和跳关;有 clouddungeon.bypass 权限可以无视副本限制(飞行、指令……)。

玩家在副本里不能用某个指令​

副本默认是指令白名单:只有 rules.commands.list 里的指令能用(默认只有 /cd 和私讯),被挡下会提示。

  • 想多开放几个:加进 list,例如 list: [cd, msg, tell, r, "cd party"]。
  • 想反过来「大部分都能用,只挡传送」:改成黑名单 mode: blacklist,list: [spawn, "home*", "tpa*"]。
  • 只开放给某些人:给他 clouddungeon.command.<指令> 权限(例如 clouddungeon.command.spawn)。
  • 只改某个副本:在编辑菜单点「副本规则」切换,或写在那个副本的 config.yml 的 rules.commands(会整份取代全服设置)。
  • 改完 /cd admin reload,下一场才生效,进行中的副本不变。

/leave 和 /cd leave 永远可以用。详见 副本内的指令。

/leave 跟别的插件冲突​

/leave 被其他插件占用时,本插件的版本仍然可以用 /clouddungeon:leave 或 /cd leave。也可以在 config.yml 改名:

leave-command: [dleave, quitdungeon]

改完 /cd admin reload 立即生效。