Skip to content

Latest commit

 

History

History
843 lines (745 loc) · 59.8 KB

File metadata and controls

843 lines (745 loc) · 59.8 KB
title Adapt — Complete CSS Page Example
description A responsive Wiki.js landing page built from verified Adapt documentation and source
published true
date 2026-08-27 00:00:00 UTC
tags meta, wikijs, css, layouts, adapt, examples
editor markdown
dateCreated 2026-08-27 00:00:00 UTC

This page demonstrates a complete plugin landing page rather than an isolated component. It uses Adapt's real content model, current requirements, routes, and visual identity. The layout stays useful as ordinary documentation: navigation cards have real destinations, claims are verifiable, and important setup information is visible without reading the whole page.

The rendered sections use raw HTML with inline CSS so the example remains self-contained in Git. Wiki.js must allow HTML and retain inline style attributes. The final section includes optional scoped CSS for interactive states that inline styles cannot express. {.is-info}

Progression Play styles TragOul tree Start here Operators CSS notes
PASSIVE SKILLS · ACTIVE CHOICES

Adapt.

Skills that grow with the way you play. Earn knowledge through normal Minecraft activity, then shape a loadout of abilities that feels like yours.

Paper Purpur Folia Java 25
Adapt logo
23 SKILL LINES
312 DECLARED ADAPTATIONS
2.0.0-26.2 PLUGIN BUILD
Play-driven LEVEL THROUGH PLAY

