Rivalry & Tactics
Rivalry & Tactics is a dynamic combat evolution mod for Minecraft Fabric that transforms hostile mobs into intelligent adversaries. Instead of static AI, mobs develop rivalries, coordinate tactically, and adapt to your combat style, creating emergent gameplay where encounters feel personal and meaningful.
Key Features
- Nemesis System - Mobs that kill you become persistent rivals who remember your name, grow stronger with each victory, and actively hunt you across dimensions.
- Commander System - Natural leaders emerge among mob groups, issuing tactical orders like flanking, retreating, and focusing fire.
- Adaptive Combat Memory - Per-player profiles track your combat style. Mobs adjust their behavior based on whether you're aggressive, defensive, or rely on specific weapons.
- Elite Mutations - Landing critical hits can trigger mutations, transforming ordinary mobs into elite variants with unique traits.
- Mob Communication - Injured mobs alert nearby allies, creating dynamic threat responses and coordinated attacks.
- 10 Elite Traits - Berserk, Stonehide, Swift, Armorsunder, Hunter, Shrapnel, Vampiric, Resilient, Venomous, and Elusive.
- Visual Feedback - See nemesis titles, commander crowns, and elite markers using vanilla particles and custom names.
- Persistent Data - Nemesis and commander data persist across sessions via world save.
- Multiplayer-Safe - Per-player profiles and nemeses work correctly on servers.
- Fully Configurable - Enable/disable each system, adjust thresholds, cooldowns, and difficulty scaling.
How It Works
The Nemesis System
When a mob kills you, it becomes your personal nemesis:
| Stage |
Kills Required |
Effects |
| Rival |
1 kill |
Remembers your name, gains title |
| Nemesis |
2 kills |
+20% health, +10% damage |
| Arch-Nemesis |
3 kills |
+40% health, +20% damage, glowing effect |
| Eternal Foe |
5+ kills |
+60% health, +30% damage, fire resistance |
Nemeses display custom titles like "☠ Zombie, Slayer of [YourName]" and will prioritize targeting you over other players.
The Commander System
When enough hostile mobs gather, one may be promoted to commander:
| Aspect |
Details |
| Promotion Chance |
15% per eligible mob when group size reached |
| Minimum Group |
3 hostile mobs within range |
| Command Range |
24 blocks (configurable) |
| Visual Indicator |
Crown symbol (♛) in custom name |
Commanders issue tactical orders to their subordinates:
| Order |
Trigger Condition |
Effect |
| Focus Fire |
Player at medium range |
All subordinates target the same player |
| Flank |
Player using shield |
Mobs spread out to attack from sides |
| Retreat |
Commander below 30% health |
Group falls back temporarily |
| Charge |
Player fleeing |
Aggressive coordinated rush |
| Surround |
Large group available |
Mobs encircle the player |
Adaptive Combat Memory
The mod tracks how you fight and adjusts mob behavior accordingly:
| Pattern |
What It Measures |
| Melee vs Ranged |
Ratio of close-range to long-range attacks |
| Shield Usage |
How often you block damage |
| Jump Crits |
Frequency of critical hits from jumping |
| Weapon Preference |
Your most-used weapon type |
| Hit-and-Run |
Attack-then-retreat patterns |
Counter Behaviors
Based on your profile, mobs apply counter-biases:
| Your Style |
Mob Counter |
| Heavy melee |
Increased kiting, maintains distance |
| Ranged dominance |
Aggressive closing, sprint attacks |
| Shield reliance |
Flanking movements, surround tactics |
| Jump crit spam |
Erratic movement, harder to predict |
| Hit-and-run |
Pursuit behavior, won't let you escape |
Elite Mutations
When you land a critical hit on a mob, there's a chance it mutates into an elite variant:
| Factor |
Effect on Mutation |
| Critical Hit |
Base 15% mutation chance |
| Low Health |
Increased chance when mob is desperate |
| Random Traits |
1-3 traits assigned randomly |
| Visual Marker |
"✦ Elite" prefix with purple formatting |
Mob Communication
Injured mobs alert nearby allies:
| Trigger |
Radius |
Effect |
| Takes Damage |
16 blocks |
Nearby mobs become aware of threat |
| Below 50% HP |
24 blocks |
Urgent alert, faster response |
| Death |
32 blocks |
All nearby mobs alerted to killer |
Alerted mobs gain temporary aggression boost and will converge on the threat source.
Elite Traits
Each trait provides unique abilities and stat modifications:
| Trait |
Visual |
Effect |
| Berserk |
🔴 Red |
+30% damage, +20% attack speed, -15% health |
| Stonehide |
⬛ Gray |
+50% armor, +4 armor toughness, -20% speed |
| Swift |
💨 Aqua |
+40% movement speed, +20% attack speed |
| Armorsunder |
⚫ Dark Gray |
Attacks reduce target's armor durability faster |
| Hunter |
🌲 Dark Green |
Can summon reinforcements when damaged |
| Shrapnel |
🟡 Gold |
Explodes on death, dealing AoE damage |
| Vampiric |
🩸 Dark Red |
Heals for portion of damage dealt |
| Resilient |
💚 Green |
+40% max health, faster regeneration |
| Venomous |
💜 Purple |
Attacks inflict poison effect |
| Elusive |
🟣 Light Purple |
Harder to hit, faster when fleeing |
Traits stack—an elite with Berserk + Swift + Vampiric is extremely dangerous.
Configuration
Config file location: .minecraft/config/rivalry_and_tactics.json
{
"nemesis": {
"enabled": true,
"maxNemesesPerPlayer": 5,
"nemesisHealthBonus": 0.2,
"nemesisDamageBonus": 0.1,
"nemesisSpeedBonus": 0.05,
"killsForArchNemesis": 3,
"nemesisPersistsDeath": true,
"nemesisGlowsAtMaxLevel": true
},
"commander": {
"enabled": true,
"promotionChance": 0.15,
"minGroupSize": 3,
"commandRange": 24,
"orderCooldownTicks": 100,
"commanderHealthBonus": 0.3,
"maxSubordinates": 8
},
"adaptive": {
"enabled": true,
"memoryDurationTicks": 72000,
"meleeWeight": 1.0,
"rangedWeight": 1.0,
"shieldWeight": 1.5,
"jumpCritWeight": 1.2,
"decayRate": 0.01,
"counterBiasStrength": 0.5
},
"elite": {
"enabled": true,
"mutationChanceOnCrit": 0.15,
"minTraits": 1,
"maxTraits": 3,
"statBoostMultiplier": 1.0,
"permanentElites": false
},
"communication": {
"enabled": true,
"alertRadius": 16,
"urgentAlertRadius": 24,
"deathAlertRadius": 32,
"alertCooldownTicks": 60
}
}
Config Options Explained
Nemesis System
| Option |
Default |
Description |
enabled |
true |
Master toggle for nemesis system |
maxNemesesPerPlayer |
5 |
Maximum concurrent nemeses per player |
nemesisHealthBonus |
0.2 |
Health increase per kill tier (20%) |
nemesisDamageBonus |
0.1 |
Damage increase per kill tier (10%) |
nemesisSpeedBonus |
0.05 |
Speed increase per kill tier (5%) |
killsForArchNemesis |
3 |
Kills required for arch-nemesis status |
nemesisPersistsDeath |
true |
Nemesis data survives mob death |
nemesisGlowsAtMaxLevel |
true |
Eternal foes have glowing effect |
Commander System
| Option |
Default |
Description |
enabled |
true |
Master toggle for commander system |
promotionChance |
0.15 |
Chance for eligible mob to become commander |
minGroupSize |
3 |
Minimum nearby mobs for commander promotion |
commandRange |
24 |
Blocks within which commander can issue orders |
orderCooldownTicks |
100 |
Ticks between order updates (5 seconds) |
commanderHealthBonus |
0.3 |
Health bonus for commanders (30%) |
maxSubordinates |
8 |
Maximum mobs under one commander |
Adaptive Combat
| Option |
Default |
Description |
enabled |
true |
Master toggle for adaptive memory |
memoryDurationTicks |
72000 |
How long combat data persists (1 hour) |
meleeWeight |
1.0 |
Weight multiplier for melee action tracking |
rangedWeight |
1.0 |
Weight multiplier for ranged action tracking |
shieldWeight |
1.5 |
Weight multiplier for shield usage tracking |
jumpCritWeight |
1.2 |
Weight multiplier for jump crit tracking |
decayRate |
0.01 |
Rate at which old behaviors are forgotten |
counterBiasStrength |
0.5 |
Intensity of counter-behavior adaptations |
Elite Mutations
| Option |
Default |
Description |
enabled |
true |
Master toggle for elite system |
mutationChanceOnCrit |
0.15 |
Chance to mutate on critical hit (15%) |
minTraits |
1 |
Minimum traits for new elites |
maxTraits |
3 |
Maximum traits for new elites |
statBoostMultiplier |
1.0 |
Global multiplier for trait stat boosts |
permanentElites |
false |
Whether elites persist indefinitely |
Mob Communication
| Option |
Default |
Description |
enabled |
true |
Master toggle for communication system |
alertRadius |
16 |
Normal alert range in blocks |
urgentAlertRadius |
24 |
Urgent alert range when below 50% HP |
deathAlertRadius |
32 |
Alert range on mob death |
alertCooldownTicks |
60 |
Cooldown between alerts (3 seconds) |
Visual Indicators
Nemesis Titles
| Level |
Name Format |
| Rival |
"☠ [MobType], Rival of [Player]" |
| Nemesis |
"☠ [MobType], Nemesis of [Player]" |
| Arch-Nemesis |
"☠ [MobType], Arch-Nemesis of [Player]" |
| Eternal Foe |
"☠ [MobType], Eternal Foe of [Player]" (+ Glowing) |
Commander Markers
| Indicator |
Meaning |
| "♛ Commander [MobType]" |
Active commander with subordinates |
| "Commander [MobType]" |
Commander who lost their group |
Elite Markers
| Indicator |
Meaning |
| "✦ Elite [MobType]" |
Mutated elite variant |
| Purple bold text |
Elite name formatting |
Multiplayer Compatibility
This mod is server-side and works on both singleplayer and multiplayer:
| Environment |
Compatibility |
| Singleplayer |
✅ Full support |
| Dedicated Server |
✅ Requires mod on server |
| LAN Worlds |
✅ Full support |
| Client-Only |
❌ Not supported |
- Player combat profiles are stored per-player
- Nemeses remember specific players
- Commanders coordinate against whoever they're targeting
- Elites and communication work for all players
Data Storage
Persistent data is stored in the world save:
| Data Type |
Storage Location |
| Config |
.minecraft/config/rivalry_and_tactics.json |
| Nemesis Data |
World save (per-world) |
| Commander Data |
World save (per-world) |
| Player Profiles |
World save (per-player) |
Data is saved automatically when players disconnect and when the server stops.
Installation
- Install Fabric Loader (0.15.6 or newer) for Minecraft 1.20.1.
- Install Fabric API (0.92.0+1.20.1 or newer).
- Download the mod JAR file.
- Place the JAR into your
.minecraft/mods folder (or server mods folder).
- Launch Minecraft with the Fabric profile.
Building from Source
Clone the repository and run the Gradle build:
git clone https://github.com/AaravVishal1/rivalry-and-tactics
cd rivalry-and-tactics
./gradlew build
The compiled JAR will be in build/libs/.
For development:
./gradlew runClient # Run Minecraft client
./gradlew runServer # Run dedicated server
Requirements
| Dependency |
Version |
| Minecraft |
1.20.1 |
| Fabric Loader |
0.15.6+ |
| Fabric API |
0.92.0+1.20.1 |
| Java |
17+ |
Troubleshooting
Nemeses aren't forming
- Check that
nemesis.enabled is true in the config.
- Verify the mob actually killed you (environmental deaths don't count).
- Check
maxNemesesPerPlayer hasn't been reached.
Commanders aren't appearing
- Ensure
commander.enabled is true.
- Verify there are enough hostile mobs nearby (
minGroupSize).
- The promotion chance is 15% by default—it's not guaranteed.
Elite mutations not triggering
- Confirm
elite.enabled is true.
- Must be a critical hit (jumping attack).
- Default chance is 15%—not every crit triggers mutation.
Adaptive counters feel too strong
- Reduce
counterBiasStrength in the config (e.g., 0.25).
- Increase
decayRate for faster forgetting.
- Vary your combat style to dilute the profile.
Performance issues
- Increase cooldown values (
orderCooldownTicks, alertCooldownTicks).
- Reduce
commandRange and alert radii.
- Disable individual systems you don't want.
License
This project is licensed under the MIT License. See LICENSE for details.