Туториал Как сделать достойный клиент 1.4.7, 1.5.2 и 1.6.2 (Файлы 1.6.4)

http://mcp.ocean-labs.de/ - Отсюда качаем MCP 751
http://files.minecraftforge.net/ - Тут мы качаем minecraftforge-src-1.5.2-7.8.1.738
http://www.softportal.com/software-5406-notepad.html - Качаем Notepad++
http://download.foxycraft.ru/rubukkit/class152.zip - Качаем готовые class файлы "848 версия forge"
Внимание! Если вы эти класс файлы перенесете в Forge выше/ниже версии 751, то есть вероятность что ваш клиент не запустится!

http://download.foxycraft.ru/rubukkit/src152.zip - Качаем готовые java файлы "751 версии forge"

1 минута 51 секунда
Необходимо скачать lib файлы, если у вас выходит error при инсталяции forge.
http://download.foxygame.ru/rubukkit/lib152.ziphttp://download.foxycraft.ru/rubukkit/lib152.zip

3 минута 6 секунда
Убираем использование файла server.dat

В поиск нужно ввести слово
Код:
public void loadServerList()
На 33 строке в файле ServerList.java мы найдем это значение.
Комментируем строки: 37,38,41,42,43,44

3 минута 34 секунда
Добавляем свой сервер.

После значения
Код:
this.servers.clear();
Вставляем этот метод и редактируем на месте:
Код:
this.servers.add(new ServerData("Название сервера", "IP сервера"));
В название сервера используйте символ § и цыфру, дабы сделать цветным текст в Сетевой игре.

4 минута 26 секунда
Изменяем кнопки и расположение кнопок в сетевой игре.

В поиске вводим
Код:
initGuiControls()
и мы переходим с вами в фаил GuiMultiplayer.java
Код который нам нужен расположен на строках 123 - 136
Заменяем на это:
Код:
    public void initGuiControls()
    {
        StringTranslate stringtranslate = StringTranslate.getInstance();
        this.buttonList.add(this.field_96289_p = new GuiButton(7, this.width / 2 - 154, this.height - 28, 70, 20, stringtranslate.translateKey("")));
        this.buttonList.add(this.buttonDelete = new GuiButton(2, this.width / 2 - 74, this.height - 28, 70, 20, stringtranslate.translateKey("")));
        this.buttonList.add(this.buttonSelect = new GuiButton(1, this.width / 2 - 154, this.height - 52, 308, 20, stringtranslate.translateKey("selectServer.select")));
        this.buttonList.add(new GuiButton(8, this.width / 2 - 154, this.height - 28, 152, 20, stringtranslate.translateKey("selectServer.refresh")));
        this.buttonList.add(new GuiButton(0, this.width / 2 + 2, this.height - 28, 152, 20, stringtranslate.translateKey("gui.cancel")));
        boolean flag = this.selectedServer >= 0 && this.selectedServer < this.serverSlotContainer.getSize();
        this.buttonSelect.enabled = flag;
        this.field_96289_p.enabled = flag;
        this.buttonDelete.enabled = flag;
    }

5 минута 20 секунда
Убираем "Поиск локальных серверов оОо" в сетевой игре

На 93 строке в файле GuiSlotServer.java мы находим метод
this.func_77249_c(par1, par2, par3, par4, par5Tessellator);
и комментируем его так:
//this.func_77249_c(par1, par2, par3, par4, par5Tessellator);

6 минута 32 секунда
Редактируем надпись mojang

В поиске вводим mojang и мы находим их копирайт на 601 строке в классеGuiMainMenu.java
Редактируем на свое значение.
Используйте символ § и цыфру, дабы сделать цветным текст вашего копирайта.

7 минута 16 секунда
Убираем сообщение forge (сколько модов активно, сколько загружено, стоит у вас optifine или нет).

+ Добавляем свой цветной копирайт в место этого.
В поиске набираем:
Код:
brd.add(Loader
и находим класс FMLCommonHandler.java
В этом классе мы коммертируем значения от 236 строки до 254.
Тогда отображаться в левом углу forge больше не будет.

8 минута
Добавляем в место копирайта forge свой цветной копирайт.

На 238 строке заменяем на:
Код:
brd.add("§6сборка §4rubukkit.org");

9 минута 10 секунда
Выключаем или удаляем кнопку "Текстур пак"
На 132 строке есть метод:
Код:
this.mc.displayGuiScreen(new GuiTexturePacks(this, this.options));
Комментируем ее так:
Код:
//this.mc.displayGuiScreen(new GuiTexturePacks(this, this.options));

А если хотите вообще удалить кнопку, то вам строка 75:
Код:
this.buttonList.add(new GuiButton(105, this.width / 2 - 152, this.height / 6 + 144 - 6, 150, 20, stringtranslate.translateKey("options.texture.pack")));
Заменяем на:
Код:
//this.buttonList.add(new GuiButton(105, this.width / 2 - 152, this.height / 6 + 144 - 6, 150, 20, stringtranslate.translateKey("options.texture.pack")));

9 минута 54 секунда
Убираем FML окошечко с названием Hello, которое выходит при загрузке клиента.

В поиске вводим:
Код:
showWindow(true);
и мы проходим в фаил FMLRelauncher.java, где мы видим 2 таких значения.
Меняем оба значения на:
Код:
showWindow(false);

11 минута 19 секунда
Убираем сообщение "Notice! Minecraft 1.6 is available for manual download.

Please click here for more information."
с 19 строки по 51 находиться метод, который мы должны заменить на:
Код:
public void run(){ }
}

