Skip to content

Commit

Permalink
Merge branch 'main' into blocks
Browse files Browse the repository at this point in the history
  • Loading branch information
IMB11 authored Jul 1, 2024
2 parents 9520120 + 1876258 commit c75caa5
Show file tree
Hide file tree
Showing 16 changed files with 274 additions and 85 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
title: Введение в Fabric и создание модов
description: "Краткое знакомство с Fabric и созданием модов для Minecraft: Java Edition."
authors:
- IMB11
- itsmiir
---

<!-- No GitHub profile exists for "basil4088" -->

# Введение в Fabric и создание модов

## Подготовка

Перед тем как начать, вам следует иметь базовые знания разработки на Java и понимание концепций объектно-ориентированного программирования (ООП).

Если эти концепции вам не знакомы, рекомендуем сначала изучить несколько учебных материалов по Java и ООП. Эти ресурсы могут помочь:

- [W3: Уроки по Java](https://www.w3schools.com/java/)
- [Codecademy: Выучите Java](https://www.codecademy.com/learn/learn-java)
- [W3: Java в ООП](https://www.w3schools.com/java/java_oop.asp)
- [Medium: Введение в ООП](https://medium.com/@Adekola_Olawale/beginners-guide-to-object-oriented-programming-a94601ea2fbd)

### Термины

Прежде чем начнём, давайте рассмотрим некоторые термины, с которыми вы столкнетесь при создании мода на Fabric:

- **Мод**: Изменение игры, добавляющее новые функции или изменяющее существующие.
- **Загрузчик модов**: Инструмент для загрузки модов в игру, такой как загрузчик Fabric.
- **Mixin**: Инструмент для модификации кода игры во время её выполнения — подробнее во [введении в Mixin](https://fabricmc.net/wiki/tutorial:mixin_introduction).
- **Gradle**: Инструмент автоматизации сборки, применяемый для создания и компиляции модов. Fabric использует его для сборки своих модов.
- **Маппинги**: Набор маппингов, преобразующих обфусцированный код в тот, который может прочесть человек.
- **Обфускация**: Процесс усложнения кода для его затруднённого понимания, используемый Mojang для защиты кода Minecraft.
- **Remapping**: Процесс преобразования обфусцированного кода в тот, который будет читаем для людей.

## Что такое Fabric?

Fabric — лёгкий инструмент для создания модов для Minecraft: Java Edition.

Он разработан как простая и удобная платформа для разработки модов. Fabric — это проект, который ведёт сообщество, и у него открытый исходный код, что означает, что любой может внести в него свой вклад.

Вам следует знать о четырёх основных компонентах Fabric:

- **Загрузчик Fabric**: гибкий загрузчик модов, не зависящий от платформы, предназначенный для Minecraft и других игр и приложений.
- **Fabric Loom**: плагин для Gradle, позволяющий разработчикам легко разрабатывать и отлаживать моды.
- **Fabric API**: набор API и инструментов для разработчиков модов, которые можно использовать при создании модов.
- **Yarn**: набор открытых маппингов Minecraft, свободных для использования под лицензией Creative Commons Zero.

## Почему Fabric необходим для модификации Minecraft?

> Модификация игры — это процесс изменения игры с целью изменения её поведения или добавления новых возможностей. В случае Minecraft это может включать в себя всё, от добавления новых предметов, блоков или существ до изменения механик игры или добавления новых режимов игры.
Minecraft: Java Edition обфусцирован компанией Mojang, что делает самостоятельное модифицирование сложным. Однако с помощью инструментов для модификации, таких как Fabric, процесс становится намного проще. Существуют различные системы маппинга, которые могут помочь в этом процессе.

Loom преобразует обфусцированный код в читаемый формат с помощью этих маппингов, что облегчает мододелам понимание и изменение кода игры. Yarn является популярным и отличным выбором для маппинга, но также существуют и другие варианты. Каждый проект маппинга может иметь свои собственные достоинства и фокусироваться на различных аспектах.

Loom позволяет легко разрабатывать и компилировать моды на основе кода, над которым провели remapping, а загрузчик Fabric позволяет загружать эти моды в игру.

## Что даёт Fabric API и зачем это нужно?

> Fabric API — это набор API и инструментов для разработчиков модов, которые можно использовать при создании модов.
Fabric API предоставляет широкий набор API, которые расширяют существующие функциональные возможности Minecraft. Например, он предлагает новые хуки и события, которые могут использоваться мододелами, или новые утилиты и инструменты, упрощающие процесс модификации игры, такие как транзитивные расширители доступа и возможность доступа к внутренним реестрам, таким как реестр предметов, которые можно использовать в компостнице.

Хотя Fabric API предлагает довольно мощные функции, некоторые задачи, такие как базовая регистрация блоков, можно выполнять и без него, используя стандартные API Minecraft.
14 changes: 7 additions & 7 deletions translated/ru_ru/sidebar_translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
"players.installingFabric": "Установка Fabric",
"players.findingMods": "Поиск безопасных модов",
"players.installingMods": "Установка модов",
"players.troubleshooting": "Исправление ошибок",
"players.troubleshooting": "Устранение неполадок",
"players.troubleshooting.uploadingLogs": "Загрузка журналов",
"players.troubleshooting.crashReports": "Краш-репорты",
"players.troubleshooting.crashReports": "Сообщения о сбоях",
"players.updatingFabric": "Обновление Fabric",
"develop.title": "Руководства для разработчиков",
"develop.gettingStarted": "Начало работы",
Expand All @@ -29,12 +29,12 @@
"develop.commands.arguments": "Аргументы команд",
"develop.commands.suggestions": "Подсказки к командам",
"develop.rendering": "Отрисовка",
"develop.rendering.basicConcepts": "Основные концепции рендера",
"develop.rendering.drawContext": "Использование DrawContext",
"develop.rendering.hud": "Рендер на экране",
"develop.rendering.basicConcepts": "Основные концепции отрисовки",
"develop.rendering.drawContext": "Использование Drawing Context",
"develop.rendering.hud": "Отрисовка в HUD",
"develop.rendering.gui": "Интерфейсы и экраны",
"develop.rendering.gui.customScreens": "Экраны",
"develop.rendering.gui.customWidgets": "Виджеты",
"develop.rendering.gui.customScreens": "Собственные экраны",
"develop.rendering.gui.customWidgets": "Собственные виджеты",
"develop.rendering.particles": "Частицы",
"develop.rendering.particles.creatingParticles": "Создание своих частиц",
"develop.misc": "Прочие страницы",
Expand Down
Loading

0 comments on commit c75caa5

Please sign in to comment.