# SleepPlugin
Minecraft Paper 1.21.x 插件,用于增强睡眠机制 - 只需要在线玩家的一半即可跳过夜晚。
## 功能
- 需要在线玩家的一半才能跳过夜晚
- 奇数玩家计数的智能计算
- 多种消息模式(正常,精简,静默)
- 暴风雨和夜晚跳过
- 忽略地狱和末地维度中的玩家
- 从夜晚到早晨的平滑时间过渡
- 配置更新系统(更新期间保留设置)
- 多世界支持
- 多语言支持 (英语,俄语和自定义语言)
## 示例
- 2 名玩家在线:需要 1 名玩家睡觉
- 3 名玩家在线:需要 1 名玩家睡觉 ((3-1)/2 = 1)
- 4 名玩家在线:需要 2 名玩家睡觉
- 5 名玩家在线:需要 2 名玩家睡觉 ((5-1)/2 = 2)
- 6 名玩家在线:需要 3 名玩家睡觉
## 配置
插件首次启动服务器后,将在 `plugins/SleepPlugin/config.yml` 中创建一个配置文件:
```yaml
# SleepPlugin 配置
# 请勿手动更改此版本号
version: "1.0.3"
language: en_EN
skip-delay: 3
morning-time: 1000
message-mode: normal
min-players-required: 2
ignore-nether-end-players: true
smooth-time-transition:
enabled: true
duration-ticks: 60
steps: 60
storm-settings:
skip-storms: true
```
### 设置:
- `language`: 插件消息的语言 (en_EN 或 ru_RU)
- `skip-delay`: 跳过夜晚前的秒数
- `morning-time`: 跳到早晨时设置的 Minecraft 时间值
- `message-mode`: 控制插件消息的详细程度
- `normal`: 标准详细消息
- `minimal`: 短而简洁的消息
- `silent`: 完全没有消息
- `min-players-required`: 激活睡眠机制所需的最小玩家人数(玩家人数少于此值,插件将无法工作)
- `ignore-nether-end-players`: 当为 true 时,地狱或末地维度中的玩家将不会被计入睡眠计算
- `smooth-time-transition`: 平滑时间过渡功能的设置
- `enabled`: 是否启用平滑过渡或使用即时时间变化
- `duration-ticks`: 过渡应持续多长时间(以刻为单位,20 刻 = 1 秒)
- `steps`: 中间步骤的数量(越高 = 越平滑)
- `storm-settings`: 暴风雨跳过功能的设置
- `skip-storms`: 当为 true 时,玩家可以通过睡觉跳过暴风雨
## 自定义语言文件
你可以创建自己的语言翻译:
1. 导航到 `plugins/SleepPlugin/lang/`
2. 将 `template.yml` 复制为模板
3. 重命名为你的语言代码 (例如 `de_DE.yml`、`fr_FR.yml`)
4. 翻译所有消息字符串
5. 在 `config.yml` 中设置 `language: de_DE`
6. 重启服务器
插件会自动检测所有自定义语言文件!
**提示:** 使用 `template.yml` - 它为翻译人员提供了有用的注释。