本帖最后由 爱国民主 于 2019-3-2 12:10 编辑

  • 首页前言

感谢鹦鹉@z1224748848帮忙翻译(游戏规则到常见问题)


翻译者:
  • 爱国民主
  • z1224748848


我由于个人忙碌,曾停止了一段时间,剩下了游戏规则、副本配置、关卡配置、常见问题
几乎可以完结撒花了,另外官方Wiki如有变化,请及时通知我继续更新

:示例(Examples (WIP))官方正在开发、编辑


DungeonsXL插件确实是一个较复杂插件,根据官方Wiki的海量内容,我和鹦鹉特意为大家翻译Wiki
注意:目前的是根据原文而翻译的,并没有测试

欢迎来到维基
如果你还没使用本插件,你要仔细阅读维基
如果你发现错误BUG问题请反馈到:点击进入
但是,反馈之前要确保你发现的错误BUG问题没有在[常见问题]已有相同问题才能反馈

上面的目录是可以点击的


  • 插件信息

插件原贴:https://www.spigotmc.org/resources/dungeonsxl.9488/
本站转载:http://www.mcbbs.net/thread-773988-1-1.html
官方维基:https://github.com/DRE2N/DungeonsXL/wiki

  • 介绍
DungeonsXL是一款服务器插件,可以让你实例化世界
插件的特点在于它可以让多个玩家使用同一个世界,而彼此是不在同一世界
简单说,是免排队互不干扰的副本
玩家可以单独或一起完成副本地牢、挑战PVE竞技场,也可以分开队伍进行PVP决斗
DungeonsXL还提供了自定义游戏机制,让副本世界更有趣

亲身体验:
当玩家进入一个副本世界,会创建一个该世界(克隆主副本世界)
结束副本后会自动删除该世界文件

另外,不止可以用于副本,还可以实现PVE、PVP、歼灭模式、大逃杀模式等东西

  • 特点
  • 创建更多副本
  • 实例化系统,让你免排队并互不干扰
  • 传送门进入副本
  • 邀请玩家编辑副本
  • 安全地让玩家编辑副本,不影响游戏平衡
  • 编辑模式中的检查点、放破点、触发器、消息等
  • 独立副本配置(请在掌握基础内容后再使用独立副本配置)
  • 多个楼层连接起来创建大型多层副本
  • 完成副本给予玩家用户组
  • 玩家可以使用自己库存或配置给予的物品在副本使用
  • 怪物波潮
  • PVP
  • 时间限制
  • 自带怪物系统和支持MythicMobs
  • 强大的API
  • 给副本设置不同游戏类型和内容目标
  • 不同公告信息
  • 异步加载和创建世界以及其它一些性能调整
  • 独立副本资源包
  • 还有更多

  • 示意图(图片待译)

  • 兼容性
  • 要求
DungeonsXL适用于1.8.8及以上版本服务端
但是[遗留支持]适用于1.9.X-1.13.X版本服务端
一些功能需要SpigotAPI,故不支持CrateBukkit
Java版本要求:7及以上
服务端核心要求:Spigot
  • 支持
  • CommandsXL 高级命令执行插件
  • Citizens 自定义公民NPC插件
  • MythicMobs 自定义生物插件
  • InsaneMobs 自定义生物插件
  • ItemsXL 自定义物品和生物插件
  • 任何支持Vault的权限插件
  • 任何支持Vault的经济插件
  • 不支持
  • Towny
  • Corpses

  如果你需要以上两个插件,可以使用PerWorldPlugins(用于1.8+)
  将以上两个插件用于需要使用的世界,不要与DungeonsXL插件的世界冲突




  • 入门

DungeonsXL是一个复杂的插件,为了学会使用这类插件,你需要一步步去尝试,使用你想用的功能,感受一下这些功能

首先,你可能需要看[插件信息-兼容性-支持]的附加插件(比如MythicMobs)。尽管DungeonsXL是一个独立插件,但是没有配合其它插件的话,效果不会更佳。

如果你使用的服务端版本是1.7.X或1.8.X,最好需要阅读[版本功能](未译),避免高版本专用的功能用到了低版本里。因为高版本的功能在低版本是不能使用



  • 第一个副本

  创建
首先,你要从创建第一个副本地图开始

输入命令 </dxl create 地图名字> 创建一个新平坦地图,然后你可以在这个地图世界里建筑

输入命令 </dxl leave> 离开当前副本地图,当然在编辑模式下(非正式游戏),库存、药水等都在副本地图不变,而在其他世界是会变(简单说,副本地图的编辑模式下的数据和库存是独立的)

  • 导入地图
如果你不想在副本世界建筑,那么可以导入地图

导入方式一:
将地图存档文件放入DungeonsXL/maps
然后DungeonsXL会自动识别文件中的地图

导入方式二:
将地图文件放在服务端的主目录
输入命令 </dxl import 地图名字> 即可导入

  • 编辑地图
如果你想设置已有地图,只需要输入命令 </dxl edit 地图名字>
你可以输入命令 </dxl list> 查看所有已有地图
如果玩家进入编辑地图模式,他会是创造模式,会保存原来库存和清除现在库存并且禁止所有命令(除非玩家有 <dxl.bypass> 权限)
正在编辑世界的玩家无法与其它世界进行交互,编辑模式无需给予权限直接可以进行建筑,这样对服务器有安全保障、

在编辑世界中,不仅可以放置破坏方块,还可以设置游戏的详细信息,比如玩家的出生位置、检查点、敌人的出生位置等。这些都可以通过有标志的牌子完成。另外,你不必担心玩家游戏时牌子还在,因为牌子会自动隐藏。

如果玩家有 <dxl.edit> 权限或邀请玩家进入编辑模式则允许玩家进行编辑地图
邀请玩家进入参与编辑地图命令 </dxl invite 玩家名字 地图名字>



  设置游戏细节
  • 木牌标志

当你创建了一个地图,你可能会想添加一些游戏机制,比如设置玩家的出生点、NPC和敌人的出生点以及副本的结束点等,这些都可以通过木牌标志来完成。

木牌标志很简单,它们的内容是:

发生什么
第一行的类型
第二行和第三行是“事件”的详细信息
这里有木牌标志类型列表:点击

哪里
放置有标志的木牌的位置是由木牌内容而定义操作动作

特殊情况
每个标志的第四行(除了一些)包含一个或多个触发器。触发器是在第一行定义的类型动作发生前的必须满足的条件
常见的触发器类型如距离触发、多少玩家靠近某位置、击杀指定怪物
这里有触发器类型列表:点击



  进入副本
