AbyssalDao Configuration¶
AbyssalDao ships with the following main configuration files:
config.yml: combat input, Tao Sense, skill evolution, progression, transfer, and infusion settingsstorage.yml: SQLite/MySQL/MariaDB persistence backend settingselements.yml: display names, colors, and five-phase strengths/weaknessescombos.yml: built-in combo sequences and their base manifestation statsmessages.yml: player-facing text and command feedbackhelp.yml: in-game help GUI/page contentcultivation.yml: focus, mastery tiers, realms, methods, and breakthrough rulesskill_trees.yml: per-element node trees, unlock requirements, and permanent bonusesfocus-environments.yml: favorable/hindering biome and environment tuningsynergies.yml: cast-sequence synergy effectstao-creatures.yml: Tao creature tagging, AI, and kill rewardsmythicmobs.yml: optional external skill entries exposed from MythicMobsfabled.yml: optional external skill entries exposed from Fabled
Example config.yml¶
combo-input:
timeout-millis: 1200
require-sneaking: true
debug-action-bar: true
combat:
allow-player-vs-player: true
allow-player-vs-mob: true
respect-scoreboard-teams: true
default-cooldown-ticks: 20
damage-scale: 1.0
max-range: 12.0
max-targets-per-cast: 4
disabled-worlds: []
skill-casting:
max-combo-length: 5
tao-sense:
triple-sneak-window-millis: 1200
update-interval-ticks: 10
range: 24.0
darkness-duration-ticks: 40
weakness-offset-y: 0.95
weakness-hit-radius: 0.55
hindering-damage-multiplier: 1.25
hindered-damage-multiplier: 0.80
weakness-point-bonus-multiplier: 1.40
signature-layers:
level-layer:
min-level: 3
min-sense-tier: 1
instability-layer:
min-level: 5
min-sense-tier: 2
method-layer:
min-level: 7
min-sense-tier: 3
focus-layer:
min-level: 5
min-sense-tier: 2
cultivation:
meditate-interval-ticks: 40
meditation-movement-threshold: 0.75
meditation-xp-per-cycle: 6
tao-sense-insight-per-signature: 2
combat-xp-per-hit: 4
advantage-insight-bonus: 2
weakness-insight-bonus: 4
breakthrough-base-xp: 24
breakthrough-xp-scale: 16
breakthrough-base-insight: 8
breakthrough-insight-scale: 6
recording:
max-combos-per-skill: 8
skill-evolution:
xp-per-cast: 4
xp-per-hit: 2
level-thresholds: [50, 150, 350, 700, 1200]
damage-bonus-per-level: 0.08
cooldown-reduction-per-level: 0.05
range-bonus-per-level: 0.40
mutation-chance-per-level-up: 0.30
progression:
default-level: 1
max-level: 10
transfer:
enabled: true
max-copies-per-skill: 3
cooldown-seconds: 3600
infusion:
focus-cost: 10
duration-ticks: 200
drain-per-tick: 0
weapon-damage-bonus: 2.0
armor-damage-reduction: 0.15
tool-haste-level: 1
config.yml Reference¶
| Path | Type | Default | Description |
|---|---|---|---|
combo-input.timeout-millis |
integer | 1200 |
Maximum time window for building an input combo before the buffer expires. |
combo-input.require-sneaking |
boolean | true |
If true, combo input only counts while the player is sneaking. |
combo-input.debug-action-bar |
boolean | true |
Shows combo buffer/debug information in the action bar. |
combat.allow-player-vs-player |
boolean | true |
Enables Dao damage against players. |
combat.allow-player-vs-mob |
boolean | true |
Enables Dao damage against mobs. |
combat.respect-scoreboard-teams |
boolean | true |
Prevents friendly fire against same-team players when enabled. |
combat.default-cooldown-ticks |
integer | 20 |
Fallback cooldown used by manifestations that do not override it. |
combat.damage-scale |
decimal | 1.0 |
Global multiplier applied to Dao combat damage. |
combat.max-range |
decimal | 12.0 |
Hard cap for cast range calculations. |
combat.max-targets-per-cast |
integer | 4 |
Maximum entities a cast can hit. |
combat.disabled-worlds |
string list | [] |
Lowercased world names where Dao combat is disabled. |
skill-casting.max-combo-length |
integer | 5 |
Maximum custom binding length for /dao cast bind. |
tao-sense.triple-sneak-window-millis |
integer | 1200 |
Time window used for Tao Sense triple-sneak toggling. |
tao-sense.update-interval-ticks |
integer | 10 |
How often Tao Sense visual updates are recalculated. |
tao-sense.range |
decimal | 24.0 |
Base Tao Sense detection range before realm, mastery, or skill tree bonuses. |
tao-sense.darkness-duration-ticks |
integer | 40 |
Darkness effect duration refreshed while Tao Sense is active. |
tao-sense.weakness-offset-y |
decimal | 0.95 |
Vertical offset used for weakness-point placement on sensed targets. |
tao-sense.weakness-hit-radius |
decimal | 0.55 |
Hit radius used for weakness-point precision checks. |
tao-sense.hindering-damage-multiplier |
decimal | 1.25 |
Damage multiplier when the caster's element hinders the target's element. |
tao-sense.hindered-damage-multiplier |
decimal | 0.80 |
Damage multiplier when the target's element hinders the caster's element. |
tao-sense.weakness-point-bonus-multiplier |
decimal | 1.40 |
Extra multiplier for precise weakness-point hits. |
tao-sense.signature-layers.level-layer.min-level |
integer | 3 |
Minimum target Dao level before the level signature layer can show. |
tao-sense.signature-layers.level-layer.min-sense-tier |
integer | 1 |
Required Tao Sense tier for the level signature layer. |
tao-sense.signature-layers.instability-layer.min-level |
integer | 5 |
Minimum target Dao level before instability information can show. |
tao-sense.signature-layers.instability-layer.min-sense-tier |
integer | 2 |
Required Tao Sense tier for the instability layer. |
tao-sense.signature-layers.method-layer.min-level |
integer | 7 |
Minimum target Dao level before active method information can show. |
tao-sense.signature-layers.method-layer.min-sense-tier |
integer | 3 |
Required Tao Sense tier for the method layer. |
tao-sense.signature-layers.focus-layer.min-level |
integer | 5 |
Minimum target Dao level before focus information can show. |
tao-sense.signature-layers.focus-layer.min-sense-tier |
integer | 2 |
Required Tao Sense tier for the focus layer. |
cultivation.meditate-interval-ticks |
integer | 40 |
Legacy top-level cultivation timer setting still loaded into DaoSettings. The more detailed cultivation system is tuned from cultivation.yml. |
cultivation.meditation-movement-threshold |
decimal | 0.75 |
Legacy top-level movement threshold loaded into DaoSettings. |
cultivation.meditation-xp-per-cycle |
integer | 6 |
Legacy top-level meditation XP setting loaded into DaoSettings. |
cultivation.tao-sense-insight-per-signature |
integer | 2 |
Legacy top-level Tao Sense insight setting loaded into DaoSettings. |
cultivation.combat-xp-per-hit |
integer | 4 |
Legacy top-level combat XP setting loaded into DaoSettings. |
cultivation.advantage-insight-bonus |
integer | 2 |
Legacy top-level elemental advantage insight bonus loaded into DaoSettings. |
cultivation.weakness-insight-bonus |
integer | 4 |
Legacy top-level weakness insight bonus loaded into DaoSettings. |
cultivation.breakthrough-base-xp |
integer | 24 |
Legacy top-level breakthrough XP tuning loaded into DaoSettings. |
cultivation.breakthrough-xp-scale |
integer | 16 |
Legacy top-level breakthrough XP scaling loaded into DaoSettings. |
cultivation.breakthrough-base-insight |
integer | 8 |
Legacy top-level breakthrough insight tuning loaded into DaoSettings. |
cultivation.breakthrough-insight-scale |
integer | 6 |
Legacy top-level breakthrough insight scaling loaded into DaoSettings. |
recording.max-combos-per-skill |
integer | 8 |
Maximum number of captured steps allowed in a recorded skill. |
skill-evolution.xp-per-cast |
integer | 4 |
Skill evolution XP awarded when a recorded skill is cast. |
skill-evolution.xp-per-hit |
integer | 2 |
Skill evolution XP awarded when a recorded skill hits a target. |
skill-evolution.level-thresholds |
integer list | [50, 150, 350, 700, 1200] |
XP thresholds for recorded-skill evolution levels. |
skill-evolution.damage-bonus-per-level |
decimal | 0.08 |
Damage bonus per recorded-skill evolution level. |
skill-evolution.cooldown-reduction-per-level |
decimal | 0.05 |
Cooldown reduction per recorded-skill evolution level. |
skill-evolution.range-bonus-per-level |
decimal | 0.40 |
Range bonus per recorded-skill evolution level. |
skill-evolution.mutation-chance-per-level-up |
decimal | 0.30 |
Chance for a mutation trait to appear on skill level-up. |
progression.default-level |
integer | 1 |
Starting Dao level for new profiles. |
progression.max-level |
integer | 10 |
Hard cap for Tao progression level. |
transfer.enabled |
boolean | true |
Present in config and loaded into settings, but the player-facing transfer command flow is not implemented yet. |
transfer.max-copies-per-skill |
integer | 3 |
Reserved limit for future skill transfer/copying logic. |
transfer.cooldown-seconds |
integer | 3600 |
Reserved cooldown for future skill transfer/copying logic. |
infusion.focus-cost |
integer | 10 |
Focus cost to trigger Tao infusion. |
infusion.duration-ticks |
integer | 200 |
Duration of Tao infusion effects. |
infusion.drain-per-tick |
integer | 0 |
Additional focus drain per tick during infusion. |
infusion.weapon-damage-bonus |
decimal | 2.0 |
Extra weapon damage while infused. |
infusion.armor-damage-reduction |
decimal | 0.15 |
Incoming damage reduction while infused armor is active. |
infusion.tool-haste-level |
integer | 1 |
Haste amplifier used for infused tools. |
storage.yml¶
The persistence backend is configured in storage.yml.
type: SQLITE
sqlite:
file: dao-data.db
mysql:
host: localhost
port: 3306
database: abyssaldao
username: root
password: change-me
parameters: "useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC"
| Path | Type | Default | Description |
|---|---|---|---|
type |
string | SQLITE |
Storage backend. Valid values are SQLITE, MYSQL, and MARIADB. |
sqlite.file |
string | dao-data.db |
SQLite file name placed inside the plugin data folder. |
mysql.host |
string | localhost |
Hostname used for MySQL or MariaDB. |
mysql.port |
integer | 3306 |
Port used for MySQL or MariaDB. |
mysql.database |
string | abyssaldao |
Database/schema name. |
mysql.username |
string | root |
SQL username. |
mysql.password |
string | change-me |
SQL password. |
mysql.parameters |
string | useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC |
Extra JDBC query parameters appended to the connection string. |
Notes:
- Changing
storage.ymlis not hot-swapped by/dao admin reload; a full restart is required. - The plugin ships built-in SQLite, MySQL, and MariaDB providers.
messages.yml and help.yml¶
messages.ymlcontains almost all player-facing text: command responses, cultivation feedback, recording notices, skill tree unlock text, instability text, and admin messages.help.ymldrives the/dao help [page]GUI and lets you rewrite the built-in onboarding/help flow without code changes.- Both files are reloaded by
/dao admin reload.
elements.yml¶
elements.yml defines the five fixed affinities and the core five-phase relationship table:
| Element | Display name | Strong against | Weak against |
|---|---|---|---|
WOOD |
&aWood |
EARTH |
METAL |
FIRE |
&cFire |
METAL |
WATER |
EARTH |
&6Earth |
WATER |
WOOD |
METAL |
&7Metal |
WOOD |
FIRE |
WATER |
&bWater |
FIRE |
EARTH |
Each element entry also contains:
display-nameprimary-colorsecondary-colorstrong-againstweak-against
combos.yml¶
combos.yml defines the built-in castable manifestations. Default combos:
| Id | Sequence | Min level | Form | Cooldown | Base damage | Range | Radius |
|---|---|---|---|---|---|---|---|
pulse |
LLL |
1 |
BURST |
18 ticks |
4.0 |
5.0 |
2.5 |
helix |
RRL |
1 |
PROJECTILE |
24 ticks |
4.5 |
10.0 |
0.9 |
tide_break |
LRRL |
2 |
WAVE |
30 ticks |
5.0 |
7.5 |
3.0 |
mirrored_arc |
RLLR |
3 |
LINE |
34 ticks |
5.5 |
11.0 |
1.2 |
tao_infuse |
RRR |
2 |
INFUSE |
100 ticks |
0.0 |
0.0 |
0.0 |
Important rules enforced by the loader:
- Sequences must be unique.
- Sequences may only contain
LandR. - Built-in combos cannot prefix-conflict with each other.
min-levelis clamped between1andprogression.max-level.
cultivation.yml¶
cultivation.yml is the main long-term progression file. It defines:
global: focus economy, instability system, and generic cultivation pacingmastery-tiers: named thresholds likeSeed,Tempered, andTranscendentstyle-bonuses: passive bonuses granted per mastery tier forSTILLNESS,SENSE,COMBAT, andFLOWrealms: named Tao realms unlocked by minimum levelbreakthrough: formulas, chance clamps, penalties, and cooldownsmethods: per-element cultivation methods with cycle rewards and combat rewards
Global settings¶
Notable defaults from global:
| Path | Default | Meaning |
|---|---|---|
meditate-interval-ticks |
80 |
Meditation cycle timing. |
meditation-movement-threshold |
0.55 |
Max movement for stillness/sense meditation. |
flow-movement-minimum |
0.12 |
Minimum movement expected for FLOW methods. |
flow-movement-maximum |
1.45 |
Maximum movement expected for FLOW methods. |
environment-radius |
4.0 |
Radius used for cultivation environment checks. |
focus-max |
960 |
Base maximum focus before skill tree bonuses. |
focus-regen-per-hour |
90 |
Base hourly focus regeneration before modifiers. |
low-focus-floor-multiplier |
0.04 |
Minimum cultivation efficiency when focus is depleted. |
generic-combat-xp-per-hit |
1 |
Baseline cultivation XP from successful Dao combat hits. |
generic-advantage-insight |
1 |
Baseline insight from advantageous elemental hits. |
generic-weakness-insight |
2 |
Baseline insight from weakness-point hits. |
generic-focus-cost-per-hit |
3 |
Baseline focus cost per successful Dao combat hit. |
instability-gain-multiplier |
0.65 |
Multiplier applied when instability penalties are converted into gain/penalty outcomes. |
instability-cooldown-penalty |
0.15 |
Extra breakthrough penalty while unstable. |
instability-tao-sense-range-penalty |
2.5 |
Tao Sense range penalty while unstable. |
instability-bonuses-enabled |
true |
Enables the risk/reward instability tier system. |
instability-low-threshold-minutes |
1 |
Start of the low instability tier. |
instability-moderate-threshold-minutes |
20 |
Start of the moderate instability tier. |
instability-high-threshold-minutes |
50 |
Start of the high instability tier. |
instability-suppress-modifier |
0.50 |
Multiplier used by /dao instability suppress. |
instability-embrace-modifier |
1.50 |
Multiplier used by /dao instability embrace. |
Mastery tiers¶
Default mastery thresholds:
| Tier id | Display name | Threshold |
|---|---|---|
seed |
Seed |
0 |
tempered |
Tempered |
140 |
flowing |
Flowing |
380 |
resonant |
Resonant |
760 |
transcendent |
Transcendent |
1320 |
Realms¶
Default realm progression:
| Realm id | Display name | Min level |
|---|---|---|
awakened-breath |
Awakened Breath |
1 |
meridian-flow |
Meridian Flow |
3 |
hindering-core |
Hindering Core |
5 |
manifest-current |
Manifest Current |
7 |
abyssal-dao |
Abyssal Dao |
9 |
Each realm also grants passive numeric bonuses to:
- Tao Sense range
- weakness radius
- combat damage
- cooldown reduction
- cast range
- insight gain
- breakthrough stability
Breakthrough tuning¶
Default breakthrough rules:
| Path | Default | Description |
|---|---|---|
xp-base |
1400 |
Base XP needed for the next breakthrough. |
xp-linear-scale |
650 |
Linear XP growth per level offset. |
xp-quadratic-scale |
150 |
Quadratic XP growth per level offset. |
insight-base |
120 |
Base insight needed for the next breakthrough. |
insight-linear-scale |
45 |
Linear insight growth per level offset. |
total-mastery-base |
150 |
Base total mastery requirement. |
total-mastery-scale |
120 |
Mastery growth per level offset. |
attempt-cooldown-seconds |
1200 |
Cooldown after each breakthrough attempt. |
success-base-chance |
0.42 |
Starting breakthrough success chance. |
minimum-success-chance |
0.12 |
Lower clamp for success chance. |
maximum-success-chance |
0.95 |
Upper clamp for success chance. |
active-method-mastery-weight |
0.00028 |
Weight applied to active method mastery. |
total-mastery-weight |
0.00011 |
Weight applied to combined mastery. |
insight-overcap-weight |
0.0012 |
Bonus from insight above the requirement. |
xp-overcap-weight |
0.00035 |
Bonus from XP above the requirement. |
instability-active-penalty |
0.14 |
Chance penalty while instability is active. |
failure-xp-loss-percent |
0.32 |
XP lost on a normal failure. |
failure-insight-loss-percent |
0.26 |
Insight lost on a normal failure. |
failure-instability-minutes |
30 |
Instability applied on a normal failure. |
severe-failure-threshold |
0.40 |
Severe-failure check threshold. |
severe-extra-xp-loss-percent |
0.18 |
Extra XP loss on severe failure. |
severe-extra-insight-loss-percent |
0.18 |
Extra insight loss on severe failure. |
severe-extra-instability-minutes |
45 |
Extra instability on severe failure. |
Cultivation methods¶
Each method entry under methods.<ELEMENT>.<id> supports:
display-namedescriptionstyleenvironmentrequires-tao-sensemin-nearby-tao-signaturesxp-per-cycleinsight-per-cyclemastery-per-cyclefocus-cost-per-cyclexp-per-hitinsight-per-advantageinsight-per-weaknessmastery-per-hitfocus-cost-per-hit
Default method ids by element:
| Element | Method ids |
|---|---|
WOOD |
rooted-grove, pollen-listening, bramble-hunt |
FIRE |
cinder-furnace, sun-devouring, ashen-assault |
EARTH |
mountain-posture, vein-listening, crushing-domain |
METAL |
resonant-anvil, echo-discipline, edge-tempering |
WATER |
deep-current, mist-listening, undertow-flow |
Practical note¶
cultivation.yml is the main place to rebalance progression speed, risk, and pacing. In practice:
- edit
globalfor focus economy and instability behavior - edit
breakthroughfor progression wall hardness - edit
style-bonusesandrealmsfor passive power curves - edit
methodsfor element-specific cultivation identity
skill_trees.yml¶
skill_trees.yml defines one tree per element under skill-trees.<ELEMENT>.
Each tree contains:
root.iconroot.titleroot.descriptionroot.backgroundnodes.<id>.parentnodes.<id>.iconnodes.<id>.titlenodes.<id>.descriptionnodes.<id>.framenodes.<id>.requirementsnodes.<id>.bonuses
Example structure:
skill-trees:
WOOD:
root:
title: "&aWood Dao"
background: "minecraft:textures/gui/advancements/backgrounds/husbandry.png"
nodes:
living-bark:
parent:
frame: task
requirements:
min-level: 2
min-total-mastery: 40
xp-cost: 180
insight-cost: 18
requires: []
bonuses:
focus-max-bonus: 60
cultivation-gain-bonus: 0.03
Important behavior:
- Node ids must be globally unique across all element trees.
- Parent references are validated and cycles are rejected at load time.
root.backgroundaccepts full texture-style paths and is normalized internally.- Unlock costs come from XP, insight, level, total mastery, and prerequisite node ids.
- Bonuses can grant focus max, focus regen, combat damage, cooldown reduction, cast range, Tao Sense range, weakness radius, cultivation gain, and breakthrough stability.
focus-environments.yml¶
This file controls how surroundings modify focus economy and combat output.
Top-level structure:
focus-environments.enabledfocus-environments.biome-influence-enabledfocus-environments.block-influence-enabledfocus-environments.evaluation-interval-ticksfocus-environments.favorable.*focus-environments.hindering.*focus-environments.elements.<ELEMENT>.favorable.environmentsfocus-environments.elements.<ELEMENT>.favorable.biomesfocus-environments.elements.<ELEMENT>.hindering.environmentsfocus-environments.elements.<ELEMENT>.hindering.biomes
Behavior:
- Favorable environments reduce focus costs, improve regeneration, and slightly improve combat.
- Hindering environments increase focus costs, reduce regeneration, and slightly penalize combat.
- Priority order is
hindering > favorable > neutral.
synergies.yml¶
The default synergy definitions are:
| Id | Name | Sequence | Effect | Window |
|---|---|---|---|---|
fire-metal-explosion |
Forging Blast |
FIRE -> METAL |
EXPLOSION with power 2.0, radius 4.0 |
5s |
water-wood-root |
Entangling Torrent |
WATER -> WOOD |
ROOT for 80 ticks in 5.0 blocks |
5s |
earth-earth-amplify |
Tectonic Surge |
EARTH -> EARTH |
AMPLIFY next cast by 1.4x |
4s |
fire-burst-burst-slow |
Scorching Blaze |
FIRE/BURST -> FIRE/BURST |
SLOW for 80 ticks in 5.0 blocks |
5s |
metal-earth-amplify |
Iron Mountain |
METAL -> EARTH |
AMPLIFY next cast by 1.3x |
5s |
wood-fire-explosion |
Blazing Grove |
WOOD -> FIRE |
EXPLOSION with power 1.5, radius 4.5 |
5s |
Each synergy entry supports:
namesequenceeffect.typeeffect.powereffect.radiuseffect.duration-tickseffect.multiplierwindow-seconds
tao-creatures.yml¶
This file controls the Tao creature system:
auto-tag-on-spawn: automatically assigns Tao creature profiles to configured entitiescombat-ai.*: cast range, cooldowns, mutation chance, and cooperative range for creature casting AIkill-bonuses.*: XP and insight rewards awarded when players kill Tao creaturesentity-types.*: default Bukkit entity mappings to element and Tao levelmythicmobs.*: optional MythicMobs id mappings to element and Tao level
Default highlights:
- AI is enabled with a
20tick update interval. - Default AI cast range is
12.0. - Kill rewards start at
8XP and2insight, plus per-level bonuses. - The shipped
entity-typessection maps mobs such asZOMBIE,BLAZE,GUARDIAN,IRON_GOLEM,WARDEN, andPIGLIN_BRUTE.
mythicmobs.yml and fabled.yml¶
These two files expose external skills in the AbyssalDao skill GUI and casting flow when their backing plugin is installed.
mythicmobs.yml¶
Structure:
mythicmobs:
SomeSkillId:
element: FIRE
level: 0
display-name: "Some Skill"
description: "Shown in the Dao skills GUI."
target: LOOK_ENTITY
Supported fields:
elementleveldisplay-namedescriptiontarget
Supported target values:
SELFENTITYNEAREST_ENTITYLOOK_ENTITYLOOK_LOCATIONLOOK_BLOCK
fabled.yml¶
Structure:
fabled:
some_skill:
element: WATER
level: 0
display-name: "Some Skill"
description: "Shown in the Dao skills GUI."
required-class: "SomeClass"
Supported fields:
elementleveldisplay-namedescriptionrequired-class
Practical editing tips¶
- Use
config.ymlfor quick balance changes to combo input, global combat caps, recording limits, skill evolution, and infusion. - Use
cultivation.ymlfor progression pacing, breakthrough difficulty, mastery identity, and instability behavior. - Use
skill_trees.ymlfor long-term specialization and permanent stat growth. - Use
focus-environments.ymlwhen you want the world itself to matter more to each affinity. - Use
mythicmobs.ymlorfabled.ymlif you want external skills to appear in/dao skillsand to be bindable with/dao cast bind. - After editing any YAML except
storage.yml,/dao admin reloadis the intended refresh path.