Skills Config

From DragonMineZ Wiki
Revision as of 05:56, 13 October 2026 by FuzzyBot (talk | contribs) (Updating to match new version of source page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Skill costs, which races can learn each skill and which master teaches what all live in one file, config/dragonminez/skills.json. Technique tuning (experience, cooldowns, cast times, ki attack sizes and terrain destruction) lives next to it in config/dragonminez/techniques.json. Both files are documented on this page.

Their schemas are defined in SkillsConfig.java and TechniqueConfig.java. For what each skill and technique does in game, see Skills and Techniques.

Top-level structure of skills.json

Key Default What it does
configVersion A version string Internal schema version. Do not hand-edit it (see How to JSON).
kiSkills List of ids Ki attack technique names (for example kamehameha, final_flash).
strikeSkills List of ids Strike attack technique names (for example meteor, dragon_fist).
evasionSkills taiyoken, rage_scream, afterimage, sleep_recovery, dimensional_teleport Evasion technique names.
formSkills superforms, legendaryforms, godforms, androidforms The transformation-tier skill names.
stackSkills kaioken, ultimate The stack-form skill names.
androidBlacklistedForms superforms, legendaryforms Form skill names Androids are barred from learning.
skills See below A map of skill name to { costs, allowedRaces }.
skillOfferings See below A map of master name to a list of skill names.

There is no separate skill-offerings.json: skillOfferings lives inside skills.json alongside skills.

Category lists are not kept on upgrade The category lists (kiSkills, strikeSkills, evasionSkills, formSkills, stackSkills, androidBlacklistedForms) describe what exists in code. They are refreshed from the mod's defaults whenever the config is upgraded to a new version, so edits to them are not carried over. skills and skillOfferings keep your edits.

Skill costs and eligibility

The skills map sets the cost of every level of a skill and which races can learn it:

"skills": {
  "kamehameha": { "costs": [2000], "allowedRaces": [] },
  "kaioken": { "costs": [1000, 1500, 2500, 4000, 7500], "allowedRaces": [] },
  "potentialunlock": { "costs": [600, 1600, 2400, 3200, 4000, 4800, 5600, 6400, 7200, 8000, -1, 8800, 9600], "allowedRaces": [] }
}
Field What it does
costs List of the Training Point cost to upgrade to each level. Index 0 is level 1's cost, and so on. The number of entries is the skill's max level. A -1 entry marks that level as not purchasable: it must be granted another way (for example Potential Unlock level 11 from Grand Elder Guru, or Ultimate from Old Kai).
allowedRaces List of the races allowed to learn this skill. An empty list (or "all") means every race can learn it. For techniques (ki, strike and evasion), every race can still learn them from a master, but only the listed races can equip them in a technique slot. By default gum_punch, mystic_ball and sleep_recovery are set to ["majin"].

Form skills (superforms, godforms, legendaryforms, androidforms) are priced per race in races/<race>/character.json instead (see Custom Races).

Default skill costs

Skill Costs per level (TP)
jump, sprint, meditation, kisense 300, 600, 900, 1,200, 1,500, 1,800, 2,100, 2,400, 2,700, 3,000
fly 1,500, 600, 900, 1,200, 1,500, 1,800, 2,100, 2,400, 2,700, 3,000
kicontrol 3,000
potentialunlock 600, 1,600, 2,400, 3,200, 4,000, 4,800, 5,600, 6,400, 7,200, 8,000, -1, 8,800, 9,600
kiboost 2,000, 4,000, 6,000, 8,000
kimanipulation, instant_transmission, defense_penetration, healing_reduction, ki_infusion, kiprotection 600, 1,200, 1,800, 2,200, 2,600, 2,800, 3,000, 3,200, 3,600, 4,000
kaioken 1,000, 1,500, 2,500, 4,000, 7,500
ultimate -1 (granted by Old Kai)
fusion 25,000, 5,000, 10,000, 15,000, 20,000

Every predefined technique has a single cost (its unlock price); see the tables on Ki Attacks, Strike Attacks and Evasion Techniques.

Who teaches which skills

The skillOfferings map lists the skills and techniques each master offers:

"skillOfferings": {
  "goku": ["kicontrol", "fly", "instant_transmission", "fusion", "kamehameha", "spiritbomb", "dragon_fist", "super_god_fist", "oozaru_fist"],
  "roshi": ["jump", "meditation", "kicontrol", "kamehameha", "afterimage"],
  "default": ["kicontrol", "jump"]
}

Keys are the master id (or the id of a quest NPC) offering the skill. "default" is the fallback list used by any master or NPC that has no entry of its own. Purchases are checked on the server: you must be within 10 blocks of a master that offers the skill, your race must be allowed (except for techniques, which any race can learn; see allowedRaces above), and a master who refuses you because of your alignment won't teach you.

Default offerings

Master id Master Skills offered
roshi Master Roshi jump, meditation, kicontrol, kamehameha, afterimage
goku Goku kicontrol, fly, instant_transmission, fusion, kamehameha, spiritbomb, dragon_fist, super_god_fist, oozaru_fist
kingkai King Kai kicontrol, kaioken, potentialunlock, kimanipulation, kaioken_attack, spiritbomb
vegeta Vegeta kicontrol, defense_penetration, potentialunlock, galick_gun, big_bang, final_flash, final_explosion, fake_moon, deadly_dance_vegetto, spirit_breaking_cannon
oldkai Old Kai kicontrol, ki_infusion, healing_reduction, soul_punisher
gohan Gohan kicontrol, kiboost, kiprotection, kisense, masenko, makkanko, kamehameha, ki_barrage
piccolo Piccolo potentialunlock, kicontrol, masenko, makkanko, ki_barrage, kienzan, hellzone_grenade
krillin Krillin kicontrol, sprint, kisense, kienzan, kienzan_doble, ki_barrage, taiyoken, afterimage, deadly_dance
frieza Frieza kicontrol, fly, jump, sprint, kisense, meditation, potentialunlock, death_beam, emperor_death_beam, supernova, kienzan_doble, deadly_dance, meteor
trunks Trunks kicontrol, kiboost, kiprotection, burning_attack, heat_dome, shining_sword_attack, galick_gun, ki_barrage, meteor
cell Cell kicontrol, instant_transmission, kimanipulation, ki_infusion, kiprotection, defense_penetration, healing_reduction, kiboost, kamehameha, kienzan, galick_gun, masenko, death_beam, ki_barrage, afterimage, deadly_dance, meteor
yamcha Yamcha kicontrol, ki_infusion, wolf_fang, sokidan, kamehameha, ki_barrage
baba_earth Fortuneteller Baba kicontrol, meditation
buu Majin Buu assault_rain, gum_punch, mystic_ball, sleep_recovery
default Any other master or NPC kicontrol, jump

What JSON can and can't change

  • Retune existing skills: yes. Change costs, tighten or loosen allowedRaces, and add or remove a skill or technique from a master's skillOfferings list (for example, to let Roshi teach Kienzan).
  • Add a brand-new skill or predefined technique: no, not with JSON alone. New skills need actual Java code and registration before you can reference their name here. JSON only controls cost, eligibility and offering for skills that already exist in code. Players can still design their own ki attacks in the Technique Creator (see Techniques).

techniques.json

config/dragonminez/techniques.json tunes techniques by kind: one entry per ki attack type, and one per predefined strike and evasion technique. It is synced to clients and reloaded with the rest of the config.

{
  "KiAttacks": {
    "wave": { "castTimeTicks": 50, "damageMultiplier": 1.0, "kiCostMultiplier": 1.0, "baseSizeCap": 2.0, "transformedSizeCap": 5.0, "maxDestructionRadius": 12.0, "...": "..." }
  },
  "StrikeAttacks": {
    "dragon_fist": { "cooldownTicks": 320, "damageMultiplier": 1.0, "...": "..." }
  },
  "EvasionAttacks": {
    "taiyoken": { "cooldownTicks": 900, "...": "..." }
  }
}

Ki attacks

KiAttacks has one entry per ki attack type: small_ball, medium_ball, giant_ball, wave, laser, beam, disk, explosion, shield, barrage and area.

Field Default What it does
minXPCost 100 Base XP cost of an upgrade (grows with the technique's strength and the upgrades already bought).
maxXPCost -1 Upper limit for an upgrade's XP cost (-1 means no limit).
xpCostMultiplier 1.0 Multiplier on upgrade XP costs; above 1 each extra upgrade gets pricier.
xpGainMultiplier 1.0 Multiplier on XP gained.
xpGainPerHit / xpGainPerKill 1 / 3 XP gained per hit / per kill.
kiCostMultiplier 1.0 Multiplier on the ki cost of this type.
damageMultiplier 1.0 Multiplier on the damage of this type.
destructionMultiplier 1.0 Multiplier on the block-destruction radius of this type (0 means no terrain damage).
maxDestructionRadius Giant Ball and Explosion 32; Wave, Beam and Area 12; others 6 Hard cap on the destruction radius (0 or less means no cap).
castTimeTicks Small Ball and Laser 0; Medium Ball and Disk 30; Barrage, Shield and Area 40; Wave and Beam 50; Giant Ball and Explosion 60 Time to charge to 100%. Small Ball and Laser are always instant.
baseSizeCap Giant Ball 15, Explosion 12, Medium Ball 4.5, Wave 2, Beam and Disk 1.2, Barrage 1.5, others 0 Largest size the attack grows to with Ki Power in base form (0 keeps the technique's own size).
transformedSizeCap Giant Ball and Explosion 25, Medium Ball 7, Wave 5, Beam and Disk 2.3, Barrage 2.5, others 0 The same, while transformed or using a stack form such as Kaioken.
sizePowerFloor / sizePowerCeiling 100 / 1000000 Ki Power at which an attack is at its own size / reaches the cap (the growth in between is logarithmic).

Block destruction is also subject to the ki-griefing gamerules (see Gamerules).

Strike attacks

StrikeAttacks has one entry per strike technique id.

Field Default What it does
cooldownTicks Set per technique, for example meteor_burst 600, dragon_fist 320, oozaru_fist / mystic_ball 280, super_god_fist / kaioken_attack / spirit_breaking_cannon 240, deadly_dance_vegetto 200, meteor / deadly_dance / shining_sword_attack 160, wolf_fang 140, oozaru_slam 120 Technique cooldown (before upgrades).
castTimeTicks 0 Cast time shown in the technique details (strikes start as soon as you press the key).
damageMultiplier 1.0 Multiplier on the technique's damage.
kiCostMultiplier 1.0 Multiplier on the ki cost.
minXPCost / maxXPCost / xpCostMultiplier 100 / -1 / 1.0 Upgrade XP costs, as for ki attacks.
xpGainMultiplier / xpGainPerHit / xpGainPerKill 1.0 / 1 / 3 XP gains, as for ki attacks.

Evasion techniques

EvasionAttacks has one entry per evasion technique id.

Field Default What it does
cooldownTicks Set per technique, for example sleep_recovery 1200, taiyoken 900, afterimage 200, rage_scream / dimensional_teleport 80 Technique cooldown (before upgrades).
damageMultiplier 1.0 Multiplier on damage (Rage Scream).
kiCostMultiplier 1.0 Multiplier on the ki cost.
minXPCost / maxXPCost / xpCostMultiplier 100 / -1 / 1.0 Upgrade XP costs.
xpGainMultiplier / xpGainPerHit 1.0 / 2 XP gains (evasion techniques gain XP each time they're used).

Reload and validate

  1. Edit config/dragonminez/skills.json, techniques.json or both.
  2. Validate the JSON syntax.
  3. Run /dmzreload config (or /dmzreload). Connected players get the new values resynced automatically.
  4. Check the skill menu in-game for the master you changed.