Gravity Config
The gravity system (dimension gravity, the Gravity Device block and weight-based training zones) is configured under the gravity key of config/dragonminez/general-server.json. It is one of the largest single sections of that file, with more than 60 fields, so it has its own page instead of being part of General Server Config.
The schema is the GravityConfig class nested in GeneralServerConfig.java; the logic is applied mostly in GravityLogic.java and GravityDeviceBlockEntity.java. For the player side, see Gravity, Weights and Gravity Device.
How it works
A player's raw gravity is built like this:
base = highest of: dimension gravity, WorldGuard "dmz-gravity" region flag, Kaio NPC gravity (if one is nearby)
rawGravity = base + (Gravity Device gravity - 1) // only while standing in an active device's room
That raw gravity is then reduced by the player's stats to get the net gravity (if raw gravity is 1 or less, net gravity is 0). Higher net gravity means more TP and mastery gain, stat penalties, movement, attack, jump and fly penalties, and a higher stamina cost per attack.
A separate weight-based training zone system is layered on top, based on how much weight the player is carrying relative to an ideal for their level. That is what produces the Comfortable, Ideal, Pushing Hard and Overloaded TP multiplier bands.
The Gravity row of the Stats menu shows all of this live: environmental and net gravity, stat penalty, TP bonus, your weight (raw → effective), ideal weight, training zone and the weight-training multiplier.
Base gravity sources
| Key | Default | What it does |
|---|---|---|
enabled |
true |
Master toggle for the whole system. When false, gravity is always 1.
|
gravityPerWorld |
minecraft:overworld: 1.0, minecraft:the_nether: 8.0, minecraft:the_end: 20.0, dragonminez:time_chamber: 10.0, dragonminez:otherworld: 1.0, dragonminez:namek: 1.0 |
A map of dimension id to number: the base gravity of each dimension. |
defaultWorldGravity |
1.0 |
Fallback for dimensions not listed in gravityPerWorld.
|
npcGravityValue |
10.0 |
Gravity applied near a King Kai (Kaio) NPC. |
npcGravityRange |
100.0 |
Radius (in blocks) used to detect a nearby King Kai NPC. |
machineGravityEnabled |
true |
Whether Gravity Device blocks contribute to gravity at all. |
With WorldGuard installed, the region flag dmz-gravity (a number) also sets a base gravity for the region; it is used when it is higher than the dimension's gravity (see Gamerules).
Resistance negation
| Key | Default | What it does |
|---|---|---|
resistanceStatDivisorRatio |
0.9 |
Resistance divisor, as a ratio of maxValue (from the gameplay section of general-server.json). Higher values make your stats negate gravity less.
|
resistanceScale |
100.0 |
Scales how much the negation term matters. |
netGravity = rawGravity - [(avg of the 6 stats × their multipliers) / (maxValue × resistanceStatDivisorRatio)] × resistanceScale
gameplay.maxValue is 1,000,000, so this negation only becomes significant at very high stats.Stat reduction curve
| Key | Default | What it does |
|---|---|---|
statReductionEnabled |
true |
Master toggle. |
affectedStats |
["STR", "SKP", "PWR", "DEF", "STM"] |
List of the stats that get penalized. |
statReductionPerGravity |
0.01 |
Reduction fraction per 1 point of net gravity. |
minStatReduction |
0.0 |
Floor. |
maxStatReduction |
0.9 |
Ceiling (never more than a 90% reduction). |
statReduction = min(maxStatReduction, clamp(netGravity × statReductionPerGravity, min, max) + weightPenalty)
The weight penalty (see the weight training zones below) is added on top of the gravity reduction, and the total is still capped at maxStatReduction.
Movement, attack, jump and fly penalties
| Key | Default | What it does |
|---|---|---|
hardStopThreshold |
75.0 |
Net gravity at or above which flight is fully disabled, jumping takes the maximum penalty, and the gravity TP and mastery bonus drops to nothing. |
maxMovementPenalty |
0.95 |
Maximum movement-speed reduction. |
maxAttackPenalty |
0.9 |
Maximum attack-speed reduction. |
penaltyCurveFactor |
1.6 |
Curve steepness for the movement, jump and fly penalties: penalty = sqrt(netGravity / 100) * penaltyCurveFactor, clamped to the relevant maximum. The attack-speed penalty uses sqrt(netGravity / 100) without this factor.
|
physicalEnabled |
true |
Master toggle for the jump, fall and fly penalties specifically. |
maxJumpPenalty |
0.95 |
Maximum jump-height reduction. |
extraFallPerGravity |
0.02 |
Extra fall-damage multiplier per point of net gravity. |
maxExtraFall |
0.6 |
Ceiling on extra fall damage. |
maxFlyPenalty |
0.95 |
Maximum flight-speed reduction (before the hard stop kicks in entirely). |
The weight stat penalty (see below) is also added to the movement and attack-speed penalties, still capped at maxMovementPenalty / maxAttackPenalty.
TP and mastery bonus from gravity
| Key | Default | What it does |
|---|---|---|
tpEnabled |
true |
Master toggle for the gravity TP bonus and the whole weight-training system below. |
tpGravityBonusPerGravity |
0.025 |
TP multiplier gained per point of net gravity: 1 + netGravity × 0.025.
|
masteryBonusPerGravity |
0.0025 |
Form mastery bonus per point of net gravity: 1 + netGravity × 0.0025.
|
tpPeakMultiplier |
2.0 |
The weight-training multiplier inside the Ideal band (see below). |
Both bonuses drop to nothing once net gravity reaches hardStopThreshold. Inside the Hyperbolic Time Chamber, the chamber's own dimension gravity is not counted for the TP bonus (the chamber has its own TP multiplier); a Gravity Device placed inside still counts.
Weight training zones
This is a separate multiplier layered on top of the gravity-derived TP bonus, based on the carried weight relative to an ideal for the player's level.
| Key | Default | What it does |
|---|---|---|
tpIdealBaseDivisor |
2.0 |
Ideal weight = relative level / this. |
gravitySensitivity |
1.0 |
How much raw gravity inflates the effective weight: loadFactor = 1.0 + (gravity - 1.0) * gravitySensitivity.
|
tpComfortRatioLow |
0.5 |
Load ratio at which the multiplier reaches tpComfortMultiplier.
|
tpIdealRatioLow |
0.75 |
The Ideal band starts here. |
tpIdealRatioHigh |
1.25 |
The Ideal band ends here; above it the stat penalty starts. |
tpOverloadRatio |
2.0 |
The multiplier peaks at tpHeavyMultiplier here, then descends.
|
tpOverloadHardRatio |
2.5 |
At or above this ratio, the multiplier bottoms out to 1.0 and the penalty is at its maximum.
|
tpComfortMultiplier |
1.5 |
Multiplier at tpComfortRatioLow.
|
tpHeavyMultiplier |
2.5 |
Multiplier at tpOverloadRatio.
|
maxWeightPenalty |
0.6 |
Maximum stat penalty from being overloaded on weight. |
maxWeightRequested |
100000 |
Highest weight (kg) a player can request from a master's weight service (Roshi, King Kai, Piccolo). |
Load ratio = effective weight (total worn weight × loadFactor) / ideal weight. The multiplier interpolates smoothly between the ratio thresholds: 1.0 at ratio 0 → tpComfortMultiplier at tpComfortRatioLow → tpPeakMultiplier across the ideal band → tpHeavyMultiplier at tpOverloadRatio → back down to 1.0 at tpOverloadHardRatio.
The weight stat penalty is 0 up to tpIdealRatioHigh, then grows linearly to maxWeightPenalty at tpOverloadHardRatio.
Players see five training zones in-game:
| Zone | Load ratio |
|---|---|
| None | No weights worn. |
| Comfortable | Below tpIdealRatioLow.
|
| Ideal | From tpIdealRatioLow to tpIdealRatioHigh.
|
| Pushing Hard | Above the ideal band, below tpOverloadHardRatio.
|
| Overloaded | tpOverloadHardRatio and above.
|
Gravity Room upgrades
Bulma's side quests Gravity Room Mk.II and Gravity Room Mk.III unlock dampeners that reduce the weight stat penalty while you stand inside an active Gravity Device's room. The relief fades as you get stronger:
relief = base × e^(−falloff × (avg of the 6 stats × multipliers) / maxValue)
penalty = weightPenalty × (1 − relief)
| Key | Default | What it does |
|---|---|---|
gravityRoomMk2Relief |
0.5 |
Base relief after Mk. II. |
gravityRoomMk2Falloff |
3.0 |
How fast the Mk. II relief fades with power. |
gravityRoomMk3Relief |
0.8 |
Base relief after Mk. III (replaces Mk. II). |
gravityRoomMk3Falloff |
1.5 |
How fast the Mk. III relief fades with power. |
Drain from load and gravity
| Key | Default | What it does |
|---|---|---|
loadDrainComfort |
1.15 |
Drain multiplier in the Comfortable zone. |
loadDrainIdeal |
1.3 |
Drain multiplier in the Ideal zone. |
loadDrainHeavy |
1.5 |
Drain multiplier in the Pushing Hard zone. |
loadDrainOverload |
2.0 |
Drain multiplier in the Overloaded zone. |
consumptionPerGravity |
0.04 |
Extra stamina cost of attacks per point of net gravity: consumptionMultiplier = 1.0 + netGravity * consumptionPerGravity.
|
The load drain multiplier applies to the stamina cost of attacks and to the ki, health and stamina drain of active forms.
Gravity Device block
| Key | Default | What it does |
|---|---|---|
deviceMinRoomSize |
5 |
Minimum size (in blocks) of the enclosed room on each axis. |
deviceMaxRoomSize |
25 |
Maximum size of the enclosed room on each axis. |
deviceMaxGravity |
1000 |
Gravity cap the device can be set to. |
deviceEnergyCapacity |
20000 |
Star Energy storage capacity. |
deviceEnergyPerGravityPerSecond |
1.0 |
Energy consumed per second per × of target gravity (100× gravity uses 100 energy per second by default). |
deviceShaderGravityForMax |
60.0 |
Gravity value at which the client-side visual shader reaches full intensity. |
The device validates its room with a flood-fill of the empty space around it: the enclosed space must be fully sealed (no gaps to the outside), and the enclosed air must measure between deviceMinRoomSize and deviceMaxRoomSize on every axis. The room is re-checked every 5 seconds while the device is on.
Reload and validate
- Edit the
gravityblock inconfig/dragonminez/general-server.json. - Validate the JSON syntax.
- Run
/dmzreload config. - Test in a Gravity Device or a high-gravity dimension: check the TP gain rate, the movement and attack penalties, and the drain.