Minecraft 1.19-1.20: Руководство по миграции модов

published on 29 May 2024

Обновление модов для новых версий Minecraft - важный процесс для моддеров. Это руководство поможет вам обновить моды с версии 1.19 до 1.20, учитывая изменения в игровой механике и функциях.

Основные изменения в версиях 1.19 и 1.20:

Версия Изменения
1.19 - Новая структура мира
- Новые блоки и предметы
- Изменения в генерации мира
1.20 - Новые функции редстоуна
- Изменения в системе крафта
- Новые типы блоков

Ключевые шаги по миграции мода:

  1. Проверьте изменения в API Minecraft и обновите код мода.
  2. Обновите зависимости мода до совместимых версий.
  3. Протестируйте обновленный мод в новых версиях Minecraft.
  4. Выпустите обновленную версию мода для пользователей.

Основные изменения в 1.19-1.20, требующие обновления кода:

  • Система урона: новые классы DamageType и DamageSource
  • Рендеринг GUI: GuiComponent заменен на GuiGraphics
  • Система освещения: новый класс LightEngine
  • Генерация лута: новый класс LootData
  • Вершины и буфер: изменения в сортировке и использовании
  • Текст и команды на знаках: новые классы и методы

Следуя этим шагам, вы сможете успешно обновить свои моды для новых версий Minecraft.

Необходимые инструменты и настройка

Для миграции модов с версии 1.19 до 1.20 вам понадобятся следующие инструменты и программы:

Java Development Kit (JDK)

Первым шагом является установка Java Development Kit (JDK). Скачайте JDK с официального сайта Oracle, выбрав версию, подходящую для вашей операционной системы.

Minecraft Forge

Minecraft Forge

Minecraft Forge - платформа для создания и запуска модов для Minecraft. Скачайте Forge с официального сайта, выбрав версию, совместимую с вашей версией Minecraft.

Среда разработки (IDE)

IDE (Integrated Development Environment) - программа для создания, компиляции и отладки кода. Для разработки модов Minecraft вам понадобится IDE, поддерживающая Java, например, IntelliJ IDEA, Eclipse или Visual Studio Code.

Настройка среды разработки

После установки JDK, Minecraft Forge и IDE необходимо настроить среду разработки:

  1. Создайте новый проект в IDE.
  2. Настройте проект для использования JDK и Minecraft Forge.
  3. Убедитесь, что выбрана версия Java, совместимая с вашим проектом.

Существующий проект мода

Если у вас уже есть проект мода, который нужно обновить до версии 1.20:

  1. Откройте проект в IDE.
  2. Настройте среду разработки.
  3. Убедитесь, что выбрана версия Java, совместимая с вашим проектом.

В следующем разделе мы рассмотрим, как подготовиться к обновлению мода с версии 1.19 до 1.20.

Подготовка к обновлению

Перед обновлением мода с версии 1.19 до 1.20 важно выполнить несколько шагов, чтобы процесс прошел гладко.

Резервное копирование проекта мода

Первым делом создайте резервную копию вашего текущего проекта мода. Это позволит вернуться к предыдущей версии, если что-то пойдет не так при обновлении.

Обновление инструментов и зависимостей

Обновите инструменты разработки и зависимости до последних версий. Так вы получите новые функции и исправления ошибок.

Изучение изменений в Minecraft и Forge

Minecraft

Ознакомьтесь с официальным списком изменений Minecraft и документацией Forge. Это поможет понять, какие изменения нужно внести в мод для работы в версии 1.20.

Шаг Описание
1 Создайте резервную копию проекта мода
2 Обновите инструменты разработки и зависимости
3 Изучите список изменений Minecraft и документацию Forge

Обновление с 1.18 до 1.19

Обновление версий Minecraft и Forge

Первым шагом при миграции мода с версии 1.18 до 1.19 является обновление версий Minecraft и Forge. Убедитесь, что вы используете последние версии инструментов и зависимостей. Это позволит вам получить доступ к новым функциям и исправлениям ошибок.

Изменения в файле mods.toml

Файл mods.toml необходимо обновить, чтобы отразить новые версии загрузчика и зависимостей. Убедитесь, что вы указали правильные версии в файле mods.toml, чтобы ваш мод работал корректно в версии 1.19.

Изменения в тексте и переводах

В версии 1.19 произошли изменения в иерархии класса Component для текста и переводов. Обновите свой код в соответствии с этими изменениями, чтобы ваш мод работал корректно.

Изменения в событиях регистрации

В версии 1.19 произошли изменения в событиях регистрации блоков и предметов. Обновите свой код для автоматической регистрации блоков и предметов, чтобы ваш мод работал корректно.

Использование нового RandomSource

