Add Modded Weapons to a Class
When you use a weapon from another mod, the game still reports an item id for that weapon. RPG Leveling matches that id against weapon kinds you define. If a kind matches and a class lists that kind in itsWeapons and Dmg, the class bonuses (damage per level, innate stats, passives) apply when you use that weapon. This guide shows how to register a modded weapon and attach it to a specific class so the effect is applied.
When does the effect apply?
- Weapon kind — You register a weapon kind in
ClassesGlobalConfig.jsonwith an IncludedInId string. The mod checks whether the current weapon’s item id (case-insensitive) contains that string. You do not need the full item id: a part is enough. Example:"Wand"matches every weapon whose id contains “Wand” (e.g.Weapon_Wand_Wood,Weapon_Wand_Crystal_Flame). If it matches, the weapon is treated as that kind. - Class — The class you have selected must list that weapon kind in its Weapons array and in each tier’s Dmg object. Then:
- Damage bonus — You get the class’s damage % per level for that weapon when you hit with it.
- Innate bonuses — All innate stat bonuses for your class and tier apply regardless of weapon; they are not weapon-specific.
- Passives — Class passives (e.g. HighGuard, LifeSteal) trigger in combat as usual when you use that weapon.
Step 1: Find the modded weapon’s item id
You need the item id (or a unique substring) of the weapon from the other mod. Common ways to find it:- Check the mod’s documentation or config files.
- Use in-game tools or logs if the mod or game prints item ids when you hold or use the item.
- Often the id looks like
ModName_Weapon_WeaponType_Variant(e.g.StarWarsMod_Weapon_Lightsaber_Blue).
Lightsaber, PlasmaRifle). You will use this as IncludedInId so the mod can match the weapon.
Step 2: Register the weapon kind
Open:mods/Zuxaw_RPGLeveling/Classes/ClassesGlobalConfig.json
Find the WeaponKinds array and add a new entry:
- IncludedInId — A part of the item id (not mandatory to use the full id). The mod matches any weapon whose item id contains this string (case-insensitive). Example:
"Wand"matches all wands (Weapon_Wand_Wood,Weapon_Wand_Crystal_Flame, etc.);"Lightsaber"matches modded lightsabers. This value is the weapon kind id you use in class configs. - Icon — An item id used in the UI for this weapon kind. Prefer the mod’s actual weapon item id so the icon looks correct; if the mod doesn’t provide one, you can use any existing item id.
Step 3: Add the weapon to a class
Pick the class that should get bonuses when using this weapon (e.g. Edge for a “Jedi” style). Edit that class file:mods/Zuxaw_RPGLeveling/Classes/Class<Name>.json
(e.g. ClassEdge.json).
-
Weapons array — Add the weapon kind id (same as IncludedInId) to the
Weaponsarray.
Example:"Weapons": ["Sword", "Longsword", "Spear", "Lightsaber"] -
Dmg per tier — In every tier (T0–T4), add a Dmg entry for this weapon kind with the damage % per level you want.
Example for one tier:
"Dmg": { "Sword": 1.0, "Longsword": 0.5, "Spear": 1.0, "Lightsaber": 1.2 }
Dmg object; otherwise that tier won’t give a damage bonus for the modded weapon.
Save the file. After reload, when a player has that class and uses a weapon whose item id contains your IncludedInId, the class damage bonus and passives apply.
Step 4 (optional): Rename the class or weapon
- Class name/description — Use MessagesLanguageMapping. Class keys are the class Id in lowercase (e.g.
edge). You can rename “Edge” to “Jedi” there without changing the class file. - Weapon kind name — If the mod supports custom labels for weapon kinds, check MessagesLanguageMapping or the mod’s docs; RPG Leveling uses the weapon kind for damage matching and can show the IncludedInId or a mapped name in the UI depending on implementation.
Checklist
- You know the modded weapon’s item id (or a unique substring).
- You added a WeaponKinds entry in
ClassesGlobalConfig.jsonwith IncludedInId and Icon. - You added that IncludedInId (e.g.
Lightsaber) to the class’s Weapons array. - You added the same key to every tier’s Dmg object in that class file.
- You ran
/lvl reloador restarted the server so configs are reloaded. - (Optional) You set the class display name/description in MessagesLanguageMapping.
Example: “Lightsaber” on Edge
-
ClassesGlobalConfig.json — In WeaponKinds:
-
ClassEdge.json — In Weapons:
-
ClassEdge.json — In every tier’s Dmg (example for T0):
-
Optional: In MessagesLanguageMapping, set the class name for
edgeto “Jedi” and a matching description.
Lightsaber, they get the class’s damage bonus and passives for that weapon.
For full class and passive field reference, see Classes Configuration and Passives Configuration. To replace a class entirely with a custom theme, see How to Create a Custom Class.