副本可以通过多种不同方式进入,但原则总是不变的:
  • 玩家发起组队,但只有一个玩家想单独玩,那么这会跳过
  • 多个队伍组成一个游戏,但一个队伍想在没有竞争的情况下玩副本,那么这会跳过
  • 队伍进入副本大厅
  • 当玩家选择了一个类和装备时就会进入游戏区域
  • 比赛开始

  • 标志和传送门
玩家可以在一个世界(非副本世界)中点击关于队伍标志牌子
队伍的队长可以点击 [game] 牌子将队伍和自己都加入有多队伍的游戏中
另外建议你放置 [leave] 可以离开的牌子,防止一些玩家不知道 </dxl leave> 命令

创建传送门


正确的木牌和传送门设置应该像这样
(意思是在传送门前放置关于组队之类牌子,然后组队完成后进入传送门吧)


  • 命令
可以使用命令 </dxl play> 启动副本,这是最快进入副本的方法了
可以使用 </dxl group> 命令创建设置队伍,如果你想要使用此功能,你需要给玩家权限,默认是禁用

  • 公告
全局公告会不断以不同方式邀请所有玩家或指定地图上的玩家加入游戏,点击阅读这里了解更多内容

  • 没有奖励的测试
你可以测试没有奖励的副本,命令 </dxl test> 启动测试游戏

  • 高级:多层副本(简称MFDs)
像创建副本配置一样简单,然后,你可以使用命令 </dxl play d [dungeon]> 或带有木牌标志进入多层副本



  • 主配置
  1. #配置文件
  2. #配置版本,不要修改
  3. configVersion: 13
  4. #语言文本(在languages文件)
  5. language: chinese
  6. #启用支持经济
  7. enableEconomy: false
  8. #turorial教程选项
  9. tutorial:
  10.   #是否启用
  11.   activated: false
  12.   #tutorial教程副本名字
  13.   dungeon: tutorial
  14.   #玩家进入后所在用户组是default
  15.   startGroup: default
  16.   #玩家完成tutorial教程副本后列入用户组player
  17.   endgroup: player
  18. #颜色标识
  19. #比如用于副本的公告、GUI等
  20. groupColorPriority:
  21. - DARK_BLUE
  22. - LIGHT_RED
  23. - YELLOW
  24. - LIGHT_GREEN
  25. - PURPLE
  26. - ORANGE
  27. - WHITE
  28. - BLACK
  29. - LIGHT_BLUE
  30. - DARK_GREEN
  31. - DARK_RED
  32. - LIGHT_GRAY
  33. - CYAN
  34. - MAGENTA
  35. - DARK_GRAY
  36. #公告间隔
  37. announcementInterval: 30.0
  38. #是否发送下一关卡Title
  39. sendFloorTitle: true
  40. #DungeonsXL支持任何自定义怪物插件
  41. #您可以在此处注册占位符标记和spawn命令
  42. #自定义外部怪物插件的应该使用怪物[Mob]标志和M触发器
  43. #由自定义外部怪物生成插件的怪物应该会被kill击杀计数器识别 (/dxl game)
  44. externalMobProviders:
  45.     # providerTag: spawn 命令
  46.     # "%%" 为占位符,即placeholders插件
  47.     XY: custommobplugin spawnmob %mob% %world% %x% %y% %z%
  48. #资源包
  49. resourcePacks: {}
  50. #多少世界使用一个副本
  51. #能防止超载
  52. maxInstances: 10
  53. #是否启用不太安全的性能调整,如:
  54. tweaksEnabled: false
  55. #安全模式
  56. secureMode:
  57.   #是否启用
  58.   enabled: false
  59.   # ? 是否允许玩家在编辑模式下打开库存
  60.   openInventories: false
  61.   # ? 是否允许玩家在编辑模式下放置物品 (还是丢弃扶贫)
  62.   dropItems: false
  63.   #每5秒检查玩家
  64.   #检查玩家是否在编辑副本
  65.   #如果发现错误该玩家会被送回spawn
  66.   checkInterval: 5.0
  67.   #编辑模式下允许使用的命令( /del 仍可以使用)
  68.   #格式例子
  69.   #editCommandWhitelist::
  70.   # - help
  71.   # - home  
  72.   editCommandWhitelist: []
  73. #备份系统
  74. #将地图的备份保存到DungeonsXL/backups/
  75. #可选值
  76. #ON_DISABLE   在服务器关闭时备份
  77. #ON_SAVE   在使用 /dxl save 时备份
  78. #ON_DISABLE_AND_SAVE   两者
  79. #NEVER   禁用备份
  80. backupMode: ON_DISABLE_AND_SAVE
  81. #编辑模式的玩家获得的权限列表
  82. #如果玩家离开编辑模式,列表的权限会被移除
  83. #注意
  84. #注意
  85. #注意
  86. #需要Vault和权限(如PermissionsEx)
  87. #格式例子
  88. #editPermissions:
  89. # - worldedit.clipboard.*
  90. # - worldedit.history.*
  91. # - home.haha
  92. editPermissions: []
  93. # ?
  94. default: {}
复制代码




  • 管理命令
命令前缀是 /dxl
下面是后面的
如 /dxl break
命令 描述
break 开关真正可以破坏副本方块模式
chat 更改聊天模式
chatspy 开关spymode
create 创新新的副本
edit 编辑副本
escape 离开当前副本但不保存
help 查看帮助
invite 邀请玩家编辑副本
leave 离开当前副本
list 列出所有副本
lives 显示离开的玩家的生命
msg 显示或编辑消息
play 玩家可以在不需要传送门情况下进入副本
portal 获得创建传送门的工具
reload 重载插件
save 保存当前副本
test 测试副本
univenty 取消邀请玩家编辑副本




  • 权限
权限节点 描述 默认
dxl.[命令]
   如 /dxl play 的权限是 dxl.play
