CompatLink - Epic Fight Weapons Compat

Give ANY modded weapon Epic Fight movesets — no coding, just JSON.
good
Create your game server with affiliate logo
Create Server
affiliate banner image

CompatLink

Give ANY modded weapon Epic Fight movesets — no coding, just JSON.

Epic Fight only knows vanilla weapons out of the box. CompatLink lets you connect any modded weapon to an Epic Fight moveset by dropping a small JSON file in your config folder. Claymores swing like greatswords, katanas draw like uchigatana, spears thrust like spears — for any mod, in minutes.

  • Available for Forge 1.20.1 (Epic Fight 20.14.17+) and NeoForge 1.21.1 (Epic Fight 21.13+)
  • Any item, any Epic Fight moveset — including weapon types from other Epic Fight addon mods, not just the built-in ones
  • Swing trails, combat-stat tuning, and (experimental) mob movesets — all from the same JSON
  • 100% data-driven: no code, no datapack knowledge required for basic use
  • Safe by design: broken mapping files are skipped with a log message — never a crash
  • Loads fine without Epic Fight installed (mappings just wait until it's there)

For players & modpack makers: 30-second setup

  1. Install CompatLink (plus Epic Fight).
  2. Open config/compatlink/mappings/ — CompatLink creates it with an example on first run.
  3. Create mymappings.json:
{
  "format": 1,
  "backend": "epicfight",
  "weapons": [
    { "target": "simplyswords:iron_claymore", "preset": "epicfight:greatsword" },
    { "target": "cataclysm:the_incinerator",  "preset": "epicfight:greatsword" },
    { "target": "somemod:*_katana",           "preset": "epicfight:uchigatana" }
  ]
}
  1. Start the game (or run /reload). Done — the log prints CompatLink: N entity mappings, M weapon mappings applied.

Wildcards (somemod:*) and priorities (higher wins; exact id beats wildcard on ties) let you map whole mods in one line and override single items afterwards.

Available weapon presets include epicfight:swordepicfight:greatswordepicfight:longswordepicfight:uchigatanaepicfight:tachiepicfight:spearepicfight:daggerepicfight:axeepicfight:bow and any weapon type added by Epic Fight datapacks.

Use movesets from other Epic Fight addons

A preset is just an Epic Fight weapon-type id, so you're not limited to the built-in ones — you can borrow movesets registered by other Epic Fight addon mods. Any item can take any moveset:

{
  "format": 1,
  "backend": "epicfight",
  "weapons": [
    { "target": "minecraft:golden_apple", "preset": "wom:ender_blaster" }
  ]
}

Here a plain golden apple picks up the full attack animations of the wom:ender_blaster weapon type from another addon. Whatever weapon types are registered in your modpack — Epic Fight's own or ones added by other mods — are all valid presets.

Tune weapon stats with params

Each weapon mapping can also tune Epic Fight combat attributes — same meaning as Epic Fight's own datapack attributes.common, no datapack needed:

{
  "target": "simplyswords:iron_claymore",
  "preset": "epicfight:greatsword",
  "params": { "impact": 8.0, "max_strikes": 6, "damage_bonus": 2.0 }
}
  • impact — stagger/knockback strength (decimal)
  • armor_negation — % of armor ignored (decimal)
  • damage_bonus — extra damage in battle mode (decimal)
  • speed_bonus — attack speed bonus (decimal)
  • max_strikes — max targets hit per swing (integer)

Unknown keys or malformed numbers are warned about in the log and ignored — the weapon still gets its moveset.

Weapon trails

Mapped weapons automatically inherit their weapon type's Epic Fight swing trail — no extra setup. Want a custom one? Add a trail object to the mapping (Epic Fight item_skins schema):

{
  "target": "simplyswords:runic_katana",
  "preset": "epicfight:uchigatana",
  "trail": {
    "color": [120, 40, 255],
    "begin_pos": [0.0, 0.0, -0.2], "end_pos": [0.0, -0.22, -1.25],
    "lifetime": 4, "interpolations": 6,
    "texture_path": "epicfight:textures/particle/swing_trail.png",
    "particle_type": "epicfight:swing_trail"
  }
}

Trail too big on a small item? Turn it off for that one weapon with "trail": "none" (or false). To disable automatic trails entirely — so only weapons with an explicit trail object get one — set "auto_trails": false in config/compatlink/settings.json.

Trails from config mappings show from game start; wildcard/datapack mapping trails apply after a resource reload (F3+T). Trails defined by Epic Fight itself or other mods always take priority over CompatLink's generated ones.

For pack/mod authors: ship mappings as a datapack

Put mapping files at data/<your_namespace>/compatlink/mappings/*.json in any datapack or mod jar. They participate in /reload and merge with config-folder mappings under the same priority rules. Ready-made packs: CompatLink: Simply Swords (all 122 weapons mapped) — see the project page sidebar.

Entity mapping (EXPERIMENTAL)

You can also give mobs Epic Fight combat AI/animations with an entities array. This is an experimental feature for advanced pack authors:

{
  "format": 1,
  "backend": "epicfight",
  "entities": [
    { "target": "illagerinvasion:basher",      "preset": "minecraft:vindicator" },
    { "target": "illagerinvasion:necromancer", "preset": "minecraft:evoker" }
  ]
}
  • The preset must share the target's model family and texture layout (an illager-shaped mob needs an illager preset like minecraft:evoker/minecraft:vindicator, a zombie-shaped mob needs epicfight:zombie, etc.). Custom-model mobs (GeckoLib bosses) are not supported by design.
  • Built-in safeguard: before wiring anything, CompatLink compares the target's texture size with the preset's. On mismatch the mapping is rejected with a clear log message (e.g. texture size mismatch 64x128 vs 64x64 — mapping skipped) and the mob stays 100% vanilla — no broken models, no crashes.
  • Validation is strict: if anything about a mapping can't be wired safely, CompatLink registers nothing for it and logs the reason.

FAQ

Does the server need it? The client?
Both, on dedicated servers — install CompatLink (and the same mapping files) on client and server. In singleplayer one install is enough.

What happens if Epic Fight is missing?
Nothing breaks. CompatLink loads, parses your files, and reports "backend 'epicfight' unavailable" in the log.

A mapping file has a typo — will my game crash?
No. That one file is skipped and the reason is logged; everything else applies.

Which loader/version do I download?
compatlink-1.1.2.jar for Forge 1.20.1 (Java 17), compatlink-neoforge-1.1.2.jar for NeoForge 1.21.1 (Java 21). Same features, same JSON format on both.

Can other combat mods be supported?
The core API is a loader-agnostic, MIT-licensed backend SPI. Epic Fight is the first backend.

Do weapon params do anything?
Yes — impactarmor_negationdamage_bonusspeed_bonus and max_strikes are applied exactly like Epic Fight datapack attributes. See "Tune weapon stats" above.

The CompatLink - Epic Fight Weapons Compat Team

Forgeborn tier frameprofile avatar
Owner
Forgeborn tier icon
  • 4
    Followers
  • 10
    Projects
  • 114.0K
    Downloads

More from sho09View all