Войти или зарегистрироваться

Туториал [1.7.10-1.8] [Vanilla + Forge] Minecraft Coder Pack. Как сделать красивые прозрачные кнопки.

Подключи библиотеки, которых нет.
А вообще, MCP баганый и не работает с Eclipse с недавних пор. Т.е. ты можешь редактировать клиент, но не можешь его скомпилировать. Юзай recompile.bat и startclient.bat для проверки сделанного. А для коддинга - эклипс, так как там подсветка синтаксиса
 
Подскажите. Скачал forgegrandle, запустил gradlew.bat, подождал, пока скачаются необходимые данные. Вроде, все скачалось, консоль закрылась. Также выбрал рабочую область в эклипсе (как и с ванильным майном - та же папка), но эклипс теперь показывает мне одну папку minecraft, с которой у меня никак взаимодействовать не получается. Что я сделал не так?
ps. На клиенте стоял не только фордж, но и оптифайн
 

Вложения:

  • myScreenshit_001_2015-01_06_15_07_25.png
    myScreenshit_001_2015-01_06_15_07_25.png
    34,5 КБ · Просмотры: 17
Подскажите. Скачал forgegrandle, запустил gradlew.bat, подождал, пока скачаются необходимые данные. Вроде, все скачалось, консоль закрылась. Также выбрал рабочую область в эклипсе (как и с ванильным майном - та же папка), но эклипс теперь показывает мне одну папку minecraft, с которой у меня никак взаимодействовать не получается. Что я сделал не так?
ps. На клиенте стоял не только фордж, но и оптифайн
Нужно не запускать gradlew.bat, а использовать команду gradlew setupDecompWorkspace eclipse.
 
Нужно не запускать gradlew.bat, а использовать команду gradlew setupDecompWorkspace eclipse.
Создал батник с таким содержанием, запустил, все готово. Выбрал в качестве рабочей области в эклипсе ту же папку eclipse из директории с распакованным forgegrandle. Но эклипс снова показывает папку, взаимодействовать с которой я также не могу. В чем проблема?
 
Указывайте коренную папку Forge Gradle в меню Import Existing Project.
 
Указывайте коренную папку Forge Gradle в меню Import Existing Project.
С этой проблемой разобрался: у меня скорость инета невысока, просто не все скачивалось.
Подскажите вот что: попросил человека скинуть мне исходники клиента с форджем (всю .gradlew папку), заменил у себя все пути на верные в .classpath, .project (из org.eclipse.jdt.core), но при открытии папки minecraft в эклипсе вылетает ошибка "Missing .project file", если добавлять проект вашим способом - вылетает
"Invalid project description.
C:\Users\User\Desktop\newFG overlaps the workspace location: C:\Users\User\Desktop\newFG\eclipse". В чем проблема? .project лежит и в gradlew, и в .gradlew\...\org.jdt.eclipse.
 
Измените код , который двигает опции и выход из игры на вот этот. Тот уже не работает

this.buttonList.add(new GuiButton(0, this.width / - 200 + 15, var3 + 45, 130, 20, I18n.format("menu.options", new Object[0])));
this.buttonList.add(new GuiButton(4, this.width / - 200 + 15, var3 + 70, 130, 20, I18n.format("menu.quit", new Object[0])));
// this.buttonList.add(new GuiButtonLanguage(5, this.width / 2 - 124, var3 + 72 + 12));
 
Ошибка, а почему? :С

Версия: 1.7.2 FORGE
image.png
 
Уважаемые коллеги. У меня есть готовый клиент 1.6.4 с форджем, оптифайном, модлоадером. Как мне его разобрать что бы эти все дополнения остались? Если нельзя а я так понимаю нельзя то прошу пояснить в кратце как эти все дополнения добавить в чистую версию при компиляции? Спасибо.
 
Уважаемые коллеги. У меня есть готовый клиент 1.6.4 с форджем, оптифайном, модлоадером. Как мне его разобрать что бы эти все дополнения остались? Если нельзя а я так понимаю нельзя то прошу пояснить в кратце как эти все дополнения добавить в чистую версию при компиляции? Спасибо.
  1. Деобфусцировать клиент.
  2. Декомпилировать клиент.
  3. Найти нужные классы.
  4. Найти все изменения с помощью Diff (для этого нужен ещё и исходник оригинального класса).
