本帖最后由 白羊羊 于 2019-11-24 16:19 编辑

—— 本帖由 @sbhinx和@白羊羊 协同完成 ——

开启BattleArena的大门
您可以从以下位置获取最新版本的BattleArena:
BattleArena经过测试,可在最新版本Spigot和PaperMC版本上运行。在报告任何问题之前,请确保您正在运行最新的版本!

功能
BattleArena具有用于Minecraft的完整事件系统。
  • 默认带有几种匹配和事件类型。
  • 可通过配置和游戏命令进行大量的自定义。
  • 轻松创建自定义匹配/事件的框架和API。
  • 支持自定义竞技场类型,例如Spleef和CTF。
  • ... 还有更多!
  • 以下YouTube视频和评论中已经介绍了我们:https://www.bilibili.com/video/av70047026/

扩展内容
BattleArena鼓励开发人员制作自己的BattleArena附属插件,这些附属内容不仅可以帮助您使用已有的功能,还可以提供更加丰富精彩的游戏体验!以下是一些附属插件的列表:

状态
名称
文档
下载
GitHub
作者
最后更新
ArenaSpleef
BattlePlugins

ArenaPaintball
BattlePlugins

ArenaCTF
BattlePlugins

ArenaFutbol
morango & BattlePlugins

BombArena

Europia79

HostageArena

Europia79

ArenaTowerRush

alkarinv & Redned

ArenaBattleRoyale

Redned

ArenaParkour

alkarinv & Redned

如果您有自己的附属插件并且希望能够出现在以上栏目中,请在DiscordGithub上联系我们。

依赖类型
这些是BattleArena所需依赖插件的三种不同级别的依赖关系:
  • Soft (软依赖性):并不强制要求使用BattleArena的插件,他们仅仅是为此插件提供更多玩法。
  • Rec (记录依赖性):建议您使用这些依赖项,让它们与BattleArena一起运行,因为它们能大大扩展BattleArena的核心功能。
  • Hard (硬依赖性):强制要求与BattleArena插件同时运行,幸运的是,目前并没有该类附属插件,也没有计划在以后添加!

本插件所需依赖
名称 提供的支持/功能 类型
BattleTracker本插件的姐妹插件,在游戏中进行跟踪和统计
提供计分板和木牌支持
Rec
WorldEdit 竞技场重生、地形控制和区域选择支持。 Rec
WorldGuard 区域选择支持和高级竞技场区域标记。 Rec
VirtualPlayers 可以在竞技场中使用虚拟玩家进行测试。 Soft
MobArena MobArena的检测和保护都依赖于MobArena和BattleArena插件。 Soft
NameTagEdit 支持BattleArena的自定义的彩色名称。 Soft
VanishNoPacket 离开竞技场后消失。 Soft
Vault 支持多种经济插件,提供经济支持。 Soft
Multiverse 多世界支持。 Soft
CombatTag/CombatTagPlus 战斗名称Tag支持。 Soft
DisguiseCraft/LibsDisguises 生物伪装支持。 Soft
Essentials/EssentialsX 上帝模式/egod与/back命令支持。 Soft
Herochat/HeroChat Pro 自定义聊天支持。 Soft
Heroes Legacy/Heroes Premium 多种职业集合已经背包存储/清理支持。 Soft
mcMMO Classic 技能支持。 Soft

开发者信息
如果您有兴趣为BattleArena做出贡献,请查看我们的 BattleArena GitHub 页面。
如果您对创建自己的竞技场扩展感兴趣,请查看 DeveloperInfo 页面。

获取文件
您可以从以下途径获得最新版本的BattleArena

安装
要在您的服务器上安装BattleArena插件,请遵循以下几个步骤:
  • 从上面的途径下载插件。
  • 将插件的jar文件放入服务器的plugins文件夹中。
  • 启动您的服务器。
  • 等待服务器完全开启。
  • 确保后台没有任何错误。
  • 配置插件。
  • 当你配置完成后, 运行 /ba reload 来重新加载插件. 如果要配置竞技场,请运行/arena reload来重载竞技场。

配置
这是BattleArena插件的文件布局:
/server.jars
/plugins/
/plugins/BattleArena.jar
/plugins/BattleArena/competitions
/plugins/BattleArena/messages
/plugins/BattleArena/modules
/plugins/BattleArena/otherPluginConfigs
/plugins/BattleArena/saves
/plugins/BattleArena/victoryConditions
/plugins/BattleArena/config.yml
/plugins/BattleArena/classes.yml
/plugins/BattleArena/messages.yml
/plugins/BattleArena/spawns.yml
/plugins/BattleArena/teamConfig.yml

最新的配置文件: https://github.com/BattlePlugins ... src/java/config.yml

获取统计
如果您想跟踪来自竞技场或游戏的统计数据,我们的姐妹插件BattleTracker可以完成这些任务。
您可以使用它查看特定游戏中某人的胜利/失败/历史记录或某些特定游戏。
一些竞技场扩展可能会进一步使用BattleTracker,并根据竞技场类型本身来跟踪更多信息。
有关更多信息,请参见BattleTracker页面。


BattleArena FAQ
这些是插件使用、配置文件、竞技场设置经常会遇到的问题,请确保您要反馈的问题不在以下列表中。

常规问题
比赛和活动的区别是什么?
主要区别在于它们是如何默认启动的,以及您如何加入的。
  • 比赛会进行排队等待,只有足够的人加入,比赛才会开始。
  • 活动通常是由管理员或操作员手动开启的,将会出现一个提醒你加入的公告。
棘手的是,有很多选项可以启用这两种方式:
  • 比赛可以通过设置 defaultOptions.matchEnableForceStart: true 来启用,只要达到规定人数,比赛就会在设定的时间后开始。
  • 活动可以通过 defaultOptions.allowPlayerCreation: true 来允许玩家自由组织活动。
  • 活动也可以跳过加入阶段,直接用准备方块代替,只需设置 defaultOptions.enablePlayerReadyBlock: true

统计问题
如何制作排行榜?
您需要BattleTracker插件,这是BattleArena的姐妹插件,可以处理PVP和PVE的死亡和交互。也可以使用排行牌子,ELO,排名等等!

写着Player1 [0]的地方,我怎么让它以1200评分开始?
为了便于ELO的计算和统计,您需要上述的BattleTracker插件。

怎么开启玩家排行榜和/arena top命令?
请参阅上述关于BattleTracker的两点。

调试问题
服务器崩溃,玩家背包清空了,我该如何解决?
我们有一个物品栏备份机制来保存系统中玩家的数据,以便在发生意外或错误时可以将其还原。有关命令和选项的列表,请参见调试页面

信息问题
如何更改收到消息的人?
config.yml(请参阅Config)中的一节,专门管理和处理服务器和玩家消息。

配置问题
我不想让玩家们掉落他们的物品,我该怎么做?
请查阅 自定义 部分如何管理竞技场设置的信息,特别是 Spawn 页面。

我想更改游戏人数限制,我该怎么做?
您可以通过更改选项nTeams(队伍数量)和teamSize(每队多少名玩家,单人为1名)来更改这些选项。
请参阅 Stage Settings 页面。

物品附魔的列表在哪里?
有关附魔种类及信息,请参见 Enchantment Types & Info

如何更改比赛中的玩家人数?
-查看 Stage Settings Help 页面
-参阅 Stage Settings 页面

怎么允许玩家带上自己的装备?
将 clearInventory 从 preReqs 和 onComplete 阶段中删除,玩家自带装备的完整示例:
  1. ### Skirmish
  2. skirmish:
  3.     enabled: true
  4.     prefix: "&b[Skirmish]&e"
  5.     preReqs:
  6.         options: []
  7.     onStart:
  8.         options: [teleportIn, pvpOn]
  9.     onComplete:
  10.         options: [teleportOut]
复制代码

创建简单的竞技场
创建竞技场
这些步骤将引导您创建自己的第一个竞技场
以下的步骤会引导您创建一个游戏模式为 arena 的竞技场,但是您也使用以下步骤来创建一个其他类型的竞技场,例如 battleground
要创建竞技场,请确保您:
  • 为该竞技场选择一个名称,以下示例使用名称myArena,icyArena但是每个竞技场都需要一个好名字
  • 确保正确设置权限,请参阅:BA权限。
  • 请按照以下指南设置您的至少一个生成点并创建您的竞技场:
新用户?参阅Creating your first Arena部分。
还是不够?参阅Creating more Arenas部分
想要刨根问底? 参阅the Creating Arenas for Pros 部分

创建一个基本竞技场
  • 站在您想要竞技场第一次生成位置的位置,然后:
  • 输入: /arena create myArena (创建一个称为的竞技场myArena并设置第一个生成点).
  • 站在第二个生成点的位置,然后:
  • 输入: /arena alter myArena 2 (为名为arena的竞技场创建第二个叫做myArena的生成点).
  • 保玩家拥有足够的权限加入竞技场,需要的权限是:arena.arena.join
  • 输入: /arena join.
  • 让玩家输入: /arena join
之后你们将会进入一个只有最后留下来的一个人才可获胜的竞技场,有关等候大厅、物品栏等详细信息,请参见之后面的教程。
有关权限的更多信息,请参见BA权限

创建更多基本竞技场
遵循与之前相同的步骤,但是使用不同的竞技场名称. 对于此示例,假设我们使用的是Tundra Biome Arena,并将其称为icyArena
在您希望icyArena第一个生成位置为的位置,然后
  • 输入: /arena create icyArena (创建称为的icyArena竞技场并设置第一生成点).
  • 站在第二个生成点的位置,然后:
  • 输入: /arena alter icyArena 2 (为名为arena的竞技场创建第二个生成点icyArena).
(可选)阅读 自定义 部分你还可以设置加入阶段、等候大厅、装备、奖励等!

完成此操作后,如果按顺序执行上述两个步骤,则现在应该有两个竞技场!
一个名为myArena,一个名为icyArena
如果已配置完成,玩家将能够在这两个竞技场间循环进行游戏。
您可以继续添加更多的竞技场,只要它们名字不一样即可。

