Скачать Skill Slots — Minecraft Моды — MetaMods
Skill Slots

Skill Slots

Активный

Установок

6

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

7 месяцев назад

Версии

1.19.2 — 1.20.1
Клиент и сервер
Fabric
Forge
Neoforge
Quilt
Приключенческие
Игровые механики
Библиотеки
Магические
Утилиты

Skill Slots

Skill Slots представляет собой модификацию, которая вводит в игру специальные слоты для навыков, активируемых через предметы. С помощью KubeJS или Java-кода вы можете создавать собственные уникальные умения и способности для персонажа.

Создание навыков

Для добавления предмета в слоты навыков используется следующий код:

// priority: 0
// Серверный скрипт

// Позволяет предмету занимать слоты навыков
// Если предмет уже имеет функцию правого клика, навык автоматически активируется
ServerEvents.tags('item', event => {
  event.add('skillslots:skill', 'minecraft:diamond')
})

// Создание предмета через KubeJS с функцией правого клика
ItemEvents.rightClicked('minecraft:diamond', event => {
  event.player.tell('Вы использовали алмаз!')
  // Установка времени восстановления
  event.player.addItemCooldown(event.item, 60)
})

// Событие также срабатывает при использовании навыка
BlockEvents.rightClicked(event => {
  // Проверка времени восстановления осуществляется вручную
  event.player.tell('Вы взаимодействовали с блоком!')
})

Работа со слотами навыков

Пример получения доступа к системе навыков:

ItemEvents.rightClicked('minecraft:emerald', event => {
  let handler = Java.loadClass('snownee.skillslots.SkillSlotsHandler').of(event.player)

  let diamond = Item.of('minecraft:diamond')
  // Настройка параметров навыка через NBT
  diamond.nbt = {}
  diamond.nbt.SkillSlots = {
    UseDuration: 20,
    IconScale: 1.5,
    // CanBeToggled: true, // превращает навык в пассивный с возможностью включения/выключения
    ChargeCompleteSound: 'minecraft:entity.player.levelup', // оставьте пустым для отключения звука
  }

  // Изменение навыка через KubeJS
  handler.setItem(0, diamond)

  // Проверка активного пассивного навыка
  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)
  }
})

Дополнительные возможности

Используйте метод handler.setSlots(int) для настройки количества доступных слотов или применяйте специальные предметы разблокировки, которые предоставляет мод.

Цветное оформление кнопок отображается только при установленном модификации JEI.

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

Snownee

Разработчик

Создан: 18 июл 2023

ID: 10388