Lvl Stats is an RPG-Style datapack for 1.18.2/1.19 where you level-up, accumulate points, and invest points in stats.
I wrote this datapack with the intention of supplementing my private modpack (that includes Epic Fight Mod) with an RPG stat system. I then re-wrote it to be a bit more friendly for other players. My personal intention was originally to use this datapack until a proper 1.18.2 mod is released with similar features.
Discord
**Still trying to find bugs and test the default values.
**Lvl Stats is designed to work with or without any listed mods.
Stats:
Lvl Stats is designed to work with or without any listed mods.
Vigor: Increases health.
- minecraft: minecraft:generic.max_health BASE value.
- fxbuildup: fxbuildup:effect_resistance BASE value.
Strength: Increases attack Damage.
- minecraft: minecraft:generic.attack_damage BASE value.
- epicfight: epicfight:offhand_attack_damage BASE value.
Endurance: Increases stamina and knockback resistance.
- minecraft: minecraft:generic.knockback_resistance BASE value.
- epicfight: epicfight:staminar BASE value.
- paraglider: paraglider:max_stamina BASE value.
- fxbuildup: fxbuildup:max_stamina BASE value.
- fxbuild: fxbuildup:stamina_regen BASE value.
Dexterity: Increases attack speed and bow damage.
- minecraft: minecraft:generic.attack_speed BASE value.
- epicfight: epicfight:offhand_attack_speed BASE value.
- projectile damage attribute: minecraft:generic.projectile_damage BASE value.
Agility: Increases movement speed.
- minecraft: minecraft:generic.movement_speed BASE value.
Player Commands:
Pulls up your stats menu.
This can also be accessed by clicking the Level up chat message (e.g., Level 10!)
Click the [+] to invest points
/trigger xp
Displays XP needed for the next level up.
/trigger add-vigor [or strength, endurance, dexterity, agility]
Command line way to add points if preferred
Admin Commands:
I have added admin-configuration commands that can be ran to tweak your experience and provide you with tools. If I knew how to mod, this would be a config file.
/function lvlstats:admin/admin-menu
Opens the admin menu.
This can only be used by OPs or players with access to /function
1. Players
Reset all players
Resets all players to level 1 and removes all stat points. There is no undo-button unfortunately, so use carefully. **Works with offline players too
Reset target player
Displays the function that needs to be run to reset a single-target player.
Reset stats upon death
Whether the player should lose all stats and levels upon death.
1. false (default)
2. true
Reset target player stats only
Displays the function that needs to be run to reset a single-target player's stats (sets stats to 0 and refunds all points).
2. Stat Presets
Each stat has a preset menu.
This is the hardcoded values returned when investing a stat point.
Vigor has starting base health presets.
For example, do you want to start with 10 hearts? 5 hearts? 3 hearts? These are different Vigor presets.
Do you want your stats to increase the attributes with diminishing returns? or keep it linear?
More Presets can be added, although it's a bit complicated.
Currently, there are presets for 1x, 2x, 3x default values with a 100 stat cap per stat.
There is also a variant of 1x, 2x, 3x default values with a 40 stat cap per stat for those who prefer more value out of each investment.
**Works with offline players too
DM me on discord if you if you want me to add a preset idea you have.
3. Leveling System
1. Max Level
Allows you to adjust max level. I have some quick options of 120, 240 (default), and 501. But you can set any value 1-501 with commands.
2. XP Base Offset
How much exp is required as a base. For example, if this is set to 25 XP, every level will require a flat 25 XP in addition to the XP Algorithm Coefficient.
3. XP Algorithm Coefficient
How much additional exp is required per level. E.g., If this value is set to 10 XP, every increase will require an additional +10 XP per level (+10XP, +20XP, +30XP, etc).
4. XP Algorithm Type
An extra layer that helps determine the player level.
1. Traditional (default). Follows the basic formula (PlayerLevel * Coefficient) + XP Base Offset
2. Poyo's choice. Experimental system. Every X0, X1, X2, X3 levels (e.g., 10, 11, 12, 13), require drastically less XP than traditional.
5. XP Table Query
Allows an admin to display how much XP is required at various level groups (e.g, 1-15 or 10-100).
This is useful for calculating the results of any value changes.
6. XP System
Allows an admin to use the vanilla XP system (default) or a separate XP system based off of final blow dealt to mob (uses a custom XP table; editable for those who don't mind tinkering).
4. Attributes
You can disable specific attribute integration listed in Stats above.
This is a feature intended for new worlds or first-time setup.
Do you prefer Endurance doesn't add any knockback resistance? Turn it off!
Or maybe you want to use Paraglider, but don't want Endurance to add stamina?
As more attributes are added to this datapack in the future, this config option will be more useful.
Uninstalling
/function lvlstats:admin/uninstall/uninstall-confirm
Uninstall command.
Removes all scoreboard data and reset stats to default values.
Because this datapack refreshes on world load, it's important to remove the datapack files prior to reloading your world.
Recommended steps:
1. Run uninstall command.
2. Shutdown world/server
3. Delete Lvl Stats datapack
4. Start world/server
5. Side Note: Users who were offline during the uninstall, won't have their stats reverted until they die/respawn.
Scoreboard Objectives:
Here are a list of scoreboards that may be useful to display:
playerLevel = displays player Level
xpResult = displays current xp (used in calculating player level)
statsAvailable = displays # of stat points available per player
statsUsed = displays # of stat points used per player
statPreset = displays Presets chosen
numbers = admin-level values related to XP offset, coefficient, calculations, etc.
Mod Compatibility:
This datapack directly modifies the BASE value for attributes listed in the STATS section above. It will directly conflict if a mod or other datapack adjusts these values.
This pack has been tested (although only 10 minutes) on Multiplayer and works fine.
Mod integration:
Lvl Stats is designed to work with or without any listed mods.
- Epic Fight Mod: https://www.curseforge.com/minecraft/mc-mods/epic-fight-mod
- Paragliders: https://www.curseforge.com/minecraft/mc-mods/paragliders
- FXBuildup: https://www.curseforge.com/minecraft/mc-mods/fxbuildup
- Projectile Damage Attribute: https://www.curseforge.com/minecraft/mc-mods/projectile-damage-attribute
Planned Features:
1. More presets as I receive requests.
2. A short guide for modpack authors to ship with specific presets/attributes/xp values/etc on this curseforge page.
3. New leveling system that is tied to kills per entity instead of minecraft XP (optional; and will need heavy testing)
Known Issues:
'/trigger stats' or '/trigger xp' does not show up.
This generally because another datapack failed to load a tick/load command--which interferes with other tick/load commands such as in this pack.
Contact the other datapack author or manually fix the affected datapack.
In my experience, this is usually a problem located in .\data\minecraft\tags\functions--load.json and/or tick.json in the affected datapack.
If you have too many datapacks to go through, open latest.log in your minecraft folder, and search for any :tick entries.
It should show any invalid references there.
Message me on discord if I'm online (usually lurking EFM discord) and I can help answer any questions.
Dexterity stats do not affect bow damage.
As of v1.0.6+, This is now possible when used along side the Projectile Damage Attribute mod.