Критерии "Супер-гайд 2017":
Наличие иконки, которая соответствует тематике гайда :mc_351-10:
Иконку я прикрепил еще до начала конкурса
Адекватный заголовок и описание :mc_351-14:
Лучше заменить JEI в названии и в описании на Just Enough Items (JEI). Дальше в тексте можно просто JEI. А то я долго думал, что это за разновидность Java JIT такая
Архив с рабочими исходниками :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. Вот здесь:
@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)? Написано все корректно?
Если у других пользователей форума есть, что добавить - не держите в себе