File Details
EF-ExtendedDatapacks-2.1.4-1.20.1+[Forge].jar
- R
- Jun 1, 2026
- 240.34 KB
- 393
- 1.20.1
- Forge
File Name
EF-ExtendedDatapacks-2.1.4-1.20.1+[Forge].jar
Supported Versions
- 1.20.1
Curse Maven Snippet
V2.1.4 Rework to the Internal Skills Registration System
Issue Resolved: The legacy (He only lived a couple of days...) system directly referenced animations from the global pool. Any modifications applied to existing animations caused a dangerous accumulation of properties, leading to cross-contamination between skills and unintended side effects.
Root Cause: The virtual animation system was not creating true clones; it was merely assigning an additional identifier to existing animation instances. Consequently, modifications to "virtual" animations were being applied to the original real animations, making the virtualization layer functionally equivalent to direct references.
New Implementation: The asset routing and virtualization system has been refactored to perform de facto cloning of animations. Each cloned animation now operates as a completely independent memory entity, eliminating singleton-based conflicts.
How It Works:
- The system parses new virtual animation paths using the format:
{modID}:biped/skill/{skillName} - Upon manual protocol invocation, the system deep-clones the source animation, preserving all:
- Animation phases
- Frame properties and timing data
- Attached events and callbacks
- Multi-conditional skills are parsed based on their name and condition set, retaining all aforementioned qualities
Benefits:
Innate Skillsthat reference or reuse existing mod animations no longer cause property pollution when those animations are utilized outside their originating skill context- Virtual animations can be safely modified via skill constructors without affecting source animations
- The system operates exclusively through manual protocol calls, ensuring only successfully registered skills trigger the cloning process
Stability Guarantee: This approach prevents animation interception and guarantees stable, isolated operation for all virtualized animation entries.
I sincerely apologize for any issues caused by this error!
V2.1.3 Conditional Innate Skill Reworked

The Conditional Skill system becomes "MultiConditional" and now tolerates properties for each animation assigned to each possible condition, the conditions can increase or decrease in the future.
V2.1.2 Fix Dedicated Server Crash
✨ Added: Data-Driven Innate Skill System (JSON Support)
Introduced a fully data-driven system that allows creation and customization of Innate Skills via JSON, removing the need for hardcoded implementations.
📦 Supported Skill Types
The system currently supports three types of innate skills:
- Conditional Innate Skills
- Dynamically selects animations based on player state.
- Example conditions include:
sprintingin_airkneelinguse_item
- Falls back to a default animation if no condition is met.
- Holdable Innate Skills
- Supports charge-based mechanics.
- Configurable charging behavior:
chargeAnimationminChargingTicksmaxChargingTicksmaxAllowedCharging- Optional movement slowdown (
reduceSpeed)
Allows multiple charge levels, each with independent properties.- Later on, "charged innate conditional skills" will be possible.
- Simple Innate Skills
- Basic one-phase skills with a single animation and property set.
- Lightweight and easy to configure.
⚙️ Skill Properties
Each skill can define customizable combat parameters such as:
max_strikesdamage_multiplierarmor_negationimpactstun_type- Optional flags like
extra_damage
For multi-phase (e.g. holdable) skills, properties can be defined per level using indexed entries ("0", "1", "2", etc.).
📁 File Locations
Config-based (User Override)
├─ conditional_innate_skill/
├─ holdable_innate_skill/
└─ simple_innate_skill/
- JSON files placed here must explicitly declare a
modid.
Data-driven (In-Jar / Datapack-style)
├─ conditional_innate_skill/
├─ holdable_innate_skill/
└─ simple_innate_skill/
- The
modidis automatically inferred from the folder path. - Any
modiddeclared inside the JSON file is ignored.
Execution Animations from Combat Evolution (Third Party)
You can register execution animations, either by item or by category, however you cannot type both at the same time or your package is considered invalid.
📁 Path - Conig:
config/epicfight_edp/third_party/combat_evolution/execution
📁 Path - InJar:
data_driven/<mod_id>/third_party/combat_evolution/execution
Registry for Categories

Registry for Item:

| Property | Type | Description |
|---|---|---|
category |
String | Weapon category that will receive the execution animation. Use "null" to ignore field |
item |
String | Specific item registry name (modid:item_name). Use "null" to ignore field |
style |
String | Combat style required for the execution. |
executionAnimation |
String | Animation played by the attacker during the execution sequence. |
executedAnimation |
String | Animation played by the target being executed. |
xOffset |
Float | Horizontal X position offset applied to the executed entity. |
yOffset |
Float | Vertical position offset applied to the executed entity. |
zOffset |
Float | Forward/backward Z position offset applied to the executed entity. |
rotationOffset |
Float | Additional rotation applied between the attacker and the executed target. |
totalTick |
Integer | Total duration of the execution sequence in ticks. |