Fzzy Core avatar

Fzzy Core [1.20.1] [1.19.4] [1.18.2]

Главный баннер для мода Fzzy Core

Добро пожаловать в Fzzy Core! Это базовый API, который поддерживает некоторые моды на Kotlin, созданные fzzyhmstrs (то есть мной!). Помимо предоставления некоторых базовых утилит, которые пригодятся для многих различных типов модов, Fzzy Core включает базовую структуру Modifier System, гибкой и мощной системы для модификации… почти чего угодно!

Fzzy Core имеет интегрированную KDoc для руководства по использованию. Я также работаю над созданием вики!

Утилиты для программирования

Fzzy Core содержит несколько утилит, которые делают программирование модов немного проще! Эти утилиты включают:

  • Базовый класс Enchantment, который можно легко интегрировать с системой конфигурации для отключения/включения отдельных чар.
  • Обертка для Text, которая позволяет избежать головной боли, связанной с модами для нескольких версий и постоянной борьбой с конфликтами слияния при изменениях Text.
  • Система постоянных эффектов, которая позволяет создавать отложенные, повторяющиеся (или неповторяющиеся) события, не привязанные к тику конкретного объекта или другому грязному способу реализации.
  • Система создания частиц, которая позволяет размещать частицы на стороне клиента в определенном месте в поле зрения игрока. Это позволяет создавать предметы с капающими с них частицами, факелы, испускающие дым, и т.д.

Синхронизированная система конфигурации

Создайте простую в управлении систему конфигурации, которая позволяет контролировать версии с течением времени и автоматически синхронизирует конфиги сервера с подключающимися клиентами!

  • Использует преимущества уникальной функциональности Kotlin для простой и чистой реализации.
  • Вспомогательные методы для автоматического обновления файлов конфигурации до новых версий, с сохранением информации из старой версии перед её заменой на обновленную.
  • Простая реализация функций автоматической синхронизации.

Пользовательские предметы с описательным текстом

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

  • Реализация по умолчанию — это просто несколько новых строк в lang-файле.
  • Опциональные методы для более сложного текста.
  • Также добавляет пояснительный текст для объяснения значения описательного текста или описания функциональности предмета.

Предметы с маной

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

Структура модификаторов

Структура модификаторов — это гибкая и расширяемая система, разработанная как аналог ванильной системы зачаровывания. Модификаторы призваны решить две самые большие проблемы, которые я нашел у зачарований: их легко удалить, и они не инкапсулируют свою функциональность (кроме пары методов урона). Зачарования также более скучны, чем могли бы быть, отображая свой уровень простым числом. Модификаторы aim to fix all of those issues!

  • Модификаторы разработаны как постоянные, действуя больше как аффиксы. Точильные камни не могут их удалить, например.
  • Модификаторы разработаны для инкапсуляции своей функциональности и могут быть вызваны как единое целое, а не по частям.
  • Модификаторы действуют через "генеалогическое древо", которое позволяет создавать выразительные уровни. Представьте себе меч, переходящий от "Ржавого" к "Блестящему", затем к "Сияющему" и т.д.

Библиотека поставляется со встроенными вспомогательными методами для отображения модификаторов
Пример всплывающей подсказки, демонстрирующей модификаторы золотым текстом

См. ссылку на вики выше для получения более подробной информации об этих функциях. После реализации система модификаторов может делать почти что угодно. Amethyst Core, например, имеет встроенный AugmentModifier, который делает всё: от влияния на стоимость маны и время восстановления до изменения урона заклинаний или дальности, до запуска продвинутых эффектов, таких как наложение эффекта Wither на каждого моба в радиусе 12 блоков вокруг заклинателя при любом успешном применении заклинания.

Модификаторы могут быть как простыми контейнерами для передачи ванильных AttributeModifiers, так и намного более сложными, чем описанный выше AugmentModifier. Их даже можно использовать чисто для описательности, если захочется!

Утилиты для NBT

