
Lib39
Активный0.0
Установок
Последнее обновление
Версии
Lib39
Библиотека полезных инструментов для Minecraft
Обычным игрокам не требуется устанавливать Lib39 отдельно. Моды, которые используют эту библиотеку, уже включают её в свой состав. Данная версия предназначена для особых случаев, отладки или для создания ресурсных наборов и наборов данных с модулями Machination, Lockpick или Keygen.
Lib39 представляет собой сборник различных утилит, миксинов, событий и других компонентов, которые изначально были частью мода Yttr. Поскольку в Yttr содержалось множество полезных механик, многие разработчики хотели заимствовать оттуда миксины, что и послужило причиной выделения этих функций в отдельную библиотеку.
Название "39" соответствует атомному номеру химического элемента иттрия. Произносить можно как "либ тридцать девять", "либ три найн" или даже "либ мику" — как вам удобнее.
Начало работы
Основной способ получения Lib39 — через репозиторий Sleeping Town Maven. Добавьте следующие строки в ваш файл build.gradle:
repositories {
maven {
url 'https://repo.sleeping.town'
content {
includeGroup 'com.unascribed'
}
}
}
dependencies {
modApi include("com.unascribed:lib39-core:1.4.0")
// здесь можно добавить другие необходимые модули
// loom не включает транзитивные зависимости, поэтому нужно указывать все явно
}
На данный момент поддерживается только версия Minecraft 1.19.x для ModFest: Singularity. Модуль Core также работает на версии 1.18, а Deferral — начиная с 1.17.
Доступные модули
Core (Java & JSON)
Содержит различные вспомогательные классы, такие как AutoRegistry и AutoMixin, а также общие компоненты для других модулей. Включает различные мелкие улучшения, например, звуки крафта.
Lockpick (JSON)
Миксины для снятия искусственных ограничений, таких как углы поворота моделей, размеры рецептов крафта и другие. Также предоставляет дополнительные возможности, например, наследование элементов из родительских моделей.
Ripple (Java)
Позволяет настраивать тексты загрузочных экранов.
Gesundheit (Java)
Добавляет удобную систему частиц для интерфейсов, которая использует стандартный менеджер частиц Minecraft. Работает в любом экране.
Fractal (Java)
Вводит систему "подгрупп" для дальнейшего разделения вкладок творческого режима.
Tunnel (Java)
Предоставляет удобную систему сетевого взаимодействия на основе Concrete Network из версии 1.12.
Phantom (Java)
Добавляет возможность временно "скрывать" блоки из мира. Блоки не удаляются, а просто становятся невидимыми.
Waypoint (Java)
Добавляет дополнительный слой рендеринга мира с аддитивным смешением для отображения различных светящихся эффектов.
Weld (Java)
Реализует систему "больших блоков" для создания сборных конструкций, подобных кроватям в ванильной игре, но с более широкими возможностями и теоретически без ограничений по размеру.
Sandman (Java)
Позволяет предметам "всегда обновляться", используя случайные тики.
Crowbar (Java)
Добавляет события для низкоуровневых фаз генерации мира, таких как построение правил поверхности, и прямой доступ к чанкам во время генерации поверхности и населения для вызова пользовательских генераторов.
Keygen (Resource)
Добавляет возможность загрузки музыки в форматах XM, S3M и MOD через IBXM2.
Dessicant (Java & JSON)
Реализует "логические значения по умолчанию" для таблиц добычи и автоматически управляет разблокировкой рецептов на основе ключа "discovered_by" в JSON рецептов. Скоро добавятся поддержка blockstates и моделей блоков/предметов.
Machination (JSON)
Добавляет новые типы рецептов, такие как "вымачивание" для бросания предметов в жидкость и "раздавливание" для разрушения блока между двумя другими с помощью поршня. Имеет поддержку EMI.
Recoil (Java)
События для работы с камерой и полем зрения, а также возможность подавлять стандартное поведение и перехватывать атаки/использование. Всё необходимое для создания мода с оружием.
Util (Java)
Различные вспомогательные классы. Документация пока не готова.
Планируемые модули
В Yttr содержится множество необычных миксинов и утилит, и их выделение в отдельные модули займёт время. Вот некоторые компоненты, которые планируется добавить в будущем:
Equivalence (Java & JSON)
Система "заменителей" для создания функционально одинаковых предметов в ингредиентах рецептов и тегах.
Mesh (Java)
Эффективная система сетей блоков на основе графов для труб и подобных конструкций.
Conflagration (Java)
Система конфигурации на основе CSS и фреймворк для создания интерфейсов, взаимодействующих с ней.