About this mod
Mod allows to bind specific keys for spells/consumables. Open source. Highly customizable. Written on Java
- Permissions and credits
Requirenments:
Java 11+ installed (https://www.java.com/en/download/manual.jsp)
Windows platform (it uses JNA by default)
NOTE: Lates version contains profile with advanced usage.
Instalation:
Download zip file and unpack. (Alternative download MacroJ on Github)
Technical information:
Mod has to know correct amount of spells/consumables so it can calculate hwo many times specific key has to be pressed. For example if you have 3 spells and current spell slot is 2, the if you need to select 1 slot, change spell key should be pressed twice. Current slot is stored in memory, but sometimes order could be wrong (game expects your current slot 2 but actual slot is 1 as example). In that case need to reset it by presing "-" dash by default. By default game allows to reset spells /consumables order by long pressing key. It's used for reseting mod if order is incorrect (this may happens if you press binded button in inventory for example).
Simple usage:
Default configuration is 5 spells (keys 1-5) and 5 consumables (keys 6-0). Other should be added to profiles/mapping-eldenring.json. This file contains comments.
To be able to use this mod need to change profiles/mapping-eldenring.json and/or change in-game keybindings. Default configuration created for 12 side buttons mouse so some bindings may be unconvenient, but can be changed easily.
1.) By default mod expects following in-game keybindings:
Change spell key: NUMPAD9
Change consumable key: NUMPAD7
Use consumable: R
Additionally mod uses "-" (dash) key for reseting itself
All these expected bindings could be changed in profiles/mapping-eldenring.json
2) Need to change profiles/mapping-eldenring.json and specify desired amount of spells/consumables and add desired bindings(if needed):
Open profiles/mapping-eldenring.json and find section:
"-": {
"onPress": {
"macroClass": "local.autohotkey.data.macro.eldenring.Reset",
"params": {
"spells": {
//change spell key. If need to change this binding, need to be changed in whole file by replacing
"key": "NUMPAD9",
//Number of spells
"amount": 5 //<------CHANGE HERE
},
"consumables": {
//change consumable key. If need to change this binding, need to be changed in whole file by replacing
"key": "NUMPAD7",
//Number of consumables
"amount": 5 //<------CHANGE HERE
}
}
}
},
and change actual amount of spells/consumables on character. If amount is changed in game, it HAS TO BE changes in profiles/mapping-eldenring.json. Restart of mod is required in that case (close mod window and run again).
After mod could be run by macroj.bat file. Select eldenring profile. Back to game and press "-" (dash) key to reset mod values and set spell/consumable to 1st slot. Enjoy.
Extended usage:
By default spells are just switched, but consumables are used. If you need to use spell by selecting it you could add
"useKey": [
{"key": "LMB", "delay": 1}
]
to specific spell slot. For example if we need to select 2nd spell slot and use it by left hand weapon following code could be used:"2":
{
"onPress": {
"macroClass": "local.autohotkey.data.macro.eldenring.SelectSpellSlot",
"params": {
"position": "2",
"changeKey": "NUMPAD9",
"useKey": [
{"key": "RMB", "delay": 1}
]
}
}
},
Additional example: We need to use 2nd spell slot but right handed weapons has to be changed before:
"2": {
"onPress": {
"macroClass": "local.autohotkey.data.macro.eldenring.SelectSpellSlot",
"params": {
"position": "6",
"changeKey": "NUMPAD9",
"useKey": [
{"key": "U", "delay": 300}, // Emulate press U for changing left weapon
{"key": "LMB", "delay": 3000}, //Use spell after 300ms
{"key": "U", "delay": 10} // Emulate press U for changing left weapon again after 3000 ms
]
}
}
},
Allowed key names could be found here: https://github.com/FenyxInvincible/MacroJ/blob/master/src/main/resources/keys.json
And last but not least: you could uncomment ""MOUSE_SCROLL"" section (line: 153 and below) to be able get weapon to both hands by scrolling mouse wheel.
Different profiles for characters:
If you want to have separate profile for each character you could create new file in profiles folder (profiles/mapping-eldenring-mage.json for example).
PS:
This tool can be used not only for Elden Ring, but requires additional effort to learn it: https://github.com/FenyxInvincible/MacroJ/blob/master/README.md