Compatibility
Minecraft: Java Edition
1.20–1.20.1
1.19.2
Platforms
Fabric
Supported environments
75% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Creators
Details
Licensed ARR
Published last year
Updated 9 months ago
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.