Deimos
Активный0.0
Установок
Последнее обновление
Версии
Deimos - библиотека для генерации данных и конфигураций
Deimos представляет собой мощную библиотеку для Minecraft, предназначенную для генерации конфигурационных файлов и данных. Эта библиотека позволяет разработчикам создавать настраиваемые конфигурации, которые можно просматривать непосредственно в игре на платформах Forge и Neoforge. Для Fabric используется дополнительная интеграция с Mod Menu.
Основные возможности
Библиотека Deimos открывает перед разработчиками широкие возможности для создания динамических рецептов крафта, которые генерируются при запуске игры. Это означает, что вам больше не нужно работать с JSON-файлами вручную, что значительно упрощает процесс разработки и обновления модов для разных версий Minecraft.
Технические особенности
Основа конфигурационной части библиотеки построена на MidnightLib от Motschen. Deimos был создан для унификации процесса разработки модов и позволяет использовать единую библиотеку конфигураций для всех модлоадеров и версий игры.
Для разработчиков
Настройка проекта
Вы можете использовать готовые шаблоны IntelliJ для создания многозагрузочных проектов с предустановленной конфигурацией Deimos или настроить библиотеку вручную.
Добавление репозитория в build.gradle
repositories {
maven {
url = "https://api.modrinth.com/maven"
}
}
Зависимости для Forge и Neoforge
dependencies {
implementation "maven.modrinth:deimos:${project.deimos_version}"
}
Зависимости для Fabric
dependencies {
modImplementation "maven.modrinth:deimos:${project.deimos_version}"
// для использования modmenu
modCompileOnly "com.terraformersmc:modmenu:${project.modmenu_version}"
}
Для работы с Mod Menu необходимо добавить дополнительный репозиторий:
repositories {
maven {
name = "Terraformers"
url = "https://maven.terraformersmc.com/"
}
}
Работа с конфигурациями
Создание конфигурационных файлов осуществляется через класс, наследующий DeimosConfig:
public class TestConfig extends DeimosConfig {
@Entry public static int test_int = 6;
@Entry public static List<String> test_string_list = Lists.newArrayList(
"minecraft:acacia_planks", "minecraft:andesite");
}
Инициализация конфигурации в методе initialize:
DeimosConfig.init(MOD_ID, TestConfig.class);
Генерация рецептов
DeimosRecipeGenerator предоставляет методы для создания различных типов рецептов:
// Создание рецепта плавки
DeimosRecipeGenerator.createSmeltingJson(TestConfig.test_string_list.get(0), TestConfig.test_string_list.get(1), TestConfig.test_int, 0.5F);
// Создание рецепта крафта с формой
DeimosRecipeGenerator.createShapedRecipeJson(
Lists.newArrayList('#'),
Lists.newArrayList(ResourceLocation.parse("sand")),
Lists.newArrayList("item"),
Lists.newArrayList(
"# ",
" #"
),
ResourceLocation.parse("stone"), 1);
Важной особенностью является возможность использования значений из конфигурационных файлов. При изменении настроек игроком и перезапуске игры рецепты автоматически обновляются, включая работу с модифицированными предметами.