P.S. Раз уж тему апнули, то вот новый код рендера кнопки для 1.7.10:
Java:
public void drawButton(Minecraft p_146112_1_, int p_146112_2_, int p_146112_3_)
{
   if (this.visible)
   {
      GL11.glColor4f(1F, 1F, 1F, 1F);
      boolean changed = p_146112_2_ >= this.xPosition && p_146112_3_ >= this.yPosition && p_146112_2_ < this.xPosition + this.width && p_146112_3_ < this.yPosition + this.height;
      GL11.glEnable(GL11.GL_BLEND);
      OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0);
      int color = changed ? 0x90000000 : 0x60000000; // changed;not_changed
      this.drawBorderedRect(this.xPosition, this.yPosition, this.xPosition + this.width, this.yPosition + this.height, 1, 0x90FFFFFF, color);
      color = this.enabled ? (changed ? 0x00FF00 : 0xFFCCCC) : 0xFF0000; // changed;not_changed;not_enabled
      this.drawCenteredString(p_146112_1_.fontRenderer, this.displayString, this.xPosition + this.width / 2, this.yPosition + (this.height - 8) / 2, color);
      this.mouseDragged(p_146112_1_, p_146112_2_, p_146112_3_);
   }
}
 
  1. Деобфусцировать клиент.
  2. Декомпилировать клиент.
  3. Найти нужные классы.
  4. Найти все изменения с помощью Diff (для этого нужен ещё и исходник оригинального класса).
Это чистый клиент так делать? А добавлять как Фордж, моадлодер. оптифайн?
 
Это чистый клиент так делать? А добавлять как Фордж, моадлодер. оптифайн?
Без разницы, что за клиент разбирается. Хоть с Forge, хоть без.
P.S. ModLoader уже давно не нужно ставить. Куда более совершенный аналог встроен в Forge.
 
Без разницы, что за клиент разбирается. Хоть с Forge, хоть без.
P.S. ModLoader уже давно не нужно ставить. Куда более совершенный аналог встроен в Forge.
Качаю MCP для версии 1.6.4. Кладу файл minecraft.jar в папку jars и запускаю файл reobfuscate.bat, потом decompile.bat, а далее смотрю в папке src нужные мне классы через NetBeans IDE или eclipse. Сам клиент у меня построен под лаунчер Sashok724. Есть ли в интернете нормальный мануал по работе с MCP?
Методом проб и ошибок понял что при запуске файла reobfuscate.bat все файлы должны находится по пути:
C:\Users\Максим\AppData\Roaming\.minecraft\versions\1.6.4
Но теперь выдает ошибку:
> Creating Retroguard config files
!! Can not find client md5s !!
!! Can not find server md5s !!
Для продолжения нажмите любую клавишу . . .

Далее я разобрался, положил значит в папу jars папки assets libraries versions и запустил decompile.bat. Классы я нашел по пути C:\mcp811\src\minecraft\net\minecraft\src.
4. Найти все изменения с помощью Diff (для этого нужен ещё и исходник оригинального класса).
Поясни пожалуйста что это такое?

Впрочем добрался я до кода. А вот появилась проблема. Где найти код для версии 1.6.4 по изменению кнопок. Да и вообще, может ли кто то помочь в этом вопросе? Отплачу пивом.
 
Последнее редактирование:
не понимаю зачем так всё усложнять... Поставить CustomMainMenu, сделать кнопки в фотошопе или найти готовые и тоже самое получается!
 
не понимаю зачем так всё усложнять... Поставить CustomMainMenu, сделать кнопки в фотошопе или найти готовые и тоже самое получается!
Ну ты человек даёшь! Где же ты раньше был. Пойду смотреть что и как. Но очень хотелось бы разобраться уже с начатой проблемой. С Mcp все равно больше возможностей.
 
Ну ты человек даёшь! Где же ты раньше был. Пойду смотреть что и как. Но очень хотелось бы разобраться уже с начатой проблемой. С Mcp все равно больше возможностей.
возможностей то больше, но и гемора больше + ко всему нужно знать Java.
 
Назад
Верх