Recipe Book Access API
Активный0.0
Установок
Последнее обновление
Версии
Recipe Book Access API

Recipe Book Access представляет собой интуитивно понятный API для Fabric, который позволяет легко добавлять поддержку внешнего доступа к инвентарю в любом окне крафта. Эта технология перенаправляет функциональность книги рецептов, заставляя её проверять и использовать предметы из настраиваемого списка инвентарей, а не только из инвентаря игрока.
Как это работает на практике?
Убедитесь сами, посмотрев наглядно:

Показанный пример демонстрирует работу модифицированного верстака, который использует пользовательский перечень инвентарей через этот API-интерфейс. В данном конкретном случае применяются все инвентари из ближайших сундуков.
Важное замечание
Самостоятельно этот мод не обеспечит функционал, показанный в демонстрации! Если вы ищете реализацию такого механизма для стандартного верстака, вам стоит обратить внимание на мод "Nearby Crafting".
Быстрый старт
API предоставляет простой интерфейс под названием RecipeBookInventoryProvider, который находится в пакете com.jomlom.recipebookaccess.api.
Ваш класс обработчика экрана должен реализовать этот интерфейс. Для полной функциональности API потребуется переопределить всего один метод - getInventoriesForAutofill().
В своей реализации этого метода необходимо возвращать список инвентарей, к которым должна иметь доступ книга рецептов для автоматического заполнения. По умолчанию инвентарь игрока в этот список не включается.
Пример кода:
import com.jomlom.recipebookaccess.api.RecipeBookInventoryProvider;
public class YourCraftingScreenHandler extends AbstractRecipeScreenHandler implements RecipeBookInventoryProvider {
// ваш существующий код...
@Override
public List<Inventory> getInventoriesForAutofill() {
return yourInventoriesList;
}
}
Предположения, на которых основан API:
- Ваш класс обработчика экрана наследуется от "AbstractRecipeScreenHandler" или любого из его подклассов
- Соответствующий экран наследуется от "RecipeBookScreen" для использования стандартной книги рецептов Minecraft
(не проводилось тестирование за пределами этих предположений)
Ответы на частые вопросы
Вопрос: Я обнаружил проблему... Ответ: Создайте запрос на GitHub или напишите напрямую в Discord: @joonty
Вопрос: Будет ли поддержка для [конкретной версии/платформы]? Ответ: В ближайшее время планируется выпуск поддержки для старых версий. Поддержка других загрузчиков (Forge, NeoForge и т.д.) в настоящее время не планируется. Если вы хотите создать версию для другого загрузчика, свяжитесь через Discord.
Вопрос: Должна ли моя реализация метода getInventoriesForAutofill() работать на стороне клиента?
Ответ: Нет! Метод getInventoriesForAutofill() используется только на стороне сервера в обработчике экрана. API автоматически синхронизирует результат с клиентом.