В версии 1.19 произошел переход от Random к RandomSource. Обновите свои методы для использования нового интерфейса RandomSource.

Поддержка Apple Silicon

В версии 1.19 добавлена поддержка Apple Silicon. Включите mixin для предотвращения ошибки UnsatisfiedLinkError на устройствах Apple silicon.

Шаг Описание
1 Обновите версии Minecraft и Forge
2 Обновите файл mods.toml
3 Обновите код для текста и переводов
4 Обновите код для событий регистрации блоков и предметов
5 Обновите методы для использования RandomSource
6 Включите mixin для поддержки Apple Silicon

Основные изменения в Minecraft 1.19 по сравнению с 1.18

Текст и переводы

В версии 1.19 изменилась иерархия класса Component для текста и переводов. Чтобы ваш мод работал корректно, обновите код в соответствии с этими изменениями.

События регистрации

В версии 1.19 изменились события регистрации блоков и предметов. Обновите код для автоматической регистрации блоков и предметов, чтобы ваш мод работал правильно.

Random vs. RandomSource

В версии 1.19 произошел переход от Random к RandomSource. Обновите методы, чтобы использовать новый интерфейс RandomSource.

Поддержка Apple Silicon

В версии 1.19 добавлена поддержка Apple Silicon. Включите mixin, чтобы предотвратить ошибку UnsatisfiedLinkError на устройствах Apple silicon.

DamageType и DamageSources

Параметр Тип Описание
type Holder<DamageType> Тип урона, обычно получаемый из RegistryAccess.
causingEntity Entity Сущность, которая непосредственно или через directEntity вызвала урон.
directEntity Entity Сущность, которая непосредственно причинила урон.
damageSourcePosition Vec3 Позиция, в которой произошел урон.

Источники урона теперь конструируются в DamageSources, которые можно получить из Level через #damageSources. Каждая Entity также имеет redirect-метод к Level через #damageSources.

sbb-itb-b1cf51d

Обновление с 1.19 до 1.20

В этом разделе рассмотрим подробные шаги по миграции мода из Minecraft 1.19 в 1.20.

Изменения в системе урона

В версии 1.20 изменилась система урона. Теперь DamageType и DamageSource имеют новую реализацию. Обновите код, чтобы использовать новые классы и методы. Например, DamageSource теперь конструируется в DamageSources, который можно получить из Level через #damageSources.

Обновления рендеринга GUI

В 1.20 изменился рендеринг GUI. Класс GuiComponent заменен на GuiGraphics. Обновите код, чтобы использовать новый класс и методы. Это повлияет на рендеринг GUI в вашем моде.

Переписанная система освещения

В 1.20 была переписана система освещения. Теперь она использует два основных принципа из Starlight: уровень распространения и генерацию освещения неба. Обновите код, чтобы использовать новый класс LightEngine. Это повлияет на производительность и качество освещения в вашем моде.

Новая система генерации лута

В 1.20 был введен новый системный класс LootData. Обновите код, чтобы использовать новый класс и методы. Это повлияет на генерацию лута в вашем моде.

Сортировка вершин и использование буфера

В 1.20 произошли изменения в сортировке вершин и использовании буфера. Обновите код, чтобы использовать новые методы и классы. Это повлияет на производительность и качество рендеринга в вашем моде.

Текст и команды на знаках

В 1.20 изменилась работа с текстом и командами на знаках. Обновите код, чтобы использовать новые классы и методы. Это повлияет на работу с текстом и командами на знаках в вашем моде.

Изменения в кузнечном деле и сигнализации

В 1.20 произошли изменения в системе кузнечного дела и сигнализации. Обновите код, чтобы удалить устаревшие функции кузнечного дела и обработать изменения в сигнализации. Это повлияет на работу с кузнечным делом и сигнализацией в вашем моде.

Основные изменения в Minecraft 1.19 и 1.20

В этом разделе мы рассмотрим ключевые изменения между версиями Minecraft 1.19 и 1.20.

Система урона

В версии 1.20 система урона претерпела изменения:

  • Новая реализация классов DamageType и DamageSource.
  • DamageSource теперь конструируется в DamageSources, который можно получить из Level через #damageSources.

Рендеринг GUI

Рендеринг GUI был изменен в 1.20:

  • Класс GuiComponent заменен на GuiGraphics.
  • Это повлияет на рендеринг GUI в вашем моде.

Система освещения

В 1.20 система освещения была переписана:

  • Используются два основных принципа из Starlight:
    • Уровень распространения
    • Генерация освещения неба
  • Обновите код, чтобы использовать новый класс LightEngine.
  • Это повлияет на производительность и качество освещения в вашем моде.

Генерация лута

Введен новый системный класс LootData:

  • Обновите код, чтобы использовать новый класс и методы.
  • Это повлияет на генерацию лута в вашем моде.

