Перейти к содержимому

Accessory API

Предоставляет API для аксессуаров для b1.7.3 в инструментарии Babric

FabricOrnitheBabric
Загрузчики
FabricOrnitheBabric
Скачиваний на Modrinth
9,7 тыс.
Подписчиков на Modrinth
7
версий
18
Обновлён
10 июня 202610 июн.
Опубликован
в 2023
Cape and Gloves · свайп

Коротко о моде

Работает на Fabric, Ornithe и Babric
Нужен и в игре, и на сервере
Последняя версия — 0.9.1+mcb1.7.3+babric от 10 июня 2026
Лицензия CC0-1.0 — бесплатно
Где нужен
В игреобязателенНа сервереобязателен

Нужен и в игре, и на сервере

Версии игрыВерсии игры не указаны
Описание переведено автоматическиПоказать оригинал (EN)

Примечание:

Aether for Station API использует этот мод!

Accessory API

Используя Babric в b1.7.3, этот мод предоставляет API для добавления дополнительных слотов для различных предметов, похожий на Trinkets API и Baubles API, с оформлением, вдохновлённым Aether из b1.7.3.

Inventory Preview

Для разработчиков

Чтобы узнать о моддинге b1.7.3 в тулчейне babric, присоединяйтесь к The Modification Station!
Это очень похоже на fabric и fabric-api, но для b1.7.3.

Рабочее пространство

Добавьте Accessory API в ваш build.gradle

repositories {
    maven {
        name = "Jitpack"
        url "https://jitpack.io/"
    }
}

dependencies {
    modImplementation('com.github.matthewperiut:accessory-api:0.5.1') {
        transitive false
    }
}

Рекомендация

Если вы хотите быстро посмотреть, как использовать этот API, клонируйте репозиторий (желательно в IDE) и перейдите в src/test/java/com/matthewperiut/testmod.
Также посмотрите javadocs / документацию API

Реализация

Реализуйте "Accessory" в вашем классе предмета (со STAPI будет работать с любым API/миксинами)

public class ExampleRing extends TemplateItemBase implements Accessory
{
    public Pendant(Identifier identifier)
    {
        super(identifier);
    }
    
    // Чтобы определить слоты аксессуаров, в которые может помещаться ваш предмет:
    @Override
    public String[] getAccessoryTypes(ItemInstance item)
    {
        return new String[]{ "ring" };
        // return new String[0]; // не возвращает слотов
        // return new String[]{ "ring", "cape" }; // можно поместить в несколько типов слотов
        // return new String[]{ "all" }; // может быть в любом слоте аксессуара
    }

    // другие методы, которые вы можете использовать, используйте @Override
    // void tickWhileWorn(PlayerBase player, ItemInstance accessory)
    // void onAccessoryAdded(PlayerBase player, ItemInstance accessory)
    // void onAccessoryRemoved(PlayerBase player, ItemInstance accessory)

    // Рендеринг
    private YourCustomRenderer renderer;
    @Override
    public Optional<AccessoryRenderer> getRenderer()
    {
        return Optional.ofNullable(renderer);
    }
}

Вы можете выбрать разные типы стандартных аксессуаров:
"pendant"
"cape"
"shield"
"ring"
"gloves"
"misc"
"all"
или использовать свой собственный тип аксессуара

Пояснение функций аксессуаров

Вызывается, когда по слоту аксессуара кликают предметом, предмет передаётся в функцию.
Это предоставляет информацию о слоте, чтобы проверить, совместим ли он с ним.
String[] getAccessoryTypes(ItemInstance item)

Вызывается в функции tick связанного игрока, передавая предмет, который тикает, и игрока, на котором он надет.
void tickWhileWorn(PlayerBase player, ItemInstance item)

Вызывается, когда в инвентаре, связанном с аксессуаром, добавляется/удаляется предмет.
Функция предоставляет игрока, который добавил/удалил аксессуар, а также предмет, который был добавлен/удалён.
void onAccessoryAdded(PlayerBase player, ItemInstance accessory)
void onAccessoryRemoved(PlayerBase player, ItemInstance accessory)

Предоставьте функции рендеринга через getRenderer:
public AccessoryRenderer getRenderer()

Создание рендерера аксессуара

пример:

public class CustomRenderer implements AccessoryRenderer {
    void renderThirdPerson(PlayerBase player, PlayerRenderer renderer, ItemInstance itemInstance, double x, double y, double z, float h, float v)
    {
        // творите магию рендеринга сущности
    }

   void renderFirstPerson(PlayerBase player, PlayerRenderer renderer, ItemInstance itemInstance)
   {
       // творите магию рендеринга сущности от первого лица
   }
}

Использование аналогично EntityRenderers

Встроенные AccessoryRenderers:
CapeRenderer
GloveRenderer
NecklaceRenderer
ConfigurableRenderer

Частые вопросы

Как установить Accessory API?

Установите Fabric под свою версию Minecraft, скачайте Accessory API под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Нужен ли Accessory API на сервере?

Нужен и в игре, и на сервере

Лицензия и источник
Creative Commons Zero v1.0 Universalможно свободно использовать и распространять с указанием автора
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее