Skill Slots
Adds player skill slots for item-based skills for mods and modpacks
Screenshots

About this Mod
Skill Slots is a mod that adds player skill slots for item-based skills. You can use KubeJS or Java code to create your
own skills.
// priority: 0
// Server script
// Make your item can be put in skill slots
// If the item already has a right-click function, the skill already works now
ServerEvents.tags('item', event => {
event.add('skillslots:skill', 'minecraft:diamond')
})
// Of course, you can use KubeJS to create an item, and add some fancy right-click function to it
ItemEvents.rightClicked('minecraft:diamond', event => {
event.player.tell('You right clicked a diamond!')
// Cooldown, works
event.player.addItemCooldown(event.item, 60)
})
// This event will also be called when using the skill
BlockEvents.rightClicked(event => {
// Check the item cooldown by yourself
event.player.tell('You right clicked a block!')
})
// Here you will know how to get access to the skill slots from a player
ItemEvents.rightClicked('minecraft:emerald', event => {
let handler = Java.loadClass('snownee.skillslots.SkillSlotsHandler').of(event.player)
let diamond = Item.of('minecraft:diamond')
// Here are some NBT options to customize the skill
diamond.nbt = {}
diamond.nbt.SkillSlots = {
UseDuration: 20,
IconScale: 1.5,
// CanBeToggled: true, // make your skill work as a passive skill. the player can toggle it on/off
ChargeCompleteSound: 'minecraft:entity.player.levelup', // leave it empty to mute
}
// In config, you can disable the player ability to change skills
// Here is an example to change the skill through KubeJS
handler.setItem(0, diamond)
// Example of checking if the player has a skill that can be toggled and currently activated
let index = handler.findActivatedPassiveSkill(skill => skill.item.id === 'minecraft:diamond')
if (index !== -1) {
let skill = handler.skills.get(index)
event.player.tell(skill.item.id)
}
})
You can use handler.setSlots(int) to set the amount of the unlocked slots, or use the Slot Unlock item provided by this mod.
The colored button border is provided only when JEI is installed.
Available Versions
How to Install Skill Slots on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set fabric Loader
In the panel under "Egg", select the fabric loader and matching Minecraft version (1.20.1).
Install Mod
Open the mod browser in the dashboard and search for "Skill Slots". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.20.1, 1.20, 1.19.2
Server-side
✓ RequiredRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
Skill Slots server crashes on startup – what to do?
Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.20.1). You can switch loaders with one click in the panel.
Is Skill Slots compatible with fabric and forge and neoforge and quilt?
Skill Slots officially supports fabric, forge, neoforge, quilt for Minecraft 1.20.1, 1.20, 1.19.2. Note: Forge and Fabric mods are NOT cross-compatible – pick one loader and stick with it. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with Skill Slots – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Skill Slots consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Rent Modded Server
Install Skill Slots with just one click on your server.