Как начать создавать мод новичку?

Вскм привет. У меня появилась идея для создания мода, но реализовать я её не могу потому что я забыл джаву и вообще не разбираюсь в создании модов для Minecraft. Пожалуйста помогите. Я уже пытался разбиратся но в основном пишкт про Minecraft Forge и всё. Поэтому буду признателен ели вы как то подскажите с чего мне вообще начать.
 
54
6
10
Начни с учебника

Там есть всё для основ (ну почти)

UPD: ну а вообще, для начала Java учи
 
6
0
Гайд:
шаг 1:
а)качаешь фордж версию МДК( для разрабочиков проще говоря. версия должна быть та на которую пишете мод )
б)качаешь JDK 1.8 или просто 8 (джава для разрабов) лишь с 8 работает
в)качаешь intellij idea
шаг 2:
а)нажимаем ПКМ на мой компютер/свойства/дополнительные параметры системы/переменные среды/ (в системных переменных найди path и напиши после - ; , путь к папке бин джава и поставь ту же - ; .
б) открываем архив форджа вытаскиваем все что там есть в папку (названую на англ языке и путь к которой на англ).
в) запускаем интелидж и открываем эту вот папку
шаг 3:
а)все файлы МДК форджа импортировано в интелидж, мы можем приступить к разработке, но для начала находим файл "build.grandle"
там нужно изменить следущее:

//версия майнкрафт и версия мода:
version = '1.15-0.1.0'
//после ком идет ник разраба и название мода в моем случае вот (мод я пытался перенести на 1.15 по этому вот
group = 'com.arusil.wasteland' // Maven – Guide to Naming Conventions
//название мода
archivesBaseName = 'wasteland'
//ниже будет вот это вот называется мапинг актуальную версию найти не сложно на 03.02.2021 актуальная версия вот:
mappings channel: 'snapshot', version: '20210130-1.15.1'
б)изменения в грандле внесены теперь дальше открываем папку crs в ней папку main и в ней находим папку ресурсы там будет папка метаинф и в ней файл модс(он отвечает за отображение мода)
изменения на примере моего мода:

[[mods]] #mandatory
# название мода
modId="wasteland" #mandatory
# версию подтянет с файла грандл ибо мы там ее указали
version="${file.jarVersion}" #mandatory
# отображаемое имя мода
displayName="wasteland" #mandatory
# сайт и прочее что можно оставить как и я по стандарту
updateJSONURL="http://myurl.me/" #optional
displayURL="http://example.com/" #optional
# картинка мода
logoFile="examplemod.png" #optional
# благодарочки
credits="Thanks for this example mod goes to Java" #optional
# авторы
authors="Love, Cheese and small house plants" #optional
# большой текст да да именно эти вот шесть скобок позволяют хоть книгу написать в коде(#mandatory)
description='''типа привет '''
#дальше видешь вот в квадратных скобках вастеланд написано вот туда тыкашь название мода что ты прописал. иначе может не сработать, а также здесь прописывают зависимости.
[[dependencies.wasteland]] #optional
modId="forge" #mandatory
mandatory=true #mandatory
versionRange="[31,)" #mandatory
ordering="NONE"
side="BOTH"
# так же что и в предыдущем
[[dependencies.wasteland]]
modId="minecraft"
mandatory=true
versionRange="[1.15.2]"
ordering="NONE"
side="BOTH"

в)теперь выходим из папки ресурсов и перед нами есть папка джава,
примерно это постало перед нами
1612355145065.png
тыкаем на шестерню
1612355215460.png
и убираем галочку с компактного отображения
1612355281973.png
видим примерно это, у вас будет "exsample " везде, по этому меняем как показано у меня, после ком идет ник разраба или ваш, потом папку называем названием мода, а файл в папке так же называем как и мод.

д) переходим в файл мода и изменяем как указано
//два слеша у вас это комантарии полезная вещь. так вот эта строка это путь к папке после ком ник разраба после него название мода
//это мы меняли переназывая папки и файлы
package com.example.examplemod;

// импорты они будут скрыты и их не трогаем
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

//везде где написано екзампл мод пишем название мода
@Mod("examplemod")
public class ExampleMod
//дальше идет код все что лишнее уже удалено у вас будут коментарии и много чего еще
{
private static final Logger LOGGER = LogManager.getLogger();
//изменить на название мода если стоит екзампл
public ExampleMod()
{

FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::doClientStuff);
MinecraftForge.EVENT_BUS.register(this);
}

private void setup(final FMLCommonSetupEvent event)
{

}

private void doClientStuff(final FMLClientSetupEvent event)
{

}
}


PROFFIT: Миссия завершена, гайд для подготовки есть, если нужно продолжение по: предметам, блокам, мобам, преобразовании мода в джава файл для полноценного использования, и много чего другого, пишите.
П.С. система сама укажет на ошибки внимательно слушайте, так же ЗАПОМНИЕ все что вы хотите сделать уже делали до вас просто ищите инфу.
 
