## NoSwim
**NoSwim** 是一个为活动举办者和服务器管理员设计的 Minecraft 插件。它阻止玩家自由游泳,确保在游戏内活动中获得更可控的体验。当游泳可能给玩家带来不公平的优势或扰乱活动流程时,此实用工具特别有用,例如在障碍赛、生存挑战或玩家不允许离开岛屿的岛屿上。
## 功能
- **控制玩家在水中的行为(所有配置都在 config 中进行配置)**:
- **最小水深**: 通过设置最小水深来阻止在深水中游泳。
- **玩家伤害**: 选项以毒药或溺水伤害玩家进入深水。
- **下沉力**: 控制玩家在深水中时下沉的速度。
- **水呼吸豁免**: 使拥有水呼吸效果的玩家免受下沉的影响。
- **水面以上建筑限制**: 阻止玩家在受限的水面上方建造。 (尚未完全开发)
## 指令
该插件支持以下指令:
- `/noswim enable`: 启用 NoSwim 插件的行为(阻止在深水中游泳)。
- `/noswim disable`: 禁用 NoSwim 插件的行为。
- `/noswim reload`: 从 `config.yml` 重新加载插件配置。
## 权限
- `noswim.admin`: 允许玩家使用 `/noswim` 指令(用于启用、禁用和重新加载插件)。
- `noswim.bypass`: 允许玩家绕过下沉机制并在深水中游泳。
## 配置选项
`config.yml` 文件允许您自定义插件的行为。以下是可用的配置设置:
```yaml
# NoSwim 配置文件的版本 - 0.1-BETA-B1
# 下载新版本后,强烈建议重新生成配置文件。
# 要重新生成配置文件:删除此配置文件并重启服务器。
# 激活下沉效果所需的最小水深(深度)
min-water-height: 2 # 数字
# 免除拥有水呼吸效果的玩家
water-breath-exemption: true # 选项:true, false
# 伤害选项:毒药、溺水或无
player-damage:
enabled: false # 选项:true, false
type: poison # 选项:poison, drowning, none
damage-interval: 40 # 刻 (20 刻 = 1 秒)
# 下沉效果
downforce:
enabled: true # 开启/关闭下沉效果 | 选项:true, false
amount: 0.25 # 默认下沉速度 (0.1 较慢,0.5 较快)
# [BETA] 允许在水面以上建造
# 此功能仍在开发中,并且包含错误,
# 玩家可以轻松绕过此限制。
# 建议让玩家在错误修复之前在水面以上建造。
allow-building-above-water: true # 选项:true, false (默认:true)
```
### 配置变量:
- **`min-water-height`**: 定义触发下沉效果所需的水的高度。低于此高度的水中玩家将不会体验下沉效果。
- **`water-breath-exemption`**: 如果设置为 `true`,拥有水呼吸效果的玩家将不会受到下沉行为的影响。
- **`player-damage`**:
- **`enabled`**: 将其设置为 `true` 以启用玩家伤害效果(例如,中毒或溺水)。
- **`type`**: 确定施加的伤害类型。选项为 `poison`、`drowning` 或 `none`。
- **`damage-interval`**: 定义每次伤害应用之间的间隔(以刻为单位)。
- **`downforce`**:
- **`enabled`**: 控制下沉效果是否处于活动状态。如果设置为 `false`,则玩家将漂浮。
- **`amount`**: 确定玩家下沉的速度。接近 0 的值使玩家下沉速度较慢,较高的值使他们下沉速度更快。
- **`allow-building-above-water`**: 允许或阻止玩家在水面以上建造。此功能仍在开发中,玩家可以绕过此限制。在使用此功能时请小心,直到发布未来的更新。
## 故障排除
- **玩家在深水中无法下沉**: 确保 `min-water-height` 设置正确,并且 `downforce` 值已正确配置。
- **未应用伤害**: 验证 config 中的 `player-damage` 设置是否设置为 `true`,并且已指定有效的伤害类型 (`poison` 或 `drowning`)。
- **玩家仍然可以水面以上建造**: 这是因为插件只检查放置块下方的水。这就是为什么我建议在错误修复之前让玩家保持在水面以上建造的原因。将来会解决这个问题,当我想出一个检查此问题的好方法时。
## 贡献
如果您想贡献新功能或修复,请随意分叉此插件并提交拉取请求。欢迎所有贡献!
## 授权
NoSwim 采用 MIT 许可。有关更多详细信息,请参阅 LICENSE 文件。