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

SizzLib

Активный

Установок

0

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

1 год назад
Клиент
Библиотеки

SizzLib

SizzLib представляет собой специализированную библиотеку, предназначенную для разработчиков модификаций Minecraft. Её основная цель — упростить создание клиентских команд, функциональных возможностей и механизмов сохранения данных, которые работают исключительно на стороне клиента.

Преимущества использования

Разработчики получают значительные преимущества при работе с SizzLib. Библиотека обеспечивает высокую скорость итераций при создании новых функций, а также предлагает простую систему локального сохранения данных, связанную с конкретным игровым миром. Важной особенностью является то, что эта система функционирует даже при подключении к ванильным серверам.

Система аннотаций

Библиотека использует систему аннотаций Java для обозначения методов и полей как компонентов команд или данных для локального сохранения. Для практического ознакомления с работой ModComponentRegistry рекомендуется изучить классы SizzLibClient и ExamplePersistable.

Управление данными

Класс PersistenceManager предоставляет функции save(...) и load(...), которые позволяют сериализовать и десериализовать объекты в формате JSON с последующим локальным хранением.

Командная система

Аннотация @Command применяется на уровне класса и при регистрации через ModComponentRegistry создает клиентскую команду на основе Brigadier.

Аннотация @CommandOption используется для полей и создает подкоманды, позволяющие пользователям читать или изменять значения полей в зависимости от конфигурации параметров аннотации. Система поддерживает парсинг перечислений с автоматическим созданием подсказок из возможных значений, а также работу с проприетарными типами Minecraft, такими как ItemStack и BlockPos.

Аннотация @CommandAction применяется к методам и создает подкоманды для их выполнения. Поддерживаемые типы параметров в сигнатуре метода передаются при выполнении.

Система тиков

Библиотека предоставляет несколько аннотаций для удобной работы с игровыми циклами:

  • @ClientTick выполняет метод в конце каждого игрового тика
  • @ScreenTick срабатывает в конце каждого тика экрана, с возможностью передачи объекта Screen в качестве параметра
  • @ScreenInit выполняется при инициализации экрана, например, при каждом открытии контейнера

Эти аннотации автоматически подключаются к соответствующим событиям регистрации, значительно упрощая процесс разработки.

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

grill24

Создан: 27 дек 2023

ID: 37543