Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Creators
Details
JLFork Power Scale Bridge
This project is built around these exact JARs:
- JustLevelingFork 1.2.9
- Silent's Power Scale 0.3.1.1
- NeoForge 21.1.215
- Minecraft 1.21.1
- Java 21
What it does
The bridge listens for Power Scale's SetMobDifficultyEvent, reads the nearest non-spectator player in the mob's dimension, obtains that player's JLFork Strength aptitude, and replaces Power Scale's normal local difficulty with a Strength-derived difficulty.
Default mapping:
Strength 1 -> Power Scale difficulty 0 -> Power Scale power level 1 Strength 2 -> difficulty 1 -> power level 2 Strength 10 -> difficulty 9 -> power level 10 Strength 25 -> difficulty 24 -> power level 25
This matches Power Scale's own formula: new power level = (int)newDifficulty + 1.
Why there is a tick handler
Power Scale's MobDifficulty class recalculates local difficulty every 200 ticks and that path does NOT post SetMobDifficultyEvent. The bridge therefore also listens to EntityTickEvent.Post at LOWEST priority and reapplies the Strength-based difficulty after Power Scale's own tick handler.
Configuration
The server config is config/jlforkpowerscale-server.toml:
strength_multiplier = 1.0 minimum_difficulty = 0.0 maximum_difficulty = 100.0 use_nearest_player = true reapply_on_tick = true
At multiplier 1.0, Strength is treated as the target Power Scale power level.
Notes
Power Scale still applies its own entity-group min/max clamp inside setDifficultyClamped. If a boss or hostile group has a configured maximum below the requested value, that group's cap wins.
The bridge intentionally does not modify Power Scale's scaling-attribute definitions. It only supplies the difficulty; Power Scale remains responsible for health, attack damage, movement speed, projectile damage, blights, and other configured scaling behavior.
Build
Use a normal NeoForge 1.21.1 Java 21 environment. The two supplied mod JARs are in libs/ and are compile-only dependencies.
The environment used to create this archive could inspect and validate the exact public API of both supplied JARs, but it could not download the NeoForge Gradle toolchain, so the archive has not been compiled in this environment.


