Перейти к содержанию
В разделе "Гайды" запрещено задавать вопросы по Майнкрафту.

Инструкция по Моддингу + отличная возможность для всех, кто хочет изучить Java


deleted404

Опрос  

121 пользователь проголосовал

  1. 1. Есть желание учить Java для моддинга?

    • Да
      85
    • Нет
      24
    • не уверен
      12
  2. 2. Вы смогли добраться до обучения mooc java курс?

    • Да
      21
    • Нет
      89
    • какие то моменты я не понял \ не получилось
      11
  3. 3. Стоит ли продолжать это?

    • да я хочу научиться делать крутые моды
      100
    • не знаю
      17
    • нет это бесполезно и никому не нужно
      4


Рекомендуемые сообщения

В теме 10 сообщений

 

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Часть 1. установка и настройка

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

IDE

В установщике IntelliJ IDEA ставим add bin folder to path / add open as project / .java .groovy .kt ----> см картинки

  • Устанавливаем JDK 11, в установщике ставим Set JAVA_HOME variableadoptopenjdk-set-registry-keys.png.7737fbadb25a514d06661a45f05a81f5.png
  • Создаем - E:\Modding\Minecraft Modding - в папку распакуем архив forge-1.16.5-36.2.20-mdk. удаляем не нужные блокноты LICENSE.txt README.txt changelog.txt.
  • Запускаем IntelliJ IDEA выбираем открыть проект E:\Modding\Minecraft Modding - папка где лежит наш build.gradle
  • Ждем пока все загрузится

после того как все загрузится должно быть примерно такimage.png.ce494d73f4aaf5fcb892bc3de7a0bace.png

image.png.e61c304075eafa78ad054b2ea4e99dd7.png

Сразу жмем на шестеренку слева > Tree appearance > снимаем галочки flatten packages + compact middle packages. все настройка завершена.

 

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Часть 2 . создаем супер-мод без знания языка ! 

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

 

в окне build.gradle на 15 строчке пишем нашу версию мода

version = '1.0'
version = '1.16.5-0.1'

в окне build.gradle на 16 строчке пишем автора мода и название мода.

(без пробелов, без хитростей и т.д.)

group = 'com.yourname.modid'
group = 'com.observer.supermod' 

в окне build.gradle на 17 строчке пишем название мода

archivesBaseName = 'supermod'

а теперь нам надо вызвать заменитель строк CTRL + R. появилось меню с лупой и 2мя строчками, в первую examplemod во вторую supermod

image.png.df3c1db8625ea31957cc6fa3b635c21f.png

в окне build.gradle на 34 строчке 

mappings channel: 'official', version: '1.16.5'

^ эту строчку стираем и вставляем строчку 34 :

mappings channel: 'snapshot', version: '20210309-1.16.5'

все. ничего не закрываем, оставь окно build.gradle.

и переходим по папкам:

src > main > java > com > example > examplemod > ExampleMod

открываем ExampleMod переходим в вкладку ExampleMod.java

в окне ExampleMod.java на 1 строчке пишем

package com.example.examplemod;
package com.observer.supermod;

после этого наша строчка 1 выделится красным, жмем по строчке ПКМ > show context actions > move to package 'com.observer.supermod'

после этого появится наша папка слева,

удали ту папку которая com > example.

переходим по нашим папкам com > observer > supermod > ExampleMod

нажми на ExampleMod и нажми ПКМ > Refactor > Rename и пишем новое название SuperMod.

на 22 строчке видим это

@Mod("examplemod")