创建高级竞技场
创建不同类型的竞技场
竞技场有许多不同的类型,它们都具有各不相同的玩法,但是可以通过配置文件对其进行进一步编辑,以使其更加独一无二
您可以创建任意基于 BattleArena 自带的竞技场,例如: arena, skirmish, battleground, coliseum, freeforall,  deathmatch等等。

您还可以安装BattleArena扩展插件添加额外的游戏模式和功能,例如:spleef, paintball, capture the flag, parkour等等。

要创建不同类型的竞技场,请参阅上面有关创建基本竞技场的指南,并对比以下示例:

创建一个自定义 BG (battleground)  竞技场
  • 在本教程中,我们将创建一个BattleGround竞技场,我们可以使用/bg这个简化的命令来创建竞技场,默认情况下,battleground比赛有4个人参与战斗, 所以我们至少要添加4个生成点。
  • 站在您想要第myBGArena 一个生成位置的位置,然后:
  • 输入: /arena create myBGArena (创建一个称为的竞技场myBGArena并设置第一个生成点).
I.站在您想要myBGArena 下一个生成位置的位置,然后:

II. 输入: /arena alter myBGArena 2 (为竞技场myBGArena 创建第二个生成点).

重复 I 和 II 步骤,直到设置了所有需要的生成点。
确保玩家拥有足够的权限加入游戏,需要的权限是:arena.bg.join
输入: /bg join.
让另外三个玩家也输入 /bg join.
(可选)阅读 自定义 部分你还可以设置加入阶段、等候大厅、装备、奖励等!

此后,所有玩家将被转移到1分钟结束时击杀人数最多的玩家为胜者的竞技场内。

创建一个自定义 FFA(free-for-all)竞技场
  • 在本教程中,我们将创建一个免费的竞技场,我们可以使用简化命令/ffa来创建竞技场。默认情况下,“无限复活”通常有很多玩家在战斗,因此我们将添加很多个出生点。
  • 站在您想要第myFFA 一个生成位置的位置,然后:
  • 输入: /ffa create myFFA (创建一个称为的竞技场myFFA并设置第一个生成点)
I.站在您想要myFFA 下一个生成位置的位置,然后:

II. 输入: /ffa alter myFFA 2 (为myFFA竞技场添加第二个生成点).

重复 I 和 II 步骤,直到设置了所有需要的生成点。
确保玩家拥有足够的权限加入游戏,需要的权限是:arena.ffa.join
输入: /ffa join.
让其他玩家也输入 /ffa join.
(可选)阅读 自定义 部分你还可以设置加入阶段、等候大厅、装备、奖励等!

自定义竞技场模式
创建自定义竞技场
您可以使用单独的名称,命令,消息和选项创建自己的自定义比赛和活动,为此,您必须使用所需的属性制作一个新的配置文件。重要的是配置文件的名称和配置部分的名称相同,例如,如果您有一个 SuperArenaConfig.yml ,那么它的内部应该看起来正如其名,注意配置名称和配置部分匹配。

例1
创建新的名为SuperPaintball的彩弹射击比赛的示例。
  • 复制 ArenaPaintball/PaintballConfig.yml 并创建一个名字为 ArenaPaintball/SuperPaintballConfig.yml的新配置文件
  • 现在打开SuperPaintballConfig.yml并将其编辑为如下所示:
  1. SuperPaintball:
  2.   enabled: true
  3.   database: SuperPaintball # 可以删除此项,如果你不想要胜利/失败排行, 需要 BattleTracker 插件
  4.   arenaClass: Paintball ## 需要设置为 Paintball (让这个比赛变成普通的彩蛋射击模式)
  5.   rated: true # 数据库需要开启
  6.   prefix: "&f[SuperPaintball]&e"
  7.   joinType: Queue
  8.   victoryCondition: LastManStanding
  9.   nTeams: 2+
  10.   teamSize: 1
  11.   cmd: spb #加入游戏的指令,比如 /spb join
  12. ### 你可以删除没有选项的任何阶段,每个事件都可以配置选项(比如回血,保存物品,PVP开启之类的)
  13. ### 所有的选项可以查阅wiki
  14. defaults:
  15.     options: []
  16. preReqs: ## 加入的条件
  17.     options: []
  18. onEnter:
  19.     options: [storeAll]
  20. onLeave:
  21.     options: [restoreAll]
  22. onJoin:  ## 当加入比赛时
  23.     options: []
  24. onPreStart: ## 开始前的倒计时阶段
  25.     options: []
  26. onStart: ## 比赛开始
  27.     options: [teleportIn, pvpOn]
  28. onSpawn: ## 玩家出生时
  29.     options: [giveItems, hunger=20, health=20]
  30.     items:
  31.         - snowball: 128
  32. onDeath: ## 玩家死亡时
  33.     options: []
  34. onComplete: ## 比赛完成时
  35.     options: [teleportOut, clearInventory]
  36. winner: ## 赢得比赛时
  37.     options: [health=20, hunger=20]
  38. losers: ## 输了比赛时
  39.     options: []
复制代码
Paintball 竞技场切换为 SuperPaintball,你需要设置 arenaType arenaClass 这两行。

arenaType 指定此新比赛将使用的竞技场类型,如果指定为 Spleef 类型,则将使用 Spleef 竞技场;如果指定 Battleground 类型,则将使用 Battleground 竞技场,通常,您将需要将此设置为您的自定义竞赛,在本例中为 SuperPaintball 竞技场。

arenaClass 指定此比赛将具有的属性,Paintball 具有增加雪球伤害的特性,因此如果我们想使用这个特性,我们就要将其设置为Paintball。

例 2
重新创建一个新的类型,名为 EPaintball
  • 复制ArenaPaintball/PaintballConfig.yml 并创建一个名为 ArenaPaintball/EPaintballConfig.yml 的新配置文件
  • 打开EPaintballConfig.yml并对其进行编辑,如下所示:
  1. EPaintball:
  2.     enabled: true
  3.     command: epb
  4.     arenaClass: Paintball ## 需要设置为 Paintball (让这个比赛变成普通的彩蛋射击模式)
  5.     database: ePaintball # 可以删除此项,如果你不想要胜利/失败排行, 需要 BattleTracker 插件
  6.     prefix: "&a[ePaintball]&e"
  7.     joinType: JoinPhase
  8.     victoryCondition: LastManStanding
  9.     nTeams: 2+
  10.     teamSize: 1
  11.     matchTime: 300
  12.     preReqs:
  13.         options: []
  14.     onEnter:
  15.         options: [storeAll]
  16.     onLeave:
  17.         options: [restoreAll]
  18.     onJoin:
  19.         options: [teleportIn, woolTeams, pvpOff]
  20.     onPrestart:
  21.         options: [pvpOff]
  22.     onStart:
  23.         options: [pvpOn]
  24.     onComplete:
  25.         options: [teleportOut]
  26.     onDeath:
  27.         options: [randomRespawn, clearInventory]
  28.     onSpawn:        
  29.         options: [enchants, giveItems, health=20, hunger=20, deEnchant, invulnerable=2]
  30.         items:
  31.             - snow_ball: 128
  32.     winner:
  33.         options: [health=20, hunger=20]
  34.     losers:
  35.         options: [health=20, hunger=20]
复制代码

将 Paintball 竞技场切换为 SuperPaintball,你需要设置 arenaType arenaClass 这两行。

arenaType 指定此新比赛将使用的竞技场类型,如果指定为 Spleef 类型,则将使用 Spleef 竞技场;如果指定Battleground类型,则将使用Battleground竞技场,通常,您将需要将此设置为您的自定义竞赛,在本例中为 SuperPaintball 竞技场。

arenaClass 指定此比赛将具有的属性,Paintball 具有增加雪球伤害的特性,因此如果我们想使用这个特性,我们就要将其设置为Paintball。
删除竞技场
删除竞技场:
如果您已经创建了一个竞技场并想要删除它,或者不再需要它,那么删除它很简单
输入: /<游戏> delete <竞技场名称>

例1:
  • /arena delete myarena
  • /arena delete myarena2

例 2:
  • /bg delete bgarena
  • /bg delete bgarena2

竞技场类型
竞技场类型:
BattleArena自带7种不同的比赛类型,您可以自定义其中的任何一个,通过编辑 config.yml 来使它们完全不同(锦标赛赛事除外,该赛事稍有不同)

需要排队的比赛:
  • 标准竞技场(arena): 使用系统发放给您的装备战斗,您不能带携带自己的东西。
  • 小型武装冲突(skirmish): 带上你想携带的物品战斗,你甚至可以从战场中带走你的战利品。
  • 战斗场(bg): 1分钟后击杀数最高的队伍获胜,支持4支队伍同时进行游戏。
  • 罗马竞技场 (col):4支队伍互相对抗,最终存活下来的玩家对应的队伍获胜。

需要创建房间的游戏:
  • 个人竞技 (ffa): 你与所有玩家为敌,最后存活的一名玩家/队伍取得胜利。
  • 死亡竞赛 (dm): 游戏时间2分钟,玩家可以无限复活,最终击杀数最多的玩家胜利。
  • 锦标赛 (tourney): 选择一种比赛模式,并进行一场锦标赛。

竞技场区域
使用WorldGuard添加区域
将worldGuard区域添加到您的竞技场
  • 首先输入: //wand to select an area
  • 然后输入/arena alter <arena name> addregion

向您的竞技场添加其他选项
  • 打开文件:config.yml
  • 将WorldGuard选项添加到您想要的竞技场。
  • 重新加载配置文件,输入/arena reload(如果使用的是Spleef之类的附属插件同理,输入/spleef reload)示例:假设要进行配置,以使比赛完成后场地内的物品被清除。当他们战斗时,如果你想让他们无法离开这片区域,让我们编辑一个 小型武装冲突模式 来实现来这个想法,这是配置之前的样子:
  1. ### Skirmish
  2. skirmish:
  3.   enabled: true
  4.   type: versus
  5.   onStart:
  6.       options: [teleportIn, pvpOn]
  7.   onComplete:
  8.       options: [teleportOut]
  9.   winner:
  10.       options: [health=20, hunger=20]