12 минута 14 секунда
Изменяем название окна клиента на свое.
Открываем minecraft.java

На 2316 строке мы найдем:
Код:
frame.setTitle("minecraft");
заменяем на:
Код:
frame.setTitle("Игровой клиент foxycraft.ru");

13 минута
Изменение кнопок "Сетевая игра" "Одиночная игра" и меняем их цвет.

262 - 266 строка
Заменяем на:
Код:
    private void addSingleplayerMultiplayerButtons(int par1, int par2, StringTranslate par3StringTranslate)
    {
        this.buttonList.add(new GuiButton(1, this.width / 2 - 100, par1, par3StringTranslate.translateKey("§9Одиночная игра")));
        this.buttonList.add(new GuiButton(2, this.width / 2 - 100, par1 + par2 * 1, par3StringTranslate.translateKey("§9Зайти на сервер")));
    }
Русские слова меняем на свои.
В название кнопок можно применять символ § и цыфру, дабы сделать цветным текст в меню.

13 минута 47 секунда
Убираем кнопку "mods"

GuiMainMenu.java
201 и 202 строку мы увидим:

Код:
        fmlModButton = new GuiButton(6, this.width / 2 - 100, i + 48, "Mods");
        this.buttonList.add(fmlModButton);

Комментируем так:

Код:
        //fmlModButton = new GuiButton(6, this.width / 2 - 100, i + 48, "Mods");
        //this.buttonList.add(fmlModButton);

15 минута 15 секунда
Удаляем кнопку "выбор языка"

GuiMainMenu.java
216 и 217 строку мы увидим:

Код:
        this.buttonList.add(new GuiButtonLanguage(5, this.width / 2 - 124, i + 72 + 12));
        Object object = this.field_104025_t;

Комментируем так:

Код:
        //this.buttonList.add(new GuiButtonLanguage(5, this.width / 2 - 124, i + 72 + 12));
        //Object object = this.field_104025_t;
Потом на 294-297 чтобы убрать кнопку в опциях:

Код:
        if (par1GuiButton.id == 5)
        {
            this.mc.displayGuiScreen(new GuiLanguage(this, this.mc.gameSettings));
        }

Комментируем так:

Код:
        //if (par1GuiButton.id == 5)
        //{
            //this.mc.displayGuiScreen(new GuiLanguage(this, this.mc.gameSettings));
        //}


18 минута 12 секунда:
Редактируем Joinserver, checkserver, skins и cloack.
Делаем привязку server=client
Есть простой способ редактирования этих файлов - через (In Class Translat), НО так как мы работаем через программу MCP, то почему бы нам не сделать все сразу?
PS: сразу скажу, что не знаю какой из них 1 фаил не нужно редактировать, по этому редактирую все 2 (joinserver и checkserver).
Фаил NetClientHandler.java
303 строка:
меняем значение на свое.
Код:
Пример: http://вашсайт.ru/joinserver.php?user=
Фаил ThreadLoginVerifier.java 25 строка:
меняем значение на свое.
Код:
Пример: http://вашсайт.ru/checkserver.php?user=

На счет скинов и плащей не делал, но вы можете отредактировать через In Class Translat


Видеоурок не готов.

Обновление и что добавлено:
7 оттября 2013 22:56 - Добавлен материал к видеоуроку "Как сделать достойный клиент 1.5.2".
7 октября 2013 - Добавлено новое видео "Как сделать достойный клиент 1.5.2"
По просьбе "Иван Грозный" ник на rubukkit "bounze" Добавлены в видеоурок следующие разделы:
* Как убрать кнопку Mods.
* Как Убрать FML окошко hello c обновлением lib файлов.
* Как изменить цвет копирайтов forge и mojang.
* Как изменить надпись на кнопке одиночная игра и сетевая.
* Как убрать кнопку смены языка (кнопка в виде планеты).
* Как переименовать название окна клиента.
* Как убрать лишние кнопки из раздела "сетевая игра"
* Как убрать сообщение о том, что вышло обновление 1.6 и нужно обновится (для 1.5.2)
Всю ночь обрабатывал видео, пойду спать. Днем выложу туториал к видео.