сразу переходим на 24 строчку и видим знак {

после знака { жми ENTER

public static final String MOD_ID = "supermod";

^ пишем вот это и после этого можно поменять наш @Mod("examplemod") на 22 строчки вот так как на картинкеimage.png.e659724e050f4598d2570b9c77087338.png

если написать @Mod(supermod.MOD_ID) выдаст ошибку потому что название не правильное supermod, а надо точно так же как называется наш файл - SuperMod. 

правильно

@Mod(SuperMod.MOD_ID)

неправильно

@Mod("SuperMod".MOD_ID)

неправильно

@Mod("supermod.MOD_ID")

все. ничего не закрываем и теперь переходим в папку resources > META INF > mods.toml открываем его

в окне mods.toml находим строчку 18 и пишем

 

modId="supermod" #mandatory

в окне mods.toml находим строчку 24 и пишем

displayName="Super Mod" #mandatory

ВСЕ. 

Теперь надо сохранить все эти изменение

  1. сначала нажми на маленький призрак по середине, ждем.
  2. заходим в правом верхнем углу призрака с надписем Gradle.  открываем Tasks > forgegradle runs > genIntellijRuns. ждем.

image.png.11e349d5c8d438e7a61dc777f6507b45.png

 3. в самом Gradle открываем Tasks > forgegradle runs > genIntellijRuns. ждем.

После этого переходим в окно SuperMod.java и видим в строчке 54. его надо стереть 

LOGGER.info("Got game settings {}", event.getMinecraftSupplier().get().options);

^ стираем строчку 54.

Далее

Ищем следующие строчки 61 или 64, найдите вот это:

image.png.6251c360abc29f053d82ac6787429922.png

На этом месте осторожно удаляем и должно быть так:

image.png.eac6d670584b0752315d95dcf285a788.png

ВСЕ ! ФУХ. 

 

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Часть 3 . Проверяем наш мод

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

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

  • заходим в правом верхнем углу призрака с надписем Gradle и переходим по Tasks > forgegradle runs > Run Client 
  • RunClient - имитация майнкрафта
  • RunServer - запуск сервера
  • если мод запустился без ошибок и на сервере и на клиенте - он готов.
  • пора выпустить мод - Gradle > Tasks > build > build

image.png.f483b081358048371fddd25c29932a4a.png

image.png.d53fea49aece80e4a1207340fbc92051.png

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Если дошли до конца - тебе очень повезло, можно начинать изучать JAVA.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Что дальше, как научиться делать свой мод? 

Научиться программировать может любой школьник - даже если вам 11 лет и вы двоечник!

Список основных вещей, которые нужно знать перед попыткой моддинга:

  • Базовое знание Java: переменные, методы, классы (variables, methods, classes... )
  • Концепции объектно-ориентированного программирования (ООП): extends, implements, polymorphism...
  • Общие шаблоны программирования: factories, registries, consumers
  • Основы функционального программирования (FP): lambdas, effective final things...
  • Понимание основ: уметь читать и писать код, сделанный вами и другими - Основы очистки: умение искать что-то в ванильном коде -
  • Основы английского: умение читать и понимать, что говорится в руководствах, документации и т. Д.

Финнский курс MOOC по Java - любой сможет научиться - главное мотивация......отличная возможность для всех, кто хочет изучить java https://java-programming.mooc.fi/ <-----

Настройка среды обучение TMC java mooc.

TMCBeans Java MOOC - учитель по кодингу для чайников. В клубе будет все необходимое, помощь, настройка, вопросы, переходим дальше, в раздел (Основная информация) 

 

Ссылка на комментарий
Поделиться на другие сайты

  • deleted404 изменил название на Инструкция по Моддингу + отличная возможность для всех, кто хочет изучить Java
  • 3 года спустя...
17 минут назад, PartyFall_5 сказал:

я понимаю что три года назад, однако вопрос задам. При запуске сервера ошибка Connection reset by peer

 

дай логи

Ссылка на комментарий
Поделиться на другие сайты

В 20.05.2025 в 18:32, Shomen сказал:

дай логи

В каком смысле? Если что, то в терминал мне кроме этого сообщения больше ничего не пишет

Ссылка на комментарий
Поделиться на другие сайты

39 минут назад, PartyFall_5 сказал:

В каком смысле? Если что, то в терминал мне кроме этого сообщения больше ничего не пишет

оно должен выводить что он запустил сервер (или попытался его запустить) или ошибку при сборке мода

если ты не хочешь описывать проблему, то её опишет машина за тебя

Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, Shomen сказал:

оно должен выводить что он запустил сервер (или попытался его запустить) или ошибку при сборке мода

если ты не хочешь описывать проблему, то её опишет машина за тебя

Сейчас зайду в ноутбук и скину

6 минут назад, Shomen сказал:

оно должен выводить что он запустил сервер (или попытался его запустить) или ошибку при сборке мода

если ты не хочешь описывать проблему, то её опишет машина за тебя

Так смотри. Сначало он что то пишет в терминал, а потом все это удаляет и выводит это

7 минут назад, Shomen сказал:

оно должен выводить что он запустил сервер (или попытался его запустить) или ошибку при сборке мода

если ты не хочешь описывать проблему, то её опишет машина за тебя

Я ведь описал проблему. Запускаю свой мод сервером. Выводит ошибку connection reset by peel

20:18:52: Executing 'runServer'…

Starting Gradle Daemon...
Gradle Daemon started in 4 s 727 ms

> Configure project :
Java: 11.0.27 JVM: 11.0.27+6(Eclipse Adoptium) Arch: amd64

> Task :compileJava UP-TO-DATE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :downloadMcpConfig
> Task :extractSrg UP-TO-DATE
> Task :createSrgToMcp UP-TO-DATE
> Task :downloadMCMeta UP-TO-DATE
> Task :downloadAssets UP-TO-DATE
> Task :extractNatives UP-TO-DATE
> Task :makeSrcDirs
> Task :prepareRuns
> Task :prepareRunServer

> Task :runServer

Это начало того что мне пишут. Дальше просто спам
 

Ссылка на комментарий
Поделиться на другие сайты

4 hours ago, PartyFall_5 said:

Дальше просто спам

Это называется не 'спам', это 'логи'

 

3 hours ago, PartyFall_5 said:

Новый текстовый документ.txt 50.19 kB · 1 download

Последняя строка: "You need to agree to the EULA in order to run the server. Go to eula.txt for more info."

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...