[1.7.10] Мини-инвентарь/процессинг/рецепт (пример кода).

timaxa007

Модератор
5,831
409
672
Не знаю как лучше назвать тему для заголовка.
И код был написан за ночь. По-этому не ждите от этого кода, что-то грандиозного.
(github.com) "Fabrication for Example"
---
(github.com) "Fabrication for Example" общие lang и текстуры
----

(github.com) "Fabrication for Example" code "0"
Два слота, просто сделан как инвентарь, просто как начало заготовки.
----

(github.com) "Fabrication for Example" code "1"
Производство каждый тик, проверяет первый слот на наличии нужного предмета для производства другого предмета во второй слот, если он пустой. Сторона сверху для входного слота, остальные стороны извлекаю предмет из второго слота. Эм.. Ну, типа не совсем правильно объяснил, ну ладно.
----

(github.com) "Fabrication for Example" code "2a"
Девять входных слотов и один выходной слот. Верхняя сторона для входных слотов, остальные стороны для выходного слота.
----

(github.com) "Fabrication for Example" code "2b"
По одному входному и выходному слоту, данная машина уже имеет время, сколько будет изготовляться предмет. Причём из входного слота сразу-же забирается предмет. В случаи разбивания блока, тот предмет который был взят для производства, будет исчезнут.
----

(github.com) "Fabrication for Example" code "3"
Девять входных и один выходной слот, тоже как процессинг (их по разному могут называть) машинка.
----

(github.com) "Fabrication for Example" code "3c"
Девять входных и девять выходных. Здесь выходные слоты просто как инвентарь. И в данной машинке уже будет результаты множество разных предметов.
----
Машинки у которых один входной слот, в этот слот и по Shift-клику не положить.
Машинки у которых девять входных слотов, имеет определённый порядок для крафта и по Shift-клику или просто положить можно (не зависимо от рецепта для входных слотов).
Выходные слоты не были заблокированы на видео для данного тестирования, просто не ждать пока забьются выходные слоты, просто намерено их забить, и видеть, что будет если они забьются.
Возможно, потом добавлю комментариев в коде.
----
Я не утверждаю, что этот код будет правильным. Я просто показываю код, который я-бы написал.
 
Последнее редактирование:
1,417
44
594
Спасибо, очень годно, поможет начинающим кодерам, надеюсь ты продолжишь делать эти темки на подобии слива кода, как раньше.
 
62
0
Сделал на этих примерах свой контейнер, всё отлично, но при перезаходе на мир стаки из контейнера исчезают. Как это исправить? (Не исключено, что это я где-то накосячил)
 

timaxa007

Модератор
5,831
409
672
@DJ_RTyTb, причин может быть много. Не зарегистрирован TileEntity. Или у тебя несколько TileEntity зарегистрированы под одним регистрационным именем (типа в консоли напишет про дубликат имени или типа того). Не правильное сохранение и/или загрузка NBT.
 
62
0
Странно... Вроде, всё перечисленное в порядке... Ладно, разберусь как-нибудь позже. В любом случае спасибо за туториал.
 
По одному входному и выходному слоту, данная машина уже имеет время, сколько будет изготовляться предмет. Причём из входного слота сразу-же забирается предмет. В случаи разбивания блока, тот предмет который был взят для производства, будет исчезнут.
Есть возможность сделать получение того или другого предмета с каким-либо шансом? И есть ли другая возможность: помещаю предмет в первый слот, у него тратится прочность и в выходном слоте с каким-либо шансом спавнится что-то?
 

timaxa007

Модератор
5,831
409
672
@MrFrozenNik,
получение того или другого предмета с каким-либо шансом?
Типа да, к примеру создать класс хранить ItemStack и его шанс выпадения и место выхода ItemStack использовать свой класс с проверкой типа "Random#.nextFloat() > 0.5F" (50% выпадения).
у него тратится прочность
Ну тоже создать новый класс который хранит ItemStack и примитив boolean, который будет отвечать будет повреждаться предмет или забираться. И при взятии предметов проверить на то что, можно повреждать предмет и место взятии ломать предмет.
и в выходном слоте с каким-либо шансом спавнится что-то?
И это можно.
 
Спасибо.
1585932748165.png
Хочу сделать один входной слот. В TileEntity сокращать количество topSlots или sideSlots?
Про inventory_input понимаю, сократить надо до 1 =)
 

timaxa007

Модератор
5,831
409
672
Оба. side только 0, а в top от 1 по 9.
 
Сверху