promotional bannermobile promotional banner

SLM: Codex

Add a Codex system with Skills, Passives, Actives, Lore, etc. for Items, Weapons, Armor & Curios

File Details

SLM-Codex-1.1-1.20.1+[Forge].jar

  • R
  • Apr 20, 2026
  • 253.11 KB
  • 81
  • 1.20.1
  • Forge

File Name

SLM-Codex-1.1-1.20.1+[Forge].jar

Supported Versions

  • 1.20.1

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:slm-codex-1497320:7956418")
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more aboutย Curse Maven

๐Ÿ“ฆ ChangeLog – Dynamic Arguments & Combat Viewer Update

โœจ New: Dynamic Argument System

A new Dynamic Argument System has been introduced across:

  • Passive skills
  • Active skills
  • Combat Viewer (including combos)

This system allows runtime-generated text elements inside lang-based descriptions.


๐Ÿง  What are Dynamic Arguments?

Dynamic arguments are injectable components used in translation-based text to provide:

  • ๐ŸŽจ Colored text
  • ๐Ÿ”ข Mathematical operations
  • โš”๏ธ Damage-based calculations
  • ๐ŸŽฎ Dynamic keybindings

โš ๏ธ This system requires translation keys (lang files). It does not work with raw/plain text.


๐Ÿงฉ Argument Types

1. scripted_text

Injects styled or formatted text.

 
{
"argTargetType": "scripted_text",
"translatableKey": "...",
"colorKey": "red"
}
 

2. key_binding

Displays the current keybinding dynamically.

 
{
"argTargetType": "key_binding",
"translatableKey": "...",
"colorKey": "aqua"
}
 

3. damage_operation

Performs operations based on weapon damage or a base value.

 
{
"argTargetType": "damage_operation",
"operation": "multiplication",
"modifier": 1.5,
"colorKey": "red",
"format": "%.1f"
}
 

Supported operations:

  • addition
  • substract
  • multiplication
  • division

โš™๏ธ Base Value Behavior

  • If baseValue is defined → operation uses that value
  • If not defined → defaults to Codex stack (item) damage

๐Ÿ”ข Number Formatting (format)

The format field controls how numerical values are displayed in dynamic arguments.

 
"format": "%.1f"
 

๐Ÿง  What does it mean?

  • %f → represents a decimal number
  • .1 → shows 1 digit after the decimal point

๐Ÿ“Š Examples

Format Input Value Output
"%.0f" 12.75 13
"%.1f" 12.75 12.8
"%.2f" 12.75 12.75

 


๐Ÿ’ก Simple Explanation

This controls how many decimals are shown.

  • Use "%.0f" → no decimals
  • Use "%.1f" → 1 decimal
  • Use "%.2f" → 2 decimals

โš ๏ธ Notes

  • Values are rounded automatically

๐Ÿ”— Integration Points

Dynamic arguments are assigned depending on context:

Context Field Name
Description dynamicArgsDescription
Additional Text dynamicArgsAdditional
Combos dynamicComboArgs

 


๐Ÿ†• New: Combat Viewer (Epic Fight Integration)

Added compatibility with Epic Fight:

๐Ÿ“– New Codex Tab

  • Displays combos and attack sequences
  • Includes:
    • Title
    • Description
    • Animation list
    • Playback controls
    • Navigation between combo sets

โš”๏ธ Combo Features

Each combo can define:

  • Animation sequences
  • Optional offhand requirements
  • Descriptions (supports translation keys)
  • Dynamic arguments via dynamicComboArgs

๐Ÿ’ก Example Use Cases

Dynamic arguments in combos enable:

  • Displaying damage scaling per hit
  • Showing charged attack modifiers
  • Explaining combo-specific mechanics

๐Ÿงช Example Configuration

Dynamic arguments applied to an active skill:

. . .
        "dynamicArgsDescription": [
          {
            "argTargetType": "key_binding",
            "translatableKey": "slm_codex.core.key.render_details_screen",
            "colorKey": "aqua"
          },
          {
            "argTargetType": "damage_operation",
            "operation": "multiplication",
            "modifier": 1.5,
            "colorKey": "red",
            "format": "%.1f"
          }
        ],
        "dynamicArgsAdditional": [
          {
            "argTargetType": "scripted_text",
            "translatableKey": "slm.test.wooden_sword.active.key.additional.scripted",
            "colorKey": "red"
          }
        ]
. . .
 
and the result would be something like this...
 
 
in the json file (codex datapack)
 
 
 

 

โš ๏ธ Notes

  • Dynamic arguments only work with translation keys
  • Plain text descriptions will not process arguments
  • Improper formatting may result in missing or incorrect values
  • Regex validation for naming conventions remains unchanged (if applicable)