▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Petrolpark's Library
Petrolpark's Library

Petrolpark's Library

Библиотека общих функций и API для модов Petrolpark и не только. Предоставляет инструменты для работы с загрязнителями предметов, старением, командами, пожеланиями и многим другим. Интегрируется с Create.

Оцените первым
593.2K
49

Petrolpark's Library - это библиотека общих возможностей и утилит для модов и сборок Minecraft. Она создана в первую очередь для аддонов к Create и других проектов автора, но её API могут использовать любые мододелы. Большинство систем заточены на гибкость: они позволяют делать с игрой то, что обычно недоступно.

Библиотека тесно связана с Create, но не требует его обязательной установки - функции, зависящие от Create, просто отключатся, если мода нет.

Вот список основных API-фич в порядке их значимости:

Загрязнители (Contaminants)

Загрязнители - это флаги, управляемые через датапаки. Их можно добавлять к стакам предметов, жидкостей и даже к блочным сущностям. Они сохраняются при обычных процессах вроде крафта или переплавки, а также при большинстве операций Create и собственных механиках библиотеки (старение, переработка). Например, если скрафтить что-то из отравленного ингредиента - результат тоже получит метку "poison".

Старение предметов (Decaying Items)

Предметам можно задать "срок годности" - по истечении времени они превратятся в другой предмет или изменят компоненты (например, добавят или уберут загрязнители). Работает даже в произвольных инвентарях из других модов. Механика основана на похожей из Factorio и полностью настраивается через датапаки.

Рецепты старения (Ageing Recipes)

Тип рецепта, который запускает старение предмета в бочке (или другом контейнере). Если предмет убрать - процесс останавливается.

Команды (Teams)

Система для проверки принадлежности игроков к определённой группе и хранения данных для этой группы. Поддерживаются одиночные игроки, ванильные команды Scoreboard и FTB Teams (скоро). Предметы и блоки, привязанные к команде, позволяют игроку выбрать свою команду - тогда все её члены будут видеть одни и те же данные для этого объекта.

Пожелания (Wishes) - в разработке

Призваны убрать рандомный гринд. Пожелания - это предметы, которые можно получить как награду за квесты или купить в магазине. Они позволяют игроку выбрать конкретный предмет (через Advanced Ingredient). Когда игрок открывает таблицу лута, игра старается подкрутить выпадение так, чтобы исполнить его пожелания. Работает даже для сложных запросов вроде предметов с определёнными чарами.

Расширенный инвентарь (Extended Inventory) - экспериментально

Добавляет два новых атрибута: petrolpark:player.extra_inventory_slots и petrolpark:player.extra_hotbar_slots. Дополнительные слоты отображаются не только в инвентаре, но и в ванильных меню и большинстве интерфейсов других модов. Поскольку это атрибуты, их можно менять броней, зельями или чарами через датапаки и команды. Цель - сделать систему рюкзаков без необходимости открывать отдельный экран.

Модификация таблиц лута (Loot Table Modifications)

Позволяет изменять существующие таблицы лута без полной перезаписи - гибче, чем глобальные модификаторы NeoForge. Можно добавлять, удалять и править отдельные пулы и записи пулов. Несколько модов или датапаков могут одновременно менять одну таблицу.

Переработка (Recycling) - в разработке

Универсальная система "разкрафта". Автоматически сканирует рецепты и пытается создать обратные рецепты переработки с параметром процента возврата ингредиентов. Если у предмета много разных рецептов - переработка обычно ничего не даст без явного указания. Для ингредиентов без однозначного обратного предмета результат опускается. Можно задать обратные соответствия через датапак: например, зарегистрировать "Scrap Planks" как ингредиент тега minecraft:planks - тогда любой рецепт с этим тегом будет перерабатываться в соответствующее количество Scrap Planks.

Система дружит со сжатием предметов (см. ниже): если рецепт требует один слиток Moddium, то при 25% возврата переработка выдаст 2-3 самородка Moddium без дополнительных настроек. Мододелы могут добавлять модификаторы вывода - например, уменьшать возврат в зависимости от прочности или переносить загрязнители.

Книги рецептов (Recipe Books)

Позволяют ограничивать доступ к рецептам через предметы-ключи - книги рецептов. Их можно выдавать как награду за квесты или покупку в магазине. Крафт будет невозможен, пока рядом с блоком-крафтером не стоит Chiseled Bookshelf (или другой контейнер) с нужной книгой.

Реализовано для ванильных верстаков, крафтеров и печей, а также для большинства машин Create. Если установлен JEI - в тултипе книги красиво отображается открываемый рецепт.

Сжатие предметов (Item Compression) - в разработке

Автоматически находит обратимые рецепты сжатия (например, 9 слитков в блок) - даже если мод добавляет "пятерное сжатие булыжника". Регистрация не требуется; всё сканируется автоматически. К этим сжатиям можно легко обращаться из других систем.

