Как создать собственный верстак или что-то подобное с разными фичами?

Версия Minecraft
1.7.10
Здраствуйте,у меня возник вот такой вопрос ,а как можно сделать собственный верстак с крафтами только для него или же печку?
Также как можно добавить слот в котором можно сжигать уголь и тому подобное или только определённую вещь?
Ещё как можно сделать верстак в котором есть слот для вещи у которой теряется прочность при крафте и без неё нельзя крафтить,эта вещь может быть разных видов например каменная,железная,алмазная и чем лучше тем больше прочности?
Не знаю возможно ли это реализовать,но как сделать так что если поставить другую вещь в тот слот предназначенный для инструмента и изменять рецепты крафта?
И вдобавок как сделать так чтобы при открытии предмета (пкм) открывался такой кастомный верстак?
Ещё как добавить ожидание (тик) при создание вещи как в печке?
Как добавить чтобы при крафте крафтилось сразу несколько предметов?
Конечно хотелось бы всё узнать но можно и просто ссылки на гайды по созданию собственного верстака если такие имеются.
Ещё я планирую это делать на версии 1.7.10 - 1.12.2.

Вот различные примеры:
Screenshot_39.png
Screenshot_1.png
Screenshot_2.png

А ещё можете смотреть пс:
P.S Я не особо знаю язык Java а мой друг который в этом разбирается,но не знает как это делать.А ещё я весь инет перерыл нашёл только непонятный туториал в нём этот верстак является кастомным блоком,обычным верстаком.Конечно это будет уже не совсем верстак,а индустриальная штука,но всё же я буду делать и "верстаки" и не совмещая все эти навороченные фичи просто одна будет использовать всё,а другие по одной фиче или по две,три и вообще всё зависит от ответов,так что не бойтесь того чего я тут написал : )
P.P.S И нет я не задолбаюсь переносить на все эти версии я же буду переносить только на последние,хотя это и так слишком муторно
P.P.P.S Да там будет ещё и моделька кастомная будет...
 
Последнее редактирование:
Решение
а как можно сделать собственный верстак с крафтами только для него или же печку?
По разному можно. Создать:
GuiHandler,
Контейнер,
а так-же для него Gui,
свои крафты можно хранить с своём классе где будут храниться, что нужно для крафта и его результат. А так-же всякие другие возможности.
Так-же может пригодиться TileEntity, чтобы в нём производить процесс, хранение предметов.
Также как можно добавить слот в котором можно сжигать уголь и тому подобное или только определённую вещь?
К примеру в твоём TileEntity в его updateEntity(), проверять, на то что твой слот не пустой и имеет нужный предмет.
Сжигание - как-бы создаётся переменная, которая будет отвечать типа сколько время будет гореть этот предмет в этом TileEntity. Если...

timaxa007

Модератор
5,831
409
672

timaxa007

Модератор
5,831
409
672
Приветствую.
Насколько сложно ответить на данные вопросы?
Есть вопросительные предложения, но нету самих знаков вопросов. Так что ответить, на вопросы, которых нет, трудно, т.е. не как.
 
3,005
192
592
То, что сделано в EIO - не такое и сложное, если уметь кодить, а не как "твой друг".
~
Когда задаешь свой вопрос - можно ли указать, что это вопрос, например поставить вопросительный знак.
Так же можно добавить разделение "новой строкой", нежели писать все в один сплошной текст.
~
Мое мнение по тексту:
Половина текста это набор не связных слов..
 
Когда задаешь свой вопрос - можно ли указать, что это вопрос, например поставить вопросительный знак.
Так же можно добавить разделение "новой строкой", нежели писать все в один сплошной текст.
Спасибо,исправил вроде
 

timaxa007

Модератор
5,831
409
672
а как можно сделать собственный верстак с крафтами только для него или же печку?
По разному можно. Создать:
GuiHandler,
Контейнер,
а так-же для него Gui,
свои крафты можно хранить с своём классе где будут храниться, что нужно для крафта и его результат. А так-же всякие другие возможности.
Так-же может пригодиться TileEntity, чтобы в нём производить процесс, хранение предметов.
Также как можно добавить слот в котором можно сжигать уголь и тому подобное или только определённую вещь?
К примеру в твоём TileEntity в его updateEntity(), проверять, на то что твой слот не пустой и имеет нужный предмет.
Сжигание - как-бы создаётся переменная, которая будет отвечать типа сколько время будет гореть этот предмет в этом TileEntity. Если переменная равна 0, то из слота забирается предмет типа для сгорания и какой предмет был в слоте давалась определённое цисло нашей переменной для сгорания, если эта переменная больше 0, то эта переменная убавляется "переменная = переменная - 1".
Ещё как можно сделать верстак в котором есть слот для вещи у которой теряется прочность при крафте и без неё нельзя крафтить,
Создать достаточно нужных условий, если в сетке крафта есть нужные предметы и в слоте для инструмента, есть нужный предмет, то в при крафте убирать ингредиенты, а предмет ломать.
как сделать так что если поставить другую вещь в тот слот предназначенный для инструмента и изменять рецепты крафта?
Условие, тут как-то подробно не раскажешь, для начало попробуй создать код, чтобы понять что это делается условию (в update каком-нибудь).
И вдобавок как сделать так чтобы при открытии предмета (пкм) открывался такой кастомный верстак?
Всё зависит от реализации, смотри в пример ванильного верстака, там крафт происходит не относительно блока, а просто где был открыт. И по этому примеру можно открывать и свой в GuiHandler'е.
Ещё как добавить ожидание (тик) при создание вещи как в печке?
Создать переменную, которая будет отвечает за время приготовления. Если условие все подходящие, включая что эта переменная равна 0, то давать ей значение через сколько она тиков будет готова, и эти тики отнимать в update. Можно посмотреть в TileEntity ванильной печи.
Как добавить чтобы при крафте крафтилось сразу несколько предметов?
Ну создать такой рецепт у которого при выходе было два предмета и эти два предмета давать в два слота для выхода, как пример.
---
Есть разные реализации и т.п. Как пример я тебе кидал на тему [1.7.10] Мини-инвентарь/процессинг/рецепт (пример кода). , там я думаю большество примеров (кроме отдельных слотов для инструментов) могут пригодиться.
Ну что, удачи тебе.
 
3,005
192
592
ты кликаешь предметом он вставляется в подходящий слот в моём верстаке
Если просто положить предмет - то в Slot нужно переопределить метод isItemValid.
Если через шифт - то в Container нужно переопределить метод transferStackInSlot.
 
кликаешь предметом он вставляется в подходящий слот в моём верстаке (имеется ввиду уголь,инструменты)?
ПКМ по блоку? onBlockActivated надо переопределить, там достать тайл и положить в него предмет в руке если таковой имеется
 
Сверху