====== Чтение исходного кода Minecraft ====== Чтение исходного кода Minecraft - важный навык в моддинге, потому что: * Большинство вещей Minecraft не задокументированы. * Документации/туториалы устаревают довольно быстро. Чтобы прочитать исходный код Minecraft, вам нужно сначала сгенерировать исходный код. Смотрите раздел "Генерация исходного кода Minecraft" в [[ru:tutorial:setup|Настройка среды разработки]]. ===== Поиск класса Minecraft ==== Чтобы найти класс Minecraft, выполните следующие действия: ==== IntelliJ IDEA ==== - Откройте панель поиска с помощью ''Ctrl + N''. - Установите область поиска на ''Project and Libraries'' или шире. - Введите название класса в поле поиска. ==== Visual Studio Code ==== - Откройте панель поиска с помощью ''Ctrl + P''. - Введите имя класса с префиксом ''#''. В коде Visual Studio вы также можете использовать ''Ctrl + T'', чтобы напрямую открыть поиск по классам. ===== Поиск класса, который вы хотите увидеть ==== Поиск части кода, которую вы хотите увидеть, является сложной задачей. Вот несколько советов: * В полной мере воспользуйтесь возможностями IDE для поиска соответствующего кода, такого как ''Call hierarchy'', ''Method hierarchy'' или ''Type hierarchy''. * Взгляните на моды с открытым исходным кодом, которые похожи на то, что вы хотите создать. * Если вы добавляете новый контент, есть большая вероятность, что вам потребуется доступ к реестрам, определенным в ''net.minecraft.util.registry.Registry''. * Имейте в виду, что все начинается с одного основного класса (''net.minecraft.client.main.Main'' для клиента, ''net.minecraft.server.Main'' для выделенного сервера). ===== Чтение байт-кода ===== Чтение байт-кода иногда требуется, потому что: * Миксины работают с байт-кодом, а не с исходным кодом. Понимание байт-кода имеет важное значение, когда вы пишете сложный миксин. * Декомпилятор (FernFlower) не идеален. Иногда он выдает недопустимый java-код, такой как ''int i = true;''. Если вы не знакомы с байт-кодом java, обратитесь в [[https://docs.oracle.com/javase/specs/jvms/se17/html/jvms-6.html|спецификацию JVM]]. Чтобы просмотреть байт-код, выполните следующие действия: ==== IntelliJ IDEA ==== - Откройте класс, байт-код которого вы хотите увидеть. - Выберите ''View'' в главном меню. - Выберите ''Show Bytecode''. ==== Другие инструменты ==== Если ваша IDE не поддерживает просмотр байт-кода, используйте другие средства просмотра байт-кода, такие как [[https://github.com/Konloch/bytecode-viewer|этот]]. ===== Часто задаваемые вопросы ===== **Где находятся сгенерированные исходники?** Они находится либо в пользовательском кэше gradle (''~/.gradle/caches/fabric-loom''), либо в кэше gradle проекта (''./.gradle/loom-cache''). Вы можете использовать исходники jar вне вашего IDE.