- add /souls tracker give <player> <target> as an admin-only command - reuse the existing TrackerCompassService so the command uses the same tracker behavior and duration as kill-granted compasses - gate the command behind soulsteal.admin - update README.md command reference - update docs/PROJECT.md with tracker compass behavior and the new admin command - keep the implementation scoped to the command layer without changing the tracker service API
2.9 KiB
Soul Steal
Soul Steal is a server-side Fabric mod that adds a configurable soul economy, bounties, tracker compasses, and a vanilla-compatible soul shop.
Full project documentation is available in docs/PROJECT.md.
Requirements
| Requirement | Value |
|---|---|
| Minecraft | 1.21.11 |
| Loader | Fabric Loader 0.19.2 |
| Fabric API | 0.141.3+1.21.11 |
| Java | 21 |
How It Works
Players gain souls for killing other players and lose souls whenever they die, with all values driven by config.yml. The bounty system lets players spend souls to place timed bounties that pay killers on claim or reward survivors on expiry, while wanted players can see a bounty timer bossbar. The optional HUD sidebar can be toggled per player, and /souls top shows the configured leaderboard. The shop is a server-side chest GUI with a category home page, arrow pagination, optional reward display names, and item listings that can open a quantity selector.
Commands
| Command | Permission | Description |
|---|---|---|
/souls |
All players | Shows your current soul balance. |
/souls balance <player> |
Admins / soulsteal.admin or soulsteal.admin.balance.others |
Views another player's soul balance. |
/souls pay <player> <amount> |
All players | Transfers souls to another player if transfers are enabled. |
/souls shop [category] |
All players | Opens the soul shop GUI, optionally on a specific category. |
/souls bounty place <player> <amount> [durationSeconds] |
All players | Places a timed bounty on another player. |
/souls bounty list [player] |
All players | Lists active bounties globally or for one target. |
| `/souls scoreboard [toggle | on | off]` |
/souls top [page] |
All players | Shows the soul leaderboard using the configured page size. |
/souls tracker give <player> <target> |
Admins / soulsteal.admin |
Gives a tracker compass to one player that points at another player. |
/souls reload |
Admins / soulsteal.admin or soulsteal.admin.reload |
Reloads config.yml and shop.yml without restarting the server. |
| `/souls set | add | take ` |
Configuration
| File | Purpose |
|---|---|
config/soulsteal/config.yml |
Economy values, death penalties, bounty limits, HUD toggles, leaderboard size, bossbar text, and command permission nodes. |
config/soulsteal/shop.yml |
Shop categories, GUI entries, prices, cooldowns, reward display names, and optional custom-amount settings for item listings. |
config/soulsteal/soulsteal-data.json |
Persistent balances, active bounties, cooldowns, unlocks, internal permission fallback storage, saved player names, and scoreboard preferences. |