Поддержка Just Enough Items (JEI)

Поддержка Just Enough Items (JEI)

Нет прав для скачивания
3,005
192
592
Doc добавил(а) новый ресурс:

Поддержка JEI - Реализация поддержки JEI для своего мода.

Привет.

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

Начнем.

Для начала мы импортируем сам мод в IDE.
В gradlew.build добавим это:
Код:
repositories {
  maven { // Мавен, который поддерживает JEI.
    name = "Progwml6 maven"
    url = "http://dvs1.progwml6.com/files/maven"
  }
  maven { // Мавен, который поддерживает JEI, для резерва.
    name = "ModMaven"
    url...

Узнать больше об этом ресурсе...
 

CMTV

Основатель
Администратор
1,304
4
601
Критерии "Супер-гайд 2017":
Наличие иконки, которая соответствует тематике гайда :mc_351-10:
Иконку я прикрепил еще до начала конкурса

Адекватный заголовок и описание :mc_351-14:
Лучше заменить JEI в названии и в описании на Just Enough Items (JEI). Дальше в тексте можно просто JEI. А то я долго думал, что это за разновидность Java JIT такая :unsure:

Архив с рабочими исходниками :mc_351-10:
Все исходники есть, включая даже build.gradle и gradle.properties. Minecraft запускается, дроп показывается. Отлично!

Минимальный размер гайда: не меньше 3000 символов :mc_351-10:
В гайде ровно 7800 символов. О как!

Текст гайда не должен быть разрезан и запрятан в спойлеры :mc_351-10:
Никаких проблем со спойлерами

Код гайда должен быть с поясняющими комментариями. Чем больше, тем лучше, но не переборщите :mc_351-1:
Подробные комментарии к коду имеются.

Блоки Java кода оформлены в обычные блоки кода! Хватайте его! :mc_51-0:

Итого: :mc_351-10::mc_351-14::mc_351-10::mc_351-10::mc_351-10::mc_351-1: (4.5/6) Незачет.

Советы "Супер-гайд 2017":
Объясняйте подробно, но просто. Что может вызвать трудности у читающего? Что вызывало трудности лично у вас? :mc_351-1:
Объяснено все довольно неплохо. Но те же грабли, что и у @Thunder:

0. В самом начале гайда нужно рассказать про то, что мы создаем кастомный блок с таким-то дропом и будем добавлять инфу о его дропе и крафте (см. ниже) в JEI и т.д.

Я так понял, для интеграции с JEI надо рисовать собственные GUI с помощью методов JEI?

Тогда покажи для примера, как:

1. Как добавить отображение не только дропа, но и рецепта для крафта (можно тоже из предметов мода)?

2. (По желанию) Как добавить отображение рецепта для печи?

3. Вот здесь:
Java:
@Override
public void setRecipe(IRecipeLayout layout, DropsRecipeWrapper recipes, IIngredients ingredients) {

    IGuiItemStackGroup isg = layout.getItemStacks(); // Группа ItemStack, которая нужна для рендера.

    isg.init(0, true, 74, 9); // Инициализируем слот 0.
    isg.set(0, recipes.getInput()); // Добавляем в слот 0 входной предмет.

    int slotIndex = 1;

    for (int i = 0; i < recipes.getOutputs().size(); i++) {
        final int slotX = 2 + i % 9 * 18;
        final int slotY = 36 + i / 9 * 18;

        ItemStack output = recipes.getOutputs().get(i); // Получаем элемент из массива дропа блока.

        isg.init(slotIndex + i, false, slotX, slotY); // Инициализируем слот (slotIndex).
        isg.set(slotIndex + i, output); // Добавляем в слот (slotIndex) выходной предмет.
    }
}
Добавь побольше комментариев к:
  • for циклу (перебираем каждый предмет из дропа)
  • переменным slotX и slotY. Что там за магические вычисления?
  • методу isg.init(...) - что за агрументы в него надо передавать. Ну первое индекс слота. Последние два - координаты. А что за булиан второй аргумент? Причем в начале метода ты ставишь там true, а уже в цикле false...
Чем больше поясняющих и демонстрационных картинок, тем лучше. Есть видео? Еще лучше! :mc_351-10:
Все отлично!

Гайд написан хорошо, если его может понять даже нубас :mc_351-14:
Я полный ноль в этой теме, но немного подумав над кодом в гайде вроде начал понимать. Но у меня и опыт есть какой-никакой. А у других его может и не быть. Будет зеленым если исправишь пункты выше.

Итого: :mc_351-1::mc_351-10::mc_351-14: (1.5/3) Незачет. Нужно внести правки. Чем больше - тем лучше.

А что по качеству кода? Не ломает совместимость (вопрос и к тебе, @Doc)? Написано все корректно?
Если у других пользователей форума есть, что добавить - не держите в себе :)
 
Последнее редактирование:
3,005
192
592
Лучше заменить JEI в названии и в описании на Just Enough Items (JEI).
Заменил.
Но те же грабли, что и у Thunder:
Грабли были скачаны дефолтные с добавлением загрузки JEI, собственно они и должны быть почти одинаковые.
Блоки Java кода оформлены в обычные блоки кода!
Тут не понятно, во что их оборачивать.
0 - Исправлено.
1 - Будет чуть позже, нужно время.
2 - Рецепты для печи? В смысле? То, что GameRegistry.addSmelting - JEI добавляет автоматически все рецепты.
3 - Исправлено.
Про совместимость - в конце темы.
 

CMTV

Основатель
Администратор
1,304
4
601
Отлично!

Грабли были скачаны дефолтные с добавлением загрузки JEI, собственно они и должны быть почти одинаковые.
Ох я не про те грабли :) Грабли всмысле та же ошибка.

Тут не понятно, во что их оборачивать.
[code=java]

Ну тогда ждем первого пункта и все.

Если другие продвинутые участники форума не против)
 

CMTV

Основатель
Администратор
1,304
4
601
Во! С подсветкой вообще классно стало!
 
3,005
192
592

CMTV

Основатель
Администратор
1,304
4
601
Все супер. Только два момента:
  • Прикрепленный архив соответствует старой версии гайда (новую версию можно прикрепить через кнопку "Добавить обновление")
  • Нет объяснения, что за механизм мы создаем во второй части гайда. Сразу переход к созданию. Хотя бы пару предложений про то, что это вообще такое.
...Но, мы захотели создать не просто блок с своим дропом, а целый механизм!

>>>А что этот механизм делает?<<<

И так, рассмотрим что нам нужно:...

А изменение #2 будет?
Того, что есть сейчас уже более чем достаточно. Стандартный дроп + интеграция с собственным механизмом. Попроще и для продвинутых. Или ты про что?
 
Последнее редактирование:
3,005
192
592
Архив обновлен.
Объяснение присутствует после создания рецепта.
 

CMTV

Основатель
Администратор
1,304
4
601
Отлично. У меня больше никаких претензий нет. Если никаких возражений у других опытных участников нет, то сегодня гайд будет помечен как супер-гайд и перенесен в учебник.
 
Сверху