
KarmaCore
Make PvP victories and revenge matter: Karma levels, effects, rewards, consumables and a player menu. Configurable messages and anti-farm protection.
Описание
KarmaCore ⚖️
Win the fight. Change your fate.
Turn PvP victories, defeats and revenge into a progression system your players can feel. Gain Karma, climb configurable levels, unlock effects and rewards — or fight your way back from a negative score.
Download your server's edition · Wiki
PvP progression with a reason to return
- A persistent Karma score: victories add points, defeats remove them; starting score, minimum, maximum and gains/losses are configurable.
- Five default levels: customize thresholds, names and positive/negative vanilla effects. Speed starts at +50 and Slowness at −50 with the defaults.
- Revenge: track eligible opponents and reward a successful comeback with a configurable bonus.
- Level rewards: items, effects, console/player commands, sounds and particles. MONEY rewards use optional Vault with a compatible economy provider.
- Four default consumables: Karma Crystal, Blessed Heart, Cursed Shard and Revenge Token. Configure their appearance, gains, cooldowns, consumption and actions in the Bukkit edition.
- Player menu:
/karmashows score, level, progress, effects, recent changes and revenge targets./karma topdisplays the leaderboard.
Default balance is −100 to +100, starting at 0, with +10 per victory, −10 per defeat, a 300-second repeated-victim cooldown and a +5 revenge bonus. Change these values to suit a friendly SMP or a competitive survival server.
Configuration, messages and item customization
Install one matching Bukkit JAR in plugins/ and restart. First startup creates commented plugins/Karma/config.yml, messages.yml and the SQLite database. The existing Bukkit karma.db schema is preserved. Players need no client mod.
Configure levels, effects, reward conditions, eligible worlds, history size, anti-farm rules and item settings. Bukkit consumables support custom materials, names, lore, vanilla enchantments, particles and sounds. Their configurable vanilla enchantments are item customization; KarmaCore does not provide BanHammer's separate ban-enchantment mechanic.
Editable UTF-8 messages.yml values and configurable item/menu text let you write your own translations with MiniMessage formatting and placeholders. The bundled message template is English; complete translations in every language are not supplied, and native alpha text/customization differs from Bukkit.
Safeguards and performance ⚡
- Persistent anti-farm/item cooldowns and bounded scores help prevent repeated-kill abuse and integer overflow.
- Level rewards are granted once per level by default, preventing reward farming by repeatedly crossing a threshold. Administrators can opt into repeated rewards.
- Cached profiles and asynchronous SQLite WAL writes keep routine persistence off the gameplay path. Profile-load failures do not overwrite existing scores with empty defaults.
- Menus are protected against taking their display items; command suggestions respect permissions. Given items are preserved when an inventory is full.
- Effects refresh periodically — every four seconds by default — without per-tick world scans.
- Native state uses one background I/O worker with coalesced, atomic saves.
The corrected Bukkit edition also repairs Spigot-incompatible Paper calls and right-click consumables used in the air.
Commands and permissions
Players:
/karma
/karma <online-player>
/karma top
Administration:
/karma set|add|remove <player> <amount>
/karma reset <player>
/karma reload
/karma giveitem <item-id> [online-player]
Alias: /k. Use item IDs karma-crystal, blessed-heart, cursed-shard and revenge-token. Bukkit uses individual karma.* permissions from plugin.yml; administration defaults to operators. Native editions add /karma use while holding an item, and require operator level 2 for administration.
Native alphas, compatibility and actual test coverage
The full inventory-menu experience above belongs to the Bukkit 1.0.1 edition. Separate Fabric, Forge and NeoForge 1.1.0-alpha.1 mods implement persistent PvP scores, configurable level ranges/effects, anti-farm, revenge, leaderboard, four tagged vanilla consumables, unique level rewards and operator commands.
Native /karma is a text summary. These alphas do not include the Bukkit inventory GUI, detailed history/revenge menu, full custom material/name/lore/enchantment/particle/sound parity, Vault or automatic migration of Bukkit SQLite data. Native data is separate.
Install the exact mod JAR in mods/; Fabric also needs matching Fabric API. Native configuration is config/karmacore.properties; state is <world>/karmacore/native-state.properties. Native world exclusions use dimension identifiers. Command rewards accept semicolon-separated commands with %player% and %uuid%.
29 Bukkit API builds cover Minecraft 1.19–26.3. Full gameplay with two clients and same-world restart passed on Spigot 1.19, Paper 1.20.1 and Paper 1.21.11; other compiled Bukkit files are beta. Native gameplay passed on Forge 1.19, Fabric 1.21.1 and NeoForge 1.21.1; all native files remain alpha. Other exact combinations and graphical integrated single-player/modpacks are not certified. Per-file changelogs identify actual verification.
Engine/storage tests cover 32 interleaved identities with 1,600 native combats, and 32 SQLite profiles with 640 saves from eight concurrent callers. These are synthetic measurements, not live-server TPS capacity. Vault MONEY code is retained and compiled; an actual economy-provider integration has not been validated.
Use Java 17 through Minecraft 1.20.4, Java 21 for 1.20.5–1.21.11 and Java 25 for 26.x. Choose the exact game version and loader; Forge/NeoForge files are not interchangeable.