Перейти к содержимому

Лидеры


Популярный контент

Показан контент с высокой репутацией 24.05.2020 в Сообщения

  1. 1 балл
    Скорее "процедурщина". Жуткая функциональщина это Haskell =)
  2. 1 балл
    @eu_tomat самый простой способ получить пустой темплейт мода - это последовать инструкциям, которые даются в документации к Minecraft Forge. https://mcforge.readthedocs.io/en/1.14.x/gettingstarted/ Так у тебя будет гарантировано рабочий и современный код. (Темплейт который ты взял на github - дико древний.) Вообще дока Forge очень неплохое место для старта. Там тебя как раз познакомят с базами создания модов под Minecraft. Создание и развёртка проекта через Gradle (для разных IDE тоже есть инструкции), блоки, предметы, tile entity и так далее.
  3. 1 балл
    Первые шаги в Gradle Задача: Найти исходник простейшего мода для Minecraft 1.7.10, скомпилировать его, проверить в работе, внести какие-нибудь правки в код и так же проверить в работе. Мой путь к решению: Поисковая фраза «minecraft mod 1.7.10 template» приводит меня к репозиторию https://github.com/RoBrit/Mod-Template Удача! В описании есть подробная инструкция. Автор кривовато сверстал внутренние ссылки в оглавлении документа, но чтению это не помешает. Тексты на английском я читаю поверхностно, не пытаясь понять смысл каждого слова. Просто выхватываю знакомые слова и угадываю общий смысл. Если смысл я не понимаю, то использую гуглоперевод, сравниваю оригинал с переводом, уточняю варианты перевода тех или иных слов, постепенно пополняя словарный запас. Такой способ чтения несовершенен, но для понимания смысла несложных текстов вполне применим. Первые три пункта инструкции, связанные с установкой JDK, я уже выполнил, решая предыдущую задачу. Далее следует установка gradle и проверка его работоспособности: # apt install gradle $ gradle ... Welcome to Gradle 2.10. ... Чтобы мои действия не превратились в полное шаманство, я почитал, что такое Gradle (https://ru.wikipedia.org/wiki/Gradle). Как я понял, это некий аналог классического make, но значительно более функциональный. Похоже, именно Gradle будет управлять сборкой мода. Самой полезной на данный момент мне показалась команда gradle tasks, упростившая моё первое знакомство с Gradle. Далее инструкция предлагает установить Git, скачав его. Я пойду чуть иным путём, установив его из репозитория Linux: # apt install git Git – это система контроля версий. Скоро пригодится нам для клонирования репозитория, но самое интересное начнётся при решении последующих задач. Следуя инструкции, я создаю каталог для своих экспериментов, и, находясь в нём, клонирую репозиторий и сразу перехожу во вновь созданный каталог с локальным репозиторием: $ git clone https://github.com/TheRoBrit/Mod-Template.git $ cd Mod-Template Инструкция предлагает взглянуть на получившуюся структуру каталогов клонированного репозитория, и я воспользовался командой tree. Результат оказался идентичным приведённому в инструкции. А теперь самое интересное. Если я верно понял документацию, следующая команда подготавливает минимальное окружение для сборки мода. Не совсем ясно, что такое «CI Servers». Вероятно, это сервера, выполняющие сборку проектов автоматически. $ gradle setupCiWorkspace ... BUILD SUCCESSFUL А эта команда, похоже и выполняет, собственно, сборку мода. И, если верить документации, то и тестирует. $ gradle build ... BUILD SUCCESSFUL Придерживаясь инструкции, я нахожу собранный файл в каталоге ./build/libs/ $ ls ./build/libs ModTemplate-1.8-1.5.07.29a-deobf.jar ModTemplate-1.8-1.5.07.29a.jar ModTemplate-1.8-1.5.07.29a-source.jar Копирую файл только что собранного мода в папку с модами Майнкрафта: $ cp ./build/libs/ModTemplate-1.8-1.5.07.29a.jar ~/.minecraft/mods/AAA.jar Я специально дал файлу мода такое имя, чтобы потом не ломать голову, что же это за непонятное чудо делает в моей сборке. Такое название не даст ему затеряться среди других файлов. Запускаю Minecraft, нажимаю кнопочку Mods, листаю список модов, но не нахожу ничего похожего на ModTemplate или AAA. Проверяю загрузку старого сохранения – работает. Но следов нового мода я не вижу. Проверяю, оставил ли этот мод какие-либо следы в логах Майнкрафта: $ grep --include=*.log -lire ModTemplate ~/.minecraft ... пусто $ grep --include=*.log -lir AAA ~/.minecraft ... есть какие-то логи Теперь проверяю более подробно в наиболее интересном для меня логе: $ grep -A10 -B10 AAA ~/.minecraft/logs/fml-client-latest.log Так как смысла многих сообщений в логе я не понимаю, сравниваю найденные сообщения с аналогичными сообщениями для других модов. Самом интересным мне показалось такое сообщение: FML has found a non-mod file AAA.jar in your mods directory. It will now be injected into your classpath. This could severe stability issues, it should be removed if possible. Майнкрафт не считает этот файл модом. С другой стороны, в логе присутствует аналогичное сообщение и для CodeChickenLib-1.7.10-1.1.3.138-universal.jar, что не помешало ему оказаться в списке модов. Что могло пойти не так? Скорее всего, этот шаблон мода не содержит даже минимального контента. А значит, этот контент требуется создать. А может быть, причина в чём-то ещё. На всякий случай я подведу промежуточный итог и возьму паузу. Промежуточный результат: Я смог найти шаблон мода и скомпилировать его. Майнкрафт не воспринял его как мод, но я смог получить первый опыт работы с Gradle. Ближайшие направления для работы: Узнать, как добавить в мод одиночный предмет, даже без крафта, без текстуры и особых свойств. Найти готовые исходники простого мода и скомпилировать их. Первое направление даст мне больший опыт, а второе поможет быстрее двигаться между промежуточными целями. Скорее всего, я выберу скорость. А в нюансах разберусь потом.
  4. 1 балл
    @eu_tomat респект, что начинаешь с самых основ. Но чисто с практической точки - удобства написания кода - проще скачать IDE. Самая простая и удобная для работы скорее всего будет IntelliJ IDEA, которую Нео упомянул. Можно взять коммьюнити версию здесь: https://www.jetbrains.com/idea/download/#section=linux Минусы: * будет жрать 2 гига оперативы * надо будет ознакомиться с базами интерфейса Плюсы: * запуск и компиляция кода одной кнопочкой (ощутимо полезно по мере усложнения программы, когда она выйдет за пределы одного файла) * анализ кода (IDE будет подсказывать ошибки, даст автодополнение, возможность перемещаться по коду к месту определения нужных тебе предметов, удобно переименовывать переменные, методы и прочее, и так далее) * более сложные инструменты, которые тебе будут нужны для работы с модом OpenComputers - например, система сборки Gradle, достаточно безболезненно и беспроблемно интегрированы в IDE, и тоже вызываются одной кнопочкой * в случае IntelliJ IDEA в комплекте будет идти очень удобный Git клиент (неоценимая штука для более сложных манипуляций с гитом чем git commit -am & git push) * дебаггер (точки останова, возможность посмотреть значение переменных в момент выполнения, стек вызовов, выполнять код пошагово и т.п.) * Scala в комплекте (при первом запуске, или позднее, надо убедиться что плагин Scala установлен, либо установить). Поскольку мод OpenComputers на 90% состоит из Scala - очень полезно. Тоже интегрировано бесшовно, тоже даёт анализ кода и прочие плюшки. Очень полезно для изучения языка, который слегка сложнее чем plain Java.
  5. 1 балл
    Лучше IDE поставь. Например Intellij Idea - фаворит среди разработчиков на жаве, скале, котлине и андроид, под андроид называется по другому, но движок тот же.
  6. 1 балл
    О, наполеоновский план. Одобряю Мы все люди. Так что основной протокол - вежливость и взаимоуважение.
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...