Description

This mod requires Project MMO.
1.21.1 Release + 1.20.1 2.0.0 release. The 1.20.1 release has breaking changes.
The class system was removed from this mod and added to its own more fully featured mod: Project MMO: Classes
About
This mod adds skill books to the game for all default Project MMO skills that can be used to award players with a variable amount of experience or levels.
It also allows you to create custom items to award any amount of levels or experience to any skill, or even set a skill to a specific level. It also allows you to add a list of skills, allowing the user to select one of the options to gain the levels or experience when they use the item.
When you create a custom item you specify the type [skillbook, insignia] one of 4 colors [depends on type], and one of 5 tiers [plain, iron, gold, emerald, diamond]. Here is an example of the 5 tiers of a black skill book and a red insignia:

Creating Custom Items
The DataComponent used is SkillGrantData and it has 8 attributes: name, skills, application_type, application_value, experience_cost, texture_type, rank, and color.
- name: the translatable string code. Changes the name of the item but need to add to the lang file. Leave blank for default.
- skills: A list of skills. If 1 skill then it will immediately grant the bonus. If multiple skills (max of 4) it will let you choose.
- application_type: How the value should be applied to the skill. Allowed values: [level, xp, set]
- application_value: The number of levels or experience to grant. Any valid integer.
- experience_cost: The amount of minecraft levels of experience it costs to use this item. Put 0 for no cost.
- texture_type: If the texture should be a skill book or an insignia. Allowed values: [skillbook, insignia]
- rank: What color of trim the book should have. Allowed values: [plain, iron, gold, emerald, diamond]
- color: What color the item should be. Skillbook values: [blue, green, black, purple]. Insignia values: [white, red, teal, purple]. For plain insignias only there are also these additional colors: [orange, light_purple, green, blue, light_blue, yellow, pink, black]
If you wanted to give a player a custom skill book that increased their good_looks levels by 10, you could use the in game /give command like this:
1.21.1 Command:
/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}]
1.20.1 Command:
/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
This would create a green skill book with gold trim called test.skill_grant.good_looks that gives the player 10 levels of the good_looks skill. Make sure to add test.skill_grant.good_looks to the translation lang file or it will literally have that as the name. You'll probably want to give pmmo.good_looks a skill name as well while you're there.
That was too easy, lets make a diamond insignia that gives the player 10,000 experience to either magic, fishing, woodcutting, or mining.
1.21.1 Command:
/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}]
1.20.1 Command:
/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
I also added this to the lang file:
"test.item
": "Diamond Insignia of Legends"
Here is the resulting item:

When I use the item it opens this screen:

I clicked Fishing and confirm to gain 10,000 Fishing XP. Neat! You can use any system of creating or adding items to the game to add your own custom items, like loot tables, custom recipes, or achievement rewards in datapacks or register items with mods like KubeJS.
You can also do things like create a book that sets a skill to a specific level, like level 1 Omniscience. Then make some powerful effects in PMMO for that skill and make the book a rare chase item.
Future Upgrades:
- Add basic loot table options to introduce these into the game in a simple way for players who don't want to customize them.
- Add new book colors / trims.
DISCLAIMER: None of these skill books drop in the game by default, nor are they craftable. Modpack makers or server operators can give these out as rewards to their players, either through server stores or for events. They can also add them to loot tables to give something for players to look for or trade with other players, or create recipes for them.
Old 1.20.1 Only Features - Moved to new mod
Class System This will be a separate more fully featured mod in 1.21.1, Project MMO: Classes.
This mod also adds a basic class system to Project MMO. It adds all of the 5e DND classes (and some subclasses as well as custom subclasses) as skills and adds a third type of skill book that sets their levels to 1, 2, 3, or 4. By default you can only have 2 classes at a time, and all subclasses require that you have the main class in order to take it. You can also only have 1 subclass for any given primary class. Using each level of class book requires 5 more exp levels than the last, starting at 20. Again, these are not droppable or craftable in the game and are only there for you to build around by creating custom perks for these classes and subclasses and adding them to loot tables as you see fit.
I am actively adding new subclasses to this as I develop my modpack. If you would like me to add some custom skills or classes / subclasses for you please let me know and I'll throw it in.
Since you can only have 2 primary classes, and 1 subclass per those primary classes, you need a way to remove them if you want to try something else. Use the command:
/pmmo_skill_books forget <class or subclass>
To forget a class or subclass. If you forget a class it will also delete any subclass you have for that class.
Ideas
Perks
If you want to use this mods class system here are some of the things I am doing to give you ideas. I used PMMO's existing perk system along with Apothic Attributes added attributes to create interesting class bonuses:
- Each level in Fighter gives a decent amount of health and some bonus damage reduction and armor.
- The Wizard class gives a lot of mana and mana regen for Ars Nouveau or Iron's Spells and Spell Books.
- Rogues gain invisibility when you crouch as well as speed so you can sneak faster. The assassin subclass gives more crit chance and crit damage.
- The Warlocks subclass Reaper gives access to a powerful scythe from another mod and gives % Lifesteal.
- The Paladin subclass Valkyrie can fly like they have an elytra.
- The Monk class gains a regeneration effect when standing still for 30 seconds and takes significantly less fall damage.
Item Restrictions
Adding class restrictions to some powerful items in the game, like the Ranger subclass Tracker and the Scannable mod item or a teleporting staff for warlocks, can give each class interesting identities. These are just some ideas of what you can do using Project MMO's existing system of requirements with datapacks and perks with the perks TOML.
Tips
Using CraftTweaker perks also opens a lot of interesting doors here, i.e. a Level 2 Fighter gets 30 seconds of regeneration once every 10 minutes when they have less than 2 hearts. Using min_level and max_level within these perks allows you to control exactly what each level brings.
Command Books - Removed in 1.21.1
There are also some custom books that run commands on the player. Currently these are just skill books that unlock limitations in Parcool, like wall running. These will not work for you unless you have parcool in your modpack and turned on parcools limitations and then disabled that limitation for the player. I did this through an achievement a player gets when they join the server that runs a mcfunction. When the use the book it will enable that skill if it is disabled.
AD
Become Premium to remove Ads!
What means Verified?
-
Compatibility: The mod should be compatible with the latest version of Minecraft and be clearly labeled with its supported versions.
-
Functionality: The mod should work as advertised and not cause any game-breaking bugs or crashes.
-
Security: The mod should not contain any malicious code or attempts to steal personal information.
-
Performance: The mod should not cause a significant decrease in the game's performance, such as by causing lag or reducing frame rates.
-
Originality: The mod should be original and not a copy of someone else's work.
-
Up-to-date: The mod should be regularly updated to fix bugs, improve performance, and maintain compatibility with the latest version of Minecraft.
-
Support: The mod should have an active developer who provides support and troubleshooting assistance to users.
-
License: The mod should be released under a clear and open source license that allows others to use, modify, and redistribute the code.
-
Documentation: The mod should come with clear and detailed documentation on how to install and use it.
AD
Become Premium to remove Ads!
How to Install
Download Forge & Java
Download Forge from the offical Site or here. If you dont have Java installed then install it now from here. After Downloading Forge you can run the file with Java.
Prepare
Lounch Minecraft and select your Forge istallation as Version this will create a Folder called Mods.
Add Mods
Type Win+R and type %appdata% and open the .minecraft Folder. There will you find your Folder called Mods. Place all Mods you want to play in this Folder
Enjoy
You are now Ready. Re-start your Game and start Playing.