Balanced Epic Fight
What does this mod do?
- Makes some Epic Fight combat features more balanced.
Features
1. No more hit trading
Mobs can no longer perform infinite attack loops. There is now a cooldown after their final basic attack. This cooldown duration dynamically increases based on the surrounding mob count and decreases based on the mob's maximum health.
How it works:
- Base Cooldown: 2.0 seconds.
- Crowd Penalty: The cooldown increases by 0.4 seconds for each additional mob around the player (starting from the 2nd mob). The maximum cooldown time is hard-capped at 5.0 seconds.
- Elite Adjustment: The cooldown decreases by 0.01 seconds for every 1 point of max HP. This gives high-tier enemies like Endermen and Iron Golems shorter cooldowns, keeping them aggressive while standard mobs retain a normal cooldown.
| Before | After |
|---|---|
![]() |
![]() |
2. Crowd combat
Stamina cost is significantly decreased when the player is surrounded by a herd of mobs.
How it works:
- Dynamic Cost: The stamina cost for all actions is automatically scaled using the formula:
Base Stamina / Mob Count. - Minimum Cost Cap: To prevent infinite skill spamming and maintain game balance, the maximum stamina cost reduction is capped at 20% (you will never consume less than 20% of the original stamina cost, regardless of how many mobs are attacking you).
| Status | Demo |
|---|---|
| Before | ![]() |
| After | ![]() |
Configuration (Datapack)
Download Template Datapack Here
stamina_cost.json
Controls how much stamina is reduced when facing multiple enemies.
algorithm: Accepts either"inverse"or"linear".- Inverse: Calculates the cost using the formula
Base Stamina / Mob Count. - Linear: Reduces stamina by a flat percentage for each additional mob (starting from the 2nd mob). Formula:
Base Stamina * (1 - (Mob Count - 1) * reductionPerMob).
- Inverse: Calculates the cost using the formula
reductionPerMob: The percentage of stamina cost reduced per mob (e.g., 0.15 for 15%). Note: This property is only used when the algorithm is set to linear.maxMobCount: The maximum number of mobs that will affect the calculation.excludedMobs: A list of entity IDs (e.g.,["minecraft:enderman"]) to ignore during the calculation.
attack_cooldown.json
Controls the cooldown duration of mob attacks.
baseCooldownTicks: The default cooldown duration in ticks.maxCooldownTicks: The maximum possible cooldown in ticks.tickIncreasePerMob: Ticks added to the cooldown per surrounding mob.tickDecreasePerHealth: Ticks subtracted from the cooldown per 1 point of max health.excludedMobs: A list of entity IDs to ignore when counting surrounding mobs.
Requirements
- Minecraft 1.20.1
- Forge
- Epic Fight 20.14.17 or above
License
This project is licensed under GPL-3.0.