6
0
Гайд:
шаг 1:
а)качаешь фордж версию МДК( для разрабочиков проще говоря. версия должна быть та на которую пишете мод )
б)качаешь JDK 1.8 или просто 8 (джава для разрабов) лишь с 8 работает
в)качаешь intellij idea
шаг 2:
а)нажимаем ПКМ на мой компютер/свойства/дополнительные параметры системы/переменные среды/ (в системных переменных найди path и напиши после - ; , путь к папке бин джава и поставь ту же - ; .
б) открываем архив форджа вытаскиваем все что там есть в папку (названую на англ языке и путь к которой на англ).
в) запускаем интелидж и открываем эту вот папку
шаг 3:
а)все файлы МДК форджа импортировано в интелидж, мы можем приступить к разработке, но для начала находим файл "build.grandle"
там нужно изменить следущее:

//версия майнкрафт и версия мода:
version = '1.15-0.1.0'
//после ком идет ник разраба и название мода в моем случае вот (мод я пытался перенести на 1.15 по этому вот
group = 'com.arusil.wasteland' // Maven – Guide to Naming Conventions
//название мода
archivesBaseName = 'wasteland'
//ниже будет вот это вот называется мапинг актуальную версию найти не сложно на 03.02.2021 актуальная версия вот:
mappings channel: 'snapshot', version: '20210130-1.15.1'
б)изменения в грандле внесены теперь дальше открываем папку crs в ней папку main и в ней находим папку ресурсы там будет папка метаинф и в ней файл модс(он отвечает за отображение мода)
изменения на примере моего мода:

[[mods]] #mandatory
# название мода
modId="wasteland" #mandatory
# версию подтянет с файла грандл ибо мы там ее указали
version="${file.jarVersion}" #mandatory
# отображаемое имя мода
displayName="wasteland" #mandatory
# сайт и прочее что можно оставить как и я по стандарту
updateJSONURL="http://myurl.me/" #optional
displayURL="http://example.com/" #optional
# картинка мода
logoFile="examplemod.png" #optional
# благодарочки
credits="Thanks for this example mod goes to Java" #optional
# авторы
authors="Love, Cheese and small house plants" #optional
# большой текст да да именно эти вот шесть скобок позволяют хоть книгу написать в коде(#mandatory)
description='''типа привет '''
#дальше видешь вот в квадратных скобках вастеланд написано вот туда тыкашь название мода что ты прописал. иначе может не сработать, а также здесь прописывают зависимости.
[[dependencies.wasteland]] #optional
modId="forge" #mandatory
mandatory=true #mandatory
versionRange="[31,)" #mandatory
ordering="NONE"
side="BOTH"
# так же что и в предыдущем
[[dependencies.wasteland]]
modId="minecraft"
mandatory=true
versionRange="[1.15.2]"
ordering="NONE"
side="BOTH"

в)теперь выходим из папки ресурсов и перед нами есть папка джава,
примерно это постало перед нами
Посмотреть вложение 11184
тыкаем на шестерню
Посмотреть вложение 11185
и убираем галочку с компактного отображения
Посмотреть вложение 11186
видим примерно это, у вас будет "exsample " везде, по этому меняем как показано у меня, после ком идет ник разраба или ваш, потом папку называем названием мода, а файл в папке так же называем как и мод.

д) переходим в файл мода и изменяем как указано
//два слеша у вас это комантарии полезная вещь. так вот эта строка это путь к папке после ком ник разраба после него название мода
//это мы меняли переназывая папки и файлы
package com.example.examplemod;

// импорты они будут скрыты и их не трогаем
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

//везде где написано екзампл мод пишем название мода
@Mod("examplemod")
public class ExampleMod
//дальше идет код все что лишнее уже удалено у вас будут коментарии и много чего еще
{
private static final Logger LOGGER = LogManager.getLogger();
//изменить на название мода если стоит екзампл
public ExampleMod()
{

FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::doClientStuff);
MinecraftForge.EVENT_BUS.register(this);
}

private void setup(final FMLCommonSetupEvent event)
{

}

private void doClientStuff(final FMLClientSetupEvent event)
{

}
}


PROFFIT: Миссия завершена, гайд для подготовки есть, если нужно продолжение по: предметам, блокам, мобам, преобразовании мода в джава файл для полноценного использования, и много чего другого, пишите.
П.С. система сама укажет на ошибки внимательно слушайте, так же ЗАПОМНИЕ все что вы хотите сделать уже делали до вас просто ищите инфу.
я немного невнимательный((уже есть гайды
 
183
8
16
Ещё ошибка. В пакете необязательно писать в начале "com.". Там можно вообще всё что угодно написать. Как минимум обычные приставки "net.", "me.", "com.", "org." и т.д.



UPD:
как раз наоборт, src)
 
6
0
Не ну про ошибку с расположением букв согласен, а про ком и так ясно, я же не писал : "обязательно ком"
 
Сверху