1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Туториал [FDW]. Убираем Копирайты Forge, Делаем кнопку на свой сайт! 1.7.2/1.7.10|+

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем skoniks, 16 июл 2014.

?

Ты печенька?

  1. Да я печенька...

    124 голосов
    40,8%
  2. Нет! Я хлебушек!

    82 голосов
    27,0%
  3. Идите вы! Я бублик!

    98 голосов
    32,2%
  1. Автор темы
    skoniks

    skoniks Активный участник Пользователь

    Баллы:
    78
    Skype:
    skolya16
    Имя в Minecraft:
    skoniks
    Приветствую вас посетители русского сообщества Bukkit!
    В данном "не мини" туториале я покажу вам как установить и как пользоваться Forge Decomp Workspace (альтернативой MCP) на примере MineCraft 1.7.2/1.7.9/1.7.10
    Что нам потребуется:
    1. Forge src (версии которая нам нужна. PS я использую 1.7.2) Скачать
    2. Eclipse (я использую стандартный) Офц.Сайт
    3. Minecraft Coder Pack (аналогично нужной версии)
    4. Bearded Octo Nemesis (Деобфускатор\Реобфускатор)
    5. Java JDK 7.
    У нас есть три этапа:
    Скачиваем Eclipse(если нету)
    Скачиваем Forge Decomp Workspace
    1.PNG
    На данном этапе нам больше ничего не понадобиться!
    Выбираем папку в которую мы будем все устанавливать.
    Не должно быть русских букв в пути к папке SRC.:whistle:
    Я выбираю директорию "C:\172"
    "172" - папка, в неё извлекаем наш архив с SRC.
    В Пуске в поиске вводим "cmd" (командная строка).
    Она показывается в результатах поиска, жмем по cmd правой кнопкой мыши и Запускаем от имени Администратора!:lol:
    3.PNG
    Далее первое что отображается в Ком.Строке - путь до System32 (нам нужно это изменить)
    Вводим команду: cd "путь до папки"(если путь большой его можно скопировать)
    У меня лично такая команда:
    Код:
    cd C:\172
    далее пишем в этой же консоли команду, которая установит Forge Decomp Workspace:
    Если хотите установить с дальнейшим использованием Eclipse то пишите:
    Код:
    gradlew setupDecompWorkspace eclipse
    Если без Eclipse (просто с блокнотом сидеть):
    Код:
    gradlew setupDecompWorkspace
    5.PNG
    И пойдет загрузка чистого майнкрафта... и установка... длительный процесс!
    После этого консоль не закрываем!
    Потом открываем сам Eclipse и выбираем как рабочую папку - "ваш_путь\ваша_папка\eclipse"
    У меня это:
    6.PNG
    И когда Eclipse запускается - мы видим наш проект под названием "Minecraft"
    7.PNG
    Все! Установка завершена!
    Не зря этот гавнюк час качал файлы чистого майнкрафта.... мы прямо в Eclipse можем запустить майн с Форджем и увидеть изменения!
    8.png
    В каталоге "src/main/java" создаем пакет "net.minecraft.client.gui"
    9.PNG
    Аналогично в нем создаем класс "GuiMainMenu"
    Потом открываем файл по адресу "Minecraft/Referenced Libraries/net.minecraft.client.gui/GuiMainMenu.class"
    и копируем все его содержимое в первый "GuiMainMenu.class", который мы создали в "src/main/java"
    Класс GuiMainMenu является классом редактирования главного экрана и он понадобиться нам дальше...
    Сразу ищем в нем строки:
    Код:
            List<String> brandings = Lists.reverse(FMLCommonHandler.instance().getBrandings(true));
            for (int i = 0; i < brandings.size(); i++)
            {
                String brd = brandings.get(i);
                if (!Strings.isNullOrEmpty(brd))
                {
                    this.drawString(this.fontRendererObj, brd, 2, this.height - ( 10 + i * (this.fontRendererObj.FONT_HEIGHT + 1)), 16777215);
                }
            }
    и нам нужно просто закомментировать их или удалить:ninja:
    Код:
            /*List<String> brandings = Lists.reverse(FMLCommonHandler.instance().getBrandings(true));
            for (int i = 0; i < brandings.size(); i++)
            {
                String brd = brandings.get(i);
                if (!Strings.isNullOrEmpty(brd))
                {
                    this.drawString(this.fontRendererObj, brd, 2, this.height - ( 10 + i * (this.fontRendererObj.FONT_HEIGHT + 1)), 16777215);
                }
            }*/
    Все! копирайты форджа убраны... теперь меняем копирайты майнкрафта на свои!:cute:
    Ищем в GuiMainMenu.class такую строку:
    Код:
     this.buttonList.add(new GuiButton(2, this.width / 2 - 100, par1 + par2 * 1, I18n.format("menu.multiplayer", new Object[0])));
    И целиком заменяем ее на эту:
    Код:
            this.multiplayerButton = new GuiButton(2, this.width / 2 - 100, par1 + par2 * 1, I18n.format("menu.multiplayer", new Object[0]));
            this.buttonList.add(multiplayerButton);
            multiplayerButton.width = 98;
    
            this.siteButton = new GuiButton(100, this.width / 2 + 2, par1 + par2 * 1, "Наш сайт");
            this.buttonList.add(this.siteButton);
            siteButton.width = 98;
    Не забываем импорты (показано в видео части)
    После строки
    Код:
            if (p_146284_1_.id == 4)
            {
                this.mc.shutdown();
            }
    Вставляем
    Код:
    if (p_146284_1_.id == 100)
            {
                Sys.openURL("http://rubukkit.org");
            }
    Запускаем, вуаля!
    Потом можно закрыть Eclipse
    Совет:
    Если вы что то меняете в классах, то никогда не пишите по русски! Проблема в чем... Крякозябры! Лучше написать по английски и потом через InClassTranslator изменить надписи!
    PS - это касается туториала выше :)
    Далее нам потребуется MCP и BON
    Берем прям.... открываем нашу ненаглядную консольку :)
    пишем в нее такой код
    Код:
    gradlew build
    И далее следуем в дирректорию- \наша_папку\build\libs\
    И там видим файлик modid-1.0.jar (по сути это мод и его можно запихнуть в папку mods на мы идем по другому пути)
    Берем этот файлик и копируем его на рабочий стол или в какое другое удобное место!
    Дальше самое сложное!:nerd:
    Нам нужно извлечь MCP в какую либо папку! Берем.... и извлекаем :cool:
    Потом открываем BON и... настраиваем:
    • Imput file - наш файлик modid-1.0.jar
    • Output file - файл с любым названием(в нем будут лежать наши классы)!
    • MCP folder - путь до папки, куда мы извлекли MCP
    • Side - Без разницы (Universal/client)
    • Operation - Reobfuscate Mod
    • Наживаем Go:lol:
    12.PNG
    Там куда мы все это сохранили появился файл... название вы сами выбирали!
    Из него достаем файлы (именно классы!) и кидаем их в наш MineCraft.jar или в 1.7.2-forge.jar
    Удаляем Meta-inf
    При запуска майнкрафт через лиц. и др. лаунчеры не забываем прописывать аргументы:
    Код:
    -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true
    Запускаем майн:lol: (если не забыли запихнуть сам Forge)
    Радуемя крякозябрам :eek:
    Все! Туториал завершен!:coffee:
    Жаль что лайков нет... :cry:думаю ... кому-то я все-таки помог!
    Удачи ребят! Дерзайте майн!:good:

    Так-же вам пригодиться:
    Если вы что то меняете в классах, то никогда не пишите по русски! Проблема в чем... Крякозябры! Лучше написать по английски и потом через InClassTranslator изменить надписи!
    Нужно использовать юникод-маски. Вот сайт: http://unicode-table.com/ru/tools/decoder/ . В правом окне пишешь по-русски, в левом появляется юникод-маска. Берешь ее и вставляешь в нужное место в коде. PROFIT.
    @MrGiperCreeper
    Просто нужно использовать нормальную кодировку исходников (это касается абсолютно всех проектов java).
    Открываем настройки проекта (Project -> Properties) и ставим выделенное, как на скриншоте.
    [​IMG]
    Того, что я написал оказалось недостаточно. Ещё также пришлось править конфиг gradle.
    В build.gradle перед строчкой apply plugin: 'forge' нужно добавить:
    Код:
    tasks.withType(JavaCompile) {
      options.encoding = "UTF-8"
       sourceCompatibility = "1.7"
       targetCompatibility = "1.7"
    }
    Это указывает компилятору кодировку исходников, а также переключает компиляцию под Java 7 (по умолчанию древняя Java 6).
    @saharin94
    Внимание! Если у кого-либо при выполнении команды
    Код:
    gradlew setupDecompWorkspace eclipse
    необходимо сделать следующее:
    1. В консоли пишем следующую команду:
    Код:
    set JAVA_HOME=ПУТЬ_ДО_JDK
    где ПУТЬ_ДО_JDK - путь к месту установки JDK, например у меня - D:\Program Files\Java\jdk1.8.0_5
    2. Пишем еще одну команду:
    Код:
    set PATH=%JAVA_HOME%\bin;%PATH%
    Все, теперь можно спокойно писать
    Код:
    gradlew setupDecompWorkspace eclipse
    и все пройдет успешно!
    Если у вас вылезла такая ошибка - удаляйте все java которые имеете на компе, и устанавливайте JDK7
    Код:
    :makeStart FAILED
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':makeStart'.
    > Cannot find System Java Compiler. Ensure that you have installed a JDK (not ju
    st a JRE) and configured your JAVA_HOME system variable to point to the accordin
    g directory.
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug
    option to get more log output.
    
    BUILD FAILED
    Большинство остальных ошибок можно решить просто полным удалением клиента GRadle или переустановкой Java до более ранней версии
     

    Вложения:

    • 2.PNG
      2.PNG
      Размер файла:
      408,1 КБ
      Просмотров:
      3.102
    • 10.png
      10.png
      Размер файла:
      21,7 КБ
      Просмотров:
      2.075
    Последнее редактирование: 20 июн 2015
  2. RedEnergy

    RedEnergy Старожил Пользователь

    Баллы:
    103
    После всех манипуляций:
    Код:
    [21:16:11 INFO]: Client> [21:16:11] [main/WARN] [LaunchWrapper]: Problem loading class
    [21:16:11 INFO]: Client> java.lang.SecurityException: SHA1 digest error for btj.class
    [21:16:11 INFO]: Client>     at sun.security.util.ManifestEntryVerifier.verify(Unknown Source) ~[?:1.7.0_60]
    [21:16:11 INFO]: Client>     at java.util.jar.JarVerifier.processEntry(Unknown Source) ~[?:1.7.0_60]
    [21:16:11 INFO]: Client>     at java.util.jar.JarVerifier.update(Unknown Source) ~[?:1.7.0_60]
    [21:16:11 INFO]: Client>     at java.util.jar.JarVerifier$VerifierStream.read(Unknown Source) ~[?:1.7.0_60]
    [21:16:11 INFO]: Client>     at java.io.FilterInputStream.read(Unknown Source) ~[?:1.7.0_60]
    [21:16:11 INFO]: Client>     at net.minecraft.launchwrapper.LaunchClassLoader.readFully(LaunchClassLoader.java:298) [launchwrapper-1.9.jar:?]
    [21:16:11 INFO]: Client>     at net.minecraft.launchwrapper.LaunchClassLoader.getClassBytes(LaunchClassLoader.java:370) [launchwrapper-1.9.jar:?]
    [21:16:11 INFO]: Client>     at cpw.mods.fml.common.patcher.ClassPatchManager.getPatchedResource(ClassPatchManager.java:59) [forge-1.7.2-10.12.2.1121.jar:?]
    [21:16:11 INFO]: Client>     at cpw.mods.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper.getFieldType(FMLDeobfuscatingRemapper.java:195) [forge-1.7.2-10.12.2.1121.jar:?]
    [21:16:11 INFO]: Client>     at cpw.mods.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper.parseField(FMLDeobfuscatingRemapper.java:172) [forge-1.7.2-10.12.2.1121.jar:?]
    [21:16:11 INFO]: Client>     at cpw.mods.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper.setup(FMLDeobfuscatingRemapper.java:141) [forge-1.7.2-10.12.2.1121.jar:?]
    [21:16:11 INFO]: Client>     at cpw.mods.fml.common.asm.FMLSanityChecker.injectData(FMLSanityChecker.java:179) [FMLSanityChecker.class:?]
    [21:16:11 INFO]: Client>     at cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper.injectIntoClassLoader(CoreModManager.java:125) [forge-1.7.2-10.12.2.1121.jar:?]
    [21:16:11 INFO]: Client>     at net.minecraft.launchwrapper.Launch.launch(Launch.java:114) [launchwrapper-1.9.jar:?]
    [21:16:11 INFO]: Client>     at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?]
    [21:16:11 INFO]: Client> [21:16:11] [main/ERROR] [FML]: There is a binary discrepency between the expected input class btj (btj) and the actual class. Checksum on disk is 1, in patch 12c444b4. Things are probably about to go very wrong. Did you put something into the jar file?
    [21:16:11 INFO]: Client> [21:16:11] [main/ERROR] [FML]: The game is going to exit, because this is a critical error, and it is very improbable that the modded game will work, please obtain clean jar files.
    [21:16:11 ERROR]: Game ended with bad state (exit code 1)
    [21:16:11 INFO]: Ignoring visibility rule and showing launcher due to a game crash
    [21:16:11 INFO]: Deleting C:\Users\Zeltaz\AppData\Roaming\.minecraft\versions\1.7.2-Forge10.12.2.1121\1.7.2-Forge10.12.2.1121-natives-14224936681197
    
     
  3. morfik_back

    morfik_back Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    morfik
    папку META-INF удали
     
  4. RedEnergy

    RedEnergy Старожил Пользователь

    Баллы:
    103
    Так он не запускается вообще
     
  5. gamerforEA

    gamerforEA Старожил Пользователь

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Необходимо добавить пару JVM флагов. Поищите их в теме с русификатором от collapse.
     
  6. RedEnergy

    RedEnergy Старожил Пользователь

    Баллы:
    103
    Нашел, благодарю. Аргументы: -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true
     
  7. Автор темы
    skoniks

    skoniks Активный участник Пользователь

    Баллы:
    78
    Skype:
    skolya16
    Имя в Minecraft:
    skoniks
    Спс, добавлю в тему!
     
  8. RedEnergy

    RedEnergy Старожил Пользователь

    Баллы:
    103
    Спасибо за туториал
     
  9. Автор темы
    skoniks

    skoniks Активный участник Пользователь

    Баллы:
    78
    Skype:
    skolya16
    Имя в Minecraft:
    skoniks
    :cute:Я старался :rolleyes:
    С Форджом - нельзя!
     
  10. RedEnergy

    RedEnergy Старожил Пользователь

    Баллы:
    103
    Удалил META-INF, все работает
     
  11. Автор темы
    skoniks

    skoniks Активный участник Пользователь

    Баллы:
    78
    Skype:
    skolya16
    Имя в Minecraft:
    skoniks
    у тебя сашок лаунчер?
     
  12. RedEnergy

    RedEnergy Старожил Пользователь

    Баллы:
    103
    Нет, запускал через лицензию
     
  13. Автор темы
    skoniks

    skoniks Активный участник Пользователь

    Баллы:
    78
    Skype:
    skolya16
    Имя в Minecraft:
    skoniks
    хм... странно... я не мог запустить майн с форджом без мета инфы через лицензию....
     
  14. gamerforEA

    gamerforEA Старожил Пользователь

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Если меняются файлы Minecraft или Forge, то это необходимо.
     
  15. Автор темы
    skoniks

    skoniks Активный участник Пользователь

    Баллы:
    78
    Skype:
    skolya16
    Имя в Minecraft:
    skoniks
    Окай. Я не удалял :) пашет!
     
  16. gamerforEA

    gamerforEA Старожил Пользователь

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Значит, что уже не нужно. Буду знать :)
     
  17. EnjoyMan

    EnjoyMan Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    EnjoyMan
    несколько раз убирал копирайты, после установки классов в versions/1.7.2/1.7.2.jar перестали работаь языки, только английский по дефолту, остальные тупо не включаются.
     
  18. Автор темы
    skoniks

    skoniks Активный участник Пользователь

    Баллы:
    78
    Skype:
    skolya16
    Имя в Minecraft:
    skoniks
    это зависит от Assets
     
  19. EnjoyMan

    EnjoyMan Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    EnjoyMan
    Эм..как бы я их и не менял, в джарник засовывал новые классы и все.
     
  20. Sanshez56

    Sanshez56 Активный участник Пользователь

    Баллы:
    63
    Имя в Minecraft:
    nema
    Ам.. подскажите пожалуйста после того как прописал команду "gradlew setupDecompWorkspace eclipse" напротив downloadClient, downloadServer & mergeJars желтыми буквами написано "SKIPPED" - это нормально ?
    просто я не нахожу в Minecraft/Referenced Libraries - "forgeSRC..."
    у меня есть только "forgeBin-1.7.0...", а в нем в пакета файлы.class исходный код которых никак непросмотреть!
    кстати версия 1.7.10,версия src рекомендованная
     

Поделиться этой страницей