1. Основы Java: Синтаксис, типы данных и методы
Основы Java: Синтаксис, типы данных и методы
Добро пожаловать в курс Java для создания модов в Minecraft! Это первая и самая важная статья. Прежде чем мы сможем создать свой первый легендарный меч или нового моба, нам нужно выучить язык, на котором говорит Minecraft. Этот язык — Java.
Многие новички пытаются сразу копировать код из учебников по моддингу, не понимая, как он работает. Это приводит к ошибкам, которые невозможно исправить без базовых знаний. Сегодня мы заложим фундамент: разберем структуру кода, узнаем, где хранить данные (здоровье игрока, количество блоков) и как заставить игру что-то делать (методы).
Структура программы на Java
Java — это объектно-ориентированный язык. Это значит, что весь код в Java живет внутри классов. Представьте, что класс — это чертеж. В Minecraft у нас есть чертеж «Зомби», и по этому чертежу игра создает сотни конкретных зомби в мире.
Любой файл с кодом Java (с расширением .java) имеет определенную структуру.
!Структура стандартного Java-файла: от пакета до методов внутри класса.
Рассмотрим простейшую программу:
Разберем этот код по кирпичикам:
public class MyFirstMod: Это объявление класса. Имя класса (MyFirstMod) должно совпадать с именем файла (MyFirstMod.java).{ ... }: Фигурные скобки ограничивают тело класса. Всё, что находится между ними, принадлежит этому классу.public static void main(String[] args): Это метод. В данном случае, это главный метод, с которого начинается запуск любой обычной Java-программы. В моддинге Minecraft мы редко используем main напрямую (там запуск берет на себя загрузчик модов, например, Forge или Fabric), но знать его структуру обязательно.System.out.println(...): Команда вывода текста в консоль. Обратите внимание на точку с запятой ; в конце. Точка с запятой в Java обязательна в конце каждой команды. Это как точка в конце предложения.Переменные и типы данных
В любой игре нужно хранить информацию. Сколько у игрока здоровья? Какой у него никнейм? Включен ли режим полета? Для этого используются переменные.
Переменная — это именованная ячейка памяти, «коробка», в которую мы кладем значение. В Java, прежде чем положить что-то в коробку, мы должны сказать, какого типа вещи там будут храниться. Это называется строгая типизация.
Синтаксис создания переменной:
Примитивные типы данных
В Java есть 8 примитивных типов, но для моддинга нам чаще всего нужны следующие 4:
true (истина) или false (ложь). Идеально для переключателей.Ссылочные типы данных: String
Существуют типы данных, которые сложнее примитивов. Самый важный из них — String (строка). Это текст. Обратите внимание, что String пишется с большой буквы, так как это класс, а не примитив.
> Важно: Текст в Java всегда пишется в двойных кавычках "...". Одинарные кавычки '...' используются только для типа char.
!Визуализация типов данных через предметы Minecraft.
Операторы
С переменными можно производить различные действия.
Арифметические операторы
* + (сложение)
* - (вычитание)
(умножение)
* / (деление)
* % (остаток от деления)
Пример:
Операторы сравнения
Используются в условиях (например, «если здоровье меньше 0, игрок умирает»).
* > (больше)
* < (меньше)
* >= (больше или равно)
* <= (меньше или равно)
* == (равно) — обратите внимание на двойное равно!
* != (не равно)
Логические операторы
Позволяют комбинировать условия.
* && (И) — оба условия должны быть верны.
* || (ИЛИ) — хотя бы одно условие должно быть верно.
* ! (НЕ) — меняет значение на противоположное.
Пример логики для меча:
Методы
Если переменные — это существительные (данные), то методы — это глаголы (действия). Метод — это блок кода, который выполняет определенную задачу. В Minecraft методами описывается всё: jump() (прыгнуть), breakBlock() (сломать блок), craftItem() (скрафтить предмет).
Структура метода
Разберем составные части:
public (доступен всем) или private (доступен только внутри этого класса).double. Если метод просто пишет сообщение в чат и ничего не возвращает, используется ключевое слово void (пустота).Пример метода с возвращаемым значением
Допустим, мы пишем мод на новую броню, которая уменьшает урон.
* double перед именем метода означает, что в конце мы обязаны использовать команду return и вернуть число.
* В скобках мы принимаем входящий урон и уровень брони.
Пример void-метода
Метод, который просто лечит игрока (изменяет его состояние), но не возвращает число в ответ.
Здесь return не нужен, так как тип метода — void.
Комментарии
Хороший код должен быть понятен не только компьютеру, но и человеку. Для этого используются комментарии. Компилятор Java полностью игнорирует их.
* // — однострочный комментарий. Всё до конца строки считается текстом.
/ ... */ — многострочный комментарий.
Заключение
Сегодня мы изучили алфавит языка Java. Мы узнали:
* Как выглядит структура класса.
* Что int — для блоков, double — для здоровья, boolean — для состояний, а String — для текста.
* Как создавать методы, чтобы заставить код выполнять действия.
Эти знания — абсолютный минимум для написания модов. В следующей статье мы перейдем к более сложной, но захватывающей теме — Объектно-Ориентированному Программированию (ООП), на котором держится весь код Minecraft.