Вершины и буфер

Изменения в сортировке вершин и использовании буфера:

  • Обновите код, чтобы использовать новые методы и классы.
  • Это повлияет на производительность и качество рендеринга в вашем моде.

Текст и команды на знаках

Изменения в работе с текстом и командами на знаках:

  • Обновите код, чтобы использовать новые классы и методы.
  • Это повлияет на работу с текстом и командами на знаках в вашем моде.

Кузнечное дело и сигнализация

Изменения в системе кузнечного дела и сигнализации:

  • Удалите устаревшие функции кузнечного дела.
  • Обработайте изменения в сигнализации.
  • Это повлияет на работу с кузнечным делом и сигнализацией в вашем моде.

Тестирование и отладка

Тестирование и отладка мода - важные шаги в процессе миграции. В этом разделе мы рассмотрим стратегии тестирования мода в среде разработки, а также техники отладки и инструменты для выявления и решения проблем.

Тестирование мода

Первым шагом является тестирование мода в среде разработки. Это поможет вам обнаружить и исправить ошибки, прежде чем мод будет опубликован:

1. Создайте новый мир в Minecraft. 2. Установите ваш мод. 3. Выполните различные действия, такие как: - Сбор ресурсов - Строительство структур - Сражение с монстрами

Отладка ошибок

Если вы обнаружили ошибку, используйте инструменты отладки, чтобы определить причину:

  • Reddit - сообщества, посвященные моддингу Minecraft, например, подфорум r/feedthebeast.
  • Инструменты отладки, такие как dbg, позволяющие отлаживать код с помощью точек останова и инспекции переменных.

Обработка несовместимости

Иногда ваш мод может конфликтовать с другими модами или пакетами ресурсов. В этом случае:

1. Используйте инструменты отладки, чтобы определить причину конфликта. 2. Отлаживайте код вашего мода, чтобы он был совместим с другими модами или пакетами ресурсов.

Шаг Описание
1 Тестирование мода в среде разработки
2 Использование инструментов отладки для выявления ошибок
3 Обработка несовместимости с другими модами или пакетами ресурсов

Распространение обновленного мода

Теперь, когда ваш мод обновлен и протестирован, пришло время поделиться им с сообществом Minecraft. В этом разделе мы рассмотрим процесс сборки и упаковки мода для распространения, обновления документации и заметок о выпуске, а также отправки его в соответствующие репозитории или платформы.

Сборка и упаковка мода

Чтобы собрать код вашего мода в jar-файл, который можно загрузить в Minecraft, вам нужно запустить задачу build gradle. Это можно сделать из IntelliJ или из командной строки:

./gradlew build

Убедитесь, что вы используете cd для перехода в папку проекта мода перед запуском команды. В Windows не включайте ./ в начале команды.

После завершения задачи собранный jar-файл будет находиться в папке build/libs. Чтобы установить мод, просто поместите этот jar-файл в minecraft/mods и запустите игру с установленным Forge.

Выбор платформы для распространения

У вас есть несколько вариантов для распространения мода, включая Github, Curseforge и Modrinth. Каждая платформа имеет свои преимущества и недостатки. Например, Github - отличное место для размещения исходного кода вашего мода, если вы хотите, чтобы он был открытым, а Curseforge имеет специальную поддержку модов для Minecraft.

Платформа Преимущества Недостатки
Github Открытый исходный код, простое управление кодом Нет специальной поддержки модов для Minecraft
Curseforge Специальная поддержка модов для Minecraft, простое управление выпусками Не подходит для модов с открытым исходным кодом
Modrinth Простое управление выпусками, поддержка модов для Minecraft Ограниченные функции по сравнению с Curseforge

Обновление документации и заметок о выпуске мода

Перед отправкой мода на платформу для распространения убедитесь, что вы обновили документацию и заметки о выпуске. Это поможет пользователям понять, какие изменения вы внесли и как использовать ваш мод.

Отправка мода на платформу для распространения

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

Заключение

В этом руководстве мы рассмотрели процесс обновления мода Minecraft с версии 1.19 до 1.20. Вот основные моменты:

  • Обновление до новой версии Minecraft и Forge может потребовать изменения кода вашего мода.
  • Новые классы DamageType и DamageSource требуют обновления кода для корректной работы.
  • Рендеринг GUI теперь использует GuiGraphics вместо GuiComponent.
  • Новый класс LightEngine требует обновления кода для корректной работы.

Оставаться в курсе обновлений Minecraft и Forge важно для обеспечения совместимости и стабильности вашего мода.

Если у вас возникнут вопросы или проблемы, не стесняйтесь оставлять комментарии. Удачи в создании модов!

Related posts

Read more

Built on Unicorn Platform