# 战斗大师
Gelişmiş combo sayacı, ses efektleri, miss (ıskalama) algılama, renk sistemi, veritabanı ve liderlik tablosu özelliklerine sahip bir Minecraft (Spigot/Paper) eklentisi.
一个拥有高级连击计数器、音效、失误检测、颜色系统、数据库和排行榜功能的 Minecraft (Spigot/Paper) 插件。
---
## 🇹🇷 Türkçe
### Özellikler
- Gelişmiş ses sistemi: combo seviyesine göre farklı sesler, miss ve reset sesleri (`src/main/resources/config.yml`/`sounds`).
- Zengin combo mesajları ve action bar formatı (`combo.messages`, `combo.actionbar`).
- Miss (ıskalama) algılama ve opsiyonel combo sıfırlama (`combo.miss-system`).
- Combo sayısına göre renk sistemi (`combo.color-system`).
- SQLite (varsayılan) ve MySQL desteği, HikariCP bağlantı havuzu (`database`).
- Liderlik tablosu ve periyodik güncelleme (`leaderboard`).
- PlaceholderAPI entegrasyonu (opsiyonel, `softdepend`).
- Komutlar ve izinler ile yönetim.
高级音效系统:根据连击等级的不同音效,失误和重置音效 (`src/main/resources/config.yml`/`sounds`)。
丰富的连击消息和 action bar 格式 (`combo.messages`, `combo.actionbar`)。
失误检测以及可选的连击重置 (`combo.miss-system`)。
根据连击数设置颜色系统 (`combo.color-system`)。
SQLite (默认) 和 MySQL 支持,HikariCP 连接池 (`database`)。
排行榜以及周期性更新 (`leaderboard`)。
可选的 PlaceholderAPI 集成 (`softdepend`)。
管理命令和权限。
### Gereksinimler
- Java 17+
- Spigot/Paper 1.20+
- (Opsiyonel) PlaceholderAPI
- Java 17+
- Spigot/Paper 1.20+
- (可选) PlaceholderAPI
### Kurulum
1. Yayınlanan jar dosyasını `plugins/` klasörüne kopyalayın.
2. Sunucuyu başlatın ve `plugins/Combat-Master/` altında `config.yml` oluşturulmasına izin verin.
3. Gerekirse `config.yml` dosyasını düzenleyin.
4. (Opsiyonel) PlaceholderAPI kurun ve gerekli placeholderları kullanın.
1. 将发布后的 jar 文件复制到 `plugins/` 文件夹中。
2. 启动服务器,允许在 `plugins/Combat-Master/` 下创建 `config.yml` 文件.
3. 根据需要编辑 `config.yml` 文件。
4. (可选) 安装 PlaceholderAPI 并使用占位符。
### Konfigürasyon
`src/main/resources/config.yml` ana anahtarları:
- `sounds.enabled`: Sesleri aç/kapat.
- `sounds.combo-sounds.low|medium|high|epic`: `sound`, `volume`, `pitch`.
- `sounds.miss-sound`: `enabled`, `sound`, `volume`, `pitch`.
- `sounds.reset-sound`: `enabled`, `sound`, `volume`, `pitch`.
- `combo.messages`: Action bar mesaj döngüsü.
- `combo.message-interval`: Kaç vuruşta bir mesaj.
- `combo.actionbar.enabled`, `combo.actionbar.format`: Örn. `&e{combo}x &a{message}`.
- `combo.color-system.enabled`, `combo.color-system.colors`: Aralık -> renk `&` kodu.
- `combo.timeout-seconds`: Son vuruştan sonra combo sıfırlama süresi.
- `combo.miss-system.enabled`, `combo.miss-system.reset-on-miss`: Miss algılama ve sıfırlama.
- `enabled-worlds`: Boş değilse sadece bu dünyalarda aktif.
- `database.type`: `sqlite` veya `mysql`.
- `database.sqlite.file`: SQLite dosya adı.
- `database.mysql.*`: `host`, `port`, `database`, `username`, `password`, `ssl`.
- `leaderboard.size`, `leaderboard.title`, `leaderboard.format`, `leaderboard.update-interval`.
- `messages.*`: İzin, reload, oyuncu bulunamadı, dünya pasif mesajları.
`src/main/resources/config.yml` 中的主要键:
- `sounds.enabled`: 开启/关闭音效。
- `sounds.combo-sounds.low|medium|high|epic`: `sound`, `volume`, `pitch`。
- `sounds.miss-sound`: `enabled`, `sound`, `volume`, `pitch`。
- `sounds.reset-sound`: `enabled`, `sound`, `volume`, `pitch`。
- `combo.messages`: Action bar 消息循环。
- `combo.message-interval`: 每多少次攻击显示一次消息。
- `combo.actionbar.enabled`, `combo.actionbar.format`: 例如 `&e{combo}x &a{message}`。
- `combo.color-system.enabled`, `combo.color-system.colors`: 范围 -> 颜色 `&` 码。
- `combo.timeout-seconds`: 攻击后的连击重置时间。
- `combo.miss-system.enabled`, `combo.miss-system.reset-on-miss`: 失误检测和重置。
- `enabled-worlds`: 如果不为空,仅在此世界中激活。
- `database.type`: `sqlite` 或 `mysql`。
- `database.sqlite.file`: SQLite 文件名。
- `database.mysql.*`: `host`, `port`, `database`, `username`, `password`, `ssl`。
- `leaderboard.size`, `leaderboard.title`, `leaderboard.format`, `leaderboard.update-interval`。
- `messages.*`: 权限、重新加载、找不到玩家、世界静音消息。
Renk ve formatlarda `&` renk kodları desteklenir. Yer tutucular:
- `{combo}`: Mevcut combo sayısı
- `{message}`: Mesaj döngüsündeki metin
- `leaderboard.format` içinde: `{rank}`, `{player}`, `{combo}`
颜色和格式支持 `&` 颜色代码。占位符:
- `{combo}`: 当前连击数
- `{message}`: 消息循环中的文本
- 在 `leaderboard.format` 中: `{rank}`, `{player}`, `{combo}`
### Komutlar
- `/combatmaster [reload|stats|reset|info|top]`
- `stats [player]`: Oyuncu istatistiklerini gösterir.
- `top`: Liderlik tablosunu gösterir.
- `reload`: Konfigürasyonu yeniden yükler. (admin)
- `reset [player]`: Oyuncunun verilerini sıfırlar. (admin)
- `info`: Eklenti hakkında bilgi. (admin)
- `/combatmaster [reload|stats|reset|info|top]`
- `stats [player]`: 显示玩家统计数据。
- `top`: 显示排行榜。
- `reload`: 重新加载配置。 (管理员)
- `reset [player]`: 重置玩家数据。 (管理员)
- `info`: 关于插件的信息。 (管理员)
### İzinler
- `combatmaster.admin` (varsayılan: `op`): Yönetim komutlarına erişim.
- `combatmaster.use` (varsayılan: `true`): Temel kullanım (stats, top).
- `combatmaster.admin` (默认: `op`): 访问管理命令。
- `combatmaster.use` (默认: `true`): 基本用法 (stats, top)。
### Placeholderlar (PlaceholderAPI)
Aşağıdaki örnekler PAPI ile kullanılabilir (PAPI yüklüyse):
- `%combatmaster_combo%`: Anlık combo.
- `%combatmaster_best_combo%`: Oyuncunun en iyi combosu.
- `%combatmaster_total_hits%`: Toplam vuruş.
- `%combatmaster_rank%`: Sıralamadaki yeri (yaklaşık/önbellekli olabilir).
以下示例可与 PAPI 一起使用(如果已安装 PAPI):
- `%combatmaster_combo%`: 当前连击数。
- `%combatmaster_best_combo%`: 玩家的最佳连击数。
- `%combatmaster_total_hits%`: 总攻击次数。
- `%combatmaster_rank%`: 排行榜中的位置(可能为近似值/缓存值)。
Not: Bazı placeholderlar performans için asenkron/önbellekli dönebilir.
注意:某些占位符可能为了性能而异步/缓存返回。
### Veritabanı
- Varsayılan: SQLite (`plugins/Combat-Master/combatmaster.db`).
- MySQL için `database.type: mysql` ve bağlantı bilgilerini doldurun.
- 默认 SQLite (`plugins/Combat-Master/combatmaster.db`)。
- 对于 MySQL,将 `database.type: mysql` 设置为并填写连接信息。
### SSS
- Combo neden sıfırlanıyor? `combo.timeout-seconds` süresi dolduğunda veya miss (ıskalama) olduğunda (`reset-on-miss: true`).
- Sesler çalışmıyor? `sounds.enabled: true` olduğundan ve sound adlarının sürümünüzle uyumlu olduğundan emin olun.
- Bazı dünyalarda çalışmıyor? `enabled-worlds` listesini kontrol edin.
- 连击为什么会重置?当 `combo.timeout-seconds` 时间到或出现失误 (`reset-on-miss: true`) 时。
- 没有声音?请确保 `sounds.enabled: true` 并且声音名称与您的服务器版本兼容。
- 在某些世界中不起作用?请检查 `enabled-worlds` 列表。
---
## 🇬🇧 English
### Features
- Advanced sound system by combo tiers, miss and reset sounds (`config.yml`/`sounds`).
- Rich combo messages and action bar formatting (`combo.messages`, `combo.actionbar`).
- Miss detection with optional combo reset (`combo.miss-system`).
- Combo-based color system (`combo.color-system`).
- SQLite (default) and MySQL support via HikariCP (`database`).
- Leaderboard with periodic refresh (`leaderboard`).
- Optional PlaceholderAPI integration (`softdepend`).
- Commands and permissions for administration.
高级音效系统:根据连击等级的不同音效,失误和重置音效 (`config.yml`/`sounds`)。
丰富的连击消息和 action bar 格式 (`combo.messages`, `combo.actionbar`)。
失误检测以及可选的连击重置 (`combo.miss-system`)。
根据连击数设置颜色系统 (`combo.color-system`)。
SQLite (默认) 和 MySQL 支持,HikariCP 连接池 (`database`)。
排行榜以及周期性更新 (`leaderboard`)。
可选的 PlaceholderAPI 集成 (`softdepend`)。
管理命令和权限。
### Requirements
- Java 17+
- Spigot/Paper 1.20+
- (Optional) PlaceholderAPI
- Java 17+
- Spigot/Paper 1.20+
- (可选) PlaceholderAPI
### Installation
1. Drop the released jar into the `plugins/` folder.
2. Start the server to generate `config.yml` under `plugins/Combat-Master/`.
3. Edit `config.yml` as needed.
4. (Optional) Install PlaceholderAPI to use placeholders.
1. 将发布后的 jar 文件复制到 `plugins/` 文件夹中。
2. 启动服务器,允许在 `plugins/Combat-Master/` 下创建 `config.yml` 文件.
3. 根据需要编辑 `config.yml` 文件。
4. (可选) 安装 PlaceholderAPI 并使用占位符。
### Configuration
Main keys in `src/main/resources/config.yml`:
- `sounds.enabled`
- `sounds.combo-sounds.low|medium|high|epic` with `sound`, `volume`, `pitch`
- `sounds.miss-sound` and `sounds.reset-sound`
- `combo.messages`, `combo.message-interval`
- `combo.actionbar.enabled`, `combo.actionbar.format`
- `combo.color-system.enabled`, `combo.color-system.colors`
- `combo.timeout-seconds`
- `combo.miss-system.enabled`, `combo.miss-system.reset-on-miss`
- `enabled-worlds`
- `database.type`, `database.sqlite.file`, `database.mysql.*`
- `leaderboard.size`, `leaderboard.title`, `leaderboard.format`, `leaderboard.update-interval`
- `messages.*`
`src/main/resources/config.yml` 中的主要键:
- `sounds.enabled`: 开启/关闭音效。
- `sounds.combo-sounds.low|medium|high|epic`: `sound`, `volume`, `pitch`。
- `sounds.miss-sound`: `enabled`, `sound`, `volume`, `pitch`。
- `sounds.reset-sound`: `enabled`, `sound`, `volume`, `pitch`。
- `combo.messages`: Action bar 消息循环。
- `combo.message-interval`: 每多少次攻击显示一次消息。
- `combo.actionbar.enabled`, `combo.actionbar.format`: 例如 `&e{combo}x &a{message}`。
- `combo.color-system.enabled`, `combo.color-system.colors`: 范围 -> 颜色 `&` 码。
- `combo.timeout-seconds`: 攻击后的连击重置时间。
- `combo.miss-system.enabled`, `combo.miss-system.reset-on-miss`: 失误检测和重置。
- `enabled-worlds`: 如果不为空,仅在此世界中激活。
- `database.type`: `sqlite` 或 `mysql`。
- `database.sqlite.file`: SQLite 文件名。
- `database.mysql.*`: `host`, `port`, `database`, `username`, `password`, `ssl`。
- `leaderboard.size`, `leaderboard.title`, `leaderboard.format`, `leaderboard.update-interval`。
- `messages.*`: 权限、重新加载、找不到玩家、世界静音消息。
Placeholders in formats:
- `{combo}`, `{message}` for action bar
- `{rank}`, `{player}`, `{combo}` for leaderboard format
颜色和格式支持 `&` 颜色代码。占位符:
- `{combo}`: 当前连击数
- `{message}`: 消息循环中的文本
- 在 `leaderboard.format` 中: `{rank}`, `{player}`, `{combo}`
### Commands
- `/combatmaster [reload|stats|reset|info|top]`
- `stats [player]`: Shows player stats.
- `top`: Shows leaderboard.
- `reload`: Reloads configuration. (admin)
- `reset [player]`: Resets player data. (admin)
- `info`: About plugin. (admin)
- `/combatmaster [reload|stats|reset|info|top]`
- `stats [player]`: 显示玩家统计数据。
- `top`: 显示排行榜。
- `reload`: 重新加载配置。 (管理员)
- `reset [player]`: 重置玩家数据。 (管理员)
- `info`: 关于插件的信息。 (管理员)
### Permissions
- `combatmaster.admin` (default: `op`): Access to admin commands.
- `combatmaster.use` (default: `true`): Basic usage (stats, top).
- `combatmaster.admin` (默认: `op`): 访问管理命令。
- `combatmaster.use` (默认: `true`): 基本用法 (stats, top)。
### Placeholders (PlaceholderAPI)
Aşağıdaki örnekler PAPI ile kullanılabilir (PAPI yüklüyse):
- `%combatmaster_combo%`: Anlık combo.
- `%combatmaster_best_combo%`: Oyuncunun en iyi combosu.
- `%combatmaster_total_hits%`: Toplam vuruş.
- `%combatmaster_rank%`: Sıralamadaki yeri (yaklaşık/önbellekli olabilir).
以下示例可与 PAPI 一起使用(如果已安装 PAPI):
- `%combatmaster_combo%`: 当前连击数。
- `%combatmaster_best_combo%`: 玩家的最佳连击数。
- `%combatmaster_total_hits%`: 总攻击次数。
- `%combatmaster_rank%`: 排行榜中的位置(可能为近似值/缓存值)。
Note: Bazı placeholderlar performans için asenkron/önbellekli dönebilir.
注意:某些占位符可能为了性能而异步/缓存返回。
### Database
- Default SQLite at `plugins/Combat-Master/combatmaster.db`.
- For MySQL set `database.type: mysql` and configure credentials.
- 默认 SQLite (`plugins/Combat-Master/combatmaster.db`)。
- 对于 MySQL,将 `database.type: mysql` 设置为并填写连接信息。
### FAQ
- Combo neden sıfırlanıyor? `combo.timeout-seconds` süresi dolduğunda veya miss (ıskalama) olduğunda (`reset-on-miss: true`).
- Sesler çalışmıyor? `sounds.enabled: true` olduğundan ve sound adlarının sürümünüzle uyumlu olduğundan emin olun.
- Bazı dünyalarda çalışmıyor? `enabled-worlds` listesini kontrol edin.
- 连击为什么会重置?当 `combo.timeout-seconds` 时间到或出现失误 (`reset-on-miss: true`) 时。
- 没有声音?请确保 `sounds.enabled: true` 并且声音名称与您的服务器版本兼容。
- 在某些世界中不起作用?请检查 `enabled-worlds` 列表。
This project is a closed-source example; distribution terms belong to the owner. All rights reserved unless stated otherwise.
此项目是一个封闭源代码示例; 分发条款属于所有者。未经另行说明,保留所有权利。