Скачать Skill Slots (Fabric) — Minecraft Моды — ModStock

Skill Slots (Fabric)

Активный

Установок

0

Последнее обновление

1 год назад
Клиент
Приключенческие
Магические
Утилиты

Skill Slots is a library mod that adds player skill slots for item-based skills, as a complementary to the hotbar. You can use KubeJS or Java code to create your own skills, or simply put an existing item in the slots and use a keybind to perform the right-clicking behavior.

Example for adding a new skill using KubeJS:

// 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.

Участники проекта
Snownee

Snownee