Project MMO: Skill Books

Note: This mod requires Project MMO to be installed.
Version note: In the 1.21.1 release and version 2.0.0 for 1.20.1, significant changes have been made - the class system has been completely removed and will be returned in a separate mod soon.
About the Mod
This modification adds special skill books to the game for all standard Project MMO skills. These books allow players to receive varying amounts of experience or increase skill levels.
The mod's capabilities include creating custom items that can award any amount of levels or experience for any skill, or set a skill to a specific level. It also supports adding a list of skills, allowing the player to choose one of the available options to receive bonuses when using the item.
Creating Custom Items
When creating a custom item, you specify:
- Type: skill book or insignia
- Color: 4 different options depending on type
- Tier: 5 quality grades - plain, iron, gold, emerald, diamond

Technical Details
Uses the SkillGrantData component with the following parameters:
- name: translatable string code (changes item name, requires addition to language file)
- skills: list of skills (if one - bonus applied immediately, if multiple - choice appears)
- application_type: value application method (level, xp, set)
- application_value: number of levels or experience to award
- experience_cost: cost in Minecraft experience levels to use (0 - free)
- texture_type: texture type (skillbook or insignia)
- rank: item quality tier
- color: item color
Usage Examples
Creating a Skill Book
Command for version 1.21.1:
/give @p pmmo_skill_books:skill_grant[pmmo_skill_books:skill_grant_data={name:test.skill_grant.good_looks, skills:[good_looks], application_type:level, application_value:10, experience_cost:10, texture_type:skillbook, rank:gold, color:green}]
Command for version 1.20.1:
/give @p pmmo_skill_books:skill_grant{pmmo_skill_books:{skills:["good_looks"],color:"green",application_type:"level",application_value:10,experience_cost:10,name:"test.skill_grant.good_looks",rank:"gold",texture_type:"skillbook"}} 1
Creating an Insignia with Skill Selection
Command for version 1.21.1:
/give @p pmmo_skill_books:skill_grant[pmmo_skill_books:skill_grant_data={name:test.item,skills:[magic, fishing, woodcutting, mining], application_type:xp, application_value:10000, experience_cost:0, texture_type:insignia, rank:diamond, color:purple}]
Command for version 1.20.1:
/give @p pmmo_skill_books:skill_grant{pmmo_skill_books:{skills:["magic","fishing","woodcutting","mining"],color:"purple",application_type:"xp",application_value:10000,experience_cost:0,name:"test.item",rank:"diamond",texture_type:"insignia"}} 1


Application Flexibility
You can use any system to add items to the game: loot tables, custom recipes, achievement rewards in datapacks, or item registration through mods like KubeJS.
Future Plans
- Adding basic loot tables for simple integration into the game
- Expanding the color palette and book designs
Important Information
By default, these skill books do not drop in the game and have no crafting recipes. Modpack creators and server administrators can award them to players as rewards, add them to loot tables, or create special recipes.
Deprecated Features (1.20.1 Only)
The class system has been moved to a separate Project MMO: Classes mod for version 1.21.1