复制代码
现在我们来添加 wgNoLeave 和 wgClearRegion 选项:
  1. ### Skirmish
  2. skirmish:
  3.   enabled: true
  4.   type: versus
  5.   onStart:
  6.       options: [teleportIn, pvpOn, wgNoLeave]
  7.   onComplete:
  8.       options: [teleportOut]
  9.   onFinish:
  10.       options: [wgClearRegion]
  11.   winner:
  12.       options: [health=20, hunger=20]
复制代码

重置竞技场
您可以将竞技场重置为第一次输入时的状态,为此,您只需为其添加 wgResetRegion 到您想要的任何阶段即可。您可以添加该阶段(注意Yaml配置文件的格式,添加阶段时一定要和上面的对其)步骤:

打开文件 config.yml
添加 worldguard 选项 wgResetRegion,示例:打开比赛和结束比赛时都将地图重置:
  1. ### Skirmish
  2. skirmish:
  3. onOpen:
  4.      options: [wgResetRegion]
  5. onComplete:
  6.      options: [teleportOut]
  7. onFinish:
  8.      options: [wgResetRegion]
复制代码

可用的选项
您可以根据要求添加更多选项:
  • wgClearRegion :清除所有区域的物品
  • wgNoLeave :竞技场中的玩家无法离开该地区
  • wgNoEnter :其他玩家无法进入竞技场区域(进行游戏的玩家除外)
  • wgResetRegion:将区域重置为使用/arena alter addRegion指令后的样子

编辑config.yml文件
这里是默认的配置文件config.yml

重新加载配置
更改配置选项后,您将需要重新加载配置
重新加载配置指令:
  • /arena reload
如果您要更改使用BA的插件之一的配置(如CTF,Spleef,Paintball),请重新加载某一部分的配置。
Spleef示例:
  • /spleef reload

胜利的条件
胜利条件就是比赛结束的条件,以下条件是预置的胜利条件:
  • LastManStanding(存活者): 仅剩一支队伍时比赛结束(如果teamSize:1,则为玩家)
  • nLives(n个幸存者):每个队伍都有一定数量的幸存者(也有可能被灭队),幸存者最多的队伍获胜(如果teamSize:1,则为玩家)
  • InfiniteLives(无限的生命):团队拥有无限的生命
  • TimeLimit(限时):仅以时间为限制,或者场上已经没有额外存活的队伍
  • HighestKills(最高击杀):玩家拥有无限的生命,而击杀数量最高的玩家获胜
注意:如果使用 nLives 作为胜利条件,则需要在胜利条件下添加nLives,并设置生命的数量。
这是一个示例:
  1.   victoryCondition: nLives
  2.   nLives: 3 # 3 lives for example
复制代码

计划事件选项
在重启之后运行计划的事件
有一个名为onServerStart: []的配置选项
如果要开始运行计划的事件,请添加选项 startContinuous,如果只想开始下一个事件,请输入 startNext,例如:
  1. defaultOptions:
  2.     onServerStart: [startContinuous]
复制代码

信息选项
修改能够收到比赛公告的人
如果要更改所有比赛/活动的公告,请更改 defaultOptions 就像这样:
  1. defaultOptions:
  2.     announcements:
  3.         onPreStart: [ dontannounce ]  
  4.         onStart: [ dontannounce ]  
  5.         onVictory:  [ dontannounce ]
复制代码
如果您只想更改一种特定比赛类型的公告设置,只需将需要将上面的代码添加到所需的匹配类型。
这里使用小型武装冲突作为例子:
  1. skirmish:
  2.     announcements:
  3.         onPreStart: [ dontannounce ]  
  4.         onStart: [ dontannounce ]  
  5.         onVictory:  [ dontannounce ]
复制代码

修改能收到公告的人
默认情况下,大多数事件消息都会进行服务器通告,如果您只希望让游戏内部的人接收消息,请将 "announce" 更改为 "dontannounce"。
如果您有HeroChat或其他基于聊天的插件,则可以通过输入 "channel = <channel>" 来改变聊天频道:
  1.     eventAnnouncements:
  2.         onCountDownToEvent: [ announce, server ]  ## event is now open
  3.         onOpen: [ announce, server ]  ## event is now open
  4.         onStart: [ announce, server ]  ## event is starting
  5.         onVictory:  [ announce, server ] ## event has been won
  6.         onCancel:  [ announce, server ] ## event has been cancelled
复制代码

队伍选择
=== 提供羊毛帽子以区别不同的队伍===
  • 在您希望玩家开始拥有羊毛帽子的竞技场中添加选项 woolTeams(通常是他们第一次被传送到竞技场时使用此选项)
  1. ### Skirmish
  2. skirmish:
  3.     enabled: true
  4.     onStart:
  5.         options: [teleportIn, pvpOn, blockBreakOff, woolTeams]
复制代码
  • 此外,使用 alwaysWoolTeams 选项后,系统将会强制给每个玩家发放羊毛帽子,甚至当玩家只有两名时也会用不同的羊毛帽子以示区别

改变团队数量
  • 添加 nTeams 选项: 来设置这个比赛同时参加的队伍数量
例1
仅允许两支队伍参加
  1. skirmish:
  2.     nTeams: 2
复制代码
例2
允许最少三个,最多五个团队参加
  1. skirmish:
  2.     nTeams: 3-5
复制代码
例3
允许2个以上的队伍参加
  1. skirmish:
  2.     nTeams: 2+
复制代码

设定每一个队伍的玩家数量
添加 teamSize 选项: 并将玩家数量纳入到比赛/活动的配置中
例1
将队伍人数设置为最多4人的示例
  1. skirmish:
  2.     teamSize: 4
复制代码
例2
将队伍人数设置为2-5人的示例
  1. skirmish:
  2.     teamSize: 2-5
复制代码
例3
允许任意数量的玩家加入游戏的示例
  1. skirmish:
  2.     teamSize: 1+
复制代码

比赛&活动 选项
设置比赛的时长
  • 添加 matchTime 选项并指定您希望匹配持续多长时间(如果不存在,请添加此选项),如果希望它一直运行直到有人获胜,则设置为-1
  1. skirmish:
  2.   times:
  3.     matchTime: 240 ## <- match will now last 240 seconds
复制代码

无限时间的示例
  1. skirmish:
  2.   times:
  3.     matchTime: -1 ## <- match will now last until someone wins
复制代码

为胜者/败者发放赏金
选项1:
  • 将选项 money 添加到 winner 配置项下,如果该配置不存在,请创建它。
  • 如果要给败者赏金,则重复以上方法,但 winner: 需要替换为 loser:
  1.     winner:
  2.         options: [money=100]
  3.     losers:
  4.         options: [money=5]
复制代码

选项2:
  • 添加选项Poolmoney=到 winner: 配置,如果该配置不存在,请创建它
  • 百分比的有效形式 (以小数来替代百分数): 0.0 (0%) - 1.0 (100%)
  • 赏金池的设置可以发放一定比例的赏金给胜者
  • 对于基于团队的竞技场,我们提供了一种根据获奖者的人数动态调整获奖者奖金的方法,参与者更多,奖金更丰厚
  1.     winner:
  2.         options: [poolmoney=1.0]
复制代码

给胜者/败者奖品
  • 创建配置 winner: 如果该配置不存在的话
  • 添加一个 options: 节点. 该值是一个Yaml列表,因此[]是一个空列表。
  • 添加选项:giveItems,仅打开此选项。
  • 添加节点 items: 或 giveItems: 要提供的项目列表。
例:
  1.     winner:
  2.         options: [giveItems]
  3.         giveItems:
  4.           - diamond: 1
  5.           - gold_ingot: 1
  6.     losers:
  7.         options: [giveItems]
  8.         items:
  9.           - fish: 1
复制代码

为锦标赛的参与者/获胜者发放奖金
将 money= 添加到 winner: ,如果不存在,请创建它。
如果要给败者赏金,则重复以上方法,但 winner: 需要替换为 losers:
  1.     firstPlace:
  2.         options: [money=100]
  3.     participants:
  4.         options: [money=5]
复制代码

给锦标赛的参加者/胜利者发放奖品
  • 将giveItems添加到firstPlace:f如果不存在,请创建它。之后,您将需要列出您的项目:在选项下方的列表中(请参见以下示例)
  • 要向失败者提供物品,请执行相同的操作,但需要添加到 participants:
  1.     firstPlace:
  2.         options: [giveItems]
  3.         items:
  4.           - diamond: 1
  5.           - gold_ingot: 1
  6.     participants:
  7.         options: [giveItems]
  8.         items:
  9.           - fish: 1
复制代码

清空已死亡玩家的背包
  • 将 clearInventory 添加到 onDeath: 如果不存在,请创建它
  1.     onDeath:
  2.         options: [clearInventory]
复制代码

死亡后自动复活
  • 添加respawn或randomRespawn到onDeath:如果该部分不存在,请创建它。
  1.     onDeath:
  2.         options: [randomRespawn]
复制代码
  • 您还需要添加/更改HighestKills到victoryCondition(否则,默认为最后一个活着的人获胜)
  1. battleground:
  2.     victoryCondition: highestKills
复制代码

执行指令
在选定的竞技场的内添加一个 "doCommands"(在onEnter下加入是最好的)其格式为:
  • <palyer/console> <想运行的指令> - 通过前面的玩家/控制台来确定运行该指令的操作者
如果在命令中出现"palyer"一词,则将其替换为真实玩家名称

例如。假设alkarin_v正在加入竞技场,如果命令是 - player fly stop player,这将以玩家 "alkarin_v" 的身份运行命令 "fly stop alkarin_v"
  1.     onStart:
  2.         doCommands:
  3.             - player fly stop
  4.             - console deop player
复制代码

更改赢得比赛的方式(victoryCondition)
victoryCondition 添加到比赛/活动

当前有效胜利条件
  • LastManStanding(存活者): 仅剩一支队伍时比赛结束(如果teamSize:1,则为玩家)
  • nLives(n个幸存者):每个队伍都有一定数量的幸存者(也有可能被灭队),幸存者最多的队伍获胜(如果teamSize:1,则为玩家)
  • InfiniteLives(无限的生命):团队拥有无限的生命
  • TimeLimit(限时):仅以时间为限制,或者场上已经没有额外存活的队伍
  • HighestKills(最高击杀):玩家拥有无限的生命,而击杀数量最高的玩家获胜
