Community listing page, reviews here may not be monitored by the author.
Advanced Mob Leveling
No reviews yet
An unofficial Auto Leveling continuation featuring formula-based attributes, KubeJS level controls, LootJS compatibility, and improved configuration formatting.
Community voices
Reviews
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description
Advanced Leveling
Advanced Leveling is an unofficial derivative and continuation of Auto Leveling by Daripher for Minecraft Forge 1.20.1. It adds precise formula-based attribute scaling, KubeJS level controls, LootJS compatibility, and a redesigned configuration system.
The mod keeps the autoleveling mod ID so existing worlds and datapacks remain compatible. This project is not affiliated with or endorsed by the original author.
Features
- Mob levels based on distance, depth, time, dimension, and entity settings
- Numeric and expression-based attribute scaling
- Linear, exponential, conditional, and piecewise growth curves
- KubeJS controls for per-dimension level bonuses
- LootJS-compatible additional leveled-mob loot
- Entity blacklists, whitelists, namespace wildcards, and hidden-level lists
- Pretty-printed JSON for attributes and entity lists
- Existing Auto Leveling world and datapack compatibility
Configuration
Advanced Leveling 1.0.1 uses three configuration files:
config/advancedleveling-common.toml: general server and leveling settingsconfig/advancedleveling-client.toml: client display settingsconfig/advancedleveling.json: attributes and entity lists
The old autoleveling-common.toml and autoleveling-client.toml files are not read or migrated. Move any settings you still need to the new files manually.
Example advancedleveling.json:
{
"attributes": {
"minecraft:generic.movement_speed": 0.001,
"minecraft:generic.flying_speed": 0.001,
"minecraft:generic.attack_damage": "level <= 10 ? base + (level - 1) * 2 : base + 18 + (level - 10) * 5",
"minecraft:generic.armor": 0.1,
"minecraft:generic.max_health": "base * (1.05 ^ (level - 1))",
"autoleveling:monster.projectile_damage_bonus": 0.1,
"autoleveling:monster.explosion_damage_bonus": 0.1
},
"mobs": {
"blacklist": [
"minecraft:ender_dragon",
"minecraft:wither"
],
"whitelist": [],
"hidden_levels": []
}
}
Entity lists accept exact IDs such as minecraft:zombie and namespace wildcards such as minecraft:*. When the whitelist is not empty, only matching entities can level. The blacklist takes priority over the whitelist. Changes are loaded on restart or with /reload.
Attribute expressions
A numeric value keeps the original behavior and applies a MULTIPLY_BASE bonus for each level above level 1:
"minecraft:generic.max_health": 0.05
A quoted expression returns the final target attribute value:
"minecraft:generic.max_health": "base + (level - 1) * 10"
Available variables:
base: the entity's original base attribute valuelevel: the displayed mob level, starting at 1
Exponential growth uses ^:
"minecraft:generic.max_health": "base * (1.05 ^ (level - 1))"
Conditional expressions can create piecewise growth curves:
"minecraft:generic.attack_damage": "level <= 10 ? base + (level - 1) * 2 : base + 18 + (level - 10) * 5"
Datapack attribute_modifiers also support expressions:
{
"attribute": "minecraft:generic.max_health",
"expression": "base + (level - 1) * 10"
}
KubeJS integration
The saved level bonus of each dimension can be replaced or incremented from a KubeJS server script:
const ServerLifecycleHooks = Java.loadClass(
'net.minecraftforge.server.ServerLifecycleHooks'
)
const WorldLevelingData = Java.loadClass(
'daripher.autoleveling.saveddata.WorldLevelingData'
)
let server = ServerLifecycleHooks.getCurrentServer()
let level = server.getLevel(dimension)
if (level != null) {
let levelingData = WorldLevelingData.get(level)
levelingData.setLevelBonus(25)
levelingData.addLevelBonus(5)
}
setLevelBonus(value) replaces the dimension's saved bonus. addLevelBonus(value) adds to its current bonus. Both methods mark the data for saving automatically.
LootJS compatibility
Loot added through LootJS entity modifiers no longer causes Advanced Leveling's optional additional loot table to execute multiple times. LootJS additions and the autoleveling:gameplay/leveled_mobs loot table can be used together without unintended duplicate drops.
Requirements and compatibility
- Minecraft 1.20.1
- Minecraft Forge 47 or newer
- Java 17
- KubeJS and LootJS are optional
- YiRanExpressionLib is embedded and does not need to be installed separately
Attribution and license
Advanced Leveling is an unofficial derivative of Auto Leveling by Daripher. Original portions remain attributed to Daripher and the original contributors. The fork does not imply endorsement by the original author.
- Original project: https://www.curseforge.com/minecraft/mc-mods/auto-leveling
- Source code: https://github.com/QLNPLUS/Advanced-Leveling
- License: GNU AGPLv3
The distributed jar embeds YiRanExpressionLib, which is also licensed under GNU AGPLv3.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources