Adaptive Mobs
Adaptive Mobs is a behavioral AI mod for Minecraft Fabric that makes hostile mobs learn and adapt to your combat style. Instead of buffing stats, mobs change their tactics based on how you fight, making combat feel fresh and challenging without being unfair.
The goal is emergent, dynamic gameplay where mobs feel intelligent. If you always use a shield, zombies will learn to strafe around it. If you kite with a bow, skeletons will close the distance faster. Every player gets a unique combat experience based on their habits.
Key Features
- Combat pattern tracking - The mod monitors your melee vs ranged ratio, shield usage, jump-crit frequency, movement patterns, weapon preferences, and environmental kills.
- Per-player profiles - Each player has their own combat profile that persists across sessions. Mobs adapt to YOU specifically.
- Rolling behavior decay - Old habits are gradually forgotten, so changing your playstyle will eventually reset mob adaptations.
- Subtle behavioral changes - Mobs adjust timing, movement, and target selection—NOT damage or health.
- 12 adaptive mob types - Zombie, Skeleton, Creeper, Spider, Enderman, Witch, Pillager, Vindicator, Blaze, Ghast, Phantom, and Guardian.
- Pack tactics - Mobs coordinate in groups, assigning roles like Tank, Flanker, Distractor, and Support based on your combat style.
- Location-based difficulty - Mobs adapt more intensely based on depth, dimension, biome, distance from spawn, time of day, and moon phase.
- Visual/audio feedback - See and hear when mobs adapt with vanilla particles and sounds.
- Player commands - View your combat profile, stats, and control mod behavior in-game.
- Multiplayer-safe - Profiles are per-player, so mob adaptations work correctly on servers.
- Fully configurable - Enable/disable per mob type, adjust adaptation strength, learning speed, difficulty scaling, and more.
How It Works
Combat Pattern Tracking
The mod tracks several aspects of how you fight:
| Pattern |
What It Measures |
| Melee vs Ranged |
Ratio of sword/axe attacks to bow/crossbow attacks |
| Shield Usage |
How often you block incoming damage |
| Jump Crits |
Frequency of critical hits from falling |
| Movement |
Strafing, backpedaling, rushing, circle-strafing |
| Environmental Kills |
Deaths from fall damage, lava, fire, drowning, cactus |
| Weapon Preference |
Your favorite weapon type tracked by usage |
| Sprint Attacks |
How often you sprint before attacking |
| Sneak Attacks |
Frequency of attacks while sneaking |
| Towering |
Detection of pillar-up defensive behavior |
Player Combat Profiles
Each player maintains a rolling profile of their last 100 combat actions. The profile includes:
- Action weights - How frequently each combat action is used
- Calculated ratios - Melee/ranged preference, shield reliance, etc.
- Movement pattern - Dominant movement style (aggressive, kiting, circle-strafe)
Profiles persist between sessions and gradually decay over time, allowing adaptations to reset if you change your playstyle.
Adaptation Thresholds
Mobs only adapt when your behavior exceeds certain thresholds:
| Behavior |
Default Threshold |
Triggers When... |
| Melee preference |
60% |
Most of your attacks are melee |
| Ranged preference |
60% |
Most of your attacks are ranged |
| Shield usage |
40% |
You block frequently |
| Jump crits |
30% |
You land critical hits often |
| Environmental kills |
20% |
You use the environment to kill mobs |
Mob-Specific Adaptations
Zombies
| Your Behavior |
Zombie Response |
| Heavy shield use |
Strafes around your shield, waits for openings, can disable shields |
| Ranged attacks |
Moves slightly faster to close distance |
| Kiting |
Increased movement speed |
| Circle-strafing |
Changes attack timing unpredictably |
Skeletons
| Your Behavior |
Skeleton Response |
| Aggressive melee |
Maintains distance, retreats when you get close |
| Shield blocking |
Strafes to shoot around your shield |
| Kiting |
May switch to melee when you're close |
| Jump crits |
Varies shot timing to disrupt your rhythm |
Creepers
| Your Behavior |
Creeper Response |
| Aggressive melee |
Shorter fuse time (faster explosion) |
| Ranged attacks |
Faster movement, more persistent pursuit |
| Hit-and-run |
Retreats and resets fuse when hit |
| Kiting |
Increased movement speed |
Spiders
| Your Behavior |
Spider Response |
| Melee combat |
Enhanced leaping with prediction |
| Ranged attacks |
Faster movement, aggressive leaping |
| Shield blocking |
Flanking attacks from the side |
| Jump crits |
Erratic movement timing |
Endermen
| Your Behavior |
Enderman Response |
| Aggressive melee |
Slightly faster movement |
| Ranged attacks |
More teleportation behavior |
| Environmental kills |
Cautious movement near hazards |
| Kiting |
Frequent repositioning |
Witches
| Your Behavior |
Witch Response |
| Aggressive melee |
Throws slowness potions when you rush |
| Ranged attacks |
Uses invisibility potions, harder to track |
| Shield blocking |
Switches to splash potions that bypass shields |
| Low health attacks |
Prioritizes healing potions |
Pillagers
| Your Behavior |
Pillager Response |
| Aggressive melee |
Maintains distance, rapid repositioning |
| Shield blocking |
Strafes to shoot around your shield |
| Ranged combat |
Faster shot timing, prediction shots |
| Kiting |
Increased movement speed |
Vindicators
| Your Behavior |
Vindicator Response |
| Shield blocking |
Waits for shield to lower, times attacks |
| Kiting |
Aggressive charge, faster pursuit |
| Aggressive melee |
Unpredictable attack timing |
| Ranged attacks |
Closes distance quickly, dodges arrows |
Blazes
| Your Behavior |
Blaze Response |
| Aggressive melee |
Stays airborne, increased altitude |
| Ranged attacks |
Strafing flight pattern, harder to hit |
| Shield blocking |
Rapid fire bursts to drain shield |
| Kiting |
Aggressive pursuit, faster fireball rate |
Ghasts
| Your Behavior |
Ghast Response |
| Deflecting fireballs |
Unpredictable shot timing |
| Ranged attacks |
Maintains extreme distance |
| Aggressive pursuit |
Retreats frequently |
| Predictable movement |
Erratic flight patterns |
Phantoms
| Your Behavior |
Phantom Response |
| Ranged attacks |
Faster dive speed, unpredictable angles |
| Shield blocking |
Attacks from behind/sides |
| Standing still |
More aggressive diving |
| Indoors/covered |
Waits patiently, circles longer |
Guardians
| Your Behavior |
Guardian Response |
| Melee combat |
Maintains distance, uses spikes defensively |
| Ranged attacks |
Erratic swimming, harder to hit |
| Shield blocking |
Sustained beam attacks |
| Surface fighting |
Pulls you underwater when possible |
Balance Philosophy
The mod follows strict balance rules:
- No stat changes - Mobs never gain extra damage, health, or armor
- Behavioral only - All adaptations are movement, timing, or target selection changes
- Subtle adjustments - Speed increases are capped at 10-20% maximum
- Reversible - Changing your playstyle will gradually reset adaptations
- Explainable - Every adaptation has a clear cause-and-effect relationship
Pack Tactics
When multiple mobs are near a player, they can coordinate their attacks through the Pack Tactics system. Mobs are assigned roles based on your combat profile:
| Role |
Behavior |
Assigned When |
| Tank |
Engages directly, draws your attention |
You prefer ranged combat |
| Flanker Left/Right |
Attacks from the sides |
You use a shield frequently |
| Distractor |
Harasses from range, keeps you moving |
You prefer melee combat |
| Rusher |
Aggressive charge, disrupts positioning |
You tend to kite |
| Support |
Provides backup, waits for openings |
Default fallback role |
Pack tactics activate when 3+ hostile mobs are within 16 blocks of a player. The coordination radius and minimum mob count are configurable.
Player Commands
The mod provides several commands for players:
| Command |
Description |
/am profile |
View your current combat profile and statistics |
/am stats |
View detailed combat statistics and ratios |
/am reset |
Reset your combat profile (start fresh) |
/am debug |
Toggle debug mode (shows adaptation info in chat) |
/am toggle |
Toggle the mod on/off for yourself |
/am help |
Show all available commands |
All commands require no permissions for players. Operators can use /am reset <player> to reset another player's profile.
Visual & Audio Feedback
When mobs adapt to your combat style, you'll see and hear it:
Visual Feedback (Particles)
| Adaptation |
Particle Effect |
| Mob becomes aggressive |
Angry villager particles |
| Mob becomes defensive |
Crit particles |
| Speed increase |
Enchanted hit particles |
| Special adaptation triggered |
Witch spell particles |
Audio Feedback (Sounds)
| Event |
Sound Effect |
| Adaptation level increased |
Experience orb pickup |
| Defensive adaptation |
Shield block sound |
| Aggressive adaptation |
Wolf growl |
Feedback can be disabled in the config if you prefer a more subtle experience.
Location-Based Difficulty Scaling
Mobs adapt more intensely based on where you are:
| Factor |
Effect |
| Depth |
Deeper underground = stronger adaptations (up to 1.5x at Y=-64) |
| Nether |
+30% adaptation strength |
| End |
+50% adaptation strength |
| Distance from Spawn |
Farther = stronger (up to 1.3x beyond 1000 blocks) |
| Night Time |
+20% adaptation strength |
| Full Moon |
Additional +20% adaptation strength |
| Biome |
Some biomes (deep dark, soul sand valley) have increased difficulty |
All scaling factors are configurable and can be disabled independently.
Configuration
Config file location: .minecraft/config/adaptive-mobs.json
The config file is created automatically on first launch:
{
"enabled": true,
"zombieAdaptationEnabled": true,
"skeletonAdaptationEnabled": true,
"creeperAdaptationEnabled": true,
"spiderAdaptationEnabled": true,
"endermanAdaptationEnabled": true,
"witchAdaptationEnabled": true,
"pillagerAdaptationEnabled": true,
"vindicatorAdaptationEnabled": true,
"blazeAdaptationEnabled": true,
"ghastAdaptationEnabled": true,
"phantomAdaptationEnabled": true,
"guardianAdaptationEnabled": true,
"adaptationStrength": 1.0,
"learningSpeed": 0.1,
"decayRate": 0.005,
"profileHistorySize": 100,
"minActionsForAdaptation": 10,
"meleeThreshold": 0.6,
"rangedThreshold": 0.6,
"shieldThreshold": 0.4,
"jumpCritThreshold": 0.3,
"environmentalKillThreshold": 0.2,
"maxAdaptationLevel": 3,
"adaptationCooldownTicks": 100,
"packTacticsEnabled": true,
"packTacticsMinMobs": 3,
"packTacticsRadius": 16.0,
"visualFeedbackEnabled": true,
"audioFeedbackEnabled": true,
"depthScalingEnabled": true,
"dimensionScalingEnabled": true,
"biomeScalingEnabled": true,
"distanceScalingEnabled": true,
"timeScalingEnabled": true,
"moonPhaseScalingEnabled": true
}
Config Options Explained
| Option |
Default |
Description |
enabled |
true |
Master toggle for the mod |
Mob Toggles
| Option |
Default |
Description |
zombieAdaptationEnabled |
true |
Enable/disable zombie adaptations |
skeletonAdaptationEnabled |
true |
Enable/disable skeleton adaptations |
creeperAdaptationEnabled |
true |
Enable/disable creeper adaptations |
spiderAdaptationEnabled |
true |
Enable/disable spider adaptations |
endermanAdaptationEnabled |
true |
Enable/disable enderman adaptations |
witchAdaptationEnabled |
true |
Enable/disable witch adaptations |
pillagerAdaptationEnabled |
true |
Enable/disable pillager adaptations |
vindicatorAdaptationEnabled |
true |
Enable/disable vindicator adaptations |
blazeAdaptationEnabled |
true |
Enable/disable blaze adaptations |
ghastAdaptationEnabled |
true |
Enable/disable ghast adaptations |
phantomAdaptationEnabled |
true |
Enable/disable phantom adaptations |
guardianAdaptationEnabled |
true |
Enable/disable guardian adaptations |
Core Settings
| Option |
Default |
Description |
adaptationStrength |
1.0 |
Multiplier for adaptation intensity (0.5 = half, 2.0 = double) |
learningSpeed |
0.1 |
How quickly new behaviors are learned |
decayRate |
0.005 |
How quickly old behaviors are forgotten |
profileHistorySize |
100 |
Number of recent actions tracked per player |
minActionsForAdaptation |
10 |
Minimum actions before mobs start adapting |
maxAdaptationLevel |
3 |
Maximum adaptation tier (affects intensity) |
adaptationCooldownTicks |
100 |
Ticks between adaptation updates per mob (100 = 5 sec) |
Thresholds
| Option |
Default |
Description |
meleeThreshold |
0.6 |
Ratio threshold to be considered a "melee player" |
rangedThreshold |
0.6 |
Ratio threshold to be considered a "ranged player" |
shieldThreshold |
0.4 |
Usage ratio to be considered a "shield user" |
jumpCritThreshold |
0.3 |
Ratio threshold for "jump crit user" |
environmentalKillThreshold |
0.2 |
Ratio threshold for "environmental killer" |
Pack Tactics
| Option |
Default |
Description |
packTacticsEnabled |
true |
Enable mob group coordination |
packTacticsMinMobs |
3 |
Minimum mobs needed to activate pack tactics |
packTacticsRadius |
16.0 |
Radius in blocks for pack formation |
Feedback
| Option |
Default |
Description |
visualFeedbackEnabled |
true |
Show particles when mobs adapt |
audioFeedbackEnabled |
true |
Play sounds when mobs adapt |
Location Scaling
| Option |
Default |
Description |
depthScalingEnabled |
true |
Stronger adaptations at lower Y levels |
dimensionScalingEnabled |
true |
Stronger adaptations in Nether/End |
biomeScalingEnabled |
true |
Biome-specific difficulty adjustments |
distanceScalingEnabled |
true |
Stronger adaptations far from spawn |
timeScalingEnabled |
true |
Stronger adaptations at night |
moonPhaseScalingEnabled |
true |
Stronger adaptations during full moon |
Multiplayer Compatibility
This mod is server-side but works on both singleplayer and multiplayer:
- Works on singleplayer
- Works on dedicated servers (requires mod on server)
- Works on LAN worlds
- Per-player profiles maintained separately
- Mobs adapt to whoever they're targeting
- Does NOT work client-only (requires server installation)
Player combat profiles are stored server-side and persist between sessions.
Technical Details
Tracked Combat Actions
MELEE_ATTACK - Sword, axe, or unarmed attack
RANGED_ATTACK - Bow, crossbow, or trident throw
SHIELD_BLOCK - Successful shield block
JUMP_CRIT - Critical hit while falling
ENVIRONMENTAL_KILL - Mob death from fall, lava, fire, drown, cactus
STRAFE_LEFT / STRAFE_RIGHT - Lateral movement during combat
BACK_PEDAL - Moving backward while fighting
RUSH_FORWARD - Moving toward target aggressively
CIRCLE_STRAFE - Circular movement pattern
HIT_AND_RUN - Attack followed by retreat
Advanced Combat Analysis
The mod also tracks more nuanced combat behaviors:
| Behavior |
Detection Method |
| Weapon Preference |
Most frequently used weapon type in combat |
| Sprint Attack Ratio |
Percentage of attacks preceded by sprinting |
| Sneak Attack Ratio |
Percentage of attacks while sneaking |
| Towering Detection |
Placing blocks directly beneath while in combat |
| Combat Session Length |
Duration of individual combat encounters |
Movement Pattern Detection
The mod analyzes your recent combat movements to identify patterns:
| Pattern |
Detection Criteria |
| Aggressive |
>40% forward rushing |
| Kiting |
>40% backpedaling |
| Circle Strafe |
Balanced left/right strafing (>30% of movement) |
| Neutral |
No dominant pattern |
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/Adaptive-Mobs
cd adaptive-mobs
./gradlew build
The compiled JAR will be in build/libs/.
For development, you can run the client directly:
./gradlew runClient
Or run a dedicated server:
./gradlew runServer
Requirements
| Dependency |
Version |
| Minecraft |
1.20.1 |
| Fabric Loader |
0.15.6+ |
| Fabric API |
0.92.0+1.20.1 |
Troubleshooting
Mobs aren't adapting
- Make sure the mod is enabled in the config (
enabled: true).
- Check that the specific mob type is enabled (e.g.,
zombieAdaptationEnabled: true).
- Verify you have enough combat actions recorded (
minActionsForAdaptation default is 10).
- Check your combat ratios meet the thresholds (e.g., 60% melee for melee adaptations).
- Use
/am stats to view your current combat profile and verify actions are being tracked.
Adaptations feel too strong
- Reduce
adaptationStrength in the config (e.g., 0.5 for half intensity).
- Increase
decayRate for faster forgetting of old patterns.
- Disable location scaling options (
depthScalingEnabled, dimensionScalingEnabled, etc.).
Adaptations aren't resetting
- Increase
decayRate for faster behavior decay.
- Reduce
profileHistorySize for shorter memory.
- Use
/am reset to manually clear your combat profile.
- Change your combat style consistently for several minutes.
Pack tactics too difficult
- Set
packTacticsEnabled to false to disable group coordination.
- Increase
packTacticsMinMobs to require more mobs for coordination.
- Reduce
packTacticsRadius to limit coordination range.
Too many particles/sounds
- Set
visualFeedbackEnabled to false to disable particles.
- Set
audioFeedbackEnabled to false to disable sounds.
Performance issues
- Increase
adaptationCooldownTicks to reduce how often mobs check for adaptations.
- Disable adaptations for mob types you don't want (set
*AdaptationEnabled to false).
- Disable pack tactics if you have many mobs (set
packTacticsEnabled to false).
- Disable location scaling for small performance gains.
Data Storage
Player combat profiles are stored in:
- Config:
.minecraft/config/adaptive-mobs.json
- Profiles:
.minecraft/config/adaptive-mobs-profiles.json
Profiles are saved when players disconnect and when the server stops.