Обновление модов для новых версий Minecraft - важный процесс для моддеров. Это руководство поможет вам обновить моды с версии 1.19 до 1.20, учитывая изменения в игровой механике и функциях.
Основные изменения в версиях 1.19 и 1.20:
Версия | Изменения |
---|---|
1.19 | - Новая структура мира |
- Новые блоки и предметы | |
- Изменения в генерации мира | |
1.20 | - Новые функции редстоуна |
- Изменения в системе крафта | |
- Новые типы блоков |
Ключевые шаги по миграции мода:
- Проверьте изменения в API Minecraft и обновите код мода.
- Обновите зависимости мода до совместимых версий.
- Протестируйте обновленный мод в новых версиях Minecraft.
- Выпустите обновленную версию мода для пользователей.
Основные изменения в 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.
Среда разработки (IDE)
IDE (Integrated Development Environment) - программа для создания, компиляции и отладки кода. Для разработки модов Minecraft вам понадобится IDE, поддерживающая Java, например, IntelliJ IDEA, Eclipse или Visual Studio Code.
Настройка среды разработки
После установки JDK, Minecraft Forge и IDE необходимо настроить среду разработки:
- Создайте новый проект в IDE.
- Настройте проект для использования JDK и Minecraft Forge.
- Убедитесь, что выбрана версия Java, совместимая с вашим проектом.
Существующий проект мода
Если у вас уже есть проект мода, который нужно обновить до версии 1.20:
- Откройте проект в IDE.
- Настройте среду разработки.
- Убедитесь, что выбрана версия Java, совместимая с вашим проектом.
В следующем разделе мы рассмотрим, как подготовиться к обновлению мода с версии 1.19 до 1.20.
Подготовка к обновлению
Перед обновлением мода с версии 1.19 до 1.20 важно выполнить несколько шагов, чтобы процесс прошел гладко.
Резервное копирование проекта мода
Первым делом создайте резервную копию вашего текущего проекта мода. Это позволит вернуться к предыдущей версии, если что-то пойдет не так при обновлении.
Обновление инструментов и зависимостей
Обновите инструменты разработки и зависимости до последних версий. Так вы получите новые функции и исправления ошибок.
Изучение изменений в Minecraft и Forge
Ознакомьтесь с официальным списком изменений 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 важно для обеспечения совместимости и стабильности вашего мода.
Если у вас возникнут вопросы или проблемы, не стесняйтесь оставлять комментарии. Удачи в создании модов!