diff --git a/build.gradle.kts b/build.gradle.kts index 09960a4b0..5789fec33 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -171,6 +171,7 @@ dependencies { val prism_lib_id: String by project val cloth_config_version: String by project val condensed_creative_version: String by project + val mekanism_version: String by project compileOnly("top.theillusivec4.curios:curios-neoforge:${curios_version}+${curios_mc_version}") implementation("curse.maven:cosmetic-armor-reworked-237307:$cosmetic_armor_reworked_id") @@ -207,6 +208,8 @@ dependencies { // runtimeOnly("curse.maven:integrated-terminals-295910:4400924") // runtimeOnly("curse.maven:common-capabilities-247007:4391468") // runtimeOnly("curse.maven:integrated-tunnels-251389:4344632") + + implementation("mekanism:Mekanism:${mc_version}-${mekanism_version}") } } @@ -276,7 +279,6 @@ repositories { content { includeGroup("yalter.mousetweaks") - includeGroup("mekanism") includeGroup("lain.mods.cos") includeGroup("at.ridgo8.moreoverlays") includeGroup("ru.dbotthepony") @@ -338,6 +340,14 @@ repositories { } } + maven { + url = uri("https://modmaven.dev/") + + content { + includeGroup("mekanism") + } + } + // mavenCentral() } diff --git a/gradle.properties b/gradle.properties index 22114a8e4..c7a457f8f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,7 +15,7 @@ jei_mc_version=1.21.1 curios_mc_version=1.21 forge_gradle_version=7.0.153 -forge_version=21.1.1 +forge_version=21.1.21 mixingradle_version=0.7.33 mixin_version=0.8.5 @@ -37,6 +37,7 @@ iceberg_id=5750025 prism_lib_id=5625115 cloth_config_version=15.0.130 condensed_creative_version=3.4.1+1.21 +mekanism_version=10.7.7.64 kotlin_for_forge_version=5.5.0 kotlin_version=2.0.10 diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/PainterRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/PainterRecipes.kt index 59a20c85b..f60fed4c5 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/PainterRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/PainterRecipes.kt @@ -1,11 +1,17 @@ package ru.dbotthepony.mc.otm.datagen.recipes +import mekanism.api.recipes.basic.BasicPaintingRecipe +import mekanism.api.recipes.ingredients.creator.IngredientCreatorAccess +import mekanism.api.text.EnumColor +import mekanism.common.registries.MekanismChemicals import net.minecraft.data.recipes.RecipeOutput +import net.minecraft.resources.ResourceLocation import net.minecraft.world.item.DyeColor import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack import net.minecraft.world.item.Items import net.minecraft.world.item.crafting.Ingredient +import net.neoforged.fml.ModList import ru.dbotthepony.mc.otm.core.registryName import ru.dbotthepony.mc.otm.datagen.modLocation import ru.dbotthepony.mc.otm.recipe.PainterArmorDyeRecipe @@ -15,6 +21,10 @@ import ru.dbotthepony.mc.otm.registry.MRegistry private val Item.recipeName get() = registryName!!.namespace + "/" + registryName!!.path +private val isMekanismLoaded by lazy { + ModList.get().isLoaded("mekanism") +} + private fun generate(consumer: RecipeOutput, items: Map, amount: Int = 1) { for ((targetColor, targetItem) in items) { if (targetColor == null) continue @@ -24,6 +34,16 @@ private fun generate(consumer: RecipeOutput, items: Map, am ItemStack(targetItem), mapOf(targetColor to amount, null to 15) )) + + if (isMekanismLoaded) { + addMekanismPaintRecipe(consumer, + modLocation("mekanism/painter/" + targetItem.recipeName), + Ingredient.of(items.entries.stream().filter { it.key != null && it.key != targetColor }.map { ItemStack(it.value) }), + ItemStack(targetItem), + targetColor, + amount + ) + } } } @@ -41,6 +61,16 @@ private fun generate(consumer: RecipeOutput, default: Item, items: Map