允许执行命令 OP
dxl.ignoretimelimit 无视加入要求时间 OP
dxl.ignorerequirements 无视加入要求条件 OP
dxl.sign 允许创建所有木牌标志 OP
dxl.sign.[木牌标志名称 允许创建指定木牌标志 OP
dxl.bypass 允许在副本使用被禁用的物品 OP
dxl.cmdedit 允许在副本中使用命令 OP



  • 插件集成
  • 哪些插件不适用于DungeonsXL?
为了多次实例化同一个世界,DungeonsXL将 "resource" 世界从 DungeonsXL/maps/ 复制并加载到服务器世界中,但这个由于地图文件名称而导致有缺点的,如Custom mob、世界边界、方块保护插件是不会在副本世界正常运行
(跟指向世界名称有关,简单说,DungeonsXL复制出来的副本地图名称都是不一样,而插件却固定用在启用的世界名称中)

  • 兼容插件
看完上面后,不用担心,DungeonsXL的API能让开发者在DungeonsXL与其开发的插件正常运行
DungeonsXL自带支持受欢迎的插件

支持以下插件:
  • CommandsXL   高级命令执行插件
  • Citizens   自定义公民NPC插件
  • MythicMobs   自定义生物插件
  • InsaneMobs   另类自定义生物插件
  • ItemsXL   自定义物品和生物
  • 任何其他 带有Mob类型、世界、生成位置参数的命令都可以添加到木牌标志、主配置中
  • 任何支持Vault的权限插件
  • 任何支持Vault的经济插件

  • 不兼容插件
这些插件与DungeonsXL不兼容
  • Corpses
  • Towny

如果你实在需要
请使用PerWorldPlugins(用于1.8+)
将不兼容插件用于需要使用的世界,不要与DungeonsXL插件的世界冲突



  • 脚本
  • 公告(Announcements)
公告不时会在聊天消息弹出(可以在主配置设置时间间隔),当玩家点击该消息,就会弹出菜单

玩家可以点击菜单中按钮,如果达到足够人数,就会通知开始游戏,在游戏中可以看到这样的进度条,可以随意离开,直到游戏的时间结束

  1. description:
  2.   - "&6====================================================="
  3.   - "&2这里可以写通知开始游戏的文字"
  4.   - "&6====================================================="
  5. # 如果为multiFloor false则为地图名称
  6. # 如果为multiFloor true则为副本名称
  7. identifier: TEST
  8. # 是否是多层副本
  9. multiFloor: false
  10. # 达到最低要求则30秒后开始游戏
  11. minGroupsPerGame: 2
  12. minPlayersPerGroup: 1
  13. maxGroupsPerGame: 4
  14. maxPlayersPerGroup: 4
复制代码

  • 职业(Classes)(类似一种拿些东西去进行副本游戏)
如果想要玩家用固定库存进行游戏,而不是用他们自己物品的库存,那么你可以使用这个脚本
由于CaliburnAPI / ItemsXL集成,DungeonsXL支持三种不同方式来存储配置文件中的物品

副本中,使用木牌标志中的Classes
  1. items:
  2.   # 这是存储物品的简单方式了
  3.   # 有效输入:
  4.   # 第一个值可以任何ID (不管是普通物品的ID和ItemsXL物品的ID,都可以),
  5.   # 第二个值是数量
  6.   # 第三个值是附加值
  7.   - 261,1
  8.   - 262,64
  9.   - 268,1
  10.   - 298,1
  11.   - 299,1
  12.   - 300,1
  13.   - 301,1
  14.   - 364,3
  15.   - 363,10
  16.   - 261,1,16
  17. # Caliburn API还支持通常的Bukkit ItemStack反序列化格式
  18. # 如果你不知道如何使用它并安装了ItemsXL
  19. # 将物品放在主手并输入命令 </ixl serialize>
  20. # 在ItemsXL/serialized.yml中找到有效的则自动生成的物品YAML
  21.   - ==: org.bukkit.inventory.ItemStack
  22.     type: IRON_SWORD
  23.     damage: 55
  24.     amount: 1
  25. # 有关Caliburn物品序列化格式的更多信息
  26. # 请阅读Caliburn的wiki
  27. # https://github.com/DRE2N/CaliburnAPI/wiki/Custom-item-script
  28.   - ==: de.erethon.caliburn.item.ExItem
  29.     type: "DEFAULT"
  30.     material: "STICK"
  31.     amount: 3
  32.     name: "&4随便名称"
  33.     lores:
  34.      - "&4这是第一行"
  35.      - "&6这是第二行"
  36.     itemFlags:
  37.       - "HIDE_ATTRIBUTES"
  38.       - "HIDE_ENCHANTS"
  39.     enchantments:
  40.       "PROTECTION_ENVIRONMENTAL": 4
  41.       "THORNS": 1
  42.     attributes:
  43.       nameOfFirstAttribute:
  44.         type: "GENERIC_ATTACK_DAMAGE"
  45.         slots:
  46.           - "MAIN_HAND"
  47.           - "OFF_HAND"
  48.           - "HEAD"
  49.           - "TORSO"
  50.           - "LEGS"
  51.           - "FEET"
  52.         operation: "ADD_NUMBER"
  53.         amount: 8.5
  54.       nameOfSecondAttribute:
  55.         type: "GENERIC_MOVEMENT_SPEED"
  56.         slots:
  57.           - "OFF_HAND"
  58.         operation: "ADD_NUMBER"
  59.         amount: 8.5

  60. # 是否可以将养的狗作为宠物
  61. dog: true
复制代码

  • 怪物(Mobs)
除了支持多个其它自定义怪物插件外,DungeonsXL还有自己的自定义怪物系统,只需要创建一个脚本,标识符可以用于怪物的标志,而不是怪物的名称

但目前还不能够使用Caliburn格式,因为它目前还不够成熟,请注意,此格式已启用,迟早会删除
  1. # 怪物类型
  2. type: Skeleton
  3. # 最大血量
  4. maxHealth: 100
  5. # 头的物品
  6. itemHelmet: 310
  7. # 上身的物品
  8. itemChestplate: 310
  9. # 下身的物品
  10. itemLeggings: 310
  11. # 脚的物品
  12. itemBoots: 310
  13. # 手的物品
  14. itemHand: 310
  15. # 怪物类型是否是Wither skeleton骷髅小白 (前提是type: Skeleton)
  16. isWitherSkeleton: true
  17. # Ocelot是哪种类型 (前提是type: Ocelot) // BLACK_CAT, RED_CAT, SIAMESE_CAT, WILD_OCELOT
  18. ocelotType: BLACK_CAT
  19. # 怪物死亡时掉落的物品
  20. drops:
  21.   1:
  22.     # 物品ID
  23.     id: 35
  24.     # 物品附加值 (如彩色羊毛)
  25.     data: 9
  26.     # 数量 (默认 1)
  27.     amount: 2
  28.     # 附魔
  29.     enchantments:
  30.       # Enchantment + Level
  31.       - DAMAGE_ALL 2
  32.       - DURABILITY 10
  33.       # 物品名称
  34.     name: '神奇的羊毛'
  35.     # 物品注释Lore (分行情用 '//' )
  36.     lore: 最好的羊毛//非常好'
  37.     # 掉落概率 (0-100) (默认 100)
  38.     chance: 50
  39.   2:
  40.     id: 276
  41.     enchantments:
  42.       - DAMAGE_ALL 5
  43.       - DURABILITY 10
  44.     name: '毁灭者'
  45.     lore: '10!'
复制代码

  • 木牌(Signs)
有时候,很难把很多触发器放在同一个木牌。有时候,副本没那么多空间容纳木牌
能够解决此方案名为脚本符号,它可以执行要求的操作
  1. 0:
  2.   - "[Mob]"
  3.   - "Zombie"
  4.   - "4,4"
  5.   - "D 4"
  6. 1:
  7.   - "[Mob]"
  8.   - "Spider"
  9.   - "0,1"
  10.   - "D 4"
复制代码

  • 战利品(Loot tables)
战利品(Loot tables)可以用于宝箱

在未来版本中,它将会支持怪物掉落
  1. 0:
  2. # 有关Caliburn物品序列化格式的更多信息
  3. # 请阅读Caliburn的wiki
  4. # https://github.com/DRE2N/CaliburnAPI/wiki/Custom-item-script
  5.   item:
  6.     ==: de.erethon.caliburn.item.ExItem
  7.     type: "DEFAULT"
  8.     material: "STICK"
  9.     amount: 3
  10.     name: "&4随便名称"
  11.     lores:
  12.      - "&4这是第一行"
  13.      - "&6这是第二行"
  14.     itemFlags:
  15.       - "HIDE_ATTRIBUTES"
  16.       - "HIDE_ENCHANTS"
  17.     enchantments:
  18.       "PROTECTION_ENVIRONMENTAL": 4
  19.       "THORNS": 1
  20.     attributes:
  21.       nameOfFirstAttribute:
  22.         type: "GENERIC_ATTACK_DAMAGE"
  23.         slots:
  24.           - "MAIN_HAND"
  25.           - "OFF_HAND"
  26.           - "HEAD"
  27.           - "TORSO"
  28.           - "LEGS"
  29.           - "FEET"
  30.         operation: "ADD_NUMBER"
  31.         amount: 8.5
  32.       nameOfSecondAttribute:
  33.         type: "GENERIC_MOVEMENT_SPEED"
  34.         slots:
  35.           - "OFF_HAND"
  36.         operation: "ADD_NUMBER"
  37.         amount: 8.5
  38.   # The loot chance in percent
  39.   chance: 75.0

  40. 1:
  41.   # 这是存储物品的简单方式了
  42.   # 有效输入:
  43.   # 第一个值可以任何ID (不管是普通物品的ID和ItemsXL物品的ID,都可以),
  44.   # 第二个值是数量
  45.   # 第三个值是附加值
  46.   item: "261,1,16"
  47.   chance: 100.0

  48. 2:
  49. # Caliburn API还支持通常的Bukkit ItemStack反序列化格式
  50. # 如果你不知道如何使用它并安装了ItemsXL
  51. # 将物品放在主手并输入命令 </ixl serialize>
  52. # 在ItemsXL/serialized.yml中找到有效的则自动生成的物品YAML
  53.   item:
  54.     ==: org.bukkit.inventory.ItemStack
  55.     type: IRON_SWORD
  56.     damage: 55
  57.     amount: 1
  58.   chance: 37.5
复制代码




  • 翻译
官方已有几种语言文件,点击此处(含中文)



  • 遗留支持(Legacy support)
如果你在用旧版DungeonsXL,请注意旧版有些功能特征是无法使用。另外,DungeonsXL是为了Spigot API服务器而打造的,与纯Bukkit API相比,Spigot API的有些特征在Bukkit API是没有的,故某些功能与Spigot兼容,而不与CraftBukkit兼容

  • Caliburn

DungeonsXL使用Caliburn API从配置中得到物品。但是,在1.8.8版本是无效的。这些版本使用内置的、功能较弱的util,语法略有不同。
类脚本示例
  1. #类的名称
  2. Warrior:
  3.   #类的物品
  4.   items:
  5.   #物品ID.数量,附魔类型/附魔等级
  6.   - 268,1,FIRE_ASPECT/1
  7.   - 276,1
  8.   - 302,1
  9.   - 303,1
  10.   - 304,1
  11.   - 305,1
  12.   - 364,1
  13.   - 373/16385,3
复制代码
附魔列表:点击

  • 功能提醒

  • 丢弃标志(Drop)不兼容1.8.8
  • 一些性能优化不兼容1.8.8,它们会导致一些严重问题,必须禁用
  • 可点击的聊天消息只适用于Spigot,不兼容CraftBukkit,即使CraftBukkit能看到消息,但无法点击的(这是SpigotAPI特征所拥有的:点击聊天)
  • DungeonsXL在1.8.8中不会保存和修改血量状态





  • 标志
  • Global signs

  • Group

第一行和第二行就像木牌那样填
第三行是副本名称,但如果不是多层副本,那么就填地图名称
第四行是玩家数量
  • Leave


离开游戏
  • Game

第三行是副本名称,但如果不是多层副本,那么就填地图名称
第四行是玩家数量

如果以队伍形式进入副本,那么必须是队伍的队长点击该牌子才能进入

  • Edit signs

  • Lobby


创建一个大厅生成点
  • Ready

应当把该牌子放在大厅(创建大厅生成点那里)中,这样在大厅中点击该牌子才能启动副本
第二行你可以指定[游戏类型](本目录的[游戏类型])
第三行是开始游戏前的准备秒数
最后一行就是触发器,如果不填则默认是以交互方式触发(点击)
  • Leave


离开副本
  • Start

这是设置地图的初始位置,当所有玩家准备好后就传送到这个位置
在MFDs(多层副本)中,也就是每层副本中的初始位置,第一层初始位置也就从大厅传送过来(除非在配置config中绕过)

第二行数字是可选的。如果创建有两个队伍的PVP地图,那么选不同位置放置木牌,一个队伍则填1,另一个队伍则填2
  • End


满足触发条件则完成副本
  • Floor

满足触发条件则该层结束并且将玩家传送到新一层
如果第二行没指定楼层,只要楼层数大于0,玩家就会被传送到副本的任意楼层
  • Classes

创建类Classes木牌标志,第二行名称必须是[脚本-类]的名称

[脚本-类]:表示本文中上方目录点击脚本,并且找到职业
  • Command

需要CommandsXL
第一行:[CMD]
第二行:CommandsXL配置中的名称
第三行:延迟和触发模式:console(控制台),op(管理员),default(玩家自己)
第四行:当然是触发器了(触发条件)
  • Mob

第一行:[Mob]
第二行:怪物类型,你可以在floor config配置中自定义怪物
第三行:
       第一个数字延迟,多少秒后生成下一个怪物
       第二个数字是最大数量
第四行:触发
  • ExternalMob

创建怪物生成点,可以使用DungeonsXL支持的InsaneMobs、MythicMobs、CustomMobs和Citizens

插件 标签
MythicMobs MM
Citizens CI
CustomMobs CM
InsaneMobs IM

第一行:[ExternalMob]
第二行:类型(插件配置中的标识符,Citizens的数字)
第三行:延迟,数量,标签
第四行:触发
  • Message

第一行:[Msg]
第二行:消息的ID,可以在config.yml或命令 </dxl msg> 中自定义
第四行:触发
  • Place

第一行:[Place]
第二行:(可选填)方块ID
  • Checkpoint

创建检查点
如果你死了就会自动到最新检查点,否则是到起点
  • Chest

在该牌子附近生成奖励箱。当玩家打开副本的奖励箱时,奖励都会发送到自己和队伍成员库存中

第一行:[Chest]
第二行:(可选填)奖励金钱(需要Vault)和经验等级
第三行:(可选填)[脚本-战利品]的配置名称,根据配置概率、随机获得奖励,箱子库存东西不会被覆盖
第四行:不填
  • Trigger

第一行:[Trigger]
第二行:触发器ID
(翻译能力有限)
The Trigger-ID. All Signs, that have set this Sign as Trigger (through "T id"), will be triggered when this sign is triggered. If you leave this line empty, the next available ID will automatically be found.
第四行:触发
  • Redstone

变成红石块,提供红石动力
另外可以设置延迟和重复

第一行:[Redstone]
第二行:(可选填)红石延迟输出
       1=普通中续器
       4=满的中续器
       10=一秒
       600=一分钟
第三行:(可选填)输出重复次数
       Empty=无重复(永久功率)
       0=无限重复
第四行:触发
  • Block

变成方块

第一行:[Block]
第二行:方块ID或名称,还有方块的附加值(可选),触发之前方块的样子
第三行:方块ID或名称,还有方块的附加值(可选),触发之后方块的样子
第四行:触发

备注:要找出该方块请用木棍右键它
  • Interact


切换可点击的木牌

第一行:[Interact]
第二行:
(翻译能力有限)
Signs that have this ID marked as their Trigger through "I id", will be triggered upon clicking this sign.
第三行:上面文本
第四行:下面文本
  • Wave

让新的不同怪物波出现

第一行:[Wave]
第二行:用于怪物数的乘法计数
第三行:是否将全员送到初始位置
第四行:触发,建议使用 W 触发器
  • Hologram

使用DungeonsXL支持的Holographic Displays全息

第一行:[Hologram]
第二行:文字/Item:物品ID或名称
第三行:高度

注意:我们总是会遇到空间不足问题,那么我们可以运用脚本,请看本文[脚本]
  • Drop

在该牌子位置产生掉落物

第一行:[Drop]
第二行:Caliburn任何物品
第三行:数量,概率(如果没填写概率,则只掉落一次)
  • Lives modifier


第一行:[Lives]
第二行:正数(加血),负数(扣血)
第三行:目标
       GAME=游戏中所有玩家
       GROUP=队伍中所有玩家
       PLAYER=仅触发的玩家
第四行:触发
  • Open door

满足触发条件就会打开门

第一行:[Door]
第四行:触发
  • Script

放置脚本木牌
第二行:请看本文[脚本],Script文件中的名称(不需要.yml)
  • Teleport

如果第二行是空的,就会传送到该木牌位置
  • Resource pack

满足触发条件就下载资源包

(翻译能力有限)
Resource pack IDs can be defined in the main configuration file. Use "reset" instead of an ID to reset the player's resource pack to his default one.

ResourcePack signs get enabled before the game starts and generate an interact trigger by default just like for example lobby, ready or leave signs, but you might want to link one sign to set the pack to your ready sign and one to reset to your end sign.
  • BossShop

打开BossShop插件的商城,第二行是BS商店名称
  • Bed

第一行:[Bed]
第二行:队伍编号
就像 Start 标志一样使用
  • Flag
  • Sound message

声音符号可以用普通声音标识符,也可以用资源包的自定义声音
第三行:声音类型,音量,音调
  • Action bar
  • Title

  • Triggers
  • [D]istance

当玩家在该半径范围内则触发

  • [R]edstone

接收到红石信号时触发

  • [T]rigger sign

(翻译能力有限)
Sign will be triggered upon triggering the Triggersign with the ID 1.

  • [I]nteract

(翻译能力有限)
The sign will be triggered when the interact sign with the ID ( in this case 1) is clicked.

  • [U]se item

点击石头(ID为1)时触发
你可以用物品名称、重命名物品的名称、书的名称

  • [M]ob death

怪物"BOSS"被杀后将触发
mob的名称可以是类型(如 Zombie)
或config.yml的自定义mob的名称
或MythicMobs怪物(如SkeletalKnight)

  • [W]ave

当副本中的所有怪物都被杀死时触发
通过乘数可以降低要杀死的怪物数量:如果触发器是"W 1",则必须杀死100/100个怪物
如果它是"W 0.95"则只需要杀死95/100个怪物

  • [P]rogress

当达到指定游戏进度时触发
第一个数字是副本层数,第二个值是要完成的波数([W]ave)
如"P 0/5"
你还可以使用副本层的名称而不是数字

  • [F]ortune
F 69.4
该触发器增加了该标志其它触发的概率,比如战利品奖励的概率

  • 多个触发器

一个木牌可以有多个触发器,用逗号","分隔


游戏规则
为了有效地使用DungeonsXL插件,其中最重要的一点就是你需要搞明白 游戏规则优先级系统,“游戏规则”定义了你的DXL副本的框架条件

  • 继承制度


游戏规则遵循一项辅助原则,它可以拥有许多条来源. 因此,Dungeon副本和关卡配置文件被设计成不自动生成的模样

如果游戏规则相互矛盾,只有其中一项规则会影响到最终游戏,至于是哪一项, 则由继承系统决定(先定义= 覆盖; 后定义= 附属):

  • 游戏类型(游戏类型是在 [准备标志] 中决定的)
  • Dungeon副本配置中的覆写值
  • 关卡配置中的值(请注意, 不是关卡配置文件中的所有值都是游戏规则, 例如, 受邀请玩家列表)
  • Dungeon副本配置中的默认值(主配置文件中的默认值)
  • 插件内部默认值(如果没有设置对应值, DXL将会使用一个默认值)

  • 规则


  • 布尔值(boolean): "true" 或 "false"
  • 整数(int): 数值; 没有小数点的整数
  • 小数(double): 数值, 允许小数点
  • 字符串(String): 一条文本
  • 列表: 值构成的列表
  • 表(Map): 一个键(Key)值(Value)对应的列表
名称 说明 值类型 默认值 备注
isLobbyDisabled 大厅是否被禁用 布尔值(boolean) false 仅适用于没有教程的单人副本
timeUntilKickOfflinePlayer 玩家离开游戏后多久会被踢出副本(以秒为单位) 整数(int) 0 (= 即时) -1 为永不
timeToNextPlayAfterStart 在一场游戏开始后间隔多久玩家才能再次游玩此副本(以小时为单位) 整数(int)
timeToNextPlayAfterFinish 在一场游戏结束后间隔多久玩家才能再次游玩此副本(以小时为单位) 整数(int)
timeToNextLoot 玩家可以再次从此副本获取战利品的冷却时间(以小时为单位) 整数(int)
timeToNextWave 当有足够的怪物被杀死时, 间隔多久才开始下一波的怪物攻势 整数(int)
timeToFinish完成此地牢的时间要求(以秒为单位). 如果时间到了, 玩家就会被踢出副本 整数(int)
gameMode 游戏模式 "ADVENTURE"(冒险模式)
"CREATIVE"(创造模式)
"SPECTATOR"(观察者式)
"SURVIVAL"(生存模式)
SURVIVAL
playerVersusPlayer 是否有PvP伤害(同是玩家, 但可以不是同一队伍, 能否互相伤害) 布尔值(boolean)
friendlyFire 是否有队友伤害(同一队伍互相伤害) 布尔值(boolean)
gameCommandWhitelist 不会被禁用的命令 命令列表 (空) dxl.bypass 权限节点仍能使玩家执行命令. 默认情况下允许执行所有 /dxl 命令
mustFinishOne 副本列表
mustFinishAll 副本列表
timeLastPlayed 整数(int)
requirements 地图要求
keepInventoryOnEnter 布尔值(boolean)
keepInventoryOnDeath 布尔值(boolean)
keepInventoryOnFinish 布尔值(boolean)
keepInventoryOnEscape 布尔值(boolean)
breakBlocks 布尔值(boolean)
breakPlacedBlocks 布尔值(boolean)
breakWhitelist 方块列表 保留空值则允许玩家使用任何工具破坏方块
damageProtectedEntities 实体列表
interactionProtectedEntities 实体列表
placeBlocks 布尔值(boolean)
placeWhitelist 方块列表
initialLives 整数(int)
initialGroupLives 整数(int)
message 带有整数ID对应消息文本的Map
secureObjects 方块列表
gamePermissions 权限列表
title 标题数据
rain 布尔值(boolean)
thunder 布尔值(boolean)
time 整数(int)


游戏类型
游戏类型通常在准备标志中就定义好了,它们包含一些游戏规则并覆盖所有输入的配置,它的实现主要取决于副本构建器和插件

为什么我需要这个东西?

通常, 除非你想将一张地图用于多个用途上,否则你就不需要游戏类型
游戏类型比起配置文件使用起来更简单并且无法访问服务器文件的副本构建器也可以在没有人工帮助的情况下使用它们
游戏类型的选择取决于不同种游戏的游戏目标, 比如Bedwars(起床战争)
如果你啥都没有指定,游戏将会在触发结束标志时结束

游戏类型列表

类型 标志ID对应结束标志 说明
自定义 Custom END(结束标志) 所有游戏规则值仅从配置中获取
默认 Default END(结束标志)  一种完成任务的游戏类型
冒险 Adventure END(结束标志) 没有PvP伤害. 默认构建规则就是原生Minecraft冒险模式的规则
冒险 - 时间有限 Adventure TiR TIME_SCORE(在规定时间内取得最高分) 拥有一个计时器的冒险模式. 玩家需要在指定时间内尽可能杀死更多怪物和其他玩家
启示录ApocalypseHIGHSCORE(取得最高分) PvP, PvE并且无法建造
启示录 - 大逃杀 Apocalypse LMS LAST_MAN_STANDING(存活时间最长) 存活时间最长的队伍获胜
启示录 - 歼灭 Apc Limited END(结束标志) 杀死所有的怪物来结束游戏
启示录 - 时间有限 Apocalypse TiR TIME_SURVIVAL(在指定时间内存活) 玩家需要在指定时间内存活下来
起床战争 BedwarsLAST_MAN_STANDING(存活时间最长) 玩家在队伍的床被摧毁后无法重生. 最后存活的队伍获胜
人机 - 大逃杀 PvE LMS LAST_MAN_STANDING(存活时间最长) 一直PvE直到剩下最后一支队伍存活. 没有PvP伤害
人机 - 歼灭 PvE Limited END(结束标志)一直PvE直到杀死所有的怪物
人机 - 时间有限 PvE TiR TIME_IS_RUNNING(在指定时间内存活) 在指定的时间内PvE存活下来
联机 - 派系战争 FactionsPvP LAST_MAN_STANDING(存活时间最长) 一个派系(Factions)插件的战争系统(该系统未完成)
联机 - 大逃杀 PvP LMS LAST_MAN_STANDING(存活时间最长) 一直PvP直到仅剩最后一名玩家存活
机密行动 Quest END(结束标志) 完成任务. 无法PvP和建造
机密行动 - 时间有限 Quest TiR END(结束标志) 完成任务, 但是需要在指定的时间内完成
测试 TestEND(结束标志) 一个为 /dxl test 准备的游戏模式. 除了 PvP, 其他什么事情都可以做

请注意: 这是一份 <b>示例文件</b>. 你可不要指望着把它CV(复制)下来就能直接使用

副本名字由文件名决定(当然, 不包含 .yml 文件后缀名). 副本名称必须是独一无二的, 并且不能与地图名字相同

如果你打算创建一个单关卡副本, 就不要管此页面了. 副本配置文件仅在你需要把多个关卡连接起来时才有必要写
  1. # DungeonsXL的一个副本配置文件
  2. # (保存在 DungeonsXL/scripts/dungeons/ 文件夹中, 名为 %副本名%.yml)

  3. # 玩家进入的副本第一关.
  4. # 至少要有大厅, 准备, 开始和关卡标志的存在.
  5. startFloor: MyDungeon_floor_01
  6. # 玩家进入的副本最后一关.
  7. # 至少要有开始和结束标志的存在.
  8. endFloor: MyDungeon_floor_12
  9. # 此副本包含的所有关卡的列表.
  10. floors:
  11.   - MyDungeon_floor_02
  12.   - MyDungeon_floor_03
  13.   - MyDungeon_floor_04
  14.   - MyDungeon_floor_05
  15.   - MyDungeon_floor_06
  16.   - MyDungeon_floor_07
  17.   - MyDungeon_floor_08
  18.   - MyDungeon_floor_09
  19.   - MyDungeon_floor_10
  20.   - MyDungeon_floor_11

  21. # 在玩家被传送到最后一关之前, 应该先从列表里面随机选出多少关卡?
  22. floorCount: 7

  23. # 如果为true, 在玩家完成此关卡后将会把此楼层从列表中删除
  24. # 这样就不会重复玩同一关卡了.
  25. removeWhenPlayed: false

  26. # 以下值将会覆写主配置文件中的默认值和关卡配置文件中的值.
  27. overrideValues:
  28.   # 所有关卡配置文件中可选的游戏规则配置选项, 比如:
  29.   keepInventoryOnEnter: true

  30. # 以下值将会覆写主配置文件中的默认值, 但是可以被关卡配置文件覆写.
  31. defaultValues:
  32.   # 所有关卡配置文件中可选的游戏规则配置选项, 比如:
  33.   keepInventoryOnEnter: true
复制代码

请注意: 这是一份 示例文件. 你可不要指望着把它CV下来就能直接使用

一些提示:
  • 为了保持结构的清晰明了, 最好是创建一个新的配置文件然后添加你所需要的游戏规则值. 我是认真的, 请不要只是复制/粘贴这里的示例内容. 这是玩转DungeonsXL的一大禁忌
  • 如果你还在因为在地图文件夹中找不到config.yml文件而感到困惑: 这是因为地图不一定需要一份专门的配置文件. 插件依然可以从"副本配置文件"中获取游戏规则值: 副本配置文件用来配置很多关卡都重复的游戏规则值非常方便, 或者也可以从"主配置文件"中获取游戏规则值:主配置文件适合用来配置一些游戏目标非常简单的副本
  • (如果你不是在配置一个拥有多个关卡的副本, 请忽略这条) 关卡配置文件中配置的游戏规则值相对来说优先级较高. 副本配置文件中的默认值将会被覆写, 但是副本配置文件中的"覆写值"又将会覆写关卡配置文件中的值
  1. #  DungeonsXL的一个关卡配置文件
  2. # (保存在 DungeonsXL/map/%地图名% 文件夹中, 名为 config.yml)

  3. ##########################
  4. #    地 图 特 殊 设 置    #
  5. ##########################

  6. # 决定地图环境类型, 尽管这可能不是地图保存时设定的地图类型.
  7. # 可以被设置为 THE_END, NETHER 或 NORMAL.
  8. # 如果省略此设置 (或者根本就没有关卡配置文件), 将会使用 NORMAL 值.
  9. worldEnvironment: THE_END

  10. # 你可以强制设定一个游戏类型, 这将会覆写准备标志上设定的值.
  11. forcedGameType: DEFAULT

  12. # 可以编辑副本的玩家 (/dxl invite)
  13. # 你可以往这里写玩家用户名, 也可以写 UUID.
  14. invitedPlayers:
  15. - sataniel

  16. ##################
  17. #   游 戏 规 则   #
  18. ##################

  19. # 是否禁用大厅. 这仅适用于必须单人解决且没有可供选择的类的副本.
  20. isLobbyDisabled: false

  21. # 玩家离开游戏后多久会被踢出副本(以秒为单位).
  22. # -1 = 永不 / 0 = 立即
  23. timeUntilKickOfflinePlayer: 10000

  24. # 在一场游戏开始后间隔多久玩家才能再次游玩此副本(以小时为单位).
  25. # 这可以防止玩家在开始一场游戏后退出再来玩一遍,
  26. # 不管该玩家是被踢出, 还是顺利游戏结束, 都需要等待这个时间后再次游玩.
  27. timeToNextPlayAfterStart: 6

  28. # 这只会阻止玩家在正常结束游戏后马上尝试再次游玩.
  29. # 如果玩家主动离开了游戏或者被踢出游戏, 玩家总是可以立即再次开始游玩.
  30. timeToNextPlayAfterFinish: 12

  31. # 玩家可以再次从此副本获取战利品的冷却时间(以小时为单位).
  32. timeToNextLoot: 12

  33. # 当有足够的怪物被杀死时, 间隔多久才开始下一波的怪物攻势.
  34. timeToNextWave: 10

  35. # 完成此地牢的时间要求(以秒为单位).
  36. # 如果时间到了还未结束游戏, 玩家就会被踢出副本.
  37. timeToFinish: 240

  38. # 游戏模式, 如果不填则为 SURVIVAL
  39. gameMode: ADVENTURE

  40. # PvP
  41. playerVersusPlayer: true
  42. # (同一队伍的)队友伤害
  43. friendlyFire: false

  44. # 这些是在副本游戏中玩家还可以使用的命令列表.
  45. # DXL 命令, 比如 /dxl leave 默认可用.
  46. gameCommandWhitelist:
  47.   - version
  48.   - f list
  49.   - f show
  50.   - ch global

  51. # 请确认你编辑好了这一部分!
  52. # 下面列表中至少得完成其中一个副本 ("any" 值代表任何副本之一).
  53. # 如果你不需要这一配置选项, 就让它为空值吧.
  54. mustFinishOne:
  55.   - any

  56. # 下面列表中必须完成期中全部副本. 如果你不需要这一配置选项, 就让它为空值吧.
  57. mustFinishAll:
  58.   - jumpinjackflash
  59.   - highwaytohell
  60.   - wontgetfooledagain

  61. # 判定上方副本列表全部完成的有效时间(以小时为单位).
  62. timeLastPlayed: 336

  63. # 一个要求列表
  64. # 请注意: 如果玩家拥有 dxl.ignorerequirements 权限节点, 他可以忽略所有要求.
  65. requirements:
  66.   feeMoney: 7.5
  67.   feeLevel: 2
  68.   # 如果队伍内玩家不足或过多, 那么他们将无法使用准备标志.
  69.   groupSize:
  70.     minimum: 1
  71.     maximum: 2
  72.   # 玩家必须拥有以下权限节点才可进入副本:
  73.   permission:
  74.     - my.custom.node
  75.     - yet.another.node
  76.   # 无法带入副本中的物品
  77.   forbiddenItems:
  78.     - IRON_SWORD
  79.     - MY_CUSTOM_ITEM
  80.   # 必须带入副本中的物品
  81.   keyItems:
  82.     - GOLD_INGOT
  83.     - MY_CUSTOM_ITEM

  84. # 玩家可以使用他自己携带的物品玩副本吗? 或者你想要强制他们使用指定的类中的物品?
  85. keepInventoryOnEnter: false
  86. # 如果玩家死亡了会失去他们的所有物品吗 (不要和 "onEscape" 弄混淆了!)?
  87. keepInventoryOnDeath: false
  88. # 当玩家完成副本目标结束游戏后是否保留他们的背包? (设置为 false 将会清空背包)
  89. keepInventoryOnFinish: false
  90. # 当玩家未完成副本目标结束游戏后是否保留他们的背包? (设置为 false 将会清空背包)
  91. keepInventoryOnEscape: false

  92. # 玩家是否可以放置/破坏游戏地图中的方块.
  93. breakBlocks: false
  94. # 玩家是否可以破坏他们自己放置的方块.
  95. breakPlacedBlocks: true
  96. # 一个代表着可破坏方块的白名单列表.
  97. # 让使用此配置选项时, breakBlocks 也应该被设置为 "true".
  98. breakWhitelist:
  99.   # 一个方块ID并且伴有可用于破坏此方块的工具
  100.   SPONGE: ["IRON_PICKAXE", "STICK"]
  101.   # 这代表可以使用任何工具破坏泥土方块
  102.   DIRT: []

  103. # 无法受到伤害的实体列表.
  104. # 如果省略此配置选项并且 breakBlocks 设置为 false, 默认情况下会保护盔甲架, 画和物品展示框.
  105. # 如果省略此配置选项并且 breakBlocks 设置为 true, 默认情况下不会保护任何实体.
  106. damageProtectedEntities:
  107. - SLIME
  108. - PAINTING
  109. # 一个实体列表
  110. # 如果省略此配置选项并且 breakBlocks 设置为 false, 默认情况下会保护盔甲架, 画和物品展示框.
  111. # 如果省略此配置选项并且 breakBlocks 设置为 true, 默认情况下不会保护任何实体.
  112. interactionProtectedEntities:
  113. - ARMOR_STAND

  114. placeBlocks: true
  115. # 一个代表着可放置方块的白名单列表.
  116. # 让使用此配置选项时, placeBlocks 也应该被设置为 "true".
  117. placeWhitelist:
  118.   - SPONGE

  119. # 玩家进入副本时最初拥有的生命数量. (俗称有几条命)
  120. initialLives: 3
  121. # 另外, 你也可以设置队伍的生命数量.
  122. initialGroupLives: 5

  123. # 也可以使用 /dxl msg 指令创建信息
  124. message:
  125.   '1': Welcome to this dungeon!
  126.   '2': Another message

  127. # 你不可以破坏或丢弃的物品
  128. secureObjects:
  129. - 69

  130. # 玩家游戏期间会获得的临时权限节点.
  131. # 玩家离开游戏后, 就会删除这些权限节点.
  132. # 需要 Vault 和一个权限插件, 比如 PermissionsEx.
  133. gamePermissions:
  134.   - dxl.reload
  135.   - another.node

  136. # 使用此配置选项来替换默认的准备/新关卡提示信息.
  137. # 这与覆写值系统完全兼容.
  138. # 如果在主配置文件中禁用 Title, 此配置选项就无效.
  139. title:
  140.   title: "&4Title"
  141.   subtitle: "&6Subtitle"
  142.   actionBar: "&aA C T I O N B A R"
  143.   chat: "&bCentered chat message"
  144.   # 此 Title 显示的时间 (以秒为单位)?
  145.   # 没有这三个选项 Title 也可以正常显示.
  146.   fadeIn: 1.0
  147.   show: 3.0
  148.   fadeOut: 1.0

  149. # 副本中的天气是否为雨天.
  150. # true = 永雨
  151. # false = 永晴
  152. # 省略此选项 = 和原生 Minecraft 一样的随机天气
  153. rain: true

  154. # 与上一个配置选项原理相同, 但是这个配置选项决定的是雷暴天气
  155. thunder: true

  156. # 游戏时间刻 (用于应对原生的 /time 命令)
  157. time: 20000
复制代码


如何将传送门和副本连接起来?
传送门不与副本相连接. 使用组队功能 和/或 游戏标志来选定一个副本.

我该如何做才能让玩家在击杀x个怪物后传送到下一关?
添加一个mobs标签或者进度触发器在你的关卡标志上在牌子编辑模式中, 最后一行可以设置触发器
P [波数] 或者 M [需要击杀的怪物名字].

我该如何为每个副本设置队伍数量和大小?
使用队伍标志

你为什么不来一个视频教程?
想要展示所有特性的话, 就需要花费非常多的时间制作这个视频. 除此之外, 正在进行的功能改动同时也会使这个视频刚出来就过时了

战利品的工作原理是什么?
在编辑模式下任何物品都可以放入箱子中如果您希望将该物品添加到战利品库存中, 只需要在它旁边放一个 [chest] 标志(1方块范围内)

我该如何创建一个多关卡副本?
创建这样的副本只需要创建一个简单的副本配置然后你就可以用 /dxl play [副本] 或者带有 + 属性的组队标志

我该如何让玩家用他自己的装备来打副本?
关卡配置文件中有许多对应的配置选项. 可以试试 keepInventoryOnEnter 游戏规则

救命! 这里根本没有 config.yml 在我的副本地图文件夹!
你需要自己创建配置文件, 因为关卡配置文件并不是必要的请注意:
你在关卡配置文件中配置的游戏规则值同时也可以从其他来源获取到(同样的游戏规则值): 如果你创建了一个拥有多地图, 多关卡的副本, 你可能有一些对所有地图来说都相同的游戏规则值
在这种情况下, 把该游戏规则值配置在副本配置文件中的 defaultValues 或者 overrideValues 部分明显更方便
即使不需要配置多关卡, 默认值或者来自主配置文件/游戏类型的游戏规则值对于小型项目来说也足够了
因此, 那只是一个你可能会需要的文件, 如果这是必须的, 无论是因为你已经创建了它, 或者是为了指定那些在没有权限节点的情况下也能编辑地图的玩家, 那根本不重要
(译注: 我搞不懂作者最后这句话的意思= =, 看起来就像在发牢骚. 如果你有更好的翻译, 请告诉我.)

(原文: Therefore, there's just a file if it is needed either because you've created it or to store the players that are allowed to edit the map without the permission node.)

我滴神啊, 整个插件都充满了各种报错!
DungeonsXL仍处于开发阶段, 由你自己决定是否在对生产环境可能有风险的情况下使用它我们永远感谢每一个Bug报告
请确保你正在使用受支持的服务端版本, 同时使用DXL最新版, 并且不要使用 /reload 来重启服务器

我创建了一个传送门 / 队伍标志 / 游戏标志 / ... - 现在我该如何删除它?
输入 /dxl break 指令然后破坏你想删除的东西然后会自动在保存的数据中删除有关该项的内容

我的脚本根本不工作 :(
在寻求帮助前, 先检查一下是否有语法错误. 一个Yaml检查工具, 比如 yamllint.com 就可以帮到你

我在副本加载时遇到了 "Could not pass event ChunkLoadEvent to HolographicDisplays" 的报错
如果你使用了性能优化插件, 就有可能出现这样的问题这不属于DungeonsXL的bug并且也没有方法修复此问题, 因为加载世界和异步添加实体的任务通常不由原生Minecraft服务器来完成
这个问题除了会发出堆栈跟踪之外, 没有其他已知的警告与实际问题, 所以你可以放心地忽略它

我在副本中打不了怪!
这有99%的可能是因为原生Minecraft的出生点保护特性解决方法:
server.properties 中把 spawn-protection 设置为 0




  • API

  • JavaDoc



[groupid=1511]Server CT[/groupid]