При(е)кол с кастомным GUI

Версия Minecraft
1.7.10
API
Forge
10
1
Вечер добрый, господа!

Начал вникать в моддинг два дня назад. После того, как видео закончились, начал искать что-то новое - решил создать свою печь с кастомным GUI. И вот, делаю всё, как в гайде написано, и вдруг: "MODID cannot be resolved to a variable".
Java:
    @Override
    public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float clickX,
            float clickY, float clickZ) {
        Block block = world.getBlock(x, y, z);
        TileEntity entity = world.getTileEntity(x, y, z);
        if (block != null && entity instanceof TileEntity && player != null) {
            if (!player.isSneaking()) {
                player.openGui(whunt.instance, "BlastFurnaceGUI", world, x, y, z);
                return true;
            }
        }
        return false;
    }
Щито поделать? Ид мода совпадает, сёрфинг не дал результатов ;-;. Помогите, пожалуйста.
 
Решение
Пример открытия:
Java:
//в главном классе своего мода (пусть его название будет "Класс") добавляешь поле:

@Mod.Instance("тут_мод_ид")
public static Класс instance;

//а теперь опенинг:

player.openGui(Класс.instance, Gui_ID(целое число, по которому ты будешь открывать гуи/контейнер в своем IGuiHandler`e), world, x, y, z);

jopi

Попрошайка
1,421
30
260
uh oh,
openGui имеет аргументы (Object, Integer, World, Integer, Integer, Integer) вроде как,
а если и не находит то ты берешь и делаешь над полем whunt.instance в классе whunt прикол,
который выглядит так @Instance("сюда_суй_свой_modid")
 
10
1
uh oh,
openGui имеет аргументы (Object, Integer, World, Integer, Integer, Integer) вроде как,
а если и не находит то ты берешь и делаешь над полем whunt.instance в классе whunt прикол,
который выглядит так @Instance("сюда_суй_свой_modid")
Excuse me? Мож я чего-то не понимаю, но whunt is modid, not separate class. Код, который я прикрепил - класс блока, к которому я пытался привязать гуи. В гайде указано писать следующим образом: player.openGui(MODID.instance, "GUIID", world, x, y, z); Что на это скажете? Стоит сменить туториал, или просто вырезать строчку к матерям котячим? :roflanNedovolen:
 

Eifel

Модератор
1,623
78
608
Пример открытия:
Java:
//в главном классе своего мода (пусть его название будет "Класс") добавляешь поле:

@Mod.Instance("тут_мод_ид")
public static Класс instance;

//а теперь опенинг:

player.openGui(Класс.instance, Gui_ID(целое число, по которому ты будешь открывать гуи/контейнер в своем IGuiHandler`e), world, x, y, z);
 
10
1
ты чё туда инстанс пихаешь если просят айди мода?
В этом свой при(е)кол. Если в этой строке .instance стереть, то выдаёт: "whunt cannot be resolved to a variable". Оно предлагает мне создать новый класс с названием, как айди у мода. Может быть для вырезания инстанса одного слова недостаточно, но тогда как?

Да, kurwa, я - полнейший чайник в этом, пытаюсь понять структуру самого языка + хочу найти годный источник с полезной инфой(весь этот форум вроде ничё такой), а то с ТыТруба ничего дальше GameRegistry не узнал.
 
10
1
@Mod.Instance("тутмодид") public static Класс instance;
Окей, мне нужно вписать новый класс или какой-либо существующий?
player.openGui(Класс.instance, Gui_ID(целое число, по которому ты будешь открывать гуи/контейнер в своем IGuiHandler`e), world, x, y, z);
Хмм... Если я в классе с контейнером написал int i = 0; ,то в Gui_ID тоже указать ноль?
 

Eifel

Модератор
1,623
78
608
Перечитай пожалуйста еще раз комментарий над кодом, модид - это строка. Насчет GUI_ID, это просто ИД, по которому ты будешь в своем IGuiHandler(когда дойдешь - поймешь) возвращать соответствующие обьекты контейнера и гуишки. Можешь ставить какой хочешь
 
10
1
Перечитай пожалуйста еще раз комментарий над кодом, модид - это строка. Насчет GUI_ID, это просто ИД, по которому ты будешь в своем IGuiHandler(когда дойдешь - поймешь) возвращать соответствующие обьекты контейнера и гуишки. Можешь ставить какой хочешь
Не извольте гневаться, товарищ модератор. Я неправильно поставил вопрос. То, что modid is a string, я понял на этапе установки eclipse. Что вы имели ввиду под словом:
? Создать новый .class или же использовать один из уже имеющихся? Спасибо.
 
10
1
Вместо Класс там должен быть главный класс твоего мода. Если у тебя он называеться MoiMod, то ты пишешь MoiMod
В общем, ошибки в коде пропали, игра запустилась, результат - поезд сделал бум интерфейс не работает. Короче, буду заново всё переделывать. Спасибо большое Вам, мисье Eifel, и всем остальным. Последний вопрос - я уже понял, что Вы не особо любите 1.7.10, но может быть есть на примете какой-либо сайт/плейлист/тред, где существуют такие основы? На английском языке тоже приветствуются. Спасибо.
 
На ютубе полно роликов, которые помогут тебе.
Так же советую посмотреть видео по тее "разработка модов minecraft 1.5.2/1.6.4"
Возможно новое для себя узнаешь что-то.

Удачи в изучение 🤫🥺
 

Вложения

  • Screenshot_20201015_015137_com.google.android.youtube.jpg
    Screenshot_20201015_015137_com.google.android.youtube.jpg
    721.1 KB · Просмотры: 5
10
1
На ютубе полно роликов, которые помогут тебе.
Посмотрим(во всех смыслах этого слова).
Так же советую посмотреть видео по тее "разработка модов minecraft 1.5.2/1.6.4"
А что, код для модов этих версий схож с 1.7.10?
Удачи в изучение 🤫🥺
Благодарю. Во что я ввязываюсь...😩
 
Сверху