Project MMO

Project MMO

Skills Config Syntax and Examples

Datapack Example File

{
"type": "SKILLS",
"skills": {
//a regular skill with basic properties
"my_custom_skill": {
"maxLevel": 2000,
"icon": "minecraft:textures/particle/enchanted_hit.png",
"iconSize": 8,
"useTotalLevels": false,
"color": 255,
"noAfkPenalty": false,
"displayGroupName": false,
"showInList": true
},
//a skill group which acts as an alias for groups of skills
"my_custom_skill_group": {
"maxLevel": 3000,
"icon": "pmmo:textures/skills/missing_icon.png",
"iconSize": 18,
"useTotalLevels": false,
"groupFor": {
"archery": 0.2,
"endurance": 0.3,
"combat": 0.5
},
"color": 16777215,
"noAfkPenalty": false,
"displayGroupName": false,
"showInList": true
}
}
}

Scripting Example File

WITH config(skills)
set(mining)
.color(123456)
.maxLevel(100)
.noAfkPenalty(true);
set(fightgroup)
.groupFor(combat,0.5,archery0.5)
.useTotalLevels(true)
.showInList(false);
END

Scripting Syntax

Each skill setting starts with set(skillname)' followed by an optional number of value nodes. the table below lists the value nodes, the format for their values and the default value if you omit that keyword.

node keywordvalue formatdefault valueWhat it does
colorwhole number16777215Sets the skill's display color
iconSizewhole number18Lets pmmo know the size of the raw image scaling
maxLevelwhole numbersame as server config max levelThe max level for this skill independent of the global max level
noAfkPenaltytrue/falsefalseIf true this skill will never be affected by anti-cheese
displayGroupNametrue/falsefalseShould the group name show on tooltips, if false each member skill will show instead
useTotalLevelstrue/falsefalseShould this skill be a sum of its group members when checking skill levels
showInListtrue/falsetrueShould this skill appear in the skill list on the user's screeen
iconnamespace:textures/texurename.pngminecraft:textures/skills/missing_icon.pngthe location of your desired texture from vanilla or a resource pack
groupForskills and ratios separated by commas. eg groupFor(combat,0.3,archery,0.3,endurance0.4)none.If populated, defines this skill as a "skill group"