Описание
# Player Skills
A library mod that provides a baseline implementation of player-specific skills. On its own, this does very little as it
is meant to be as un-opinionated as possible.
Like GameStages and GamePhases, this provides a registry for tracking possible skills as well what skills a given player
currently possesses. Unlike the other mods, skills are added to a player immediately and leverage ability checking via
Skill Types.
[](https://github.com/impleri/player-skills)
[](https://discord.com/invite/avxJgbaUmG)
[](https://github.com/impleri/player-skills/tree/1.19.2#developers)
[](https://github.com/impleri/player-skills/tree/1.18.2#developers)
### xSkills Mods
[Player Skills](https://modrinth.com/mod/player-skills)
| [Block Skills](https://modrinth.com/mod/block-skills)
| [Dimension Skills](https://modrinth.com/mod/dimension-skills)
| [Fluid Skills](https://modrinth.com/mod/fluid-skills)
| [Item Skills](https://modrinth.com/mod/item-skills)
| [Mob Skills](https://modrinth.com/mod/mob-skills)
## Concepts
This mod provides two entities that can be extended: Skill Types and Skills.
### Skill Type
A skill type handles all logic around managing skills tied to its type. That includes providing a way to (de)serialize
the skill into a persistent format. More advanced use cases can leverage the skill type for determining if a skill is of
a sufficient threshold. Because of this nature, skill types cannot be created via KubeJS.
#### Builtin Types
1. `Basic` provides a simple boolean `true`/`false`. Great for simple skills such as "can read."
2. `Numeric` provides an integer value (0, 1, 2, etc). Great for skills or attributes which can be improved such as "
strength."
3. `Tiered` are specialized version of `Numeric` in that strings can be used. One example could be "education"
education (crude/primary, basic/secondary, intermediate/university, advanced/postgraduate, top/doctorate).
4. `Specialization` provide a skill which allows one or more specializations out of a list. An example is "magic type" (
red, black, white, green, blue).
### Skill
A skill tracks the data needed for SKill Types to calculate if a player _can_ perform a skill-based action. Skills get
serialized and persisted in player-specific NBT data. Skills are exposed via KubeJS for modpack authors to manipulate as
they see fit. This mod provides no built-in skills, as we want to encourage modpacks and other mods to provide that
shape.
### Restriction
A restrictions handles the logic for determining if a player has an ability based on the set condition, current
dimension, and current biome. It may also provide a replacement to the target resource. Like Skills, we provide no
restrictions here. The other xSkills mods implements restrictions for many vanilla elements.
## More Information
Documentation, examples, and more can be found in the [readme on Github](https://github.com/impleri/player-skills).
## Modpacks
Want to use this in a modpack? Great! This waBecause os designed with modpack developers in mind. No need to ask.