-
Notifications
You must be signed in to change notification settings - Fork 0
07‐3. Add Category to Guard Skills
This is an advanced configuration for integrating Guard and Parry systems. It maps weapon categories to Guard Skills while managing animation sets, single/multi-frame triggers, and style-specific behaviors.
Depending on whether you want users to be able to modify categories locally or bundle them inside your mod, choose one of the following paths:
Use this path if you want the setup to be easily accessible/editable by servers or pack devs.
-
Path:
.minecraft/config/epicfight_edp/skill_builder/guard_skills/*.json
Use this path to ship categories natively pre-configured inside your mod jar file or data-driven setup.
-
Path:
./data_driven/<mod_id>/skill_builder/guard_skills/*.json
Depending on the target skill type, you must provide either 2 or 3 animation configurations:
-
Guard / Impact Guard: Requires 2 sets (
guard_motionandguard_break_motion). -
Parrying-like Skills: Requires 3 sets (
guard_motion,guard_break_motion, andguard_advanced_motion).
| Field | Type | Description |
|---|---|---|
skill_guard_builder |
Array | Root array storing all guard skill configuration entries. |
skill_guard_id |
String | The target Epic Fight Guard Skill ID (Must inherit from Guard Skill). |
category |
String | The weapon category to be appended to the Guard Skill. |
| Animation Field | Description | Supported Types |
|---|---|---|
guard_motion |
Played when the player successfully guards an attack. | Only single
|
guard_break_motion |
Played when posture/stamina breaks, stunning the player. | Only single
|
guard_advanced_motion |
Special interaction (e.g., Parry deflection or Miracle counter). |
single or multi
|
Inside each animation entry object, you must specify how the file handles type execution and combat styles:
-
type(String): Defines animation structure.-
single: Plays a single animation frame/file. -
multi: Uses an array of animations. Note: Onlyguard_advanced_motionsupportsmulti. Setting this type on standard guard or break motions is invalid.
-
-
per_style(String/Array): Defines style-specific parameters.- Use specific style identifiers if you want stance-dependent animations (e.g.,
one_hand,two_hand). - 💡 The
returnKeyword: Use"return"to completely ignore the player's current stance. If you set"per_style": "return", the system bypasses style checks entirely—DO NOT assign standard styles if you use this keyword.
- Use specific style identifiers if you want stance-dependent animations (e.g.,
{
"skill_guard_builder": [
{
"skill_guard_id": "epicfight:guard",
"category": "dagger",
"guard_motion": {
"type": "single",
"per_style": {
"one_hand": "epicfight:biped/skill/guard_sword_hit",
"two_hand": "epicfight:biped/skill/guard_dualsword_hit"
}
},
"guard_break_motion": {
"type": "single",
"per_style": {
"return": "epicfight:biped/skill/guard_break1"
}
}
},
{
"skill_guard_id": "epicfight:impact_guard",
"category": "dagger",
"guard_motion": {
"type": "single",
"per_style": {
"one_hand": "epicfight:biped/skill/guard_sword_hit",
"two_hand": "epicfight:biped/skill/guard_dualsword_hit"
}
},
"guard_break_motion": {
"type": "single",
"per_style": {
"return": "epicfight:biped/skill/guard_break1"
}
}
},
{
"skill_guard_id": "epicfight:parrying",
"category": "dagger",
"guard_motion": {
"type": "single",
"per_style": {
"one_hand": "epicfight:biped/skill/guard_sword_hit",
"two_hand": "epicfight:biped/skill/guard_dualsword_hit"
}
},
"guard_break_motion": {
"type": "single",
"per_style": {
"return": "epicfight:biped/skill/guard_break1"
}
},
"guard_advanced_motion": {
"type": "multi",
"per_style": {
"one_hand": [
"epicfight:biped/skill/guard_sword_hit_active1",
"epicfight:biped/skill/guard_sword_hit_active2"
],
"two_hand": [
"epicfight:biped/skill/guard_sword_hit_active2",
"epicfight:biped/skill/guard_sword_hit_active3"
]
}
}
}
]
}2026-06-17.22-44-20.mp4
⚠️ CRITICAL RULES:
- No Override Support: This system does NOT allow overrides.
- A single weapon category declaration can be safely reused across multiple distinct Guard Skills.