
🧠 KarmaCore
Turn your PvP actions into power.
KarmaCore adds a dynamic Karma system where killing and being killed directly changes your Karma — and your Karma changes how powerful you are.
⚔️ Karma System
Every player has a configurable Karma value.
When you kill another player:
- 🟢 Your Karma increases
- 🔴 The victim's Karma decreases
Example:
pvp:
killer-karma: 10
victim-karma: -10
The Karma range is completely configurable:
karma:
minimum: -100
maximum: 100
starting: 0
🟢 Positive Karma
Players with high Karma can receive positive effects.
For example:
positive-karma:
threshold: 50
effects:
SPEED:
amplifier: 0
duration: permanent
You can configure:
- Speed
- Strength
- Regeneration
- Resistance
- Custom rewards
- Custom effects
The server owner decides exactly how strong the bonuses are.
🔴 Negative Karma
Low Karma can make a player weaker.
Example:
negative-karma:
threshold: -50
effects:
SLOWNESS:
amplifier: 0
duration: permanent
You can configure:
- Slowness
- Weakness
- Mining Fatigue
- Other potion effects
- Custom penalties
⚖️ Karma Levels
Create your own Karma levels.
Example:
levels:
cursed:
min: -100
max: -51
bad:
min: -50
max: -1
neutral:
min: 0
max: 49
good:
min: 50
max: 99
blessed:
min: 100
max: 100
Each level can have its own effects, rewards, messages and permissions.
🔥 Revenge System
KarmaCore remembers who killed you.
If Player A kills Player B:
- Player A gains Karma
- Player B loses Karma
- Player B remembers Player A as their killer
When they meet again in PvP, configurable Revenge mechanics can activate.
You can configure:
- Revenge duration
- Revenge bonus
- Special effects
- Messages
- Sounds
- Particles
- Rewards
🎁 Karma Items
Create special items connected to the Karma system.
Example:
items:
karma-crystal:
material: AMETHYST_SHARD
name: "&dKarma Crystal"
lore:
- "&7Right-click to gain Karma."
karma: 10
You can customize:
- Material
- Name
- Lore
- Enchantments
- Karma value
- Effects
- Sounds
- Particles
📊 Karma GUI
Use:
/karma
The GUI displays:
- Current Karma
- Karma level
- Progress
- Active effects
- Recent Karma changes
- Revenge information
The entire GUI is configurable.
🛠️ Commands
/karma
/karma <player>
/karma top
/karma set <player> <amount>
/karma add <player> <amount>
/karma remove <player> <amount>
/karma reset <player>
/karma reload
Administrative commands require permissions.
⚙️ Configuration
Almost everything can be customized through config.yml.
Example:
karma:
minimum: -100
maximum: 100
starting: 0
pvp:
killer-karma: 10
victim-karma: -10
positive-karma:
threshold: 50
negative-karma:
threshold: -50
settings:
sounds: true
particles: true
revenge: true
Customize:
- Karma limits
- Starting Karma
- PvP values
- Karma thresholds
- Effects
- Effect levels
- Rewards
- Items
- Revenge
- GUI
- Messages
- Sounds
- Particles
- Cooldowns
- Permissions
🔐 Security
KarmaCore is designed to prevent abuse and exploits.
- Anti-Karma farming
- Kill cooldowns
- Duplicate event protection
- Server-side validation
- UUID-based player tracking
- Permission checks
- GUI exploit protection
- Item duplication protection
- Safe handling of disconnects
- Safe handling of restarts
- No unsafe player-input commands
⚡ Performance
KarmaCore is designed for near-zero performance impact.
- No unnecessary permanent loops
- Event-based architecture
- No constant player scanning
- Optimized memory usage
- SQLite persistence
- Asynchronous database operations when safe
- Configurable particle and sound limits
- No unnecessary entity spawning
The plugin is designed to remain lightweight even on servers with many players.
💾 Data Storage
Karma data is stored persistently using SQLite.
Player data includes:
- UUID
- Karma
- Karma history
- Karma level
- Revenge information
- Cooldowns
Your Karma remains after server restarts.
🧩 Compatibility
Minecraft 1.21.x
Paper
KarmaCore uses the official Paper/Bukkit API whenever possible and avoids unnecessary NMS.
Karma changes. Power follows. Choose your actions wisely.

