SLBossSpawner
A powerful scheduled boss spawner with MythicMobs integration, player performance tracking, and a tiered reward system.
Plugin triệu hồi Boss theo lịch, tích hợp MythicMobs, theo dõi đóng góp người chơi và chia thưởng theo bảng xếp hạng.
OverviewTổng quan
Scheduled Spawning
Triệu hồi theo giờ
Spawn bosses at exact times with timezone support. Auto-expire after configurable duration.
Boss xuất hiện đúng giờ đã hẹn, hỗ trợ múi giờ Việt Nam. Hết thời gian sẽ tự biến mất.
3-Category Tracking
Theo dõi 3 hạng mục
Tracks Damage dealt, Damage tanked, and Support effects applied to bosses.
Ghi nhận sát thương gây ra, sát thương chịu đựng, và hiệu ứng hỗ trợ lên Boss.
Tiered Rewards
Thưởng theo hạng
Rank-based rewards with multipliers, commands, items, and drop tables per category.
Thưởng theo thứ hạng, có hệ số nhân, chạy lệnh, trao vật phẩm và bảng loot riêng.
Smart Broadcasts
Thông báo tự động
Countdown warnings via chat, title, and bossbar. Death announcements with killer info.
Đếm ngược qua chat, title và bossbar trước khi Boss xuất hiện. Thông báo khi Boss bị hạ kèm tên người chơi.
Item Protection
Bảo vệ vật phẩm
Dropped rewards are locked to their owner. Configurable expiry: public or despawn.
Vật phẩm rơi ra chỉ chủ nhân mới nhặt được. Hết hạn có thể cho công khai hoặc xoá luôn.
Full Persistence
Lưu trữ đầy đủ
Boss state + offline rewards survive server restarts. Queued rewards delivered on join.
Trạng thái Boss và phần thưởng offline giữ nguyên qua restart. Vào lại server là nhận thưởng.
InstallationCài đặt
- + Install MythicMobs 5.x (required dependency)
- + Place
SLBossSpawner-2.0.0.jarintoplugins/ - + Restart the server — config files are generated automatically
- + Edit configs in
plugins/SLBossSpawner/ - + Run
/slboss reloadto apply changes
- + Cài MythicMobs 5.x (bắt buộc phải có)
- + Bỏ file
SLBossSpawner-2.0.0.jarvào thư mụcplugins/ - + Restart server — các file config sẽ được tạo tự động
- + Chỉnh cấu hình trong
plugins/SLBossSpawner/ - + Gõ
/slboss reloadđể áp dụng
config.yml
# SLBossSpawner Configuration prefix: "&#FF6B6B[&#FFD93DSLBossSpawner&#FF6B6B] " debug: false language: "vi" # "en" = English, "vi" = Tieng Viet
| Key | Khoá | Description | Mô tả | Default | Mặc định |
|---|---|---|---|---|---|
prefix |
Chat prefix with hex color support | Tiền tố chat, hỗ trợ mã màu hex | FF6B6B[...] |
||
debug |
Enable debug logging | Bật log chi tiết để debug | false |
||
language |
Message language file | File ngôn ngữ cho các thông báo | vi |
schedules.yml
Each top-level key defines a boss with its MythicMob, schedule, location, and broadcast settings.
Mỗi khoá cấp cao nhất là một Boss, gồm thông tin MythicMob, lịch spawn, vị trí và cài đặt thông báo.
boss: # Boss ID (must match reward.yml) mythicmob: SkeletonKing # MythicMobs internal name expire: 3600 # Despawn after 3600s (1 hour) clearOnExpire: true # Remove entity when expired time-settings: zone: Asia/Ho_Chi_Minh # IANA timezone time: - "12:00" # Spawn at noon - "18:00" # Spawn at 6 PM - "21:00" # Spawn at 9 PM location: x: 100 y: 64 z: -200 world: bossworld leashRadius: 10 # Max wander distance (0 = no limit) loadChunks: true # Force-load spawn chunk broadcast: death: chat: true title: true spawn-warning: chat: true title: true bossbar: true intervals: [30, 15, 5, 1] # Warning at X minutes before spawn
Schedule Field Reference
Bảng tra cứu các trường
| Field | Description | Mô tả | Type |
|---|---|---|---|
mythicmob | MythicMobs mob ID | ID mob trong MythicMobs | String |
expire | Seconds until auto-despawn | Số giây trước khi tự biến mất | Integer |
clearOnExpire | Remove entity on expire | Xoá entity khi hết thời gian | Boolean |
time-settings.zone | IANA timezone | Múi giờ theo chuẩn IANA | String |
time-settings.time | Spawn times (HH:mm) | Giờ triệu hồi (HH:mm) | List |
location.* | Spawn coordinates + world | Toạ độ spawn + world | Number/String |
leashRadius | Max distance from spawn | Khoảng cách tối đa Boss đi được tính từ điểm spawn | Integer |
loadChunks | Force chunk load on spawn | Buộc load chunk khi spawn Boss | Boolean |
broadcast.* | Toggle chat/title/bossbar | Bật/tắt chat, title, bossbar | Boolean |
intervals | Warning minutes before spawn | Số phút cảnh báo trước khi spawn | List<Integer> |
reward.yml
Reward configuration per boss. Each boss has 3 categories: damage, tank, support — each with configurable tiers.
Cấu hình phần thưởng cho từng Boss. Mỗi Boss có 3 hạng mục: sát thương, chịu đòn, hỗ trợ — mỗi hạng mục chia thành nhiều bậc thưởng khác nhau.
boss: # Must match schedules.yml ID enabled: true item-protection: enabled: true duration: 60 # Seconds before expiry expire-action: public # "public" or "despawn" last-hit-bonus: multiplier: 1.5 # Bonus for the killing blow global-multiplier: 1.0 # Multiply all item amounts damage: # Damage category enabled: true tiers: 1: # Rank #1 multiplier: 3.0 commands: - "eco give {player} 5000" drop-tables: - "BossLootTable" items: - type: vanilla material: DIAMOND amount: 5 display-name: "&#FFD93D&lTop 1 Damage"
Item Type Examples (Vanilla / MMOItems / MythicMobs)
Ví dụ các loại vật phẩm (Vanilla / MMOItems / MythicMobs)
# Vanilla Minecraft item - type: vanilla material: DIAMOND amount: 5 display-name: "&#FFD93D&lCustom Name" # MMOItems item (requires MMOItems plugin) - type: mmoitems material: SWORD # MMOItems type id: "CUSTOM_SWORD" # MMOItems ID amount: 1 # MythicMobs item (built-in) - type: mythicmobs material: "CustomItem" # MythicMobs internal name amount: 1
Reward Field Reference
Bảng tra cứu phần thưởng
| Field | Description | Mô tả |
|---|---|---|
enabled | Enable/disable rewards for this boss | Bật/tắt thưởng cho boss này |
item-protection.duration | Seconds before item becomes public/despawns | Số giây trước khi vật phẩm thành công khai hoặc biến mất |
item-protection.expire-action | public = anyone picks up, despawn = removed | public = ai nhặt cũng được, despawn = xoá khỏi thế giới |
last-hit-bonus.multiplier | Item amount multiplier for killing blow | Hệ số nhân cho người ra đòn kết liễu |
global-multiplier | Multiply all item amounts globally | Hệ số nhân áp dụng cho tất cả vật phẩm |
tiers.N.multiplier | Item amount multiplier for rank N | Hệ số nhân vật phẩm cho người xếp hạng N |
tiers.N.commands | Console commands ({player} placeholder) | Lệnh console (dùng {player} thay tên người chơi) |
tiers.N.drop-tables | MythicMobs drop tables to execute | Bảng loot MythicMobs sẽ được chạy |
tiers.N.items | Item rewards (vanilla/mmoitems/mythicmobs) | Vật phẩm thưởng (vanilla, MMOItems hoặc MythicMobs) |
Player TrackingTheo dõi người chơi
SLBossSpawner tracks player contributions in 3 independent categories during boss fights:
Trong mỗi trận đánh Boss, plugin sẽ theo dõi đóng góp của người chơi qua 3 hạng mục riêng biệt:
Damage
Total damage dealt to the boss. Direct hits, arrows, pets, TNT, area effects.
Tổng sát thương gây lên Boss. Tính cả đánh tay, bắn tên, thú cưng, TNT, hiệu ứng diện rộng.
Tank
Total damage received from the boss. Rewards players who absorb hits for the team.
Tổng sát thương chịu từ Boss. Ai đứng chắn đỡ đòn cho đồng đội sẽ được ghi nhận.
Support
Harmful potion effects applied to the boss. 16 supported debuff types tracked.
Hiệu ứng debuff áp lên Boss. Plugin theo dõi 16 loại hiệu ứng có hại.
Damage Attribution Details
Chi tiết quy kết sát thương
| Source | Nguồn | Attributed To | Quy cho |
|---|---|---|---|
| Direct melee hit | Đánh trực tiếp | Attacker | Người tấn công |
| Arrow / Trident | Tên / Đinh ba | Shooter | Người bắn |
| Tamed wolf/pet | Thú cưng đã thuần | Pet owner | Chủ thú cưng |
| TNT | TNT igniter | Người kích nổ | |
| Area Effect Cloud | Đám mây hiệu ứng | Cloud source | Nguồn tạo đám mây |
Tracked Support Effects (16 types)
Các hiệu ứng hỗ trợ được theo dõi (16 loại)
POISON WITHER SLOW WEAKNESS MINING_FATIGUE BLINDNESS HUNGER NAUSEA LEVITATION GLOWING BAD_OMEN DARKNESS WIND_CHARGED WEAVING OOZING INFESTED
Reward SystemHệ thống phần thưởng
How It Works
Cách hoạt động
- Boss dies — MythicMobDeathEvent triggers reward distribution
- Rankings built — Players sorted by contribution per category
- Tier matching — Rank #1 gets tier 1 rewards, rank #2 gets tier 2, etc.
- Multipliers applied —
tier x global x last-hit-bonus(if applicable) - Rewards delivered — Commands executed, items given (or dropped with protection)
- Offline queue — If player is offline, rewards are saved and delivered on next join
- Boss chết — MythicMobDeathEvent kích hoạt việc chia thưởng
- Lập bảng xếp hạng — Người chơi được xếp theo đóng góp ở mỗi hạng mục
- Ghép bậc thưởng — Hạng 1 nhận thưởng bậc 1, hạng 2 nhận bậc 2, v.v.
- Áp hệ số nhân —
bậc x toàn cục x thưởng đòn kết liễu(nếu có) - Phát thưởng — Chạy lệnh, trao đồ vào túi (hoặc rơi ra kèm bảo vệ nếu túi đầy)
- Hàng đợi offline — Người chơi đang offline sẽ nhận thưởng khi đăng nhập lại
BroadcastsThông báo
Spawn Warnings
Cảnh báo trước khi spawn
Countdown warnings are sent at configured intervals (in minutes) before boss spawn. Channels: chat, title, bossbar — each independently toggleable.
Thông báo đếm ngược được gửi theo các mốc thời gian (tính bằng phút) trước khi Boss xuất hiện. Có 3 kênh: chat, title, bossbar — mỗi kênh bật/tắt riêng.
Death Announcements
Thông báo khi Boss bị hạ
When a boss dies, announcements show the killer's name. Ranking leaderboards display the top contributors per category.
Khi Boss bị tiêu diệt, hệ thống sẽ thông báo tên người hạ gục. Bảng xếp hạng hiển thị top người đóng góp theo từng hạng mục.
Item ProtectionBảo vệ vật phẩm
When a player's inventory is full, reward items drop on the ground with owner-only pickup protection.
Khi túi đồ người chơi đầy, vật phẩm thưởng sẽ rơi xuống đất và được khoá cho chủ nhân — chỉ người đó mới nhặt được.
- Item dropped → tagged with owner UUID via
PersistentDataContainer - Other players cannot pick up — shown actionbar denial message
- After
durationseconds, based onexpire-action:public— Protection removed, anyone can pick updespawn— Item removed from the world
- Vật phẩm rơi ra → được gắn UUID chủ nhân qua
PersistentDataContainer - Người khác nhặt sẽ bị từ chối, kèm thông báo trên actionbar
- Sau
durationgiây, tuỳ theoexpire-action:public— Bỏ khoá, ai nhặt cũng đượcdespawn— Vật phẩm biến mất
PersistenceLưu trữ dữ liệu
Boss State
Trạng thái Boss
Active bosses are saved to boss-state.yml and restored on server restart. If a boss expired during downtime, it's skipped and rescheduled.
Boss đang hoạt động sẽ được lưu vào boss-state.yml. Khi server khởi động lại, Boss sẽ được phục hồi. Nếu đã hết hạn trong lúc tắt server thì bỏ qua và lên lịch mới.
Offline Rewards
Phần thưởng khi offline
Rewards for offline players are saved to pending-rewards.yml and automatically delivered when the player joins (2-second delay for safe loading).
Nếu người chơi offline lúc nhận thưởng, phần thưởng sẽ được lưu vào pending-rewards.yml. Khi họ vào lại server, hệ thống tự động trao sau 2 giây (chờ load xong cho chắc).
Statistics & LeaderboardThống kê & Bảng xếp hạng
config.yml → statistics.enabled: true. Supports SQLite (default) and MySQL.
Bật trong config.yml → statistics.enabled: true. Hỗ trợ SQLite (mặc định) và MySQL.
Tracked Metrics
Chỉ số theo dõi
| Metric | Description | Mô tả |
|---|---|---|
damage | Total damage dealt | Tổng sát thương gây ra |
kills | Final hit kills | Số lần hạ gục (đòn cuối) |
participations | Boss fights participated in | Số trận boss tham gia |
tank | Total damage taken | Tổng sát thương chịu |
support | Support score (healing, buffs) | Điểm hỗ trợ (hồi máu, buff) |
top1 | #1 damage count | Số lần top 1 sát thương |
top2 | #2 damage count | Số lần top 2 sát thương |
top3 | #3 damage count | Số lần top 3 sát thương |
top1tank | #1 tank count | Số lần top 1 chịu đòn |
top1support | #1 support count | Số lần top 1 hỗ trợ |
bestdamage | Highest single-fight damage | Sát thương cao nhất trong 1 trận |
Period Types
Loại kỳ
Statistics are tracked across 7 period types: daily, weekly, monthly, quarterly, seasonal, yearly, alltime. Old periods are automatically archived.
Thống kê được theo dõi qua 7 loại kỳ: daily, weekly, monthly, quarterly, seasonal, yearly, alltime. Các kỳ cũ tự động được lưu trữ.
Leaderboard Cache
Cache bảng xếp hạng
An in-memory cache refreshes every cache.refresh-seconds (default 60s). All placeholder reads are instant and non-blocking. Cache covers ALL_TIME and DAILY periods for all 11 metrics.
Bộ nhớ đệm được làm mới mỗi cache.refresh-seconds (mặc định 60 giây). Tất cả placeholder đọc từ cache, không gây lag. Cache bao gồm kỳ ALL_TIME và DAILY cho tất cả 11 chỉ số.
Database Configuration
Cấu hình cơ sở dữ liệu
statistics:
enabled: true
database:
type: sqlite # sqlite or mysql
table-prefix: "slbs_"
mysql:
host: localhost
port: 3306
database: minecraft
username: root
password: ""
pool-size: 5
cache:
refresh-seconds: 60
leaderboard-size: 100
CommandsLệnh
/slboss | Alias:Viết tắt: /slbs
| Command | Lệnh | Permission | Quyền | Description | Mô tả |
|---|---|---|---|---|---|
/slboss |
slboss.use |
Show help menu | Hiện bảng trợ giúp | ||
/slboss reload |
slboss.reload |
Reload all config files | Tải lại tất cả file cấu hình | ||
/slboss spawn [id] |
slboss.spawn |
Force spawn boss (all if no id) | Triệu hồi Boss ngay (không ghi id thì spawn hết) | ||
/slboss despawn [id] |
slboss.despawn |
Despawn boss (all if no id) | Xoá Boss (không ghi id thì xoá hết) | ||
/slboss info |
slboss.info |
Detailed status of all bosses | Xem trạng thái chi tiết tất cả Boss | ||
/slboss list |
slboss.info |
List all configured bosses | Liệt kê các Boss đã cấu hình | ||
/slboss stats [player] |
slboss.stats |
View player statistics (all-time) | Xem thống kê người chơi (toàn thời gian) | ||
/slboss top <metric> [period] [boss] |
slboss.top |
View leaderboard (tab-completable) | Xem bảng xếp hạng (có tab-complete) |
Placeholders
Requires PlaceholderAPI. Prefix: %slbs_<bossId>.<key>%
Cần cài PlaceholderAPI. Cú pháp: %slbs_<bossId>.<key>%
Boss Placeholders
Placeholder Boss
| Placeholder | Output | Kết quả | Example | Ví dụ |
|---|---|---|---|---|
%slbs_boss.status% |
"Alive" or "Dead" | "Alive" hoặc "Dead" | Alive |
|
%slbs_boss.current% |
Current MythicMob name | Tên MythicMob đang hoạt động | SkeletonKing |
|
%slbs_boss.mob% |
MythicMob ID | ID MythicMob | SkeletonKing |
|
%slbs_boss.next% |
Time until next spawn (M:SS) | Thời gian còn lại đến lần spawn tiếp (M:SS) | 15:30 |
|
%slbs_boss.next_formatted% |
Next spawn time (HH:mm) | Giờ spawn tiếp theo (HH:mm) | 18:00 |
|
%slbs_boss.expire% |
Time until despawn (M:SS) | Thời gian trước khi Boss biến mất (M:SS) | 45:20 |
|
%slbs_count% |
Total boss count | Tổng số Boss | 3 |
Leaderboard Placeholders
Placeholder bảng xếp hạng
Reads from in-memory cache (non-blocking). Returns --- if rank not available.
Đọc từ bộ nhớ đệm (không gây lag). Trả về --- nếu hạng không có.
%slbs_top_<metric>_<rank>_<name|value>% → all-time (default)%slbs_top_<period>_<metric>_<rank>_<name|value>% → specific period
%slbs_top_<metric>_<rank>_<name|value>% → toàn thời gian (mặc định)%slbs_top_<period>_<metric>_<rank>_<name|value>% → theo kỳ cụ thể
Periods: alltime, daily, weekly/week, monthly/month, quarterly/quarter, seasonal/season, yearly/year
Các kỳ: alltime, daily, weekly/week, monthly/month, quarterly/quarter, seasonal/season, yearly/year
| Placeholder | Output | Kết quả | Example | Ví dụ |
|---|---|---|---|---|
%slbs_top_damage_1_name% |
Top 1 damage all-time player name | Tên người chơi top 1 sát thương (toàn thời gian) | Steve |
|
%slbs_top_damage_1_value% |
Top 1 damage all-time value | Giá trị sát thương top 1 (toàn thời gian) | 15420 |
|
%slbs_top_monthly_damage_1_name% |
Top 1 damage this month player name | Tên người chơi top 1 sát thương tháng này | Alex |
|
%slbs_top_weekly_kills_3_value% |
Top 3 kills this week value | Giá trị hạ gục top 3 tuần này | 7 |
|
%slbs_top_daily_tank_1_name% |
Top 1 tank today player name | Tên người chơi top 1 chịu đòn hôm nay | Tank_Player |
Player Stats Placeholders
Placeholder thống kê người chơi
Shows requesting player's value from cache. Returns 0 if player not in top N.
Hiện giá trị của người chơi từ cache. Trả về 0 nếu không trong top N.
| Placeholder | Output | Kết quả | Example | Ví dụ |
|---|---|---|---|---|
%slbs_stats_damage% |
Player's all-time damage | Sát thương toàn thời gian | 8500 |
|
%slbs_stats_kills_daily% |
Player's daily kills | Số hạ gục hôm nay | 2 |
PermissionsQuyền
| Permission | Quyền | Description | Mô tả | Default | Mặc định |
|---|---|---|---|---|---|
slboss.use |
Access /slboss help | Xem trợ giúp /slboss | true |
||
slboss.info |
View boss info & list | Xem thông tin và danh sách Boss | op |
||
slboss.spawn |
Force spawn bosses | Triệu hồi Boss bằng lệnh | op |
||
slboss.despawn |
Despawn bosses | Xoá Boss bằng lệnh | op |
||
slboss.reload |
Reload configs | Tải lại cấu hình | op |
||
slboss.stats |
View player statistics | Xem thống kê người chơi | true |
||
slboss.top |
View leaderboard | Xem bảng xếp hạng | true |
ChangelogNhật ký thay đổi
v3.0.0 (2026-02-27)
Added
Thêm mới
- SQLite/MySQL database for persistent player statistics
- Cơ sở dữ liệu SQLite/MySQL để lưu thống kê người chơi
- 11 tracked metrics across 7 period types (daily → all-time)
- 11 chỉ số theo dõi qua 7 loại kỳ (hàng ngày → toàn thời gian)
/slboss stats [player]— view player statistics/slboss stats [player]— xem thống kê người chơi/slboss top <metric> [period] [boss]— leaderboard with tab completion/slboss top <metric> [period] [boss]— bảng xếp hạng có tab-complete- Leaderboard & stats PlaceholderAPI expansions (with period support: daily, weekly, monthly, etc.)
- Placeholder PlaceholderAPI cho bảng xếp hạng & thống kê (hỗ trợ theo kỳ: ngày, tuần, tháng, v.v.)
- In-memory leaderboard cache with async refresh
- Bộ nhớ đệm bảng xếp hạng với làm mới bất đồng bộ
- Automatic period archival (daily, weekly, monthly, etc.)
- Tự động lưu trữ kỳ cũ (ngày, tuần, tháng, v.v.)
- Code architecture improvements: AbstractBossTracker, CommandValidator, ItemFactory
- Cải thiện kiến trúc code: AbstractBossTracker, CommandValidator, ItemFactory
Fixed
Sửa lỗi
- Reload-safe flag to suppress death-event processing during reload
- Cờ an toàn khi reload để bỏ qua sự kiện chết trong lúc reload
- Delayed state restore by 2 ticks to ensure worlds are loaded
- Trì hoãn khôi phục trạng thái 2 tick để đảm bảo thế giới đã tải
- Only send spawn success if boss actually spawned
- Chỉ gửi thông báo thành công nếu boss thực sự xuất hiện
v2.0.1 (2026-02-11)
Security
Bảo mật
- Drop table name sanitization to prevent command injection
- Khử độc tên bảng drop để ngăn chặn command injection
- Command validation to block shell metacharacters
- Xác thực lệnh để chặn metacharacter shell
Fixed
Sửa lỗi
- Duplicate stopTracking() calls, volatile bossScheduler, YAML parsing, forceSpawn reschedule
- Gọi stopTracking() trùng, volatile bossScheduler, phân tích YAML, lên lịch lại forceSpawn
v2.0.0 (2026-02-11)
Initial release with scheduled spawning, damage/tank/support tracking, tiered rewards, persistence, PlaceholderAPI, and multi-language support.
Bản phát hành đầu tiên với spawn theo lịch, theo dõi sát thương/chịu đòn/hỗ trợ, phần thưởng theo bậc, lưu trữ, PlaceholderAPI, và hỗ trợ đa ngôn ngữ.