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

Fabric Flux

Активный

Установок

0

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

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

Fabric Flux

Важно: Данная модификация не является частью Fabric. Это сторонняя библиотека, которая позволяет разработчикам создавать энергетические моды для Fabric.

Fabric Flux (сокращённо FF) представляет собой библиотеку, предназначенную для реализации энергетической системы в модах на платформе Fabric.

Батарея

Рецепт крафта батареи Попробуйте применить эту батарею на различных сущностях.

Принцип работы

Система основана на двух основных понятиях: контейнеры и интерфейсы.

  • Flux Container — это объект, предоставляющий доступ к интерфейсам. Некоторые контейнеры могут требовать дополнительные данные для доступа. Например, предмету потребуется ItemStack для предоставления интерфейса.
  • Flux Interface используется для передачи энергии между контейнерами. Для завершения передачи энергии требуется два интерфейса.

Рекомендации для разработчиков

  • Каждый Item, принимающий энергию, должен реализовывать IFluxContainer и всегда проверять в getFluxFor, является ли тип объекта ItemStack. Другие типы объектов также поддерживаются.
  • Любой BlockEntity может реализовывать как IFlux, так и IFluxContainer. Если реализован контроллер, метод getFluxFor должен всегда проверять, является ли тип объекта Direction. Другие типы объектов также поддерживаются.
  • Если интерфейс просто не принимает ввод/вывод, он должен возвращать -1 вместо количества энергии (которое не может быть меньше 0). Это следует проверять до расчёта энергии.
  • НЕ ХРАНИТЕ Flux Interfaces, только контейнеры. Некоторые интерфейсы могут создаваться контроллером заново. Есть исключения для предметов, таких как зарядка/разрядка батареи (Item должен создавать новый интерфейс, так как его нельзя хранить в стеке предметов).
  • IFlux::to следует использовать для передачи энергии. Этот метод можно переопределить.
  • Класс FluxBattery предоставляется в API в качестве базового интерфейса.

Отличия от других энергетических API

FF немного отличается от Forge Energy API. В этой модификации меньше методов для реализации, и она не основана на возможностях (вместо этого используются контейнеры). Нет аналогов canExtractEnergy/canReceiveEnergy, проверка с помощью extractFlux/receiveFlux(0, true) делает то же самое, хотя это не обязательно.

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

Szeweq

Создан: 28 янв 2021

ID: 37142