例:
  1. battleground:
  2.     victoryCondition: highestKills
复制代码

加入选项
限定只能在当前世界加入竞技场
sameWorld添加到preReqs:(如果不存在请添加)
  1. battleground:
  2.     preReqs:
  3.         options: [sameWorld]
复制代码

限制距离加入竞技场
将 withinDistance= 添加到preReqs: 下(如果不存在请添加),距离基于到生成点的距离计算
  1. battleground:
  2.     preReqs:
  3.         options: [withinDistance=30] # 限制只能在半径30方块内加入竞技场
复制代码

允许玩家在任意时候加入
alwaysJoin 添加到onJoin:
  1. battleground:
  2.     onJoin:
  3.         options: [alwaysJoin]
复制代码

付费加入
将 money= 添加到 preReqs: (如果该部分不存在,请创建它)
  1.     preReqs:
  2.         options: [money=100]
复制代码

阶段 & 转场
所有的阶段和转场都可以使用下面的选项

比赛阶段
一场比赛由不同阶段组成:
  • onOpen:当玩家在队列中时进行比赛,这在您开始游戏时发生。
  • onPrestart:onOpen和onStart之间的阶段
  • onStart:比赛开始
  • onVictory:一个玩家和队伍胜利
  • onComplete:比赛结束
  • onCancel:比赛取消
  • onFinish:发生在onComplete或onCancel之后

比赛转场
比赛中可能发生许多不同的转场(过度):
  • onSpawn:在传送或玩家重生时发生(如果在onDeath中设置了重生)
  • onDeath:玩家死亡时会发生
  • onJoin:玩家参加比赛
  • onEnter:在玩家首次进入竞技场在他们被传送之前发生。
  • onLeave:在玩家离开竞技场时发生(也就是如果他们赢了(在onComplete之后),或者他们死了(并且不重生))
  • losers:发生在onVictory之后,在onComplete之前,用于奖励
  • winner:发生在onVictory之后,在onComplete之前,用于奖励
  • drawers:发生在onVictory之后,在onComplete之前,用于奖励
  • firstPlace:第一名的奖品
  • participants:参与者奖品

编辑config.yml文件(高级)
服务器货币
如果您的服务器采用货币形式,则可以告诉BattleArena名称,以便它可以显示准确的金钱名字
  1. moneyName: Gold
复制代码

添加新的职业
以下是添加职业的一些示例:
  1. classes:
  2.     gladiator:
  3.         displayName: "&4Gladiator" ### 告示牌用
  4.         items:
  5.             - diamond_sword: sharp:1 1
  6.             - bow: 1
  7.             - arrow: 32
  8.             - diamond_helmet: 1
  9.             - diamond_chestplate: 1
  10.             - diamond_leggings: 1
  11.             - diamond_boots: 1
  12.             - potion: effects="heal:2" displayName="Potion of Healing" 1 # 瞬间治疗 II
  13.             - potion: effects="regeneration:1:45" displayName="Potion of Regeneration" 1 # 持续时间
  14.             - splash_potion: effects="harm:1" displayName="Splash Potion of Harming" 1 # 喷溅型伤害药水
  15.         enchants:
  16.             - speed:1:120
  17.             - resistance:1:120
  18.     archer:
  19.         displayName: "&2Archer" ### 告示牌用
  20.         items:
  21.             - iron_sword: sharp:1 1
  22.             - bow: flame:2 power:3 punch:2 1
  23.             - arrow: 32
  24.             - leather_helmet: 1
  25.             - iron_chestplate: prot:3 1
  26.             - leather_leggings: 1
  27.             - leather_boots: 1
  28.             - potion: effects="heal:2" displayName="Potion of Healing" 1 # 瞬间治疗 II
  29.             - potion: effects="regeneration:1:45" displayName="Potion of Regeneration" 1 # 持续时间
  30.             - splash_potion: effects="harm:1" displayName="Splash Potion of Harming" 1 # 喷溅型伤害药水
  31.     monk:
  32.         displayName: "&fMonk" ### 告示牌用
  33.         items:
  34.             - leather_helmet: 1
  35.             - leather_chestplate: 1
  36.             - leather_leggings: 1
  37.             - leather_boots: 1
  38.             - potion: effects="heal:2" displayName="Potion of Healing" 1 # 瞬间治疗 II
  39.             - potion: effects="regeneration:1:45" displayName="Potion of Regeneration" 1 # 持续时间
  40.             - splash_potion: effects="harm:1" displayName="Splash Potion of Harming" 1 # 喷溅型伤害药水
  41.         enchants:
  42.             - strength:2:900 # 力量 II
  43.             - speed:2:900 # 速度 II
  44.             - haste:2:900 # 急迫 II
  45.             - resistance:1:900 # 抗性提升 I
  46.             - jump:2:900 # 跳跃提升 II
  47.             - regen:1:60 # 生命恢复 I
复制代码

默认的比赛选项(可以被每种比赛类型覆盖)
  1. defaultMatchOptions:
  2.     secondsTillMatch: 3 ## 在 onPrestart 和 onStart 之间的时间间隔
  3.     secondsToLoot: 5 ## 赢得比赛后获得奖品的延迟
  4.     matchTime: 120 ## 秒为单位,比赛最多的匹配时间
  5.     matchUpdateInterval: 30 ## 多久更新一次比赛信息

  6.     eventCountdownTime: 180 ## 在第一次发出公告后多久不再循环发出公告
  7.     eventCountdownInterval: 60 ## 发出公告的时间间隔

  8.     ### 比赛公告
  9.     ## 这些选项只影响全体公告,不会涉及到玩家
  10.     ## announce : 发送服务器全体公告
  11.     ## hc=<频道> : 使用HeroChat的特殊频道
  12.     announcements:
  13.         onPreStart: [announce, hc=pvp ]  ## 比赛即将开始,例如 'P1[p1Elo] vs P2[p2elo]'
  14.         onVictory: [announce, hc=pvp ] ## 比赛取得胜利,例如 'P1[p1elo] 击败了 P2[p2elo]'

  15. ### 预处理
  16. # 预处理会在玩家开始游戏之前进行,你可以设置各种加入条件
  17. # 预处理选项
  18. # needsArmor: 要求使用装备
  19. # needsItems: 要求携带特殊物品
  20. # money=<支付金钱>
  21. # maxElo=<最大ELO>
  22. # minElo=<最小ELO>

  23. ### 比赛阶段
  24. # onOpen: *只触发事件, 例如 ffa/tourney 这种有准备阶段的
  25. # onPrestart: 设置 secondsTillMatch 在 onStart 阶段前生效时
  26. # onStart: 比赛开始时
  27. # onVictory : 当玩家胜利时
  28. # onComplete: 在比赛结束之后,在onVictory和timeToLoot之间
  29. #             如果 onComplete 阶段包含 clearInventory 那么将禁止玩家从竞技场带出他们的物品

  30. ### 比赛转场事件
  31. # onSpawn: 当玩家传送到竞技场或重生时
  32. # onDeath: 玩家死亡时
  33. # onJoin: 加入比赛时
  34. # onEnter: 玩家第一次加入游戏时  
  35. # onLeave: 当玩家离开竞技场时

  36. ### 奖励
  37. # winner: 胜利者,在 onComplete
  38. # losers: 失败者,在 onComplete
  39. # firstPlace: 锦标赛接受后的胜利者
  40. # participants: 锦标赛结束后的所有参赛者

  41. # 任意地方可用的选项,除 preReqs 外
  42. # clearInventory,
  43. # giveItems: 需要设置物品列表
  44. # teleportIn
  45. # teleportOut
  46. # pvpon or pvpoff
  47. # health=<生命值>
  48. # hunger=<饥饿值>
  49. # money=<给予的金钱>
  50. # experience=<给予的经验值>
  51. # teamPvpOn : 不指定就默认关闭
  52. # respawn:
  53. # enchants: 需要设置药水效果列表
  54. # deEnchant: 移除一种药水效果
  55. # disguiseAll=<名称>: 伪装所有玩家成...
  56. # undisguise: 解除所有玩家的伪装
  57. # storeExperience/restoreExperience: 保存/恢复经验值
  58. # storeItems/restoreItems : 保存/恢复物品栏

  59. ## 默认: 这些事件可以这样填写:
  60. # onEnter:
  61. #    options: [storeExperience, storeItems(if preReqs contains clearInventory)]
  62. # onLeave:
  63. #    options: [restoreExperience, restoreItems(if preReqs contains clearInventory)]

  64. #### 活动和比赛
  65. ### 活动
  66. ## 活动会有一个准备阶段 "open" 所有人都可以加入,但是还不算开始
  67. ## 甚至可以让比赛作为活动的一部分(例如锦标赛,其中每个比赛都是整个"比赛活动"的一部分)
  68. ## 一些活动,比如 FreeForAll 只有一个比赛,但是仍然需要 "open" 阶段,然后才能开始。
  69. ### 比赛
  70. ## 队伍之间单独的战斗
复制代码

比赛
标准竞技场
  1. arena:
  2.     enabled: true
  3.     type: versus
  4.     tracking:
  5.         dbTableName: arena
  6.     rated: true
  7.     prefix: "&6[Arena]&e"
  8.     onJoin:
  9.         options: [pvpOff]
  10.     preReqs:
  11.         options: [clearInventory]
  12.     onStart:
  13.         options: [teleportIn, pvpOn,blockBreakOff]
  14.     onSpawn:
  15.         options: [deEnchant, giveItems, hunger=20, health=20]
  16.         giveClass:
  17.             default: gladiator
  18.         items: #如果未设置 "giveItems" 请忽略
  19.             - bread: 5
  20.     onComplete:
  21.         options: [teleportOut, clearInventory]
  22.     winner:
  23.         options: [health=20, hunger=20]
复制代码