Progression that starts with play {#progression}

Adapt does not ask players to choose a class before they understand the server. The things they already do reveal the skill lines that fit them.

1

Play normally

Mine, sprint, build, fight, brew, explore, tame, or work underwater.

2

Grow a skill

Matching activity awards XP to its own line and raises that skill's level.

3

Earn knowledge

Skill levels pay knowledge that can be spent inside that same skill line.

4

Shape a loadout

Spend knowledge and shared ability power on the adaptations you want to carry.

KNOWLEDGE

Can I afford it?

Knowledge belongs to one skill. Pickaxes knowledge buys Pickaxes adaptations; it cannot be moved to Ranged or Agility.

Earned automatically as that skill levels ABILITY POWER

Can I carry it?

Power is shared across the account. Every learned adaptation level uses one point, so a build always involves choices.

Default budget: floor(master level × 0.65)

Understand skills, knowledge, and power →

Find your play style {#play-styles}

The complete catalog contains twenty-three lines. These groups are starting points, not classes; a player can progress in any combination.

Move

Build momentum on land, in the air, and underwater.

Agility · Kinetics · Seaborne

Fight

Specialize in weapon rhythm, defense, range, or bare hands.

Swords · Ranged · Blocking · Unarmed

Gather

Turn mining, chopping, and excavation into specialized toolkits.

Pickaxes · Axes · Excavation

Create

Build, craft, brew, and enchant with deeper utility.

Architect · Crafting · Brewing · Enchanting

Explore

Reward discovery, dimensional travel, and mastery of time.

Discovery · Rift · Nether · Chronos

Survive

Grow through farming, companions, hunting, stealth, and adversity.

Herbalism · Taming · Hunter · Stealth · TragOul

Browse all 23 skills and 312 adaptations →

Designed around the player {#player-experience}

DISCOVER

Skills reveal themselves

New players see the skills they have actually touched. The menu grows with their play instead of presenting a wall of unfamiliar choices.

CHOOSE

The menu is the interface

Right-click the side of the configured activator block—a bookshelf by default—to inspect skills, spend knowledge, and manage adaptation levels.

USE

Passive where it should be

Many adaptations work immediately. Active abilities use gestures that fit the action: sprint, jump, sneak, block, draw, break, or interact.

Choose the shortest path {#start-here}

PLAYERS

Learn by doing

Open the menu, understand the two budgets, then find the exact trigger for an adaptation.

  1. Player usage
  2. Progression concepts
  3. Skills catalog
SERVER OPERATORS

Install with intent

Install the jar, decide the permission model, tune progression, then verify protection behavior.

  1. Installation & configuration
  2. Commands & permissions
  3. Operator runbooks
PLUGIN DEVELOPERS

Integrate without bypassing progression

Query skills, deny or price ability use, register protectors, and listen for activation outcomes.

  1. API setup
  2. Ability-use policy
  3. Events

Operator snapshot {#operators}

INSTALL

One backend plugin jar

Place the shaded jar in plugins/ on each Paper, Purpur, or Folia backend. Adapt does not go on the proxy.

Bukkit API 26.1 Java 25 Folia supported
CONFIGURE

Most gameplay settings hot-reload

Adapt watches its root, skill, adaptation, and mutation TOML. Invalid edits are rejected while the active configuration keeps running.

Restart for: SQL, Redis, metrics, update checks, and integration discovery.

AUTHORIZE

Commands are staff-gated

adapt.main gates the entire command tree. Gameplay use nodes default to true, while administrative command nodes default to operators.

Normal player progression does not require commands.

EXPAND

Mutations are separate and opt-in

The late-game Mutation system starts disabled. It has two slots, domain requirements, switch cooldowns, and combat locking.

Review Mutations before enabling →

Optional integrations

Protection WorldGuard, Factions, ChestProtect, Residence, GriefDefender, GriefPrevention, LockettePro Economy & display Vault pricing and refunds, plus PlaceholderAPI snapshots for scoreboards and interfaces Gameplay bridges HiddenOre, Iris, AdvancedChests, and MagicCosmetics alter only the relevant abilities

Read the integration behavior and failure modes →

READY FOR THE FULL REFERENCE?

Build a progression system players discover naturally.

Start with installation, browse every skill, or join the Volmit community for support.

Complete skill tree: TragOul {#skill-tree}

TragOul is Adapt's blood skill. Taking damage raises the line; surviving a hit at four hearts or less pays bonus XP. Its fourteen adaptations trade pain, bones, health, and risk for recovery, retaliation, curses, servants, and corpse effects.

Adaptations under a skill are independent purchases, not prerequisite branches. The four branches below organize the complete TragOul set by behavior; they do not add unlock order or requirements. {.is-info}

SKILL ROOT

TragOul

Earn XP by taking damage and surviving it. Low-health survival pays extra.

14 adaptations Icon: Crimson Roots High-risk sustain
RetaliationMake attackers regret the hit
Thorns Reflect flat damage to whoever hits you, including projectile shooters.
Globe of Pain Split a melee hit across the target and nearby valid mobs.
Curse of Frailty Attackers receive Weakness and, at higher progression, Slowness.
+
SustainLive through the next exchange
Will of Pain Drain a fixed amount from an attacker and heal the life it actually loses.
Soul Siphon Heal from credited damage, with a per-second recovery cap.
Blood Pact Large hits can grant a random bundle of temporary combat buffs.
Marrow Armor Consume one carried bone to absorb part of a sufficiently large hit.
Last Rites Refuse a lethal hit, remain at 1 HP, and briefly escape under spirit effects.
DeathcraftTurn kills into a battlefield engine
Corpse Lances Launch a seeking lance from a kill; chains cost your own health on impact.
Bone Harvest Kills can drop collectible blood or bone globes with temporary benefits.
Corpse Explosion Detonate slain mobs into bounded novas that damage nearby hostiles.
Skeletal Servant Spend bones and maximum health to raise a temporary fighting pack.
AfflictionTrack weakness and spread decay
Death Sense See wounded nearby creatures through walls with health-colored outlines.
Plague Bearer Spread your poison or wither to nearby mobs when the marked target dies.

Example TragOul loadouts

These combinations illustrate how the nodes can work together. They are not presets, and the number of levels a player can hold still depends on ability power, server configuration, permissions, and adaptation costs.

RECOVERY-FIRST

The Survivor

Will of Pain restores life when an attacker connects. Soul Siphon rewards your counterattack. Last Rites creates one final escape window.

Will of Pain Soul Siphon Last Rites
SUMMON & CASCADE

The Bone Commander

Servants fight under your mark. Their kills can feed Corpse Explosion, while Bone Harvest turns the battlefield into collectible recovery and buffs.

Skeletal Servant Corpse Explosion Bone Harvest
ABSORB & ANSWER

The Retaliator

Marrow Armor softens large blows, Thorns answers the attacker, Curse of Frailty weakens it, and Blood Pact can turn pain into momentum.

Marrow Armor Thorns Curse of Frailty Blood Pact

Detailed node example: Skeletal Servant

ACTIVE ADAPTATION

Skeletal Servant

A clear example of Adapt's risk-and-reward design: the player gains a temporary fighting pack but commits resources and maximum health while it remains alive.

Trigger
Sneak and right-click while holding bones.
Resource
Consumes bones; the required amount falls with level.
Capacity
One living servant per learned level.
Tradeoff
Each living servant lowers maximum health to a configured floor.
Inheritance
Servant attacks can use applicable TragOul effects such as siphon, curses, and plague.
Lifecycle
Servants expire; summoning at the cap recycles the oldest by default.

How TragOul XP is earned

TragOul listens for damage to the player. A valid hit records the incoming raw damage, then awards XP when the skill cooldown is ready.

BASE AWARD raw damage × 4.8 XP Paid at most once per 450 ms by default. SURVIVAL BONUS +28 XP Added when the hit leaves the player alive at 8 health—four hearts—or less. NO AWARD Blocked or invalid hits No credit while dead, invulnerable, or actively blocking the hit with a shield.

XP examples

Situation Calculation Result
Valid hit for 2 raw damage 2 × 4.8 9.6 XP
Valid hit for 6 raw damage 6 × 4.8 28.8 XP
The same 6-damage hit leaves the player at four hearts (6 × 4.8) + 28 56.8 XP
Another hit arrives before the 450 ms award cooldown expires Stats still record the hit; no new award 0 XP
The player blocks the hit with a shield Rejected before stats and XP 0 XP
{.dense}

The base award uses raw event damage. The low-health check uses the health that would remain after final mitigated damage. This distinction matters when armor, Resistance, or another plugin changes the final hit.

Dedicated adaptation XP

Nine TragOul adaptations add their own event XP on top of the skill's damage-received path.

Adaptation Config key Default award
Blood Pact xpPerProc 24 per proc
Bone Harvest xpPerGlobeSpawned 8 per globe spawned
Corpse Explosion xpPerMobHit 6 per mob damaged by the nova
Soul Siphon xpPerHeal 3 per siphon heal
Skeletal Servant xpPerSummon 30 per summon
Marrow Armor xpPerAbsorb 8 per absorbed hit
Curse of Frailty xpPerCurse 5 per curse applied
Plague Bearer xpPerInfection 6 per infected mob
Last Rites xpPerSave 120 per death defied
{.dense}

TragOul skill configuration

Adapt writes this file on first load:

plugins/Adapt/skills/tragoul.toml
Key Default Meaning
enabled true Registers and runs the TragOul skill
skillColor "&b" Legacy color used in menus and messages
showParticles true Shows TragOul's skill-level damage and death effects
cooldownDelay 450 Milliseconds between damage-received XP awards
damageReceivedXpMultiplier 4.8 XP paid per point of raw incoming damage
lowHealthSurvivalXP 28 Bonus XP after surviving at four hearts or less
challengeTragReward 500 Base knowledge reward for TragOul skill milestones
takeAwaySkillsOnDeath false When enabled, death removes XP and lowers every learned TragOul adaptation by one level
deathXpLoss 250 XP removed by that optional death penalty, never below zero
{.dense}

Example with the code defaults:

enabled = true
skillColor = "&b"
showParticles = true

cooldownDelay = 450
damageReceivedXpMultiplier = 4.8
lowHealthSurvivalXP = 28
challengeTragReward = 500

takeAwaySkillsOnDeath = false
deathXpLoss = 250

Valid skill and adaptation TOML edits hot-reload. A malformed edit is rejected and the last valid in-memory configuration keeps running. Back up customized files before using an administrative default/reset command.

Global settings that also affect TragOul

File Setting Effect
plugins/Adapt/adapt.toml xpCurve Converts TragOul XP into skill level
plugins/Adapt/adapt.toml experienceMaxLevel Caps the skill line; the default is 1000
plugins/Adapt/adapt.toml powerPerLevel Builds the shared ability-power budget; default 0.65
plugins/Adapt/adapt.toml blacklistedWorlds Suppresses skill XP and adaptation effects in listed worlds
plugins/Adapt/adapt.toml allowAdaptationsInCreative Allows adaptation effects in Creative when enabled
plugins/Adapt/adapt.toml adaptationUsageConflicts Prevents configured adaptation pairs from running together
{.dense}

The default ADAPT_BALANCED XP curve reaches skill level L at 100 × L² + 1200 × L XP. See Configuration Math before changing the curve or multiplier: they compound.

Death behavior

Default Death does not remove TragOul XP or adaptation levels. TragOul penalty enabled takeAwaySkillsOnDeath = true removes up to deathXpLoss XP and lowers each learned TragOul adaptation one level. Global hardcore reset Adapt's global hardcore reset takes precedence and wipes the player's complete skill data instead.

Skill milestones

TragOul tracks damage survived and the number of hits received. The trag.hitsrecieved spelling is intentional and matches the stored stat key.

Advancement Stored stat Threshold Knowledge reward
challenge_trag_1k trag.damage 1,000 500
challenge_trag_10k trag.damage 10,000 1,000
challenge_trag_100k trag.damage 100,000 2,500
challenge_trag_hits_500 trag.hitsrecieved 500 hits 500
challenge_trag_hits_5k trag.hitsrecieved 5,000 hits 1,000
{.dense}

Adaptation reference

Each adaptation has its own file under plugins/Adapt/adaptations/<id>.toml. Every TragOul adaptation has five levels. At default settings, one learned level also consumes one point from the player's shared ability-power budget.

Adaptation ID Main trigger Initial / base / factor
Thorns tragoul-thorns The player is struck 4 / 4 / 0.72
Globe of Pain tragoul-globe The player lands a melee hit near other mobs 4 / 4 / 0.72
Will of Pain tragoul-healing A living attacker damages the player 4 / 4 / 0.72
Corpse Lances tragoul-lance A credited kill starts a seeking chain 4 / 4 / 0.72
Blood Pact tragoul-blood-pact A sufficiently large incoming hit rolls a proc 4 / 4 / 0.62
Bone Harvest tragoul-bone-harvest A credited kill can spawn a collectible globe 4 / 4 / 0.72
Corpse Explosion tragoul-corpse-explosion A credited kill starts a bounded nova 4 / 4 / 0.72
Soul Siphon tragoul-soul-siphon Credited final damage heals the player 4 / 4 / 0.72
Skeletal Servant tragoul-skeletal-servant Sneak-right-click with bones 5 / 5 / 0.75
Marrow Armor tragoul-marrow-armor A large hit while carrying bones 4 / 4 / 0.72
Curse of Frailty tragoul-curse-of-frailty An attacker damages the player 4 / 4 / 0.72
Death Sense tragoul-death-sense Passive scan of wounded nearby entities 3 / 3 / 0.60
Plague Bearer tragoul-plague-bearer A marked poisoned or withered mob dies 4 / 4 / 0.72
Last Rites tragoul-last-rites An incoming hit would be lethal 6 / 6 / 0.85
{.dense}

The final column shows initialCost / baseCost / costFactor. Knowledge cost for level L is max(1, baseCost + baseCost × L × costFactor), with the initial cost added when buying level 1. Buying several levels pays every step, not only the target level.

Shared adaptation settings

Every tragoul-*.toml adaptation file also carries these common keys:

Key Purpose
enabled Registers and allows this adaptation
permanent Prevents normal unlearning when enabled
showParticles Allows this adaptation's particle effects
showSounds Allows this adaptation's sounds
initialCost Extra knowledge charged for level 1
baseCost Starting value in the per-level knowledge formula
costFactor Growth applied as levels rise
maxLevel Highest purchasable level
{.dense}

Adaptation milestones

Adaptation Tracked achievement Thresholds and rewards
Thorns Damage reflected 500 → 400, 5,000 → 1,500; one-off reflected kill
Globe of Pain Mobs sharing damage 1,000 → 400; one-off five-target share
Will of Pain Health stolen 500 → 400, 10,000 → 1,500
Corpse Lances Lances connected / lance kills 200 → 400; 100 kills → 1,000
Blood Pact Health sacrificed / empowered kills 200 → 400; 500 kills → 1,000; one-off all-in kill
Bone Harvest Globes collected 500 → 300, 5,000 → 1,000
Corpse Explosion Mobs detonated 500 → 400, 5,000 → 1,500
Soul Siphon Health siphoned 500 → 400, 10,000 → 1,500
Skeletal Servant Servants summoned 50 → 400, 500 → 1,500
Marrow Armor Damage absorbed 500 → 400, 5,000 → 1,500
Curse of Frailty Curses applied 100 → 400, 1,000 → 1,500
Death Sense Wounded prey sensed 1,000 → 600
Plague Bearer Mobs infected 100 → 400, 1,000 → 1,500
Last Rites Deaths defied 5 → 500, 50 → 2,000
{.dense}

Full tuning example: Skeletal Servant

Skeletal Servant shows the level of control available in a single adaptation file:

plugins/Adapt/adaptations/tragoul-skeletal-servant.toml
Key Default Behavior
boneCostBase 8 Bones required at the start of the level scale
boneCostReduction 5 Reduction at full level percent; final cost never below 1
durationTicksBase 400 Base servant lifetime
durationTicksFactor 800 Lifetime added at full level percent
cooldownMillisBase 10000 Base summon cooldown
cooldownMillisFactor 9000 Cooldown removed at full level percent; final cooldown never below 1000 ms
servantCapPerLevel 1.0 Living servants allowed per learned level, hard-capped at 16
replaceOldestAtCap true Recycles the oldest servant instead of rejecting a summon
playerThreatWindowMillis 5000 Time the last attacker or attacked target remains the pack's mark
gearChancePerPiece 0.55 Chance for each armor slot to receive gear
enchantChanceBase 0.0 Starting enchant chance
enchantChanceFactor 0.45 Enchant chance added at full level percent
bowChance 0.3 Chance to spawn with a bow instead of a sword
healthBonusPerLevel 3.0 Servant maximum-health points added per learned level
attackBonusPerLevel 1.0 Servant attack-damage points added per learned level
retargetIntervalTicks 20 Delay between retarget passes
targetSearchRadius 12 Hostile-mob search radius, capped at 24
xpPerSummon 30 TragOul XP awarded per successful summon
healthCostEnabled true Enables owner maximum-health upkeep
healthCostPerMinion 2.0 Owner maximum-health points removed per living servant
minimumOwnerMaxHealth 4.0 Lowest maximum health the upkeep may leave
{.dense}

Servants do not burn in daylight, drop no loot, and expire. Their gear scales with level. They inherit applicable TragOul combat effects and route their kills through Corpse Explosion. Creative mode skips the bone cost.

Permissions and runtime gates

Gate Default behavior
Skill permission adapt.use.tragoul, default true
Adaptation permission adapt.use.<id-without-hyphens>, such as adapt.use.tragoulthorns, default true
Unset use node Treated as allowed; explicitly set a node to false to deny it
Operator/debug bypass Operators and players in Adapt debug mode bypass use checks
World No XP or effects in blacklistedWorlds
Game mode Effects refuse Spectator and, by default, Creative
Protection Every registered protector must allow the action and location
API policy Another plugin may deny use through Adapt's ability-use policy or cancellable event
Conflicts A learned adaptation named in adaptationUsageConflicts blocks the configured pair
Profile readiness An unsafe, unloaded, or retired player profile keeps Adapt inactive for that session
{.dense}

Players normally open the skill from the bookshelf activator. /adapt gui opens the same interface but requires adapt.gui, which defaults to operators.

Troubleshooting

Symptom Check
Taking damage gives no TragOul XP Confirm the skill is enabled, the world is not blacklisted, adapt.use.tragoul is not denied, the player is not invulnerable, and the hit was not blocked with a shield
Some hits count but do not pay XP The 450 ms default award cooldown suppresses rapid payouts; damage and hit stats continue to accumulate
TragOul is absent from a new player's menu With guiShowAllSkills = false, untouched skills stay hidden until the player earns XP, knowledge, or a level
An adaptation is learned but silent Check both enable flags, the dynamic use node, game mode, world blacklist, protector result, configured conflicts, API policy, and profile readiness
Skeletal Servant will not summon Sneak-right-click with bones, wait for cooldown, verify free capacity or replaceOldestAtCap, and confirm the player can pay the bone and health costs
A TOML edit appears ignored Check the console for a rejected parse; Adapt keeps the previous valid snapshot when the new file is malformed
Integration-dependent behavior is missing Restart after installing or enabling integrations; Adapt discovers optional plugins only while enabling
{.dense}

Numeric defaults above describe the audited Adapt build. Server owners can change every listed TOML value, disable the skill or an adaptation, and alter the global XP and power curves. Diagnose the server's live files rather than assuming defaults. {.is-warning}

Open the complete per-adaptation mechanics and configuration →

Implementation notes {#implementation}

Visual system

Token Value Use
Adapt red #d82f35 Primary actions, active steps, important numbers
Bright red #ef393e Decorative glow, borders, and large accents
Charcoal #191719 Hero, operator cards, grounded contrast
Neutral surface rgba(127,127,127,.055) Theme-tolerant cards
Neutral border rgba(127,127,127,.25) Separation in light and dark themes
Large radius 17px26px Branded panels and hero
{.dense}

The page uses the red and charcoal identity visible in Adapt's logo and store art. Red is reserved for hierarchy and action; most cards remain neutral so a long documentation page does not become visually exhausting.

Responsive strategy

Every major multi-column region uses the same intrinsic grid pattern:

display: grid;
grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
gap: 1rem;

Cards create as many columns as fit and stack when their minimum width no longer fits. clamp() scales hero spacing and typography without a breakpoint. Action rows use flex-wrap, and code-like values live inside elements that can wrap instead of forcing horizontal page overflow.

Optional scoped interaction CSS

Inline styles cannot define :hover, :focus-visible, or reduced-motion preferences. The following can be placed in the Wiki.js CSS Override when the page wrapper uses class="adapt-showcase". The prefix keeps the rules from changing unrelated documentation.

.adapt-showcase {
  --adapt-red: #d82f35;
}

.adapt-showcase a {
  text-underline-offset: 0.18em;
}

.adapt-showcase a:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #72161a;
}

@media (prefers-reduced-motion: no-preference) {
  .adapt-showcase .interactive-card {
    transition:
      transform 160ms ease,
      border-color 160ms ease,
      box-shadow 160ms ease;
  }

  .adapt-showcase .interactive-card:hover {
    transform: translateY(-3px);
    border-color: rgba(216, 47, 53, 0.55);
    box-shadow: 0 12px 28px rgba(36, 12, 14, 0.14);
  }
}

Hover is decorative only. Links, headings, descriptions, and actions remain visible without it. The fixed dark panels declare their own text colors; all neutral panels inherit the active Wiki.js theme color.

For additional individual components and alternative page structures, see the Wiki.js CSS & Layout Gallery.