3 сентября 2013 - Создана тема. Добавлен видеоурок "Как сделать достойный клиент 1.6.2".
Вечером добавлен был туториал к видео.
Выложил class файлы на скачивание.
Ну что, кому нибудь нужны видеоуроки для 1.4.7 и 1.5.2 ?
Можете, пожалуйста дать вторую музыку?
 
Ошибка при установке install
5LSTHpV.png

Что делать?
 
Комментировать код проверки файлов на md5 и при начале декомпиляции закидывать minecraft_server.1.6.2.jar в папку jars в mcp.
Собственно как это сделать "Комментировать код проверки файлов на md5" какой файл и что комментировать ?
 
Ребят,такая проблема...Клиент написал,все работает,но есть одно неприятное НО.В папке mcp,после настройки, при запуске клиента было 4 кнопки(Одиноч.игра,Сетевая игра,Настройки и выход) Я их раскрасил так,как нужно мне.После reobfuscate и операций с форджам и классами ,в уже полностью готовом клиенте ,стало 3 кнопки(Одиночная,Сетевая,настройки) и одна из них не закрашенная.Все делал правильно,ошибок нигде не было.Переделывал 3-4 раза,все так же.Помогите нубу)Хотелось бы ,чтобы или готовой версии было как в startclient,или докрасить одну кнопку)2014-04-16_20.40.15.jpgБезымянныйм.jpg
Собственно как это сделать "Комментировать код проверки файлов на md5" какой файл и что комментировать ?
Найди строчку,где чекаются файлы на md5 по видео,и поставь вначале нее 2 слеша.
 
Последнее редактирование:
Найди строчку,где чекаются файлы на md5 по видео,и поставь вначале нее 2 слеша.
И питон пошлёт тебя к чертовой бабушке.
Собственно как это сделать "Комментировать код проверки файлов на md5" какой файл и что комментировать ?
%forge%/fml/fml.py: 155 (примерно)
Вот такой код ты должен найти:
Python:
if not os.path.isfile(target):
        try:
            urllib.urlretrieve(url, target)
            if not hash == None:
                t_hash = get_md5(target)
                if len(hash) == 40:
                    t_hash = get_sha1(target)
                if not t_hash == hash:
                    print '%sDownload of %s failed hash check, deleting %s %s' % (prefix, name, t_hash, hash)
                    os.remove(target)
                    return False
            if prefix == '':
                print 'Downloaded %s' % name
            else:
                print '%s%s Done' % (prefix, name)
        except Exception as e:
            print e
            print '%sDownload of %s failed, download it manually from \'%s\' to \'%s\'' % (prefix, target, url, target)
            return False
    return True
И вот в такой ты должен сделать:
Python:
if not os.path.isfile(target):
        try:
            urllib.urlretrieve(url, target)
            #if not hash == None:
                #t_hash = get_md5(target)
                #if len(hash) == 40:
                    #t_hash = get_sha1(target)
                #if not t_hash == hash:
                    #print '%sDownload of %s failed hash check, deleting %s %s' % (prefix, name, t_hash, hash)
                    #os.remove(target)
                    #return False
            if prefix == '':
                print 'Downloaded %s' % name
            else:
                print '%s%s Done' % (prefix, name)
        except Exception as e:
            print e
            print '%sDownload of %s failed, download it manually from \'%s\' to \'%s\'' % (prefix, target, url, target)
            return False
    return True
 
Ребят,такая проблема...Клиент написал,все работает,но есть одно неприятное НО.В папке mcp,после настройки, при запуске клиента было 4 кнопки(Одиноч.игра,Сетевая игра,Настройки и выход) Я их раскрасил так,как нужно мне.После reobfuscate и операций с форджам и классами ,в уже полностью готовом клиенте ,стало 3 кнопки(Одиночная,Сетевая,настройки) и одна из них не закрашенная.Все делал правильно,ошибок нигде не было.Переделывал 3-4 раза,все так же.Помогите нубу)Хотелось бы ,чтобы или готовой версии было как в startclient,или докрасить одну кнопку)Посмотреть вложение 20793Посмотреть вложение 20792
Что,не вкурсе никто?
 
32556.PNG
что делать?? помогите пожалуйста!
Скайп ben-99pro .
Спасибо за внимание!)
P.S. Win-8.1 , Java 8 - 7 и JDK 8 - 7.
 
Снимок.PNG
При установке форджов ивановича Че дилать?
 
Назад
Верх