小型武装冲突
  1. skirmish:
  2.     enabled: true
  3.     type: versus
  4.     database: arena
  5.     rated: false
  6.     prefix: "&b[Skirmish]&e"
  7.     onStart:
  8.         options: [teleportIn, pvpOn, blockBreakOff]
  9.     onComplete:
  10.         options: [teleportOut]
  11.     winner:
  12.         options: [health=20, hunger=20]
复制代码

战斗场
  1. battleground:
  2.     enabled: true
  3.     command: bg
  4.     type: battleground
  5.     database: bg
  6.     prefix: "&c[Battleground]&e"
  7.     victoryCondition: highestKills
  8.     matchTime: 60
  9.     minTeams: 2
  10.     minTeamSize: 5
  11.     maxTeamSize: 5
  12.     preReqs:
  13.         options: [clearInventory]
  14.     onJoin:
  15.         options: [pvpOff]
  16.     onPrestart:
  17.         options: [pvpOff, teleportIn, giveItems, deEnchant, disguiseAllAs=ArenaGuy]
  18.         giveClass:
  19.             default: gladiator
  20.             team1: archer
  21.             team2: monk
  22.             team3: gladiator
  23.         items: # 如果未设置 "giveItems" 请忽略
  24.             - bread: 5
  25.     onStart:
  26.         options: [pvpOn]
  27.     onComplete:
  28.         options: [teleportOut, clearInventory, deEnchant, undisguise]
  29.     onSpawn:
  30.         options: [enchants, health=20, hunger=20, deEnchant, disguiseAllAs=ConfusedGuy,woolTeams]
  31.         enchants:
  32.             - speed:3
  33.     onDeath:
  34.         options: [respawn]
  35.     winner:
  36.         options: [enchants, money=1,experience=300, health=20, hunger=20]
  37.         enchants:
  38.             - speed:1:900
  39.             - resistance:1:900
复制代码

罗马竞技场
  1. Colosseum:
  2.   name: Colosseum
  3.   command: Colosseum
  4.   prefix: '&8[Colosseum]'
  5.   signDisplayName: &8[Colosseum]
  6.   gameSize:
  7.     nTeams: '4'
  8.     teamSize: '1'
  9.   nLives: '2'
  10.   victoryCondition: LASTMANSTANDING
  11.   tracking:
  12.     database: col
  13.     rated: true
  14.     useTrackerMessages: false
  15.   arenaType: Colosseum
  16.   arenaClass: Arena
  17.   onEnter:
  18.     options:
  19.     - STOREALL
  20.   onLeave:
  21.     options:
  22.     - RESTOREALL
  23.   preReqs:
  24.     options:
  25.     - clearInventory
  26.   onJoin:
  27.     options:
  28.     - pvpOff
  29.   onPreStart:
  30.     options:
  31.     - woolTeams
  32.     - teleportIn
  33.     - pvpOff
  34.   onStart:
  35.     options:
  36.     - pvpOn
  37.   onComplete:
  38.     options:
  39.     - teleportOut
  40.     - clearInventory
  41.   onSpawn:
  42.     giveItems:
  43.     - DIAMOND_SWORD DAMAGE_ALL:1 1
  44.     - BOW 1
  45.     - ARROW 32
  46.     - DIAMOND_HELMET 1
  47.     - DIAMOND_CHESTPLATE 1
  48.     - DIAMOND_LEGGINGS 1
  49.     - DIAMOND_BOOTS 1
  50.     enchants:
  51.     - speed:1:60
  52.     options:
  53.     - woolTeams
  54.     - health=20.0
  55.     - hunger=20
  56.     - deEnchant
  57.     - respawnWithClass
  58.   onDeath:
  59.     options:
  60.     - clearInventory
  61.     - respawn
  62.   winners:
  63.     enchants:
  64.     - speed:1:900
  65.     - prot:1:900
  66.     options:
  67.     - health=20.0
  68.     - hunger=20
  69.     - experience=300
  70.     - money=1.0
复制代码

活动
个人竞技
  1. freeForAll:
  2.     enabled: true
  3.     command: ffa
  4.     type: ffa
  5.     database: ffa
  6.     prefix: "&c[FFA]&e"
  7.     preReqs:
  8.         options: [clearInventory]
  9.     onJoin:
  10.         options: [teleportIn, woolTeams]
  11.     onOpen:
  12.         options: [pvpOff]
  13.     onPrestart:
  14.         options: [pvpOff, giveItems, deEnchant]
  15.         items: # 如果未设置 "giveItems" 请忽略
  16.             - iron_sword: 1
  17.             - bow: 1
  18.             - tnt: 3
  19.             - arrow: 32
  20.             - leather_helmet: 1
  21.             - leather_chestplate: 1
  22.             - leather_leggings: 1
  23.             - leather_boots: 1
  24.             - bread: 5
  25.     onStart:
  26.         options: [pvpOn]
  27.     onComplete:
  28.         options: [teleportOut, clearInventory, deEnchant, undisguise]
  29.     onSpawn:
  30.         options: [enchants, health=20, hunger=20, deEnchant]
  31.         enchants:
  32.             - speed:3
  33.     winner:
  34.         options: [enchants, money=1,experience=300, health=20, hunger=20]
  35.         enchants:
  36.             - speed:2:900
  37.             - resistance:2:900
复制代码

死亡竞赛
  1. deathMatch:
  2.     enabled: true
  3.     command: dm
  4.     type: deathMatch
  5.     victoryCondition: highestKills
  6.     database: dm
  7.     prefix: "&8[DeathMatch]&e"
  8.     preReqs:
  9.         options: [clearInventory]
  10.     onJoin:
  11.         options: [teleportIn, woolTeams]
  12.     onOpen:
  13.         options: [pvpOff]
  14.     onStart:
  15.         options: [pvpOn]
  16.     onComplete:
  17.         options: [teleportOut, clearInventory, deEnchant, undisguise]
  18.     onSpawn:
  19.         options: [enchants, giveItems, health=20, hunger=20, deEnchant]
  20.         items: # ignored if options doesnt have "giveItems"
  21.             - iron_sword: 1
  22.             - bow: 1
  23.             - tnt: 3
  24.             - arrow: 32
  25.             - leather_helmet: 1
  26.             - leather_chestplate: 1
  27.             - leather_leggings: 1
  28.             - leather_boots: 1
  29.             - bread: 5
  30.         enchants:
  31.             - speed:1
  32.     onDeath:
  33.         options: [respawn,clearInventory]
  34.     winner:
  35.         options: [enchants, money=1,experience=300, health=20, hunger=20]
  36.         enchants:
  37.             - speed:2:900
  38.             - resistance:2:900
复制代码

锦标赛
  1. tourney:
  2.     name: Punch Drunk
  3.     type: Versus
  4.     database: tourney
  5.     prefix: "&5[Tourney]&e"
  6.     timeBetweenRounds: 3
  7.     preReqs:
  8.         options: [clearInventory]
  9.     onStart:
  10.         options: [teleportIn, pvpOn, woolTeams]
  11.     onComplete:
  12.         options: [teleportOut, clearInventory]
  13.     onSpawn:
  14.         options: [deEnchant, giveItems, hunger=20, health=20]
  15.         items:
  16.             - iron_sword: 1
  17.             - bow: 1
  18.             - arrow: 16
  19.             - iron_helmet: 1
  20.             - iron_chestplate: 1
  21.             - iron_leggings: 1
  22.             - iron_boots: 1
  23.             - potion: effects="heal:2" displayName="Potion of Healing" 1 # 瞬间治疗 II
  24.             - bread: 3
  25.     winner:
  26.         options: [clearInventory, experience=100, health=20, hunger=20]
  27.     firstPlace:
  28.         options: [enchants,experience=1000]
  29.         enchants:
  30.             - speed:2:900
  31.             - resistance:2:900
  32.             - haste:1:900
复制代码


战场竞技场命令
玩家命令
游戏命令
  • /<game> join
  • /<game> leave
例子:
  • /arena join
  • /arena leave
准备阶段命令
  • /<game> info
  • /<game> result
  • /<game> options

团队指令
  • /team info
  • /team decline
  • /team disband
  • /team join
  • /team create <玩家1> <玩家2> ... <玩家x>

