SkillsAPI interface is located at com.hacklab.minecraft.skills.api.SkillsAPI. Obtain an instance via the Bukkit ServicesManager as described in Getting started.
Skill operations
getSkill (by Player)
The online player to query.
Skill name in any accepted format (display name, enum name, case-insensitive, spaces or underscores).
Skill value in the range
0.0–100.0, or null if skillName does not match any known skill.getSkill (by UUID)
The UUID of the player.
Skill name in any accepted format.
Skill value
0.0–100.0, or null if the skill name is invalid or the player’s data is not loaded.setSkill
0.0–100.0 before being applied.
The online player to modify.
Skill name in any accepted format.
Target skill value. Automatically clamped to
[0.0, 100.0].true if the skill was updated, false if skillName is invalid.addSkill
amount is negative) a delta to the current skill value. Respects the 0.0–100.0 cap.
The online player to modify.
Skill name in any accepted format.
Amount to add. May be negative to reduce the skill.
The new skill value after the delta is applied, or
null if skillName is invalid.hasSkillLevel
The online player to check.
Skill name in any accepted format.
The minimum required skill value.
true if the player’s skill value is greater than or equal to minLevel. Returns false if the skill name is invalid.getAllSkills
The online player to query.
Map keyed by skill display name (e.g.
"Swordsmanship") with the current value as the entry. All 37 skills are always present; unlearned skills have a value of 0.0.getTotalSkillPoints
The online player to query.
Sum of all 37 skill values. Maximum is
700.0 (7 skills at 100.0).Stat operations
STR, DEX, and INT are derived stats calculated automatically from the player’s skill values. They cannot be set directly; they update whenever the underlying skills change.| Stat | Range | Effect |
|---|---|---|
| STR | 0–100 | Max HP = 100 + STR; mining/lumberjacking speed bonus |
| DEX | 0–100 | Attack speed +DEX/2%; movement speed +DEX/10% |
| INT | 0–100 | Mana cost −INT/2%; cast success rate +INT/5% |
getStat
The online player to query.
One of
"STR", "DEX", or "INT" (also accepts the long forms "STRENGTH", "DEXTERITY", "INTELLIGENCE").Stat value
0–100, or null if statName is not recognised.getAllStats
The online player to query.
Map with keys
"STR", "DEX", and "INT" mapped to their current integer values.HP, mana, and stamina
Skills maintains internal HP, mana, and stamina values that are separate from vanilla Minecraft hunger and hearts. HP is synchronised to vanilla hearts as a percentage.getCurrentHp
The online player to query.
Current internal HP. Minimum
0.0; maximum equals getMaxHp().getMaxHp
100 + STR, giving a range of 100–200.
The online player to query.
Maximum HP in the range
100.0–200.0 based on the player’s STR stat.getCurrentMana
The online player to query.
Current mana. Minimum
0.0; maximum 20.0.getMaxMana
20.0. INT reduces the cost of spells rather than increasing the pool.
The online player to query.
Maximum mana. Always
20.0.getCurrentStamina
The online player to query.
Current stamina. Minimum
0.0; maximum equals getMaxStamina().getMaxStamina
100 + DEX + (Focus / 2), giving a maximum of 250.0 when DEX and Focus are both 100.
The online player to query.
Maximum stamina. Range
100.0–250.0 depending on DEX stat and Focus skill.restoreMana
The online player to restore mana for.
Amount of mana to restore. Excess is discarded.
restoreStamina
The online player to restore stamina for.
Amount of stamina to restore. Excess is discarded.
Utility
getAvailableSkillNames
Ordered list of skill display names (e.g.
["Swordsmanship", "Axe", ...]). Use these as inputs to other skill methods.isValidSkillName
The string to validate.
true if the name resolves to a known skill, false otherwise.getTitle
"Grandmaster Swordsman").
The online player to query.
Human-readable title string. The format depends on the player’s skill distribution.
Skill name reference
All skill names accepted by any API method. Matching is case-insensitive; spaces and underscores are interchangeable.| Display name | Enum name |
|---|---|
| Swordsmanship | SWORDSMANSHIP |
| Axe | AXE |
| Mace Fighting | MACE_FIGHTING |
| Spear | SPEAR |
| Archery | ARCHERY |
| Throwing | THROWING |
| Wrestling | WRESTLING |
| Tactics | TACTICS |
| Anatomy | ANATOMY |
| Parrying | PARRYING |
| Focus | FOCUS |
| Magery | MAGERY |
| Evaluating Intelligence | EVALUATING_INTELLIGENCE |
| Meditation | MEDITATION |
| Resisting Spells | RESISTING_SPELLS |
| Inscription | INSCRIPTION |
| Crafting | CRAFTING |
| Cooking | COOKING |
| Mining | MINING |
| Lumberjacking | LUMBERJACKING |
| Fishing | FISHING |
| Farming | FARMING |
| Hiding | HIDING |
| Stealth | STEALTH |
| Detecting Hidden | DETECTING_HIDDEN |
| Snooping | SNOOPING |
| Stealing | STEALING |
| Poisoning | POISONING |
| Animal Taming | ANIMAL_TAMING |
| Animal Lore | ANIMAL_LORE |
| Veterinary | VETERINARY |
| Athletics | ATHLETICS |
| Swimming | SWIMMING |
| Heat Resistance | HEAT_RESISTANCE |
| Cold Resistance | COLD_RESISTANCE |
| Endurance | ENDURANCE |
| Arms Lore | ARMS_LORE |