# 不掉羽毛攻击
## _[又名羽毛攻击取消]_
羽毛命中不是攻击——一个将羽毛命中转化为仅有击退效果的小型 Paper 插件。它取消伤害事件(因此村民不会生气并且没有伤害副作用触发),同时应用轻微的自定义击退效果。
## 特点
- 仅击退的羽毛命中:取消伤害事件并应用自定义推力。
- 通过命令`/featherhit`进行每人切换。
- 玩家加入时自动启用(以及插件重新加载后对已在线玩家启用)。
- 客户端语言消息支持:`en_us`、`de_de`、`fr_fr`、`es_es`、`hu_hu`。
- 通过 Maven 配置文件支持多个 MC 版本(1.21.7 和 1.21.8)。
## 要求
- Java 21 (Paper 1.21+ 需要 Java 21)。
- PaperMC 服务器 1.21.7 或 1.21.8 (与构建的 JAR 文件匹配)。
## 安装
1. 下载/构建适用于您的服务器版本的 JAR 文件(请参阅“构建”部分)。
2. 将 JAR 文件放入服务器的 `plugins/` 文件夹中。
3. 启动服务器。插件将创建:
- `plugins/NoFeatherAttack/config.yml`
- `plugins/NoFeatherAttack/lang/*.yml`
## 命令
- `/featherhit` — 对您自己切换仅击退模式。
权限:无 (默认为所有玩家都可以使用该命令)。
## 配置
文件: `plugins/NoFeatherAttack/config.yml` (仅使用空格,不使用 TAB)
键
- trigger-item: 触发击退效果物品的 Bukkit 材料名称 (大写)。 默认为:FEATHER
- knockback:
- min-charge: 数字 (0.0–1.0)。 应用击退所需的最小攻击冷却时间。 1.0 = 完全充能。 默认为:0.9
- horizontal: 数字。 击退向量的基准水平强度。 默认为:0.6
- min-upward: 数字。 确保至少有此向上 (Y) 分量,以防止命中将目标向下推。 默认为:0.35
- scale-by-charge: 布尔值。 如果为真,则按当前攻击充能水平缩放水平强度(可防止弱攻击像满强度攻击一样强大)。 默认为:false
- clamp-velocity: 布尔值。 如果为真,则将目标的最终速度幅度限制在一定范围内,以避免“堆叠”发射。 默认为:true
- max-velocity: 数字。 在启用限制时,最终速度幅度的最大值。 默认为:1.2
- behavior:
- auto-enable-on-enable: 布尔值。 当插件启用时(例如,服务器启动/重新加载),自动为已经在线的玩家启用此功能。 默认为:true
- auto-enable-on-join: 布尔值。 玩家加入时自动启用此功能。 默认为:true
应用更改
- 没有重新加载子命令;`/featherhit` 仅为执行该命令的玩家切换此功能。
- 要应用配置更改,请重启服务器 (或停止/启动)。
语言文件
- 路径:`plugins/NoFeatherAttack/lang/`
- 降级顺序:精确客户端标签(例如 `de-de.yml`)→ 下划线形式(例如 `de_de.yml`)→ `en_us.yml`。
- 颜色代码:使用 `&` (例如 `&6`、`&a`)。
示例
```yaml
# 较软的击退效果,随充能水平缩放
trigger-item: FEATHER
knockback:
min-charge: 0.9
horizontal: 0.45
min-upward: 0.30
scale-by-charge: true
clamp-velocity: true
max-velocity: 1.0
behavior:
auto-enable-on-enable: true
auto-enable-on-join: true
```
## 关于命名空间命令建议的说明
如果补全显示命名空间命令,例如 `/nofeatherattack:featherhit`,这是来自插件名称的命名空间。在 Paper 上,您可以设置 `send-namespaced=false` 在 `paper-global.yml` (或您的版本的相应 Paper 配置) 中隐藏命名空间建议。