
# MiniGameCore
**MiniGameCore** 是一个用于管理 Minecraft Paper 服务器小游戏大厅的中心插件。它负责托管、加入、启动和停止游戏——拥有动画积分板、统计数据和万花筒支持。
---
## 🔧 安装
1. 从 [Modrinth](https://modrinth.com/plugin/minigamecore) 或 Releases 下载最新的 `.jar` 文件。
2. 将文件放置在你的 Minecraft 服务器的 `plugins/` 文件夹中。
3. 对于权限管理,你可以选择使用像 [LuckPerms](https://luckperms.net/) 这样的插件。
4. 重启服务器一次。
---
## 📜 指令 & 权限
| 指令 | 描述 | 权限 |
|-----------------------------------|------------------------------------------------------|-----------------------|
| `/mg host <游戏>` | 创建一个新的大厅 | `mgcore.host` |
| `/mg join <大厅-id>` | 加入大厅 | `mgcore.join` |
| `/mg ready` | 将您的状态设置为已准备就绪 | `mgcore.ready` |
| `/mg unready` | 将您的状态设置为未准备就绪 | `mgcore.ready` |
| `/mg confirm` | 确认一个动作 | `mgcore.confirm` |
| `/mg leave` | 离开大厅或游戏 | `mgcore.leave` |
| `/mg start` | 手动启动游戏(如果允许) | `mgcore.start` |
| `/mg spectate <大厅-id\|玩家>` | 以旁观者身份加入游戏 | `mgcore.spectate` |
| `/mg reload` | 重新加载插件 | `mgcore.admin` |
| `/mg stop <大厅-id>` | 停止一个特定的游戏 | `mgcore.admin` |
| `/mg stopall` | 停止所有活跃的游戏 | `mgcore.admin` |
| `/mg ban <玩家>` | 禁止玩家使用大部分 MiniGameCore 指令 | `mgcore.admin` |
| `/party create <名称>` | 创建一个新的队伍 | `mgcore.party.create` |
| `/party join <玩家>` | 加入玩家的队伍 | `mgcore.party.join` |
| `/party leave` | 离开您的队伍 | `mgcore.party.join` |
| `/party invite <玩家>` | 邀请玩家加入您的队伍 | `mgcore.party.invite` |
| `/party deny` | 拒绝玩家加入您的队伍的邀请 | `mgcore.party.invite` |
| `/party list` | 列出队伍的成员 | `mgcore.party.list` |
---
## ⚙️ 插件配置
插件配置位于文件夹:`./plugins/MiniGameCore`。 主要配置文件是 `config.yml`。
### config.yml
示例配置:
```
available-games:
- 游戏1
- 游戏2
- 游戏3
banned-players:
- 2e0749e5-4ec0-4201-b58d-c4277014749c
- 337482fe-8a15-47f6-bea5-a84918a86393
```
### 加载游戏世界 & 配置它们
游戏世界和配置的文件夹是 `./MiniGameCore`。 每一个游戏世界都应该以这种名称命名:`<游戏名称>_world`。 世界配置的名称是 `config.yml` 并应该放置在游戏的 world 文件夹中。
所有可用选项:
| 字段 | 描述 | 必须/默认 |
|------------------------|-------------------------------------------------------------------|--------------------|
| `name` | 游戏显示名称,例如在积分板或 `/mg host` 中 | ✅ 必须 |
| `maxPlayers` | 此游戏实例的最大玩家数量 | ✅ 必须 |
| `teams` | 队伍的最大数量 | ❌ 无 (默认: 0) |
| `spawnPoints` | 没有队伍的玩家的默认生成点 | ✅ 取决于 |
| `teamSpawnPoints` | 每个队伍的生成点 (例如 `0: [...]`, `1: [...]`) | ✅ 取决于 |
| `inventory` | 游戏开始时的物品 (例如 `["WOODEN_SHOVEL"]`) | ❌ 无 |
| `allowed_break_blocks` | 可以破坏的方块 (例如 `["SNOW_BLOCK"]`) | ❌ 无 |
| `respawnMode` | 控制重生行为: `"true"` 或 `"false"` | ❌ 无 (默认: false) |
| `respawnDelay` | 重生前的延迟秒数 (如果启用) | ❌ 无 (默认: 0) |
| `doDurability` | 控制物品耐久度: `true` (原版) 或 `false` | ❌ 无 (默认: true) |
| `allowPVP` | 允许 PVP: `true` (原版) 或 `false` | ❌ 无 (默认: true) |
一个 8 名玩家的飞雪游戏示例配置:
```
game:
name: Spleef
maxPlayers: 8
teams: 0
spawnPoints:
spawn1:
x: -11
y: 64
z: 0
spawn2:
x: -7
y: 64
z: -7
spawn3:
x: 0
y: 64
z: -11
spawn4:
x: 7
y: 64
z: -7
spawn5:
x: 11
y: 64
z: 0
spawn6:
x: 7
y: 64
z: 7
spawn7:
x: 0
y: 64
z: 11
spawn8:
x: -7
y: 64
z: 7
inventory:
- "iron_shovel"
allowed_break_blocks:
- "snow_block"
respawnMode: false
doDurability: false
allowPVP: false
```