
## 
- 地图系统 – 只是将世界文件夹放入 /plugins/SkyWarsPlus/maps 并轻松配置它们
- 自定义游戏配置 – 设置不同的模式(单人、双人等)
- 战利品编辑器 – 在游戏中添加和自定义战利品
- 自动箱子检测 – 无需手动添加岛屿箱子(需要手动添加op箱子位置)
- 箱子刷新 - 为每个游戏配置添加自定义箱子刷新时间
- 地图 ID - 选择您需要的地图,只需为配置提供地图 ID
[展示视频](https://youtu.be/HCKJxPXfGwY?si=xwc0n49_4QuZFOnW)
## 
### 步骤 1:添加地图
>
> 将您的世界文件夹放在以下位置:
> plugins/SkyWarsPlus/maps/
>
> 每个世界的文件夹名称将被视为地图名称。
>
> 接下来,以如下方式在 map_data.yml 中定义地图数据:
>
>
> ```
> 地图名称:
> spectator-teleport-location: [564.5, 55.5, 70.5]
> team-spawn-locations:
> - [525.5, 58.0, 67.5]
> - [559.5, 58.0, 108.5]
> - [559.5, 58.0, 108.5]
> - [559.5, 58.0, 108.5]
> op-chest-locations:
> - [561, 58, 65]
> - [567, 58, 75]
> id: mapid
> ```
>
> 说明:
>
> waiting-area-location: 玩家在游戏开始前等待的位置。
>
> team-spawn-locations: 比赛开始时每个队伍的生成位置。
>
> chest-locations: 仅中间岛屿的箱子。这些箱子包含更好的战利品。
> 必须是整数(没有小数点)。
>
> 普通箱子位置会自动检测 — 您无需添加它们。
### 步骤 2:创建游戏配置
>
> 使用以下命令创建游戏配置:
>
> ```
> /swp create_config
> ```
>
> name: 游戏设置的名称(例如,“Solos”、“Duos”)。
>
> min_teams: 启动所需的最小队伍数量。
>
> max_teams: 允许的最大队伍数量。
>
> team_size: 每支队伍的玩家数量。
>
> refill_cooldown: 箱子刷新之间的秒数。
>
> map_ids: 与此设置一起使用的地图 ID(例如,waterfallSolos)。
### 步骤 3:配置战利品
>
> 将物品放入任何箱子(普通箱子)或中间箱子。
>
> 直接看着箱子。
>
> 运行以下命令之一:
>
> ```
> /swp setloot
> ```
>
> 或者
>
> ```
> /swp addloot
> ```
>
> 您可以在 loot-items.yml 中进一步自定义战利品:
>
> chance: 物品出现的概率。
>
> min-amount / max-amount
>
> 自定义名称等。
### 步骤 4:加入游戏
>
> 要加入游戏:
>
> ```
> /swp join
> ```
## 
>
**SkyWars+ 允许您完全自定义其菜单,以获得独特的服务器体验。**
### 重要提示:
**菜单自定义需要正确的 YAML 格式。错误的空格或语法会破坏菜单。**
## 菜单文件
>
> skywars_menu.yml – 玩家可以打开的主要 SkyWars 菜单
>
> join_menu.yml – 不同的模式/配置的游戏加入选择器菜单
# skywars_menu.yml 指南
### 布局
>
> 示例:
>
> ```
> # ONE, TWO, THREE..., SIX
> rows: FIVE
>
> buttons:
> 0:
> name: "&b&lSkyWars+"
> material: BOOK
> glint: true
> lore:
> - "&7欢迎来到 &bSkyWars+&7!"
> - "&7快节奏的 PvP 迷你游戏,带"
> - "&7自定义地图和模式。"
> - ""
> - "&e战斗、掠夺和 &ebe 成为最后一名幸存者!"
> actions: []
> ```
>
> **rows**: 菜单的行数(值:ONE、TWO、THREE、FOUR、FIVE、SIX)。
>
> **buttons**: 每个编号的键代表菜单中的一个插槽。
>
> **name**: 按钮的显示名称(支持颜色代码)。
>
> **material**: 用于按钮的 Minecraft 物品。
>
> **glint**: true/false — 按钮是否应该具有附魔光芒。
>
> **lore**: 悬停在按钮上时显示的文本行列表。
>
> **actions**: 玩家点击按钮时发生的事情。
### 操作
>
> 操作以 **[TYPE] ** 格式添加:
>
> [CONSOLE] – 以控制台身份运行命令
>
> [COMMAND] – 以玩家身份运行命令
>
> [MESSAGE] – 向玩家发送聊天消息
>
> 示例:
>
> ```
> actions:
> - "[MESSAGE] &a您打开了 SkyWars 菜单!"
> - "[COMMAND] swp join solos"
> - "[CONSOLE] say 您加入了 SkyWars!"
> ```
# join_menu.yml 指南
### 布局
>
> 示例:
>
> ```
> # ONE, TWO, THREE..., SIX
> rows: THREE
>
> buttons:
> 10:
> name: "&7&lSkywars Solos"
> material: IRON_SWORD
> glint: false
> join-on-click: false
> config: null
> lore:
> - "&7Coming Soon!"
> - "&aGet ready for epic battles."
> actions:
> - "[MESSAGE] &cThis mode is coming soon!"
> ```
>
> **rows**: 菜单的行数(使用相同的值 skywars-menu.yml)
>
> **join-on-click**: true/false — 点击按钮是否应该立即加入游戏。
>
> **config**: 游戏配置名称(如果 join-on-click 为 true 或当 %config_player_count% 用于时)。
>
> **lore**: 按钮的描述文本行。
>
> **actions**: 点击按钮时运行的附加操作(可选)。
### 使用 %config_player_count%
>
> 在 **join_menu.yml** 中,您可以使用 `%config_player_count%` 在 lore 或 name 中显示此配置游戏中玩家的数量。
>
> 示例:
>
> ```
> lore:
> - "&7Players: %config_player_count%"
> ```
>
> 如果 `join-on-click` 为 **true** 或希望使用 `%config_player_count%`,则必须提供有效的配置名称。
> 如果您不想设置配置,则可以将 `config: null` 或为空,并添加命令操作以加入。
---
# stats-menu.yml 指南
### 布局
>
> 示例:
>
> ```yaml
> # ONE, TWO, THREE..., SIX
> rows: THREE
>
> buttons:
> 11:
> name: "&b&lMini Stats"
> material: DIAMOND_SWORD
> glint: true
> config: Mini
> lore:
> - "&7Kills: &f[KILLS]"
> - "&7Wins: &f[WINS]"
> - "&7Losses: &f[LOSSES]"
> - "&7Deaths: &f[DEATHS]"
> - "&7Winstreak: &f[WINSTREAK]"
> actions:
> - "[MESSAGE] &aYou opened Mini stats!"
> - "[COMMAND] stats mini"
>
> 15:
> name: "&a&l1v1 Stats"
> material: IRON_SWORD
> glint: false
> config: 1v1
> lore:
> - "&7Kills: &f[KILLS]"
> - "&7Wins: &f[WINS]"
> - "&7Losses: &f[LOSSES]"
> - "&7Deaths: &f[DEATHS]"
> - "&7Winstreak: &f[WINSTREAK]"
> actions:
> - "[MESSAGE] &aYou opened 1v1 stats!"
> - "[COMMAND] stats 1v1"
> ```
>
> **rows**: 菜单的行数(值:ONE、TWO、THREE、FOUR、FIVE、SIX)。
>
> **buttons**: 每个编号的键代表菜单中的一个插槽。
>
> **name**: 按钮的显示名称(支持颜色代码)。
>
> **material**: 用于按钮的 Minecraft 物品。
>
> **glint**: true/false — 按钮是否应该具有附魔光芒。
>
> **config**: 游戏配置名称(例如,`Mini`、`1v1`)。
> 用于为该游戏模式拉取玩家的统计数据。
>
> **lore**: 悬停在按钮上时显示的文本行列表。
> 您可以使用占位符:
> - `[KILLS]` → 此配置中玩家的总击杀数
> - `[WINS]` → 此配置中玩家的总胜利数
> - `[LOSSES]` → 此配置中玩家的总失败数
> - `[DEATHS]` → 此配置中玩家的总死亡数
> - `[WINSTREAK]` → 此配置中玩家的当前连胜数
>
> **actions**: 玩家点击按钮时发生的事情。
### 操作
>
> 操作以 `[TYPE] ` 格式添加,如之前的菜单自定义教程中所述。