管理员指令
比赛指令
  • /arena enable
  • /arena info
  • /arena setElo <玩家> <elo>
  • /arena resetElo
  • /arena create <竞技场名称> [队伍大小] [# 队伍列表]
  • /arena check
  • /arena info <竞技场名称>
  • /arena winner <玩家>
  • /arena verify
  • /arena leave
  • /arena join
  • /arena status <竞技场/玩家>
  • /arena delete <竞技场名字>
  • /arena cancel <竞技场/玩家>
  • /arena disable
活动指令
  • /<event> leave
  • /<event> verify
  • /<event> setElo <玩家> <elo>
  • /<event> create <竞技场名称> [队伍大小] [# 队伍列表]
  • /<event> resetElo
  • /<event> result
  • /<event> join
  • /<event> options
  • /<event> status <竞技场/玩家>
  • /<event> cancel
  • /<event> enable
  • /<event> start
  • /<event> delete <竞技场名称>
  • /<event> status
  • /<event> cancel <竞技场/玩家>
  • /<event> info <竞技场名称>
  • /<event> disable
  • /<event> check
  • /<event> winner
  • /<event> info
团队指令
  • /team info
  • /team decline
  • /team disband
  • /team join
  • /team create <玩家1> <玩家2> ... <玩家x>
  • /team delete
  • /team list
  • /team listDetailed
  • /team info <玩家>
在寻找调试指令?看看这一页

战斗竞技场权限
加入
权限节点: arena.join.<游戏>

例子:
  • arena.join.arena
  • arena.join.skirmish
  • arena.join.tourney

离开
权限节点:arena.leave

职业牌子
权限节点:
  • arena.class.use.* <- 允许使用任意职业牌子
  • arena.class.use.<职业名称>
例子:
  • arena.class.use.gladiator
  • arena.class.use.archer

决斗
权限节点: arena.duel.<游戏>
例子:
  • arena.duel.skirmish
  • arena.duel.spleef
关闭接受决斗请求
如果您不挑战某个玩家或队伍被挑战,请给他们以下节点:arena.duel.exempt

使用BattleArena的其他插件的权限
与上面相同,只是将战场竞技场的名称替换为其他模式的名称。您可以在该特定游戏的Arena配置内找到该名称。
例子:
  • arena.join.paintball
  • arena.join.spleef
  • arena.join.capturetheflag

团队权限
如果您希望玩家能够创建自己的团队,并且他们想加入朋友的团队,则必须授予他们以下权限:
  • arena.team.create
  • arena.team.join

管理员
如果要创建,删除或更改竞技场的权限,则必须是服务器op或具有以下节点:arena.admin

添加权限
(默认)如果您没有权限插件,请将这些复制到你服务器的 permission.yml 文件中。

PermissionsEx插件
要将权限添加到组,请使用: pex group <用户组> add <权限节点>
例子:
  • pex group default add arena.skirmish.join
  • pex group duke add arena.ctf.join

GroupManager插件
要将权限添加到组,请使用: mangaddp <用户组> <权限节点>
例子:
  • mangaddp default arena.skirmish.join
  • mangaddp duke arena.ctf.join

LuckPerms插件
要将权限添加到组,请使用: lp group <权限组> permission set <权限节点>
例子:
  • lp group default permission set arena.skirmish.join
  • lp group duke permission set arena.ctf.join

调试命令 & 选项
调试命令
  • /battleArenaDebug giveTeam <队伍索引>
  • /battleArenaDebug giveTeam <玩家> <队伍索引>
  • /battleArenaDebug addKill <玩家>
  • /battleArenaDebug giveHelm <物品>
  • /battleArenaDebug showSpawns <竞技场>
  • /battleArenaDebug showListeners
  • /battleArenaDebug enableDebugging <部分> <on/off>
  • transitions
  • virtualplayer
  • tracking
  • storage
  • damage
  • commands
  • debug
  • teams

背包命令
列出已保存的玩家背包
  • /ba listInv <玩家>
  • /ba listInv <玩家> <索引>
将玩家的背包数据恢复到上一次备份的点 请先运行/ba listInv 来查找想要还原的点。
  • /ba restoreInv <玩家> <索引>

竞技场事件选项
事件选项
onJoin 选项
只能在onJoin事件中设置的选项:
  • alwaysJoin:允许玩家随时加入。

常规选项
  • randomSpawn:将玩家在一个随机的出生点生成。

onDeath 选项
这些是此事件中可以使用的选项,你也可以使用上面的常规选项,只是下面这些比较特殊罢了。
  • clearInventory:清除掉落的物品。
  • respawn:玩家重生(此选项只能在onDeath中使用)
  • randomRespawn:在随机的出生点生成玩家(此选项只能在onDeath中使用)
  • keepInventory:玩家死亡时,保留背包物品(也不会掉落死亡物品)
  • noExperienceLoss:死后保留获得的经验(非常适合怪物竞技场)

onSpawn 选项
这些是适用于此事件的选项,你也可以使用上面的常规选项。
  • respawnWithClass:复活玩家时,自动为他们选择他们死前的职业(如果有的话)

列子
teleportTo
假设你希望获胜者被传送到特别的地方,例如奖励大厅,或者传送到另一个世界。
  1. Skirmish:
  2.     winner:
  3.         options: [... ]
  4.         teleportTo: prizeworld,33,44,55
复制代码
doCommands
假如当玩家进入竞技场时,你希望他们取消掉OP身和飞行状态。
  1. Skirmish:
  2.     onEnter:
  3.         options: []
  4.         doCommands:
  5.             - console deop player # 将会在控制台运行 'deop player' 命令,player会被替换为执行的玩家名字
  6.             - player fly off # 以玩家自己的身份运行 'fly off' 命令
复制代码
onKill
  1. Arena:
  2.   onKill:
  3.     doCommands:
  4.     - console tell player Kill recorded !!!
  5.     options:
  6.     - health=20.0
  7.     - money=1.0
  8.     - experience=1000
  9.     - giveItems
  10.     giveItems:
  11.     - arrow: 10
  12.     - diamond: 1
复制代码

加入阶段
游戏的加入阶段
一个游戏的加入阶段必须是先"开放加入",然后再"开始比赛"。在"开放加入"状态下,玩家可以加入或离开,然后,就会 "开始" 这次比赛。您可以通过执行命令 /<活动> auto 来等待系统自动 "开放加入""开始比赛",这场比赛将在三分钟后自动开始(可配置)。

自动运行
让活动开始的最简单方法,自动执行此操作,它将在每分钟进行一次通告。
  • /<活动> auto - 例如: /ffa auto

手动控制
如果你想手动控制一个活动的开放和开始状态,下面的命令一定会帮到你:
  • /<活动> open
  • /<活动> start
例子:
  • /ffa open
  • /ffa start

取消一个活动
  • /<活动> cancel

宣布比赛的胜利者
这个命令可以用来处理紧急情况。
  • /arena winner <玩家>

示例
所有的命令与选项
可用选项:
  • Rated, Unrated
  • teamSize=<数量>: 例子 teamSize=1+ (每队1或更多人): 例子 teamSize=2 (每队2人)
  • nTeams=<数量>: 例子 nTeams=2 (2个队伍竞技), 例子 nTeams=2+ (超过2个队伍进行竞技)
  • silent : 不发出然后活动公告
  • time=<秒> : 例子 time=60, 活动开始前的准备时间(仅用于自动开始)
  • interval=<秒>: 发送活动公告的时间间隔(仅用于自动开始)
  • arena=<竞技场>: 指定一个竞技场用于本次活动
  • /ffa auto teamSize=1 nTeams=2+ 开启一个FFA模式的游戏
  • /ffa auto teamSize=2 nTeams=2+ 开启一个限定为每个队伍2人参加的FFA游戏
  • /ffa auto teamSize=1+ nTeams=2 只允许2个队伍之间进行FFA游戏

活动演示示例
如果你想在FFA游戏开启前使用等待大厅。
  • 找到 config.yml 中有关 FreeForAll 的部分, freeForAll:
  • 找到 onJoin 事件阶段
  • 将 teleportIn 改为 teleportWaitroom.
  • 我们现在需要将 teleportIn 移动到 onPrestart 或 onStart 事件中
  • 使用 /arena reload 重新加载配置文件
  • 在游戏中添加一个等待大厅,输入 /ffa alter waitroom 1
示例:
  1. ### FFA 活动
  2. freeForAll:
  3.     preReqs:
  4.         options: [clearInventory]
  5.     onJoin:
  6.         options: [teleportWaitRoom, woolTeams]
  7.     onOpen:
  8.         options: [pvpOff]
  9.     onPrestart:
  10.         options: [pvpOff, giveItems, deEnchant]
  11.         items: # 选项中不包含"giveItems"时请忽略此选项
  12.             - iron_sword: 1
  13.             - bow: 1
  14.             - tnt: 3
  15.             - arrow: 32
  16.             - leather_helmet: 1
  17.             - leather_chestplate: 1
  18.             - leather_leggings: 1
  19.             - leather_boots: 1
  20.             - bread: 5
  21.     onStart:
  22.         options: [teleportIn, pvpOn]
  23.     onComplete:
  24.         options: [teleportOut, clearInventory, deEnchant, undisguise]
复制代码
比赛演示示例
同上,假如我们希望BattleGround模式的比赛也出现一个准备室
  • 找到 config.yml 中的 battlegrounds 部分, battleground:
  • 找到比赛 onPrestart 事件
  • 将 teleportIn 改为 teleportWaitroom.
  • 我们现在需要将 teleportIn 移动到 onPrestart 或 onStart 事件中
  • 使用 /arena reload 重新加载配置文件
  • 使用 /bg alter <arena name> waitroom 1 来添加一个等待大厅
  • 在 battlegrounds 加入 secondsTillMatch: <秒> 来设置等待时间
例子:
  1. battleground:
  2.     secondsTillMatch: 30
  3.     preReqs:
  4.         options: [clearInventory]
  5.     onOpen:
  6.         options: [pvpOff]
  7.     onPrestart:
  8.         options: [pvpOff, teleportWaitroom, giveItems, deEnchant]
  9.         items: # 选项中不包含"giveItems"时请忽略此选项
  10.             - iron_sword: 1
  11.     onStart:
  12.         options: [teleportIn, pvpOn]
  13.     onComplete:
  14.         options: [teleportOut, clearInventory, deEnchant, undisguise]
复制代码
职业
创建一个新的职业
只需在classes.yml中的classes选项下新添加一个新的职业即可。
初始物品和附魔属性部分都是可选的。
当然,玩家使用这些职业肯定是需要权限的。

例子
  1. classes:
  2.     myNewClassName:
  3.         items:
  4.             - diamond_chest: 1
  5.             - diamond_sword: sharp:2 knockback:1 1
  6.             - bread: 3
  7.         enchants:
  8.             - speed:2
复制代码
为职业添加初始金钱
使用doCommands来为我们的职业添加初始命令,像这样添加金钱:
  1. classes:
  2.     myNewClassName:
  3.         items:
  4.             - diamond_chest: 1
  5.             - diamond_sword: sharp:2 knockback:1 1
  6.             - bread: 3
  7.         enchants:
  8.             - speed:2
  9.         doCommands:
  10.             - console money take player 100
复制代码
当然,你也可以使用其他的命令。

默认职业
  • Gladiator - 角斗士
  • Archer - 射手
  • Monk - 僧人

添加职业选择木牌
当玩家在竞技场内点击木牌时,就可以选择他们的职业。创建一个职业选择木牌非常简单:
第一行:Archer
之后就会创建一个第一行写上 * Archer 的木牌,竞技场内的玩家点击后就可以选择职业了。

为玩家设置默认职业
需要在玩家加入游戏后默认为他们分配一个职业,可以在onSpawn事件中处理,我们现在加入giveClass选项到options下吧:
  1.     onSpawn:
  2.         options: []
  3.         giveClass:
  4.             default: gladiator
复制代码

给不同的队伍不同的职业
如果你想给不同的队伍不同的职业,比如队伍1全用射手,队伍2全用角斗士,你可以使用 队伍名称: 职业,就像这样:
  1.     onSpawn:
  2.         options: []
  3.         giveClass:
  4.             team1: gladiator
  5.             team2: archer
  6.             default: monk
复制代码

使用Heroes职业
要将Heroes用作类,您首先需要将每个英雄职业的物品和附魔添加到 BattleArena/classes.yml 中。
一旦创建了职业,就可以像上面一样通过 giveClass 来指定:
  1. onSpawn:
  2.         options: []
  3.         giveClass:
  4.             default: Warrior
复制代码
还有一个仅用于 Heroes chosenClass 的新职业,该职业允许玩家得到 BattleArena/classes.yml 中为该职业配置好的物品。
  1.     onSpawn:
  2.         options: []
  3.         giveClass:
  4.             default: chosenClass
复制代码
竞技场大厅 & 等待大厅
等待大厅
玩家在游戏开始前都会在等待大厅集合。

添加等待大厅
许多人喜欢为他们的游戏设置等待大厅,要将等待大厅添加到游戏中,您需要执行以下操作。
  • /<游戏> setOption onJoin teleportWaitRoom 设置好后,你需要为每个游戏设置一个等待大厅。
  • 为你的竞技场添加等待大厅,站在你想要添加大厅的地方,输入:/<游戏> alter <arena name> waitroom 1 你可以选择在在 onJoin 事件中,或者是 onPrestart 这些在游戏开启之前的事件中传送玩家。如果你想让玩家通过木牌加入,可以查阅 Sign Support.

例子
假设您要为一个小规模武装冲突游戏添加等待大厅,并且有一个名为SkArena的小规模竞技场:
  • /skirmish setOption onJoin teleportWaitRoom
  • /skirmish alter SkArena waitroom 1 : 请站在需要玩家传送到的地方

竞技场生成设置
在竞技场内生成实体
怪物、玩家、掉落物等。

箱子/方块生成
这些命令将允许您重新生成箱子和方块,注意! 这并不会自动更新竞技场内方块,因此,请使用 WorldGuard 保护区域,要为箱子或方块预设生成物,请执行以下命令:
  • /aa select <arena> : 选择一个竞技场
  • /aa addBlock : 执行后,将会提示你点击一个需要保存的方块。

箱子示例
如果你有一个名为 BlitzArena 的竞技场,你希望这个竞技场提供武器和装备。
  • 将你需要提供的物品全部存入箱子中,然后输入:
  • /aa select BlitzArena : 选择这个竞技场
  • /aa addBlock : 执行后提示点击一个方块
  • 点击你刚刚准备好的箱子,点击后会提示你确认操作
  • /aa showSpawns : 显示当前已部署的内容
  • /aa hideSpawns : 隐藏全部部署内容
掉落物/怪物生成
基础命令
像这样:
  • /aa select <竞技场> : 选择一个你需要设置的竞技场
  • /aa addSpawn <怪物> <数量> : 在你的位置增加一个怪物出生点
  • /aa addSpawn <掉落物> <数量> : 在你的位置增加一个物品生成点
示例
  • /aa addSpawn wolf 1 : 在你的位置添加一个狼的出生点
  • /aa addSpawn wolf 1 : 在你的位置添加第二个狼的出生点
  • /aa addSpawn diamond_sword 1 : 在你的位置增加一个1个钻石掉落物的出生点
  • /aa addSpawn arrow 32 : 在你的位置增加一个32个钻石掉落物的出生点
所有的选项
这里是所有生成可用的选项:
  • fs=<seconds> : 第一次生成时间
  • rs=<seconds> : 重生时间,每次生成的间隔
  • i=<index> : 索引,修改生成顺序(放在命令的最后)

例子
假设你手残了,并且不想使用“基础命令”示例中的diamond_sword,该物品被设置为第3(索引位置会在创建时告诉你)
  • /aa addSpawn log 1 i=3 : 重新设置第3的物品
  • /aa addSpawn wool 1 rs=15 i=3 : 重新设置第3的物品

更多示例
  • /aa addSpawn bow fs=30 rs=50 1: 30秒延迟后生成一把弓,之后每50秒来一次
  • /aa addSpawn diamond rs=50 fs=30 1 30秒延迟后生成一个钻石,之后每50秒来一次
  • /aa addSpawn diamond_sword sharp:1 1 附魔也是可以的

删除出生点
  • /aa deleteSpawn <索引> : 删除指定索引的生成点

列出出生点
  • /aa listSpawns : 列出竞技场内所有生成点

事件阶段选项和设置
阶段选项
可用选项
常规选项
所有阶段可用选项 (除preReqs外):
  • clearInventory : 清空玩家背包
  • giveItems : 给予物品,配置方法参见 物品语法
  • teleportWaitroom : 将玩家传送到等待大厅
  • teleportIn : 将玩家传送到竞技场内
  • teleportOut : 将玩家传送出竞技场
  • teleportTo : <world,x,y,z> : 将玩家传送到指定位置
  • noTeleport : 禁止玩家在竞技场内传送
  • noWorldChange : 阻止玩家传送到其他世界
  • health=<数量> : 设置玩家初始生命值(最大20)
  • healthp=<数量> : 设置玩家生命值百分比(最大100)
  • hunger=<数量> : 设置玩家饥饿值 (最大20)
  • money=<数量> : 给玩家金钱
  • experience=<数量> : 给予玩家经验
  • pvpOn : 开启PVP,队内伤害关闭
  • pvpOff : 关闭PVP
  • invincible : 让玩家无敌
  • invulnerable=<秒> : 给玩家x秒的无敌时间
  • blockBreakOff : 关闭方块破坏
  • blockBreakOn : 开启方块破坏(不受其他插件约束)
  • blockPlaceOff : 关闭方块放置
  • blockPlaceOn : 开启方块放置 (不受其他插件约束)
  • dropItemOf : 禁止玩家丢弃物品
  • disguiseAll=disguise> : 将所有玩家伪装为...
  • undisguise : 解除所有玩家的伪装
  • enchants : 需要一个附魔列表
  • deEnchant : 移除附魔效果,如果有Heroes支持,同样移除效果。
  • gameMode=<游戏模式> : 设置一个游戏模式 (survival, creative, adventure, spectator)
  • doCommands : 执行命令
  • storeExperience/restoreExperience : 保存/还原经验值
  • storeItems/restoreItems : 保存/还原物品栏
  • storeAll/restoreAll : 保存/还原所有状态、物品、经验值、饥饿值
  • flightOff : 关闭玩家飞行模式
  • flightOn : 开启玩家飞行模式
  • flightSpeed=<速度> : 设置玩家的飞行速度

默认选项
仅适用于默认情况下的选项
  • alwaysOpen : 设置游戏永不关闭
  • individualWins : 玩家可用胜利或失败但是不结束游戏
  • armorTeams : 使用彩色盔甲以区别不同队伍
  • woolTeams : 每个队伍的玩家头戴彩色羊毛
  • alwaysWoolTeams : 始终给予玩家彩色羊毛头套
  • alwaysTeamNames : 始终显示队伍颜色名称

预选项
在 preReqs 中可用的选项:
  • noInventory : 玩家背包中有物品时无法加入游戏
  • needArmor : 玩家需要穿戴装备进入
  • needItems : 玩家需要携带指定物品进入
  • money=<金钱> : 收费进入
  • sameWorld : 玩家必须在竞技场所在世界加入游戏
  • withinDistance=<距离> : 玩家必须距离竞技场某个距离之内才能加入
  • levelRange=<范围> : 玩家等级达到某个范围才可以
等级范围示例:
  • levelRange=10+ : 只有等级大于10级的玩家才可以进入(同样适用于Heroes)
  • levelRange=2-5 : 只有2到5级的玩家才可以进入

示例
这是一个可以保存/还原玩家背包物品、收费10金钱、仅允许2-10级的玩家加入的游戏:
  1. skirmish:
  2.     preReqs:
  3.         options: [money=10, levelRange=2-10]
  4.     onEnter:
  5.         options: [storeAll]
  6.     onLeave:
  7.         options: [restoreAll]
复制代码
这是一个保留上面的配置,额外增加一个要求玩家携带指定物品的游戏:
  1. skirmish:
  2.     preReqs:
  3.         options: [money=10, levelRange=2-10, needItems]
  4.         items:
  5.             - diamond_sword: 1
  6.             - bow: 1
  7.             - arrow: 1
  8.     onEnter:
  9.         options: []
  10.     onLeave:
  11.         options: []
复制代码
决斗 & 团队战
玩家发起挑战
选择一个比赛类型来发起决斗挑战,包括:skirmish、bg、arena,也可以选择自定义的竞技场:spleef、paintball等。
/<比赛类型> duel <第一个玩家名称>...<第n个玩家>

例子:
  • /arena duel clovisd - 向玩家clovisd 发起 arena 挑战
  • /skirmish duel cunningdevil666 - 向玩家cunningdevil666 发起 skirmish 挑战

同意/拒绝/取消决斗
当向某人挑战时,参与者需要接受或拒绝邀请,您也可以选择取消等待中的挑战请求。

同意挑战
  • /arena accept: 同意一个对决挑战

接受一个附带赌注的挑战时会收取费用,并给予获胜方。

拒绝挑战
  • /arena reject: 拒绝一个对决挑战


取消挑战请求
  • /arena rescind: 取消一个挑战请求

更高级的挑战发起
你可以发起更高级的挑战,比如下赌注,胜利的一方赢得这笔钱:
/<比赛类型> duel <第一个玩家名字>...<第n个玩家> <选项>

例子:
  • /spleef duel clovisd cunningdevil666 money 200 - 由 clovisd 和 cunningdevil666 各出200金钱,胜利的一方得到全部金钱。
  • /arena duel clovisd money 80 - 向用户 clovisd 发起挑战,支付80金钱,胜利的一方获得全部(160)金钱。
  • /bg duel clovisd cunningdevil666 zach445 gold 50 - 向 clovisd, zach443 和 cunningdevil666 (共三人) 发起 Battleground 类型比赛挑战,每人支付50金钱,胜利的一方得到 50X3 金钱。

挑战可用选项
  • money <数量>: 安装Vault的情况下可用

    • /paintball duel clovisd money 100 - 下100元赌注,在开始时每人支付100金钱
  • YourCurrencyName <数量> 安装Vault的情况下可用

    • /paintball duel clovisd platinum 100 - 同上,只是发起指定玩家和指定玩家之间的挑战

决斗权限
决斗需要提前给予玩家权限,就像下面这样:
arena.<比赛类型>.duel

例子:
  • Skirmish 模式权限: arena.skirmish.duel
  • Spleef 模式权限: arena.spleef.duel
有关更多权限信息,请阅读权限章节。

团队战
您也可以创建团队参加决斗,首先,请确保使用团队命令创建一个团队(请参阅组队章节),然后,使用上述决斗命令来挑战另一队玩家而不是单独一个玩家。
创建一个团队:
/team create <第一个玩家名字>... <第n个玩家>

发起挑战:
/<比赛类型> duel <第一个玩家名字>... <第n个玩家>

这一章节尚未完结,待作者补充。
快捷木牌
创建一个快捷牌子来加入比赛
您可以创建一个加入/离开的快捷牌子,您只需在第一行中写下比赛的名称,在第二行中添加您想执行的命令(例如join/leave),然后在第三行中输入竞技场名称,当编辑完成且格式正确后,木牌会自动变为彩色。

创建牌子
在BattleArena文件中,有一个 signs.yml 配置文件,您可以自定义牌子上的内容。

为了创建牌子,您必须以正确的顺序输入下面的内容,否则格式可能会出现错误,输入并按下完成按钮后,该牌子将立即更新为您在 signs.yml 文件中配置的样子。
  1. 第一行: [竞技场类型]
  2. 第二行: join/leave
  3. 第三行: 竞技场名称 团队颜色 (可选)
  4. 第四行: 随便写 (可选)
复制代码
您可能还会在 signs.yml 中注意到一个叫 blockAttatchment 的选项,这用于在告示牌后面放置方块。如果要为游戏的当前状态分配颜色(彩色羊毛),则可以使用此选项。 但是,如果您不想使用此功能,只需将其设置为 none
这里是一张示例图片:

示例1
要在名为 "NetherFort" 的竞技场中加入 Spleef 模式的牌子,您只需将以下内容放入标志中:
  1. [spleef]
  2. join
  3. NetherFort
复制代码
示例2
  1. [Skirmish]
  2. join
  3. Arena1
复制代码
示例3
加入一个BattleGround模式牌子,注意,可以缩写为"bg"
  1. [bg]
  2. join
  3. Battle1
复制代码

创建离开牌子
例1
制作一个离开的牌子,你可以在第一行添加模式名称,这里是"bg",第二行写上leave,就像这样:
  1. [bg]
  2. leave
复制代码

创建一个加入指定队伍的牌子
可以设置牌子来加入游戏的指定队伍,通过使用牌子来选择队伍,但是它不能完全按照文件的意愿来,它还依赖于BattleTracker的数据,让玩家的加入平均分配。要创建这样的牌子,您只需像上面那样添加,并在第三行中添加其他内容。在第一行中输入比赛的名称,在第二行中输入 "join",在第三行中输入竞技场名称,在空格后输入团队名称。
例1
要在竞技场 "Battle3" 中加入一个加入 BattleGround 模式的牌子,并且要加入 "red" 队,您只需将以下内容写入牌子中:
  1. [bg]
  2. join
  3. Battle3 red
复制代码
例2
同上,现在我们加入 "blue" 队:
  1. [bg]
  2. join
  3. Battle3 blue
复制代码
例3
您可以根据需要创建任意数量的快捷牌子,以下示例是由 DreadCraft 服务器制作的 BattleGround 竞赛,他们在公告栏的正面有一个简单的加入牌子,而在背面则有各队的具体加入牌子。
团队信息 & 配置
您可以以团队为单位去进行比赛,以便可以与朋友一起玩。为此,您必须"创建"您的团队,然后加入一场比赛。(如果需要,游戏可能会限制团队最大认识,如果可能,它尽可能将尝试按照团队人数进行游戏)

权限
请参阅ba/config/permissions.md页面

创建一个团队
假设您有一个名为ZeroCool的朋友,你现在希望能够开一个队伍,并邀请他加入与你一起游戏,应该输入以下内容:
  • /team create ZeroCool 输入后,你的朋友就可以输入:
  • /team join 即可,如果不想加入就输入:
  • /team decline 当你的朋友同意加入后,就可以输入下面的命令以团队形式加入游戏咯:
  • /<游戏> join

团队命令
  • /team info
  • /team decline
  • /team disband
  • /team join
  • /team create <玩家1> <玩家2>...<玩家x>
药水信息
可以给玩家带来的药水效果
有效格式为:
  • <名称>
  • <名称>:<等级>
  • <名称>:<等级>:<时间>
例子:
  • speed:3
  • jump:3:900
  • haste:2 regen:5:900

列表
您可以使用药水效果列表中的任何药水效果,也可以使用这些名称作为某些陌生药水效果的别名(例如digSpeed)
HASTE
SLOW
SLOWDIG
SLOWSWING
STRENGTH
REGEN
RESISTANCE
PROT
物品附魔
有效格式为
  • <名称>
  • <名称>:<等级>
- diamond_sword sharp:3 fire:2 1 (钻石剑:锋利3火焰附加2)

附魔表
附魔ID 插件缩写 官方译名 Bukkit API 枚举 最高等级
0 prot 保护 PROTECTION_ENVIRONMENTAL 4
1 protfire 火焰保护 PROTECTION_FIRE 4
2 protfall 跌落保护 PROTECTION_FALL 4
3 protblast 爆炸保护 PROTECTION_EXPLOSIONS 4
4 portproj
protarrow
弹射物保护 PROTECTION_PROJECTILE 4
5 respiration
oxygen
水下呼吸 OXYGEN 3
6 aqua 水下速掘 WATER_WORKER 1
7 thorns 荆棘 THORNS 3
8 strider 水下行走 DEPTH_STRIDER 3
9 frost_walker 冰霜行者 FROST_WALKER 2
10 binding_curse 绑定诅咒 BINDING_CURSE 1
16 sharp 锋利 DAMAGE_ALL 5
17 smite 亡灵杀手 DAMAGE_UNDEAD 5
18 arth 节肢杀手 DAMAGE_ARTHROPODS 5
19          knockback 击退 KNOCKBACK 2
20 fire 火焰附加             FIRE_ASPECT    2
21 loot 抢夺 LOOT_BONUS_MOBS                           3                  
22 sweep 横扫之刃 SWEEPING_EDGE 3
32 eff 效率 DIG_SPEED 5
33 silk 精准采集 SILK_TOUCH 1
34 unbreaking 耐久 DURABILITY 3
35 fortune 时运 LOOT_BONUS_BLOCKS 3
48 power 力量 ARROW_DAMAGE 5
49 punch 冲击 ARROW_KNOCKBACK 2
50 flame 火矢 ARROW_FIRE 1
51 inf 无限 ARROW_INFINITE 1
61 luck 海之眷顾 LUCK 3
62 lure 钓饵 LURE 3
70 mending 经验修补 MENDING 1
71 vanishing_curse 消失诅咒 VANISHING_CURSE

1.13+附魔
这些附魔目前没有ID,因为它们是在1.13+版本中添加的,此版本开始没有数字ID,但是我们仍然可以支持新版本的附魔:
插件缩写 官方译名 Bukkit API 枚举 最高等级描述
channeling 引雷 CHANNELING 1 处于雷雨天气命中敌人时,将会引导闪电击中敌人。
impaling 穿刺 IMPALING 5 提升三叉戟造成的伤害。
loyalty 忠诚 LOYALTY 3 当三叉戟丢出后,会在结束时回到你的手上。
riptide 激流 RIPTIDE 3 在水中使用,三叉戟会将你拉向你投掷它的方向。
multishot 多重射击 MULTISHOT 1 让你的弩发射多支箭或烟花。
piercing 穿透 PIERCING 4 弩发射的箭可以穿透生物攻击到后方的生物。
quick_charge 快速装填 QUICK_CHARGE 3 让你的弩可以更快的完成填装。
物品属性
你可以在Yaml文件编辑物品属性,要添加新的物品,必须将新元素添加到列表中,颜色是RGB格式,值的范围是0-255。
  • - 物品名称: [选项] <数量>
例子
  • - diamond_sword: sharp:5 knockback:3 fire:1 lore="Uber Sword!" 1
  • - leather_helmet: lore="My Helm Keeps Me Safe" color=255,255,255 1

选项
color=<红>,<绿>,<蓝>
lore="<第一行内容>\n<第二行内容>"
displayName="<名称>"
owner="<头颅所有者>" (仅头颅)
modelData="<custom model data>" (仅支持1.14+, 详细请看 Custom Items)
unbreakable="<true/false>"
effects="<效果1> <效果2> <效果...x>" (详情请看 Potions)
<附魔名称>:<等级>(详情请看 Enchantments)

配置案例
为giveClass添加初始物品,在此示例中,它是在 onSpawn 事件中完成的,但是它不仅仅只能在这个事件中完成。
  1. Skirmish:
  2.     onSpawn:
  3.         giveItems:
  4.         - gold_ingot: 2
  5.         - leather_boots: color=0,0,0 displayName="StealthShoes" lore="Ancient\nMade" 1
复制代码
就像上面这样,使用换行符可以分隔多行内容。
在上面的示例中,第1行是
  1. Ancient
复制代码
第二行是
  1. Made
复制代码
BattleArena 官方文档翻译 - 后记
本篇文档以及二楼的开发者文档 翻译工作由 @白羊羊 和 @sbhinx 协同完成。
  • 本篇共计 12000+ 个汉字
  • 开发者文档篇共计 1000+ 个汉字
  • 总计个 13000+ 汉字
这也是我(羊羊)在停止搬运工作一年后重新接手的搬运和Wiki翻译工作,和我的基友(sbhinx)一起完成,非常感谢各位的支持。
有任何不足之处欢迎指正,谢谢!


[groupid=1330]PluginsCDTribe[/groupid]