Этот репозиторий представляет собой попытку создать документацию и управлять ресурсами для станции Minecraft Mods на мероприятиях Hack the Future.
Эта станция была посвящена моддингу Minecraft: Java Edition. Начиная с HtF 21, мы вместе учились взламывать Minecraft: PiEdition или его реализацию на ПК (RaspberryJuice). Это позволяет использовать Python и обеспечивает более быструю настройку и доступ к Minecraft 1.13 и выше! Подробнее об этом можно узнать в репозитории station-raspberry-pi .
В то же время мы по-прежнему обучаем станциям на основе Forge, поскольку они дают детям свободу изменять мобов, текстуры и любые другие аспекты игры.
В идеале ноутбук для использования со средой моддинга Forge должен иметь как минимум
-
процессор Core i7
-
8 ГБ ОЗУ
Компиляция Java для такого большого проекта может потребовать значительных ресурсов ЦП, поэтому более медленный компьютер может привести к долгому ожиданию в течение каждого цикла отладки. Кроме того, Forge предъявляет высокие требования к памяти, а меньший объем физической RAM может привести к уменьшению объема памяти, выделяемой JVM, и скрытым ошибкам.
Эти проблемы не являются непреодолимыми, но Если вы обнаружите, что у вас на станции Minecraft Modsstation недостаточно мощная машина, подумайте о том, чтобы попросить арендованный ноутбук у капитана станции.
Ниже приведены рекомендуемые предварительные условия для станции MinecraftMods. Наставники могут помочь установить их на мероприятии. Однако, если они предустановлены, участники смогут начать работу еще быстрее.
-
Java JDK 8 (JDK 9, 10 и 11 несовместимы с ForgeGradle. Убедитесь, что вы установили JDK 8! Пользователи Windows: используйте 64-битный JDK!)
-
IntelliJ IDEA Community Edition
-
Forge Mdk
Большинство материалов урока в настоящее время хранятся в папке GoogleDrive. Вы можете найти последние версии вышеуказанного программного обеспечения, а также README.pdf
со скриншотами различных идей взлома.
-
Папка с модами Minecraft Gdrive (
README.pdf
здесь!)
После установки последней версии JDK и распаковки Forge Mdk запустите ForgeGradle с помощью:
gradlew setupDecompWorkspace idea
Если вы столкнетесь с ошибкой о несовместимости с Java 9 или более поздней версии, вам, возможно, придется явно указать ей использовать вашу установку Java 8 . На Mac установите эту переменную среды перед повторным запуском gradlew
:
export JAVA_HOME =/Library/Java /JavaVirtualMachines/jdk1.8.0_???.jdk/Contents/Home
или в Windows:
установить JAVA_HOME = "C: Program Files Java jdk1.8. 0 _ ??? "
Если Java 11 уже была установлена, часто помогает просто удалить ее. Например, в macOS:
cd/Library/Java/JavaVirtualMachinessudo rm -rf jdk1.11. *
Этот этап загрузки и декомпиляции может занять некоторое время в зависимости от вашего интернет-соединения и мощности компьютера.
После этого выполните большая часть исходного кода Minecraft доступна через:
mv build/tmp/RecompileMc/sources/net src/main/java/
В Windows используйте команду move
и обратную косую черту для разделителей пути, т. е.
переместить сборку tmp RecompileMc sources net src main java
Отсюда вы можете запустить IntelliJ IDEA, открыть проект, выбрав папку Forge, и выбрать Build → Build Project . Начальная сборка должно занять несколько минут.
v>
Если он не работает после какой-либо ошибки, связанной с отсутствующим SDK, вам, вероятно, просто нужно выбрать SDK в правом раскрывающемся списке настроек. См. README.pdf!
Время от времени мы сталкиваемся с более непонятными ошибками. об отсутствии различных библиотек Java. Не все проблемы можно предвидеть, поэтому, если на одном ноутбуке не работает Forge, пришло время, чтобы ребенок попробовал RaspberryJuice (см. station-raspberry-pi ) или, если повезет, капитан станции может иметь запасной ноутбук с установленным и работающим Forge.
Если вы зашли так далеко, вы выполнили основную часть «поторопитесь и подождите» процедура. Поздравляю! Отсюда соответствующие шаги могут включать в себя устранение неполадок, но вам больше не нужно ждать компиляции или декомпиляции всего проекта Minecraft.
На этом этапе вы можете приступить к взлому в смысле модификации кода Minecraft и тестирования полученных в результате изменений. Если вы не уверены, какой код редактировать в первую очередь, начните с приведенных ниже упражнений или даже найдите другие примеры в README.pdf
, ссылка на которые приведена выше.
Мы находимся в процессе переноса примеров из README.pdf в разметку здесь, на GitHub.
Найдите класс EntityCreeper в net.minecraft.entity.monster . Найдите строку, в которой указан радиус взрыва. По умолчанию это будет три, поэтому попробуйте изменить его на 30.
private int ExplosionRadius = 30;
затем нажмите кнопку Play, чтобы снова запустить Minecraft, переключитесь в режим выживания и активируйте крипер, чтобы он взорвался.

В прошлый раз, когда мы внесли изменение, нам пришлось перезапустить весь движок Minecraft. На этот раз воспользуемся отладчиком с горячей заменой. Сначала закройте существующее окно Minecraft и откройте новое, используя кнопку «Отладка» (рядом с кнопкой «Воспроизвести», но похоже на ошибку). Затем вы можете открыть свой мир и ходить по нему так же, как и раньше.
Максимальное количество чар «отбрасывания», разрешенное для элемента по умолчанию, равно 2. Изменить EnchantmentKnockback в net.minecraft.enchantment и установите это значение на 100.
public int getMaxLevel () {return 100; }
На этот раз перейдите в Run → Reload Changed Classes, и вам не придется перезапускать Minecraft!
После того, как это скомпилируется, вооружите алмазный меч и выполните команду:
/enchant Player 19 10
Примечание. Число 19 — это значение для чары отбрасывания. Попробуйте свой меч, чтобы увидеть разницу в поведении отбрасывания.


Это и другие упражнения по-прежнему находятся в исходном . Откройте это, чтобы узнать больше.
Арун Гупта написал README под названием Minecraft Modding using Forge для своей мастерской Devxx4kids.
Боб Фрейтас написал расширенное руководство по созданию инструментов и оружия из нового материала, Red Diamond.
Эти руководства использовались на прошлых событиях HtF и могут ссылаться на Eclipse (другая IDE) или более старые версии Forge. Однако с помощью ваших наставников эти уроки можно легко адаптировать к нашей современной среде.
Этот README находится в синтаксисеAsciiDoc.