config.yml, located in plugins/Skills/. Edit it with a text editor and run /skilladmin reload to apply changes without restarting the server.
Language files live in
plugins/Skills/lang/ (e.g., en.yml, ja.yml). They are created automatically on first run and can be edited to customize all player-facing messages.Full default config.yml
Settings reference
Database
Database
Controls how player skill data is stored. SQLite requires no external setup; MySQL is recommended for networks sharing data across multiple servers.SQLite (default — no external server required)MySQL (used when
Storage backend. Set to
sqlite or mysql.Ignored when
type is sqlite.type: mysql)MySQL server hostname or IP address.
MySQL server port.
Name of the MySQL database to use.
MySQL username.
MySQL password. Leave empty for no password.
SQLite stores data in
plugins/Skills/skills.db. It works well for single-server setups. Use MySQL if you run a multi-server network and need shared player data.Skills
Skills
Maximum total skill points a player can accumulate across all 37 skills. At 700 points, the player can max out exactly 7 skills at 100 each. When this cap is reached, gaining a skill automatically reduces the least-recently-used skill.
Maximum value for any single skill.
Amount added to a skill on a successful gain check. Decreases use the same amount.
The skill decline system activates when the player’s total skill points reach 600 (not 700). Between 600 and 700 points the least-used skill decreases each time another skill increases. This mirrors the Ultima Online design where the “soft cap” creates meaningful trade-offs before the hard cap is reached.
Combat
Combat
Multiplier applied when converting vanilla damage to the plugin’s internal HP system. Internal HP is tracked separately from vanilla hearts and is synced back after each hit.
Maximum percentage chance that a parry attempt can succeed (with a shield). Actual chance equals
Parrying × 0.5%, capped at this value.Maximum critical hit chance as a percentage. Actual chance equals
Anatomy ÷ 2 %, capped at this value.Magic
Magic
Base casting time in milliseconds before the spell circle multiplier is applied. Formula:
(casting_time_base + circle × 500ms) × (1 − Magery reduction).How long (in milliseconds) the targeting phase waits for a click before automatically cancelling. No mana or reagents are consumed on timeout.
Maximum range in blocks for targeted spells. Clicking a target beyond this range produces an out-of-range error and cancels without consuming resources.
When
true, the plugin looks inside shulker boxes in the player’s inventory for reagents.When
true, the plugin looks inside bundles in the player’s inventory for reagents.Thief
Thief
When
true, any movement (not just sprinting) breaks the Hiding effect. When false, only sprinting breaks it — walking is allowed if the Stealth skill permits.Hard cap on how far a player can walk while hidden, regardless of Stealth skill.
Hard cap on
/detect radius in blocks, regardless of Detecting Hidden skill.Controls how Stealth skill translates to walkable distance. Formula:
skill ÷ divisor. With the default of 5.0, Stealth 60 allows 12 blocks of movement.Minimum number of seconds a player can remain hidden (at skill 0).
Maximum number of seconds a player can remain hidden (at skill 100).
Seconds before the hide duration expires at which the player receives a warning message.
Additional difficulty applied when attempting to steal an equipped item (worn armour, held weapon, etc.).
Taming
Taming
Minimum time in milliseconds between taming attempts, even if the first attempt fails.
Language
Language
The fallback language used when no per-player setting exists and the client locale cannot be matched. Supported values:
en, ja.When
true, the plugin reads the player’s Minecraft client locale and automatically selects the matching language if supported.When
true, players can change their own language with /skills language <code>. Set to false to enforce the server default for all players.Language files are in
plugins/Skills/lang/. The plugin ships with en.yml and ja.yml. To add a new language, copy one of these files, rename it to the locale code (e.g., fr.yml), translate the values, and set language.default to the new code.Integration
Integration
When
true and the notoriety plugin is installed, successful Stealing actions are recorded as crimes via the notoriety API. If the notoriety plugin is absent, this setting is ignored.The notoriety plugin is a soft dependency — the Skills plugin loads and functions normally without it.
Scoreboard
Scoreboard
Master switch for the sidebar scoreboard. When
false, no scoreboard is shown and the /skills sb toggle command is disabled.How often the scoreboard updates, in ticks. 20 ticks = 1 second.
Behaviour when another plugin is using the sidebar slot.
ALWAYS— always show the Skills scoreboard, overwriting the other plugin.RESPECT— do not show if another plugin has claimed the sidebar.
Whether new players see the scoreboard by default on first join.
Whether players can toggle the scoreboard on and off with
/skills sb.VengefulMobs
VengefulMobs
Makes passive mobs retaliate when attacked by a player. Inspired by the VengefulMobs plugin.
Enable or disable the entire VengefulMobs feature.
When
true, tamed animals owned by the attacking player will not fight back.How long (in milliseconds) a mob stays in its angry/retaliating state after being hit.
Distance in blocks at which an angry mob gives up chasing the player.
When
true, the anger timer resets while the mob is actively chasing, effectively making it chase until the player escapes beyond give_up_distance.List of mob types that will fight back. See the default
config.yml for the full list of supported mob type names.Damage dealt per attack in half-hearts, applied to all enabled mobs unless overridden.
Movement speed multiplier for angry mobs.
Attack range in blocks.
Milliseconds between attacks (1000 = 1 second).
Aggression mode. Available values:
RETALIATE— fight back and keep attacking until anger expiresRETALIATE_ONCE— attack once only (suitable for accidental hits)RETALIATE_WITH_SUPPORT— call nearby same-type mobs to join the fightHOSTILE— always attack players on sightMURDER_ALL— attack all entitiesMURDER_OTHERS— attack all entities except same type
Per-mob overrides for
damage, speed, attack_range, attack_cooldown, and mode. The mob type name (e.g., GOAT) is the key. Any field omitted in the override falls back to the default values.Chunk mob limits
Chunk mob limits
Prevents server lag from large mob farms by capping the number of mobs per chunk category.
Enable or disable the chunk mob limit feature.
Maximum passive mobs (cows, sheep, pigs, etc.) per chunk.
Maximum hostile mobs (zombies, skeletons, creepers, etc.) per chunk.
Maximum ambient mobs (bats) per chunk.
Maximum water creatures (squid, dolphins, etc.) per chunk.
Maximum water ambient mobs (fish) per chunk.
How often the mob count cache refreshes, in ticks. 100 ticks = 5 seconds.
When
true, players receive a chat message when their breeding attempt is blocked by the chunk limit.Cooldowns
Cooldowns
All values are in seconds.
Seconds between
/hide attempts.Seconds between
/detect uses.Seconds between
/snoop attempts.Seconds between stealing attempts.
Seconds between
/poison uses.Seconds between
/tame attempts.Seconds between
/lore uses.Seconds between
/arms uses.Seconds between
/evaluate uses.Seconds between spell casts.
Seconds between meditation skill gain checks.