Fzzy Core включает простую утилиту для выполнения некоторых полезных действий с NBT.

  • Чтение и запись BlockPos с помощью одного вспомогательного метода, вместо ручного сохранения координат X, Y, Z или преобразования в Long.
  • Несколько утилит для NbtList для чтения, добавления и удаления из NbtLists.
  • Система ItemStackId для прикрепления уникального идентификатора к определенным стакам предметов. Это позволяет, например, привязать стак предметов к конкретному блочному объекту… или многому другому!
  • Вспомогательный метод для передачи NBT (кроме чар) с одного стака на другой.

Утилиты Raycaster

Простой набор вспомогательных методов для поиска объектов.

* Raycasting на стороне сервера для обнаружения игровых объектов без необходимости сложной работы с сетью.

* Вспомогательные методы для сущностей, блоков и поиска объектов в областях вокруг точки (например, игрока).

* Возможность проверять сущности с помощью произвольно повернутых кубоидов. Стандартные системы обнаружения Minecraft используют box, выровненные по сетке XYZ. Это полезно для чего-то вроде проверки, каких врагов поражает заклинание, даже если игрок смотрит по диагонали и вверх по склону.

Реестр событий

Реестр для добавления и отслеживания базовых тикающих объектов, не связанных с конкретными объектами, такими как сущности.

  • Полезно для создания периодических таймеров, которые срабатывают только каждые X тиков, позволяя создавать методы тика, которые не срабатывают каждый отдельный тик. Фактически, реестр поставляется со встроенными таймерами с интервалами в 1 секунду, 1.5 секунды и 2 секунды.
  • Добавляет интерфейс TickUppable и класс Ticker для регистрации объектов в реестре.

Реестр моделей предметов

Хотите сделать пользовательский трезубец, но не можете понять, как, черт возьми, заставить трезубец в руке выглядеть так же, как в MC? Этот реестр для вас!

  • Регистрируйте пользовательские модели предметов для определенных режимов отображения (в руке, на земле и т.д.).
  • Интегрируется со стандартным Fabric BuiltinItemRendererRegistry.DynamicItemRenderer.

EffectQueue

Не нравится, как добавление пассивных эффектов статуса иногда приводит к "борьбе" эффектов в интерфейсе, когда эффекты быстро меняются местами?

  • Эта простая утилита объединяет добавление всех переданных в неё эффектов статуса в предсказуемом порядке.
  • Использует всю стандартную информацию об эффектах статуса, которую вы ожидаете от addStatusEffect.

Утилиты для Trinkets

Fzzy Core опционально интегрируется с Trinkets, добавляя некоторые служебные функции, которые можно использовать с ними.

  • getTrinketStacks предоставляет список всех Trinkets, надетых на переданную живую сущность.
  • Интерфейс AugmentTasks позволяет создавать Trinkets, которые взаимодействуют с особыми чарами, называемыми Augments. Эти аугменты позволяют создавать аксессуары с настраиваемыми пассивными и активными способностями.

Требуемые зависимости

Скачать Fzzy Core

 
Тип Скачать Версия Загрузчик Обновлено Размер
Releasefzzy_core-0.5.1+1.20.11.20.1Fabric28 апреля 2024518,5 КБ
Releasefzzy_core-0.5.0+1.20.1.jar1.20+1 Fabric13 марта 2024518,5 КБ
Releasefzzy_core-0.4.1+1.20.1.jar1.20+1 Fabric27 января 2024411,3 КБ
Releasefzzy_core-0.4.2+1.20.1.jar1.20+1 Fabric27 января 2024411,5 КБ
Releasefzzy_core-0.4.0+1.20.1.jar1.20+1 Fabric26 января 2024410,6 КБ
Releasefzzy_core-0.2.1+1.19.jar1.19+2 Fabric6 января 2024310 КБ
Releasefzzy_core-0.3.4+1.20.1.jar1.20+1 Fabric3 декабря 2023370,7 КБ
Releasefzzy_core-0.3.3+1.20.1.jar1.20+1 Fabric1 декабря 2023370,2 КБ
Releasefzzy_core-0.3.2+1.20.1.jar1.20+1 Fabric17 ноября 2023368,5 КБ
Releasefzzy_core-0.3.1+1.20.1.jar1.20+1 Fabric10 ноября 2023368,4 КБ
Пожалуйста авторизуйтесь, чтобы оставить свой комментарий.