Item & Tool Requirements
Skill level gates and tool type restrictions
Overview
Two complementary systems control what players can use based on their progression:
- Item Level Requirements — Check your skill level to use an item (e.g., Mining 50 to use a Mithril pickaxe)
- Tool Type Requirements — Check what type of tool you're holding (e.g., pickaxes required for ores)
Both systems are disabled by default. Enable them independently from the admin dashboard (/mmoadmin) or in their respective config files when you're ready to add progression gates.
Item Level Requirements
Lock weapons, tools, ores, and other items behind skill level requirements. Players who don't meet the requirements see a red notification and cannot:
- Mine blocks that have level requirements
- Use tools that have level requirements (checked when mining)
- Deal damage with weapons that have level requirements
How It Works
When a player breaks a block, two checks happen:
- Does the block have a level requirement? (e.g., Mithril Ore requires Mining 50)
- Does the held tool have a level requirement? (e.g., Mithril Pickaxe requires Mining 50)
Both must pass. If either fails, the action is cancelled and a red notification tells the player exactly what levels they need.
For combat, the player's held weapon is checked before damage is applied. If the requirement isn't met, the attack deals no damage.
Requirement Types
- Single skill:
MINING:50— Requires Mining level 50 - Multiple skills:
MINING:50,SMITHING:30— Requires both skills at those levels - Total level:
TOTAL:200— Requires combined total level of 200 - Combined:
MINING:50,TOTAL:200— Requires both individual skill and total level
Default Ore Requirements
Ores are gated by Mining level out of the box:
| Ore | Required Level |
|---|---|
| Copper | Mining 1 |
| Iron | Mining 10 |
| Silver | Mining 20 |
| Gold | Mining 30 |
| Cobalt | Mining 40 |
| Mithril | Mining 50 |
| Adamantite | Mining 60 |
| Thorium | Mining 70 |
| Onyxium | Mining 80 |
| Gems (Diamond, Emerald, Ruby, etc.) | Mining 50-90 |
Tools and weapons also have defaults gated by their respective skills (10 tiers from level 1 to 80).
Config File
Config file: mods/mmoskilltree/item-requirements.json
{
"schemaVersion": 1,
"enabled": false,
"overrides": {
"Ore_Mithril": {
"skillRequirements": { "MINING": 50 },
"totalLevelRequired": 0
},
"Tool_Pickaxe_Copper": {
"skillRequirements": { "DISABLED": -1 },
"totalLevelRequired": -1
}
}
}enabled— Master toggle for the entire system (default:false)overrides— Only your customizations. Defaults auto-update with mod versions- Set any skill level to
-1to disable a default requirement
Pattern Matching
Item requirements use longest substring matching, the same system as XP maps. The most specific matching pattern takes priority:
Ore_Mithrilmatches all Mithril ore variantsTool_Pickaxe_matches all pickaxes regardless of materialWeapon_Sword_Ironis more specific thanWeapon_Sword_
Tool Type Requirements
Require specific tool types to break blocks or specific weapon types to damage mobs. This is separate from level requirements — it checks what you're holding, not your skill level.
Block Tool Requirements
Blocks can require specific tool types to break. Default rules:
- Ores and rocks → Require pickaxes (
Tool_Pickaxe_) - Logs → Require axes (
Tool_Axe_) - Soil, dirt, sand, gravel → Require shovels (
Tool_Shovel_)
Players who try to mine ores without a pickaxe (or chop logs without an axe) see a red notification and the action is cancelled.
Mob Weapon Requirements
Mobs can require specific weapon types to take damage. No defaults are configured — all weapons work on all mobs by default. Server owners can add custom rules for special encounters (e.g., ethereal enemies needing magic staves, armored enemies needing blunt weapons).
Config File
Config file: mods/mmoskilltree/action-requirements.json
{
"schemaVersion": 1,
"enabled": false,
"blockToolOverrides": {
"Ore_": {
"allowedPatterns": ["Tool_Pickaxe_"]
}
},
"mobWeaponOverrides": {}
}enabled— Master toggle (default:false)blockToolOverrides— Block pattern to allowed tool patternsmobWeaponOverrides— Mob pattern to allowed weapon patterns- Empty
allowedPatternslist disables the requirement (allows anything)
How Both Systems Work Together
When mining a block, checks happen in this order:
- Tool type check — Are you holding the right type of tool? (Action Requirements)
- Block level check — Is your skill level high enough for this block? (Item Requirements)
- Tool level check — Is your skill level high enough for your tool? (Item Requirements)
If any check fails, the action is cancelled with a notification explaining what's needed.
Admin UI
Both systems have dedicated admin pages accessible from /mmoadmin:
- Item Requirements — Browse by category (Tools, Weapons, Armor, Blocks), view defaults vs overrides, add/edit/disable patterns. Input format:
SKILL:LEVEL,SKILL:LEVEL,TOTAL:LEVEL - Tool Requirements — Browse block tool requirements and mob weapon requirements in separate tabs. Add/edit patterns with comma-separated tool lists
Both pages include enable/disable toggles, status indicators (Default, Override, Disabled), and standard override management (Add, Disable, Reset, Trim).
Reference Files
Default values are written to reference files on each server start:
mods/mmoskilltree/_reference/defaults-item-requirements.jsonmods/mmoskilltree/_reference/defaults-action-requirements.json
These files are auto-generated and read-only — use them as a reference when creating overrides.