Продвинутые ингредиенты (Advanced Ingredients)

Как ванильные/NeoForge Ingredients, но с типами-дженериками. У них есть подписи для удобного отображения в JEI - сразу видно, что именно требуется. Интегрируются с системой Пожеланий. Библиотека предоставляет несколько реализаций - например, проверку наличия у объекта определённого загрязнителя.

Магазины (Shops) - в разработке

Управляемая датапаками система случайных запросов от NPC: игрок приносит нужный предмет и получает награду (книги рецептов, слухи жителей XP). Клиенты выбирают запросы случайно на основе уровня магазина, применяют модификаторы (например, ×1.5 за наличие загрязнителя) и случайно выбирают награду. Всё настраивается через датапаки.

Магазины имеют уровни и привязаны к командам - игроки одной команды могут прокачивать магазин вместе.

Десериализаторы рецептов совместимости (Compat Recipe Deserializers)

Позволяют выполнять рецепты из другого мода в машинах вашего мода без прямой зависимости - достаточно прочитать JSON-файл рецепта того мода.

Провайдеры чисел, условия и функции для лута (Loot Number Providers, Conditions and Functions)

Несколько новых реализаций ванильных провайдеров чисел, условий и функций для таблиц лута - например, получение свойств сущностей или команд.

Продвинутые рецепты (Advanced Recipes)

Интерфейсы для рецептов с дополнительными ограничениями:

  • Рецепты по книгам - описано выше.
  • Рецепты по биомам - можно проводить только в определённых биомах; информация отображается в JEI.
  • Рецепты "первый раз - удача" - гарантируют лучший результат при первом выполнении рецепта (особенно для случайных результатов Create), уменьшая гринд.

Значки (Badges)

Внутриигровые косметические награды за раннее скачивание модов автора или победы в конкурсах. Если значок разблокирован - он появляется в любом мире игрока. Можно поместить в слот Curios при наличии этого мода.

Настраиваемые креативные вкладки (Customizable Creative Mode Tabs)

Позволяют точнее управлять расположением предметов в креативном меню и добавлять разделители.

Совместимость по дереву (Wood Compat)

Создание предметов и блоков из любого дерева (ванильного или модифицированного) с автоматической подстройкой текстур.

События (Events)

Несколько новых событий для хуков:

  • Смешанные цвета блоков - изменение цвета до смешивания с соседними блоками для плавных переходов.
  • Обработка осадков - когда на блок попадает дождь или снег.
  • Особые цены жителей - модификация бонуса/штрафа к торговле.

Мелкие клиентские фичи (Small Client Features)

  • Модели экструдированных блоков - создание модели по маске с выдавливанием.
  • Источник спрайтов Mean Shift Cluster - усреднение цветов текстуры для стилизации.
  • Источник спрайтов Small Banner - создание одно-блочных версий баннеров из двухблочных.
  • Прозрачные цвета предметов - возможность задавать прозрачность для окрашиваемых предметов вроде кожаной брони.

API-фичи Create (доступны при наличии Create)

Трубчатые блоки со сплайнами (Splined Tubular Blocks)

Размещение и рендеринг произвольно изогнутых сплайнов в мире. Используется в Petrol's Parts для гидравлических передач и пневматических трубок.

Дополнительные инструкции Ponder

  • Встряска камеры
  • Создание лески
  • Подсветка тега Ponder
  • Взмах руки сущности
  • Обводка любого бокса

Тайловые блоки вне сетки (Off-Grid Tiling Blocks)

Текстуры таких блоков тайлятся с шагом больше одного блока - больше возможностей для узоров.

Поведение "запомнить разместившего"

Позволяет блокам Create запоминать, кто их поставил - используется для рецептов "первый раз - удача".

Общие фичи (добавляют контент)

Эти функции включаются только определёнными зависимыми модами (не только Petrolpark).

Программатор редстоуна (Redstone Programmer)

Подключается к Redstone Links из Create и позволяет программировать последовательности сигналов - по сути MIDI-редактор для частот Redstone Link. Используется в Destroy и Petrol's Parts.

Крышка бассейна (Basin Lid)

Идея позаимствована с разрешения у Create: Diesel Generators. Ставится сверху на Basin для рецептов "Lidded Basin" (ферментация, пиролиз). Используется в Destroy. Такие рецепты поддерживают привязку к биомам.

Фильера экструзии (Extrusion Die)

Проталкивание блоков через механизм Create с красивой анимацией резки. В Destroy используется для нарезки картофельного пюре на фри или кварца на колонны. Рецепты управляются датапаками.

Зависимые моды

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.21.x1.20.x

Платформы

Поддерживаемые окружения

Клиент и сервер

Зависимости

Ссылки


Создатели

Детали

Лицензия:
Опубликован:1 год назад
Обновлён:3 недели назад
Главная