动作:环境与规则
这一页的动作改变整场副本的环境:天气、时间、副本规则(能不能破坏方块、PVP……),以及计分板的「目标」和王条文字。
这些动作都是对整场副本生效,不看 @对象。每个动作的格式说明见 怎么看这几页动作说明。
weather 天气
改副本里玩家看到的天气。只影响副本里的人,不会改到世界的天气。
简写:weather 天气
完整写法:$weather{type=thunder}
| 参数 | 必填 | 说明 |
|---|---|---|
第 1 个 / type(或 weather) | 是 | clear 晴天 / rain 下雨 / thunder 雷雨(会不时在玩家附近闪电,只有效果) |
霜烬守卫:
start:
- "title &4霜烬守卫||&7它醒了"
- "weather thunder"
end:
- "weather clear"
走出洞穴:
type: enter
region: 山顶
once: true
script:
- "weather rain"
- "subtitle &7外面下起了雨"
注意:开场的天气写在 config.yml 的 environment.weather;中途重连的人会套用最新的天气。
time 时间
改副本里玩家看到的时间,并固定在这个时间(不会继续走)。
简写:time 时间
完整写法:$time{value=night}
| 参数 | 必填 | 说明 |
|---|---|---|
第 1 个 / time(或 value) | 是 | day(1000)/ noon(6000)/ night(13000)/ midnight(18000)/ 直接写数字 0~24000 / reset = 回到世界原本的时间 |
亡灵领主:
start:
- "time midnight"
- "title &5午夜降临"
end:
- "time day"
黄昏:
- "time 12500"
setting 副本规则
改这一场的副本规则(DungeonPlus 的 $setting),例如在某个房间允许破坏方块、Boss 战开启 PVP。改动只到这一场结束。
简写:setting 规则=值 [规则=值 …],或只有一项时 setting 规则 值
DungeonPlus 写法:$setting{break=false;place=false;pvp=false;mode=ADVENTURE} @init
| 参数 | 必填 | 说明 |
|---|---|---|
规则名称 = true / false | 是 | 可以一次写好几项。值只认 true,其它(包括 yes)都当成 false |
mode(或 gamemode) | 否 | 整场的游戏模式:SURVIVAL / ADVENTURE / CREATIVE。活着的人立刻切换,之后复活、重连也用这个模式 |
可以改的规则(默认值是全服 config.yml 没改时的值,副本的 config.yml 也可以在 rules 里覆写,见 副本规则):
| 规则 | 别名 | 管什么 | 默认 |
|---|---|---|---|
block-break | break | 破坏方块 | false |
block-place | place | 放置方块 | false |
explosion-block-damage | 爆炸破坏方块 | false | |
pvp | 队友互相伤害 | false | |
item-drop | 丢物品 | true | |
item-pickup | 捡物品 | true | |
hunger | 饱食度下降 | true | |
ender-pearl | 末影珍珠 | false | |
chorus-fruit | 紫颂果传送 | false | |
elytra | 鞘翅 | false | |
firework-boost | 烟花加速 | false | |
riptide | 激流三叉戟 | false | |
wind-charge | 风弹 | false | |
totem | 不死图腾 | false | |
ender-chest | 末影箱 | false | |
buckets | 使用桶 | false | |
vehicles | 船、矿车等载具 | false | |
leash | 拴绳 | false | |
spawn-eggs | 刷怪蛋 | false | |
throw-eggs | 扔鸡蛋 | false | |
fire | 点火、火蔓延 | false | |
explosives | TNT 等爆炸物 | false | |
flight | 飞行 | false | |
frames-and-stands | 物品展示框、盔甲架、画 | false | |
trample | 踩坏耕地 | false | |
bed-and-anchor | 床、重生锚 | false | |
mob-drops | 怪物掉落物 | true | |
sun-burn | 亡灵怪白天燃烧 | false |
进入矿洞:
type: enter
region: 矿洞
once: true
script:
- "setting break=true"
- "message &e这里的矿石可以挖!"
决斗场:
start:
- "setting pvp true"
- "title &c决斗开始||&7队友之间可以互相攻击"
end:
- "setting pvp false"
script:
- "$setting{break=false;place=false;mode=ADVENTURE} @init"
注意:
- 规则名称写错时控制台会提示「不认识的规则」。
- DungeonPlus 的
rejoin、quit-number-limit不在这里设,请改用config.yml的掉线设置(disconnect)。 break=false(或place=false)时其他方块挖不掉,但开着的type: break(type: place)触发组所指定的方块(它的点位 / 区域里,种类也符合) 仍然可以挖 / 放,并且会触发。所以用「挖方块」做机关时不用打开break;只要注意冒险模式挖不动方块,要把游戏模式改成SURVIVAL(setting mode=SURVIVAL或environment.gamemode),见 触发组。
setmap(不需要)
DungeonPlus 用 $setmap{name=地图} @init 在开场前选地图。本插件的地图写在 config.yml 的 map,副本开始前就已经贴好,
所以 setmap 不会做任何事(开启 debug 时控制台会提示)。从 DungeonPlus 搬过来时可以直接删掉这一行。
DungeonPlus 写法:$setmap{name=地牢地图} @init
对象:不看 @对象。
map: frost_temple # 在这里指定地图,不用 setmap
objective 目标
改计分板、王条上显示的「目标」文字(变量 {objective})。
简写:objective 文字 / objective reset
完整写法:$objective{text=前往冰之祭坛}
| 参数 | 必填 | 说明 |
|---|---|---|
第 1 个起的整段 / text | 是 | 目标文字,可以用 {…} 变量(会即时更新)。写 reset 或留空 = 清掉,显示「没有目标」的默认文字 |
前厅卫兵:
end:
- "obstacle open 大门"
- "objective &f前往冰之祭坛(右键)"
收集碎片:
type: enter
region: 碎片洞窟
once: true
script:
- "objective &f收集寒冰碎片 &b{v:碎片}&f/3"
注意:
- 怪物组开始时会把目标换成它自己的
objective,打完后清掉;所以怪物组打完后要显示的下一个目标,写在它的end里。 - 目标文字里的
{…}会即时代入,但没有「某位玩家」可以代入%…%,PlaceholderAPI 变量请改放在计分板的其他行。
bossbar 王条文字
把王条(Boss 血条)上的文字换成自己写的,适合剧情阶段的提示。
简写:bossbar 文字 / bossbar reset
完整写法:$bossbar{text=&b冰封仪式进行中……}
| 参数 | 必填 | 说明 |
|---|---|---|
第 1 个起的整段 / text | 是 | 王条文字。写 reset 或留空 = 回到默认(显示目标与时间) |
启动仪式:
type: interact
point: 仪式祭坛
once: true
script:
- "bossbar &b冰封仪式进行中……守住祭坛!"
- "task start 仪式计时"
仪式计时:
auto-start: false
timeline:
60:
- "bossbar reset"
- "message &a仪式完成!"
注意:
- 要
config.yml的王条是开着的(bossbar.enabled: true)才看得到。 - 场上有标记为
boss的怪活着时,王条显示 Boss 血量,优先于这里的文字;Boss 死了才会显示这里的文字。 - 王条文字不会代入变量(写
{v:碎片}会原样显示)。需要会变的数字,用objective(默认王条会显示目标)。