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

Туториал Программирование на Java. Знакомство с Forge и MCP. (Часть 6.2 - 17.11.13)

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем caNek, 2 окт 2013.

  1. Автор темы
    caNek

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

    Баллы:
    173
    Имя в Minecraft:
    AddyCool
    1.png
    Часть 6.2 будет доступна примерно 09.11.13
    Серия уроков "Программирование на Java. Знакомство с Forge и MCP."
    Дополнения от читателей.
     
    Последнее редактирование: 17 ноя 2013
    appl3_w0rm, ClearSky4You, second_vynder и 12 другим нравится это.
  2. Автор темы
    caNek

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

    Баллы:
    173
    Имя в Minecraft:
    AddyCool
    Часть 1. Введение.
    Доброго всем времени суток. Если вы читаете это, то скорее всего вы хотите научится основам Java, и в частности изучить принцип создания модов. Я искренне надеюсь, что в дальнейшем вам помогут мои уроки и советы. Итак, всем приятного чтения, мы приступаем.
    В данной серии уроков, которая будет разбита примерно на десять частей, мы познакомимся с основами синтаксиса, принципа создания модов и подтянем ваши знания Java. Внимание: Я не буду обучать вас нулевым основам Java, даже в уроке "Hello World," я хотел бы затронуть интерфейс, так как в дальнейшем он нам поможет. От себя посоветую прочитать две книги (которые мне сильно помогли) - "Герберт Шилдт - Полный справочник по Java" и "Брюс Эккель - Философия Java." Предупреждаю, прочитав эти книги - вас не возьмут в Mojang на должность главного программиста Minecraft, однако эти книги познакомят вас с основами синтаксиса. Хотя мы его затронем во второй части.
    Что вам понадобится приносить ко мне на уроки:MCP и Исходники Forge. Когда нам это понадобится я обязательно предоставлю ссылки на загрузку.



    Часть 2. Синтаксис Java.
    Всем привет, это второй урок не большого курса "Программирование на Java. Знакомство с Forge и MCP." В этом уроке, я сидя за чашечкой кофе расскажу вам о основах синтаксиса.
    Для начала давайте же все таки разъесним что такое синтаксис. Многие (из читателей, намек типо) знакомы со школьних лет и уроков Русского (и других) Языка с "Синтаксическим разбором." Фактически вы разбиваете что либо на элементы, которые заранее подучиваете. Такие же элементы есть и в Java, ниже дана их перечень, со временем будем знакомится ближе.
    • abstract
    • assert
    • boolean
    • break
    • byte
    • case
    • catch
    • char
    • class
    • const
    • continue
    • default
    • do
    • double
    • else
    • enum
    • extends
    • final
    • finally
    • float
    • for
    • goto
    • if
    • implements
    • import
    • instanceof
    • int
    • interface
    • long
    • native
    • new
    • package
    • private
    • protected
    • public
    • return
    • short
    • static
    • strictfp
    • super
    • switch
    • synchronized
    • this
    • throw
    • throws
    • transient
    • try
    • void
    • volatile
    • while
    К синтаксису так же можно отнести так называемый "Порядок ввода."
    Каждое Java (+Swing) приложение начинается с открытия пакета.

    package ИмяПакета;
    Далее идет определение класса. Импорт.
    import Имя класса;
    После чего идет само приложение.
    Подведем итог: Этих знаний вам хватит ровно на Hello World, если вы до сих пор не прочитали те книги которые я посоветовал в первом уроке, то боюсь вас тут держит лишь гордость и уверенность в себе. Поверьте, этого не достаточно.



    Часть 3. Hello World.
    В этом уроке мы будем знакомится со средой разработки и напишем свой первый Java апплет. Сразу скажу что я использую Net Beans IDE версии 7.3.х. На мой взгляд он гораздо удобнее и интуитивно понятней по сравнению с тем же Eclispe Juno.

    В данном уроке мы создадим простую программу, которая будет иметь примитивный интерфейс. Чтобы ваша жизнь не казалась медом, я не буду писать пример кода сюда. Я буду прикладывать скриншот который вы будете по желанию переписывать. Во первых есть большая вероятность что вы запомните, что написали, а во вторых это будет не тупой копипаст.

    Итак. Каждое приложение начинается с имени проекта и импорта, обратите внимание на вторую строку. Здесь находится не знакомый импорт JOptionPane (Swing). Импорт данного свинга отвечает за интерфейс, который нам так знаком из загрузочного окна Forge, далее он нам понадобится для ввода определенных команд.
    1.png
    Смотрим дальше, видим строку (5), просто введите ее, вернемся к этому в уроке 6.1. Далее (7) стринги, нет не подумайте, не те стринги которые вы будете снимать с телочек после того как напишите супер программу которая взорвет мозги всего мира. Данную строку, на русском можно описать так:
    "Я даю команду для X, слушай меня раб." И на 8-10 строке я давал эту команду.
    Восьмая строка, тот самый JOptionPane и приказ о выводе диалога. В конце строки не забудьте поставить ";". На девятой строке мы говорим "X" о том что хотим увидеть строку для ввода, и то что пользователь туда введет примем за "X." Далее идет не понятное "+X+". Это то место куда будет вводится переменная которая кешируется на девятой строчке.

    Обратите внимание на фигурные скобки ("{" "}") это открытие и закрытие. То что мы открыли на 4 строке мы закрыли на 12, а то что на 6 закрыли на 11, все должно четко совпадать! Будьте внимательней.

    Вот и подошел к концу третий урок, надеюсь вы все поняли и вам это пригодится. Спасибо за чтение.
     
    ClearSky4You, second_vynder, GreenPoint и 12 другим нравится это.
  3. Автор темы
    caNek

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

    Баллы:
    173
    Имя в Minecraft:
    AddyCool
    Часть 4. Базовый уровень создания модов.
    Всем привет, и это четвертый урок программирования на Java, был не много занят потому и задержал. Итак мы начинаем.
    Сегодня мы с вами познакомимся со способами создания модов и подготовимся к практике. Для начала давайте же обсудим, что нам понадобится. В первую очередь - свободное время, да да да! Его нам надо будет много. Второе - Исходники Minecraft и Forge. "Где же их взять" спросите вы. Отвечаю, исходники Forge всегда можно найти здесь, напротив интересующей вас версии нажав на "src" (source). Исходники Minecraft легко достать с помощью MCP (Minecraft Coder Pack). О декомпеляции можно почитать на wiki. Скачать MCP можно здесь. Так же, для декомпеляции minecraft вам понадобится не только клиент но и ванильный сервер. Последнюю версию всегда можно взять на официальном сайте, но что же делать с устаревшими ? Ответ прост, скачать утилиту Minecraft Version Changer, выбрать нужную версию и нажать кнопку "server." Третье, что нам нужно это среда разработки, я использую Net Beans, я использую готовую сборку "Net Beans 7.3.1 with JDK Bundle" от Oracle. Вроде с основным разобрались, перед следующим советую заново прочитать мои предыдущие уроки и пойти по моим советам.
    Ставьте лайк и ждите следующий урок, который будет уже совсем скоро.
     
    -FoX-, ClearSky4You, second_vynder и 6 другим нравится это.
  4. AlexMerser

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

    Баллы:
    173
    Молодец, жду продолжения
     
  5. Hephest

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

    Баллы:
    153
    Skype:
    hephest1904
    Молодчина, продолжай, интересно
     
  6. Автор темы
    caNek

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

    Баллы:
    173
    Имя в Minecraft:
    AddyCool
    Часть 5. Forge или Mod Loader.
    Всем привет. Вы читаете продолжение курса "Программирование на Java. Знакомство с Forge и MCP." Сегодня последний урок в котором я вам буду промывать мозги, готовьтесь: уже в следующей части будет практика, будет мод и будет счастье, однако это часть я напишу далеко не сразу, и буду писать ее в текстовом редакторе, так что ждать завтра-послезавтра не стоит.
    Итак, вернемся к уроку, этот урок будет особенным сегодня вы выберете для себя глобальную черту для изучения Java, в зависимости от выбора будет зависеть ваш труд и успех. Сегодня мы выбираем то, по до что мы будем "кодить."

    Итак назначаю кастинг открытым. //* Музочка (Туц туц) *//
    Претендент номер 1: Minecraft Coder Pack.
    Плюсы:
    1. Вас хрен кто декомпелирует.
    2. Вы можете менять все, вплоть до изменения названия файла, структуры и расположения на системе.
    3. Ваш мод будет полностью уникальным, при определенной защите.
    4. Ваш проект в "Среде" будет аккуратен и будет напрямую работать с Minecraft без прочих API.
    5. Не так часто приходится обновлять исходники minecraft.
    Минусы.
    1. Проблемно будет поставить другой мод или лоадер.
    2. В начале будет много говнокода.
    3. Тяжелее переносить на новую ваниллу.
    Претендент номер 2: Forge. FML.
    Плюсы.
    1. За пару минут обновление на новую ваниллу.
    2. Упрощенный принцип создания модов.
    3. Разработчик сам предоставляет исходники.
    4. Нет говнокода в исходниках.
    Минусы.
    1. Значительно меньший функционал по сравнению с кодингом под чистый майнкрафт.
    2. Чтобы взять ваш мод, придется просто залезть в определенную папку и взять Jar'ник, не поможет даже изменение FML кода, однако можно вшить в клиент но получится обычный Minecraft, с копирайтами фордж и увеличенным весом.
    3. Кушает производительность.
    Претендент номер 3: ModLoader
    -----кто это дерьмо юзает ?-----

    Итак вроде все разъяснил, я как и прежде остаюсь на MCP, но уроки будут на Forge, т.к. его использовать проще. Всем спасибо, ставьте лайки и пишите супер моды. Пока.

    Новая часть будет в двадцатых числах (в лучшем случае.)
    Почти написал уже, ждите :good:
     
    ClearSky4You, GreenPoint, Hephest и 4 другим нравится это.
  7. GreenPoint

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

    Баллы:
    153
  8. Автор темы
    caNek

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

    Баллы:
    173
    Имя в Minecraft:
    AddyCool
    Часть 6.1. Первый мод - вступление.
    В предыдущей части урока мы выбирали себе платформу и среду разработки. На этом мы переходим к созданию модов. Пока не поздно, напоминаю. Без знаний Java, дальше того чего я вас научу вы не уйдете, а копировать и вставлять мой шаблон, как то по школярски на мой взгляд.
    Начнем сегодня с подготовки. Для начала обновляем Java, очень рекомендую. Остальное мы загрузили в одном из предыдущих уроков.
    Далее заходим в папку с исходниками Forge, и видим install.bat. Запускаем, ждем. Забыл напомнить, что теперь я перешел на Eclipse, будьте бдительны.
    Когда процесс установки дойдет до конца, и без ошибок советую кричать и радоваться, я лично от счастья нажрался водяры за 20 рублей и уснул на лавке перед домом. Если нет, то попробуйте взять бубен, и запустить процесс заново, напевая шаманские мотивы и стуча в бубен, если даже так не поможет, значит не судьба, ждем билдов форджа по новее.
    Итак, если у вас все же, все оказалась более чем успешно и фордж сделал всю работу на ура, заходим в Eclipse (я использую Kelper). Что мы видим ? Окошко, которое просит нас указать на workspace. Туда нам нужно указать папку eclipse, которая находится в папке forge (Forge>mcp>eclipse), ВНИМАНИЕ! Не ее содержимое, а именно папку eclipse. Теперь ждем некоторое время, пока загрузится, первый запуск может затянуться.
    Теперь когда все загрузилось, слева в колонке Package Editor, появилась папка Minecraft, откройте ее и напротив JRE System Library выставите Java SE-1.7, если конечно у вас там что то другое.
    Теперь с целью эксперимента можно запустить ваш Minecraft, нажав в верху на зеленую кнопку Run Client, не пугайтесь красных надписей внизу, это норма. Кстати, так можно запускать клиенты с Forge на новых версиях (Это так, к вопросу о лаунчерах.) Однако вы не будете иметь логина и пароля :c
    Позже научу как это исправить.
     
    Последнее редактирование: 20 окт 2013
    ClearSky4You, GreenPoint и Hephest нравится это.
  9. Hephest

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

    Баллы:
    153
    Skype:
    hephest1904
    Можно дописать, что даже если MCP не скачан, достаточно просто скачать src Forge и запустить батник. Установщик в командной строке сам всё скачает :)
     
    caNek нравится это.
  10. Автор темы
    caNek

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

    Баллы:
    173
    Имя в Minecraft:
    AddyCool
    Прекрасно что вы это знаете :good:
     
    Hephest нравится это.
  11. Randall

    Randall Старожил Заблокирован

    Баллы:
    153
    У кого не грузит библиотеки во время установки Forge,скачайте архив по ССЫЛКЕ и распакуйте его в корень папки с mcp и в папку jars.Потом нажмите "install.bat" в папке forge
     
    caNek нравится это.
  12. Автор темы
    caNek

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

    Баллы:
    173
    Имя в Minecraft:
    AddyCool
    С чего бы ему не грузить ? Не разу не сталкивался, однако добавлю в урок.
     
  13. Randall

    Randall Старожил Заблокирован

    Баллы:
    153
    Смотря какая версия,если 1.5.2-1.6.4,то все хорошо скачивает,а если до 1.5.2,то там ошибки,а если вообще 1.2.5,то там нужна библиотека fernflower + lib(Могу тоже выложить.)
     
  14. Hephest

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

    Баллы:
    153
    Skype:
    hephest1904
    Интересно, кто под такие старые версии пишет моды/прочее?:confused:
     
  15. Randall

    Randall Старожил Заблокирован

    Баллы:
    153
    Я)
    Ну может кому нужно будет.У нас же урок не под одну версию.
    Библиотека fernflower для корректной установки forge для версии minecraft 1.2.5

    Установка: mcp/runtime/bin
    Где "mcp" ваша папка с mcp+forge
    Жду новой части туториала!
     

    Вложения:

    • fernflower.zip
      Размер файла:
      221,7 КБ
      Просмотров:
      16
    ВремяПриключений и Hephest нравится это.
  16. Dr.Death

    Dr.Death Старожил Пользователь

    Баллы:
    153
    Skype:
    asn008
    Имя в Minecraft:
    DrDeath
    Я под 1.8.1 beta пишу, на новые версии майна вообще не смотрю
     
    caNek и Dereku нравится это.
  17. Автор темы
    caNek

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

    Баллы:
    173
    Имя в Minecraft:
    AddyCool
    Плюс, правда я чуть по новее. 1.2.5 и иногда 1.4.7.
    Насилую документацию к Forge чтобы донести все максимально понятно (ну или она меня, хз).
     
  18. Randall

    Randall Старожил Заблокирован

    Баллы:
    153
    Зачем максимально понятно? В этой теме должны обитать люди которые знают java хотя-бы на среднем уровне
     
  19. Автор темы
    caNek

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

    Баллы:
    173
    Имя в Minecraft:
    AddyCool
    Возможно, но тогда туториал не будет отличатся от сотен других. Но как бы то ни было, думаю в воскресенье будет новая часть.
     
  20. Randall

    Randall Старожил Заблокирован

    Баллы:
    153
    Дополнение для уроков
    Если вы хотите использовать NetBeans в качестве среды для изменения кода,вместо eclipse,то вам нужно проделать несколько шагов:
    1. Заходим в вашу папку с mcp,в дальнейшем будем называть её "root"
    2. Переходим по такому пути "root/eclipse/Minecraft"
    3. Видим файл .project,открываем его с помощью адекватного текстового редактора(Notepad++).
    4. В нем видим следующие строчки:
    5. В нем ищем строчку "MCP_LOC" и после неё вставляем СВОЙ путь до вашей папки с mcp(%root%),найдите и измените все ТРИ варианта пути.
    6. Сохраняем файл.
    7. Открываем: NetBeans/импорт проекта/eclipse
    8. Выбираем в качестве папки с проектом папку eclipse
    9. Нажимаем далее и выбираем проект minecraft (он там один) и жмем финиш!
    10. После если вы все сделали правильно у вас откроется проект,но радоваться еще рано.
    11. Кликаем ПКМ по проекту (minecraft) выбираем "свойства",в свойствах слева выбираем Библиотеки,потом выбираем "Выполнение",а в нем "Скомпилированные исходные коды".Там двигаем Скомпилированные исходные коды вверх,при помощи кнопки "Переместить Вверх".
    12. После этого идем во вкладку "Выполнение" (слева) и там указываем параметр для VM -xincgc -Xmx1024M -Xms1024M -Djava.library.path="тут полный путь до вашей папки с mcp + jars/bin/natives/"
    13. Нажимаем Ок.
    Все,теперь можно спокойно изменять код и тестировать ваш клиент (зеленая кнопка в меню кода)
     
    Последнее редактирование: 3 ноя 2013
    BleaZzZ и caNek нравится это.

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