Made with ❤️ for the Minecraft community
# VitalStrike
[](https://www.minecraft.net/)
[](https://github.com/Stawa/VitalStrike/actions/workflows/build.yml)
[](https://github.com/Stawa/VitalStrike/releases)
VitalStrike 是一个强大且高度可定制的 Minecraft 插件,通过动态伤害指示器、连击系统和全面的统计跟踪来增强战斗反馈。
## 文档
有关功能、安装和配置的详细信息,请访问我们的文档:[https://vitalstrike.vercel.app/](https://vitalstrike.vercel.app/)
---
## ⚡ 要求
- Java 21 或更高版本
- Paper 1.21.4+ 或兼容的分支
## ✨ 特色
- 可定制的伤害指示器(样式、颜色、动画和方向)
- 动态连击系统,具有乘数、等级和全息图显示
- 玩家战斗统计跟踪,带有排行榜
- 每个玩家的设置和偏好,以获得个性化体验
- 支持所有伤害类型并与现代声音系统集成
- 自动更新提醒、错误处理和 bStats 用法跟踪
- 易于配置和使用
## 🚀 快速开始
1. 下载 VitalStrike 的最新版本
2. 将其放在服务器的 `plugins` 文件夹中
3. 重新启动服务器
4. 在 `plugins/VitalStrike/config.yml` 中配置插件
## 📖 指令
| 指令 | 权限 | 描述 | 默认值 |
| --------------- | ----------------- | ----------------------- | ------ |
| `/vs help` | vitalstrike.use | 显示帮助菜单 | true |
| `/vs toggle` | vitalstrike.use | 切换伤害指示器 | true |
| `/vs reload` | vitalstrike.reload | 重新加载插件配置 | op |
| `/vs stats` | vitalstrike.stats | 查看战斗统计信息 | true |
| `/vs leaderboard`| vitalstrike.leaderboard | 查看服务器排行榜 | true |
| `/vs hologram` | vitalstrike.hologram | 切换连击全息图 | true |
别名:`/vitalstrike`, `/vs`, `/vs lb` (用于排行榜)
## 🎨 伤害格式
VitalStrike 支持各种伤害类型的不同格式:
```yaml
damage-formats:
default: "-%.1f ❤"
critical: "-%.1f ⚡ "
poison: "-%.1f ☠"
fire: "-%.1f 🔥"
magic: "-%.1f ✨"
# ... 以及更多!
```
## ⚙️ 配置
### 连击系统
```yaml
combo:
enabled: true
reset-time: 3
multiplier:
enabled: true
base: 1.0
per-combo: 0.1
max: 3.0
decay:
enabled: true
time: 10
rate: 1
interval: 1
minimum: 0
```
### 显示设置
```yaml
display:
duration: 1.5
position:
y: -0.2
x: -0.5
random-offset: -1
direction: "down"
animation:
fade-in: 0.25
fade-out: 0.25
float-speed: 0.03
float-curve: 0.02
```
### 🔄 动画方向
- `down`: 指示器向下漂浮(默认)
- `up`: 指示器向上漂浮
- `left`: 指示器向左漂浮
- `right`: 指示器向右漂浮
## 🎮 玩家设置
玩家可以自定义自己的伤害指示器:
1. 切换指示器:`/vs toggle`
## 🔧 API
VitalStrike 提供一个简单的 API 用于开发者:
```java
// 获取插件实例
VitalStrike plugin = (VitalStrike) Bukkit.getPluginManager().getPlugin("VitalStrike");
// 玩家管理
boolean isEnabled = plugin.getPlayerManager().isEnabled(player);
plugin.getPlayerManager().setStyle(player, "-%.1f ❤");
// 统计信息访问
PlayerStats playerStats = plugin.getPlayerStats();
PlayerStats.PlayerStatistics stats = playerStats.getPlayerStatistics(player.getUniqueId());
// 战斗统计信息
int highestCombo = stats.getHighestCombo();
double totalDamage = stats.getTotalDamageDealt();
double avgDamage = stats.getAverageDamagePerHit();
```
## 📄 许可
本项目采用 GNU 通用公共许可证 v3.0 许可 - 详情请参阅 [LICENSE](LICENSE) 文件。
## 📞 联系
- 作者:Stawa
- 问题:[GitHub Issues](https://github.com/Stawa/VitalStrike/issues)
---