Skip to main content
1

Add Skills as a dependency

Add the Skills plugin jar to your project as a compileOnly dependency. Because the jar is not published to a public Maven repository, reference it from your local files or a file-system repository.
build.gradle.kts
Then declare the dependency relationship in your plugin.yml. Use depend if your plugin cannot function without Skills, or softdepend if Skills is optional.
plugin.yml (hard dependency)
plugin.yml (soft dependency)
2

Obtain the API instance

The API is registered with Bukkit’s ServicesManager. Retrieve it once during onEnable.
registration is null if Skills is not loaded. provider returns the live SkillsAPI implementation.
3

Handle soft dependency

If Skills is optional, guard every usage with a null check.
If Skills is declared as softdepend and is not installed, api will be null. Calling any method on a null reference will throw a NullPointerException. Always check before use.
4

Query player data

With a valid api reference you can read and modify skill data for any online player.Check a player’s skill value
Check if a player meets a minimum skill requirement
Prefer hasSkillLevel() over getSkill() for threshold checks. It handles the null case internally and returns false when the skill name is invalid.
Get all skill values at once
Read stats (STR / DEX / INT)
Read HP, Mana, and Stamina

Skill name formats

All methods that accept a skillName: String parameter are case-insensitive and treat spaces and underscores as interchangeable. All four of the examples below refer to the same skill:
For a complete list of available skill names see the skill name reference table.