ура балансим шлемак (#68)

This commit is contained in:
YuRaNnNzZZ 2022-09-06 06:04:58 +03:00
parent d00338303e
commit 71e9c0b57e
Signed by: YuRaNnNzZZ
GPG Key ID: 5F71738C85A6006D

View File

@ -1,330 +1,330 @@
package ru.dbotthepony.mc.otm.datagen.recipes
import net.minecraft.data.recipes.FinishedRecipe
import net.minecraft.data.recipes.ShapedRecipeBuilder
import net.minecraft.data.recipes.ShapelessRecipeBuilder
import net.minecraft.data.recipes.SimpleCookingRecipeBuilder
import net.minecraft.resources.ResourceLocation
import net.minecraft.world.item.DyeColor
import net.minecraft.world.item.Items
import net.minecraft.world.item.crafting.Ingredient
import net.minecraft.world.level.block.Blocks
import net.minecraftforge.common.Tags
import net.minecraftforge.common.Tags.Items.COBBLESTONE
import ru.dbotthepony.mc.otm.OverdriveThatMatters
import ru.dbotthepony.mc.otm.registry.MBlocks
import ru.dbotthepony.mc.otm.registry.MItemTags
import ru.dbotthepony.mc.otm.registry.MItems
import ru.dbotthepony.mc.otm.registry.MRegistry
import ru.dbotthepony.mc.otm.core.registryName
import java.util.function.Consumer
fun addCraftingTableRecipes(consumer: Consumer<FinishedRecipe>) {
for ((dye, crate) in MRegistry.CARGO_CRATES.mappedColoredBlocks) {
ShapedRecipeBuilder(crate, 1)
.define('P', MItemTags.PLATE_TRITANIUM)
.define('C', Tags.Items.CHESTS)
.define('D', dye.tag)
.pattern(" D ").pattern("PCP")
// .unlockedBy("has_dye", has(dye.tag))
.unlockedBy("has_tritanium_plate", has(MItemTags.PLATE_TRITANIUM))
.unlockedBy("has_chest", has(Tags.Items.CHESTS))
.save(consumer)
ShapelessRecipeBuilder(crate, 1)
.requires(Ingredient.of(MItemTags.TRITANIUM_CRATES), 1)
.requires(Ingredient.of(dye.tag), 1)
.unlockedBy("has_tritanium_crate", has(MItemTags.TRITANIUM_CRATES))
.save(consumer, "${crate.registryName}_alt")
}
ShapedRecipeBuilder(MRegistry.CARGO_CRATES.item, 1)
.define('P', MItemTags.PLATE_TRITANIUM)
.define('C', Tags.Items.CHESTS)
.pattern("PCP")
.unlockedBy("has_tritanium_plate", has(MItemTags.PLATE_TRITANIUM))
.unlockedBy("has_chest", has(Tags.Items.CHESTS))
.save(consumer)
for ((color, item) in MRegistry.TRITANIUM_BLOCK.mappedColoredItemsAll) {
MatteryRecipe(item, 24)
.rowAB(color?.tag, MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, COBBLESTONE, MItemTags.PLATE_TRITANIUM)
.rowB(MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.also { if (color != null) it.unlockedBy(color.tag) }
.build(consumer)
}
MatteryRecipe(MBlocks.PLATE_PRESS)
.row(MItems.ELECTRIC_PARTS, MItems.ENERGY_BUS, MItems.ELECTRIC_PARTS)
.row(MItemTags.INGOT_TRITANIUM, Items.BLAST_FURNACE, MItemTags.INGOT_TRITANIUM)
.row(MItemTags.PISTONS, MItemTags.INGOT_TRITANIUM, MItemTags.PISTONS)
.unlockedBy(MItemTags.INGOT_TRITANIUM)
.unlockedBy(MItems.ELECTRIC_PARTS)
.build(consumer)
MatteryRecipe(MBlocks.PLATE_PRESS)
.rowB(MItemTags.BASIC_CIRCUIT)
.row(MItemTags.PLATE_TRITANIUM, MItems.MACHINE_FRAME, MItemTags.PLATE_TRITANIUM)
.rowAC(MItemTags.PISTONS, MItemTags.PISTONS)
.unlockedBy(MItemTags.INGOT_TRITANIUM)
.unlockedBy(MItems.ELECTRIC_PARTS)
.build(consumer, "advanced")
MatteryRecipe(MBlocks.TRITANIUM_STRIPED_BLOCK, 24)
.rowB(MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, COBBLESTONE, MItemTags.PLATE_TRITANIUM)
.rowAB(Tags.Items.DYES_YELLOW, MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.unlockedBy(Tags.Items.DYES_YELLOW)
.build(consumer)
MatteryRecipe(MBlocks.TRITANIUM_STRIPED_BLOCK, 24)
.rowB(MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, COBBLESTONE, MItemTags.PLATE_TRITANIUM)
.rowBC(MItemTags.PLATE_TRITANIUM, Tags.Items.DYES_YELLOW)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.unlockedBy(Tags.Items.DYES_YELLOW)
.build(consumer, "alt")
for ((item, colors) in MRegistry.TRITANIUM_STRIPED_BLOCK.itemsWithColor) {
val (base, stripe) = colors
MatteryRecipe(item, 24)
.rowAB(a = base.tag, b = MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, COBBLESTONE, MItemTags.PLATE_TRITANIUM)
.rowAB(a = stripe.tag, b = MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.unlockedBy(base.tag)
.unlockedBy(stripe.tag)
.build(consumer, "1")
MatteryRecipe(item, 24)
.rowBC(c = base.tag, b = MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, COBBLESTONE, MItemTags.PLATE_TRITANIUM)
.rowBC(c = stripe.tag, b = MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.unlockedBy(base.tag)
.unlockedBy(stripe.tag)
.build(consumer, "2")
MatteryRecipe(item, 24)
.rowAB(a = base.tag, b = MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, COBBLESTONE, MItemTags.PLATE_TRITANIUM)
.rowBC(c = stripe.tag, b = MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.unlockedBy(base.tag)
.unlockedBy(stripe.tag)
.build(consumer, "3")
MatteryRecipe(item, 24)
.rowBC(c = base.tag, b = MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, COBBLESTONE, MItemTags.PLATE_TRITANIUM)
.rowAB(a = stripe.tag, b = MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.unlockedBy(base.tag)
.unlockedBy(stripe.tag)
.build(consumer, "4")
}
for ((color, item) in MRegistry.VENT.mappedColoredItemsAll) {
MatteryRecipe(item, 24)
.rowAB(color?.tag, MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, Items.IRON_BARS, MItemTags.PLATE_TRITANIUM)
.rowB(MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.also { if (color != null) it.unlockedBy(color.tag) }
.build(consumer)
}
for ((color, item) in MRegistry.VENT_ALTERNATIVE.mappedColoredItemsAll) {
val other = MRegistry.VENT.mappedColoredItemsAll[color]!!
ShapelessRecipeBuilder(item, 1).requires(other).unlockedBy(item).save(consumer)
ShapelessRecipeBuilder(other, 1).requires(item).unlockedBy(other).save(consumer, ResourceLocation(OverdriveThatMatters.MOD_ID, "${other.registryName!!.path}_from_alt"))
}
for ((crate, color) in listOf(
MItems.CRATE_RED to Tags.Items.DYES_RED,
MItems.CRATE_BLUE to Tags.Items.DYES_BLUE,
MItems.CRATE_YELLOW to Tags.Items.DYES_YELLOW,
MItems.CRATE_GREEN to Tags.Items.DYES_GREEN,
MItems.CRATE_BLACK to Tags.Items.DYES_BLACK,
MItems.CRATE_PINK to Tags.Items.DYES_PINK,
MItems.CRATE_PURPLE to Tags.Items.DYES_PURPLE,
)) {
MatteryRecipe(crate, 24)
.rowAB(color, MItemTags.PLATE_IRON)
.row(MItemTags.PLATE_IRON, COBBLESTONE, MItemTags.PLATE_IRON)
.rowB(MItemTags.PLATE_IRON)
.unlockedBy(MItemTags.PLATE_IRON)
.unlockedBy(color)
.build(consumer, "1")
MatteryRecipe(crate, 24)
.rowBC(MItemTags.PLATE_IRON, color)
.row(MItemTags.PLATE_IRON, COBBLESTONE, MItemTags.PLATE_IRON)
.rowB(MItemTags.PLATE_IRON)
.unlockedBy(MItemTags.PLATE_IRON)
.unlockedBy(color)
.build(consumer, "2")
MatteryRecipe(crate, 24)
.rowB(MItemTags.PLATE_IRON)
.row(MItemTags.PLATE_IRON, COBBLESTONE, MItemTags.PLATE_IRON)
.rowAB(color, MItemTags.PLATE_IRON)
.unlockedBy(MItemTags.PLATE_IRON)
.unlockedBy(color)
.build(consumer, "3")
MatteryRecipe(crate, 24)
.rowB(MItemTags.PLATE_IRON)
.row(MItemTags.PLATE_IRON, COBBLESTONE, MItemTags.PLATE_IRON)
.rowBC(MItemTags.PLATE_IRON, color)
.unlockedBy(MItemTags.PLATE_IRON)
.unlockedBy(color)
.build(consumer, "4")
}
// Машины
MatteryRecipe(MItems.MATTER_RECYCLER)
.row(MItems.MATTER_CAPACITOR_PARTS, Items.HOPPER, MItemTags.BASIC_CIRCUIT)
.row(MItemTags.PLATE_TRITANIUM, MItems.MACHINE_FRAME, MItemTags.PLATE_TRITANIUM)
.row(MItems.MATTER_CABLE, MItems.MATTER_IO_PORT, MItems.MATTER_CABLE)
.unlockedBy(MItems.MATTER_CABLE)
.build(consumer)
// Блоки
MatteryRecipe(MItems.MATTER_CAPACITOR_BANK)
.row(Tags.Items.GLASS, MItemTags.PLATE_IRON, Tags.Items.GLASS)
.row(MItemTags.PLATE_IRON, MItems.MACHINE_FRAME, MItemTags.PLATE_IRON)
.row(MItems.MATTER_CABLE, MItems.MATTER_IO_PORT, MItems.MATTER_CABLE)
.unlockedBy(MItems.MATTER_CABLE)
.build(consumer)
MatteryRecipe(MItems.BATTERY_BANK)
.row(Tags.Items.GLASS, MItemTags.PLATE_IRON, Tags.Items.GLASS)
.row(MItemTags.PLATE_IRON, MItems.MACHINE_FRAME, MItemTags.PLATE_IRON)
.row(MItems.ELECTRIC_PARTS, MItems.ENERGY_BUS, MItems.ELECTRIC_PARTS)
.unlockedBy(MItems.ENERGY_BUS)
.build(consumer)
MatteryRecipe(MItems.GRAVITATION_STABILIZER)
.row(MItemTags.ADVANCED_CIRCUIT, MItems.GRAVITATION_FIELD_SENSOR, MItemTags.ADVANCED_CIRCUIT)
.row(MItems.MATTER_TRANSFORM_MATRIX, MItems.MACHINE_FRAME, MItems.MATTER_TRANSFORM_MATRIX)
.row(MItemTags.PLATE_TRITANIUM, MItems.GRAVITATION_FIELD_LIMITER, MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItems.GRAVITATION_FIELD_LIMITER)
.unlockedBy(MItems.GRAVITATION_FIELD_SENSOR)
.build(consumer)
MatteryRecipe(MItems.PORTABLE_GRAVITATION_STABILIZER)
.rowB(MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, MItems.GRAVITATION_FIELD_SENSOR, MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, MItems.GRAVITATION_FIELD_LIMITER, MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItems.GRAVITATION_FIELD_LIMITER)
.unlockedBy(MItems.GRAVITATION_FIELD_SENSOR)
.build(consumer)
MatteryRecipe(MItems.GRAVITATION_FIELD_SENSOR)
.rowB(MItemTags.BASIC_CIRCUIT)
.row(MItemTags.COPPER_WIRES, Tags.Items.ENDER_PEARLS, MItemTags.COPPER_WIRES)
.rowB(MItemTags.PLATE_IRON)
.build(consumer)
MatteryRecipe(MItems.GRAVITATION_FIELD_LIMITER)
.row(Tags.Items.ENDER_PEARLS, MItemTags.ADVANCED_CIRCUIT, Tags.Items.ENDER_PEARLS)
.row(MItemTags.GOLD_WIRES, null as Ingredient?, MItemTags.GOLD_WIRES)
.rowB(MItemTags.PLATE_TRITANIUM)
.build(consumer)
MatteryRecipe(MItems.BLACK_HOLE_SCANNER)
.row(MItemTags.PLATE_IRON, Tags.Items.GLASS_PANES_COLORLESS, MItemTags.PLATE_IRON)
.row(MItemTags.GOLD_WIRES, MItems.GRAVITATION_FIELD_SENSOR, MItemTags.ADVANCED_CIRCUIT)
.rowAC(Tags.Items.DUSTS_GLOWSTONE, MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItems.GRAVITATION_FIELD_SENSOR)
.build(consumer)
// броня
MatteryRecipe(MItems.TRITANIUM_HELMET)
.row(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_IRON, MItemTags.PLATE_TRITANIUM)
.rowAC(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.build(consumer)
MatteryRecipe(MItems.TRITANIUM_PANTS)
.row(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_IRON, MItemTags.PLATE_TRITANIUM)
.rowAC(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.build(consumer)
MatteryRecipe(MItems.TRITANIUM_CHESTPLATE)
.row(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_IRON, MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.build(consumer)
MatteryRecipe(MItems.TRITANIUM_BOOTS)
.rowAC(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_IRON, MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.build(consumer)
// простые батарейки
MatteryRecipe(MItems.BATTERY_CRUDE)
.rowB(Tags.Items.DUSTS_REDSTONE)
// .rowB(MItems.ELECTRIC_PARTS)
// .rowB(MItemTags.PLATE_IRON)
.rowB(Tags.Items.INGOTS_IRON)
.build(consumer)
MatteryRecipe(MItems.BATTERY_BASIC)
.rowB(Tags.Items.DUSTS_REDSTONE)
.rowB(MItems.ELECTRIC_PARTS)
.rowB(MItemTags.PLATE_IRON)
.build(consumer)
MatteryRecipe(MItems.BATTERY_NORMAL)
.row(Tags.Items.DUSTS_REDSTONE, MItemTags.COPPER_WIRES, Tags.Items.DUSTS_REDSTONE)
.row(MItems.ELECTRIC_PARTS, MItemTags.PLATE_IRON, MItems.ELECTRIC_PARTS)
.build(consumer)
MatteryRecipe(MItems.BATTERY_DENSE)
.row(Tags.Items.DUSTS_REDSTONE, MItems.ENERGY_BUS, Tags.Items.DUSTS_REDSTONE)
.row(MItemTags.GOLD_WIRES, MItemTags.PLATE_TRITANIUM, MItemTags.GOLD_WIRES)
.row(Tags.Items.DUSTS_REDSTONE, Tags.Items.DUSTS_REDSTONE, Tags.Items.DUSTS_REDSTONE)
.build(consumer)
MatteryRecipe(MItems.BATTERY_CAPACITOR)
.row(Tags.Items.DUSTS_REDSTONE, MItems.ENERGY_BUS, Tags.Items.DUSTS_REDSTONE)
.row(MItemTags.GOLD_WIRES, MItemTags.PLATE_TRITANIUM, MItemTags.GOLD_WIRES)
.row(MItemTags.GOLD_WIRES, Tags.Items.DUSTS_REDSTONE, MItemTags.GOLD_WIRES)
.build(consumer)
// накопители материи
MatteryRecipe(MItems.MATTER_CAPACITOR_DENSE)
.row(MItems.MATTER_CAPACITOR_PARTS, Tags.Items.GLASS, MItems.MATTER_CAPACITOR_PARTS)
.row(MItemTags.PLATE_TRITANIUM, Tags.Items.ENDER_PEARLS, MItemTags.PLATE_TRITANIUM)
.rowAC(Tags.Items.GEMS_DIAMOND, Tags.Items.GEMS_DIAMOND)
.build(consumer)
// Напольная плитка
for ((color, unrefinedItem) in MRegistry.UNREFINED_FLOOR_TILES.mappedColoredItems) {
MatteryRecipe(unrefinedItem, 24)
.row(Items.CLAY, Items.SAND, Items.CLAY)
.row(Items.SAND, color.tag, Items.SAND)
.row(Items.CLAY, Items.SAND, Items.CLAY)
.unlockedBy(Items.CLAY)
.build(consumer)
}
for ((color, refinedItem) in MRegistry.FLOOR_TILES.mappedColoredItems) {
SimpleCookingRecipeBuilder.smelting(
Ingredient.of(MRegistry.UNREFINED_FLOOR_TILES.mappedColoredItems[color]!!),
refinedItem,
0.15f,
200
).unlockedBy("has_unrefined_block", has(MRegistry.UNREFINED_FLOOR_TILES.mappedColoredItems[color]!!)).save(consumer)
}
}
package ru.dbotthepony.mc.otm.datagen.recipes
import net.minecraft.data.recipes.FinishedRecipe
import net.minecraft.data.recipes.ShapedRecipeBuilder
import net.minecraft.data.recipes.ShapelessRecipeBuilder
import net.minecraft.data.recipes.SimpleCookingRecipeBuilder
import net.minecraft.resources.ResourceLocation
import net.minecraft.world.item.DyeColor
import net.minecraft.world.item.Items
import net.minecraft.world.item.crafting.Ingredient
import net.minecraft.world.level.block.Blocks
import net.minecraftforge.common.Tags
import net.minecraftforge.common.Tags.Items.COBBLESTONE
import ru.dbotthepony.mc.otm.OverdriveThatMatters
import ru.dbotthepony.mc.otm.registry.MBlocks
import ru.dbotthepony.mc.otm.registry.MItemTags
import ru.dbotthepony.mc.otm.registry.MItems
import ru.dbotthepony.mc.otm.registry.MRegistry
import ru.dbotthepony.mc.otm.core.registryName
import java.util.function.Consumer
fun addCraftingTableRecipes(consumer: Consumer<FinishedRecipe>) {
for ((dye, crate) in MRegistry.CARGO_CRATES.mappedColoredBlocks) {
ShapedRecipeBuilder(crate, 1)
.define('P', MItemTags.PLATE_TRITANIUM)
.define('C', Tags.Items.CHESTS)
.define('D', dye.tag)
.pattern(" D ").pattern("PCP")
// .unlockedBy("has_dye", has(dye.tag))
.unlockedBy("has_tritanium_plate", has(MItemTags.PLATE_TRITANIUM))
.unlockedBy("has_chest", has(Tags.Items.CHESTS))
.save(consumer)
ShapelessRecipeBuilder(crate, 1)
.requires(Ingredient.of(MItemTags.TRITANIUM_CRATES), 1)
.requires(Ingredient.of(dye.tag), 1)
.unlockedBy("has_tritanium_crate", has(MItemTags.TRITANIUM_CRATES))
.save(consumer, "${crate.registryName}_alt")
}
ShapedRecipeBuilder(MRegistry.CARGO_CRATES.item, 1)
.define('P', MItemTags.PLATE_TRITANIUM)
.define('C', Tags.Items.CHESTS)
.pattern("PCP")
.unlockedBy("has_tritanium_plate", has(MItemTags.PLATE_TRITANIUM))
.unlockedBy("has_chest", has(Tags.Items.CHESTS))
.save(consumer)
for ((color, item) in MRegistry.TRITANIUM_BLOCK.mappedColoredItemsAll) {
MatteryRecipe(item, 24)
.rowAB(color?.tag, MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, COBBLESTONE, MItemTags.PLATE_TRITANIUM)
.rowB(MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.also { if (color != null) it.unlockedBy(color.tag) }
.build(consumer)
}
MatteryRecipe(MBlocks.PLATE_PRESS)
.row(MItems.ELECTRIC_PARTS, MItems.ENERGY_BUS, MItems.ELECTRIC_PARTS)
.row(MItemTags.INGOT_TRITANIUM, Items.BLAST_FURNACE, MItemTags.INGOT_TRITANIUM)
.row(MItemTags.PISTONS, MItemTags.INGOT_TRITANIUM, MItemTags.PISTONS)
.unlockedBy(MItemTags.INGOT_TRITANIUM)
.unlockedBy(MItems.ELECTRIC_PARTS)
.build(consumer)
MatteryRecipe(MBlocks.PLATE_PRESS)
.rowB(MItemTags.BASIC_CIRCUIT)
.row(MItemTags.PLATE_TRITANIUM, MItems.MACHINE_FRAME, MItemTags.PLATE_TRITANIUM)
.rowAC(MItemTags.PISTONS, MItemTags.PISTONS)
.unlockedBy(MItemTags.INGOT_TRITANIUM)
.unlockedBy(MItems.ELECTRIC_PARTS)
.build(consumer, "advanced")
MatteryRecipe(MBlocks.TRITANIUM_STRIPED_BLOCK, 24)
.rowB(MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, COBBLESTONE, MItemTags.PLATE_TRITANIUM)
.rowAB(Tags.Items.DYES_YELLOW, MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.unlockedBy(Tags.Items.DYES_YELLOW)
.build(consumer)
MatteryRecipe(MBlocks.TRITANIUM_STRIPED_BLOCK, 24)
.rowB(MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, COBBLESTONE, MItemTags.PLATE_TRITANIUM)
.rowBC(MItemTags.PLATE_TRITANIUM, Tags.Items.DYES_YELLOW)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.unlockedBy(Tags.Items.DYES_YELLOW)
.build(consumer, "alt")
for ((item, colors) in MRegistry.TRITANIUM_STRIPED_BLOCK.itemsWithColor) {
val (base, stripe) = colors
MatteryRecipe(item, 24)
.rowAB(a = base.tag, b = MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, COBBLESTONE, MItemTags.PLATE_TRITANIUM)
.rowAB(a = stripe.tag, b = MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.unlockedBy(base.tag)
.unlockedBy(stripe.tag)
.build(consumer, "1")
MatteryRecipe(item, 24)
.rowBC(c = base.tag, b = MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, COBBLESTONE, MItemTags.PLATE_TRITANIUM)
.rowBC(c = stripe.tag, b = MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.unlockedBy(base.tag)
.unlockedBy(stripe.tag)
.build(consumer, "2")
MatteryRecipe(item, 24)
.rowAB(a = base.tag, b = MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, COBBLESTONE, MItemTags.PLATE_TRITANIUM)
.rowBC(c = stripe.tag, b = MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.unlockedBy(base.tag)
.unlockedBy(stripe.tag)
.build(consumer, "3")
MatteryRecipe(item, 24)
.rowBC(c = base.tag, b = MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, COBBLESTONE, MItemTags.PLATE_TRITANIUM)
.rowAB(a = stripe.tag, b = MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.unlockedBy(base.tag)
.unlockedBy(stripe.tag)
.build(consumer, "4")
}
for ((color, item) in MRegistry.VENT.mappedColoredItemsAll) {
MatteryRecipe(item, 24)
.rowAB(color?.tag, MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, Items.IRON_BARS, MItemTags.PLATE_TRITANIUM)
.rowB(MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.also { if (color != null) it.unlockedBy(color.tag) }
.build(consumer)
}
for ((color, item) in MRegistry.VENT_ALTERNATIVE.mappedColoredItemsAll) {
val other = MRegistry.VENT.mappedColoredItemsAll[color]!!
ShapelessRecipeBuilder(item, 1).requires(other).unlockedBy(item).save(consumer)
ShapelessRecipeBuilder(other, 1).requires(item).unlockedBy(other).save(consumer, ResourceLocation(OverdriveThatMatters.MOD_ID, "${other.registryName!!.path}_from_alt"))
}
for ((crate, color) in listOf(
MItems.CRATE_RED to Tags.Items.DYES_RED,
MItems.CRATE_BLUE to Tags.Items.DYES_BLUE,
MItems.CRATE_YELLOW to Tags.Items.DYES_YELLOW,
MItems.CRATE_GREEN to Tags.Items.DYES_GREEN,
MItems.CRATE_BLACK to Tags.Items.DYES_BLACK,
MItems.CRATE_PINK to Tags.Items.DYES_PINK,
MItems.CRATE_PURPLE to Tags.Items.DYES_PURPLE,
)) {
MatteryRecipe(crate, 24)
.rowAB(color, MItemTags.PLATE_IRON)
.row(MItemTags.PLATE_IRON, COBBLESTONE, MItemTags.PLATE_IRON)
.rowB(MItemTags.PLATE_IRON)
.unlockedBy(MItemTags.PLATE_IRON)
.unlockedBy(color)
.build(consumer, "1")
MatteryRecipe(crate, 24)
.rowBC(MItemTags.PLATE_IRON, color)
.row(MItemTags.PLATE_IRON, COBBLESTONE, MItemTags.PLATE_IRON)
.rowB(MItemTags.PLATE_IRON)
.unlockedBy(MItemTags.PLATE_IRON)
.unlockedBy(color)
.build(consumer, "2")
MatteryRecipe(crate, 24)
.rowB(MItemTags.PLATE_IRON)
.row(MItemTags.PLATE_IRON, COBBLESTONE, MItemTags.PLATE_IRON)
.rowAB(color, MItemTags.PLATE_IRON)
.unlockedBy(MItemTags.PLATE_IRON)
.unlockedBy(color)
.build(consumer, "3")
MatteryRecipe(crate, 24)
.rowB(MItemTags.PLATE_IRON)
.row(MItemTags.PLATE_IRON, COBBLESTONE, MItemTags.PLATE_IRON)
.rowBC(MItemTags.PLATE_IRON, color)
.unlockedBy(MItemTags.PLATE_IRON)
.unlockedBy(color)
.build(consumer, "4")
}
// Машины
MatteryRecipe(MItems.MATTER_RECYCLER)
.row(MItems.MATTER_CAPACITOR_PARTS, Items.HOPPER, MItemTags.BASIC_CIRCUIT)
.row(MItemTags.PLATE_TRITANIUM, MItems.MACHINE_FRAME, MItemTags.PLATE_TRITANIUM)
.row(MItems.MATTER_CABLE, MItems.MATTER_IO_PORT, MItems.MATTER_CABLE)
.unlockedBy(MItems.MATTER_CABLE)
.build(consumer)
// Блоки
MatteryRecipe(MItems.MATTER_CAPACITOR_BANK)
.row(Tags.Items.GLASS, MItemTags.PLATE_IRON, Tags.Items.GLASS)
.row(MItemTags.PLATE_IRON, MItems.MACHINE_FRAME, MItemTags.PLATE_IRON)
.row(MItems.MATTER_CABLE, MItems.MATTER_IO_PORT, MItems.MATTER_CABLE)
.unlockedBy(MItems.MATTER_CABLE)
.build(consumer)
MatteryRecipe(MItems.BATTERY_BANK)
.row(Tags.Items.GLASS, MItemTags.PLATE_IRON, Tags.Items.GLASS)
.row(MItemTags.PLATE_IRON, MItems.MACHINE_FRAME, MItemTags.PLATE_IRON)
.row(MItems.ELECTRIC_PARTS, MItems.ENERGY_BUS, MItems.ELECTRIC_PARTS)
.unlockedBy(MItems.ENERGY_BUS)
.build(consumer)
MatteryRecipe(MItems.GRAVITATION_STABILIZER)
.row(MItemTags.ADVANCED_CIRCUIT, MItems.GRAVITATION_FIELD_SENSOR, MItemTags.ADVANCED_CIRCUIT)
.row(MItems.MATTER_TRANSFORM_MATRIX, MItems.MACHINE_FRAME, MItems.MATTER_TRANSFORM_MATRIX)
.row(MItemTags.PLATE_TRITANIUM, MItems.GRAVITATION_FIELD_LIMITER, MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItems.GRAVITATION_FIELD_LIMITER)
.unlockedBy(MItems.GRAVITATION_FIELD_SENSOR)
.build(consumer)
MatteryRecipe(MItems.PORTABLE_GRAVITATION_STABILIZER)
.rowB(MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, MItems.GRAVITATION_FIELD_SENSOR, MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, MItems.GRAVITATION_FIELD_LIMITER, MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItems.GRAVITATION_FIELD_LIMITER)
.unlockedBy(MItems.GRAVITATION_FIELD_SENSOR)
.build(consumer)
MatteryRecipe(MItems.GRAVITATION_FIELD_SENSOR)
.rowB(MItemTags.BASIC_CIRCUIT)
.row(MItemTags.COPPER_WIRES, Tags.Items.ENDER_PEARLS, MItemTags.COPPER_WIRES)
.rowB(MItemTags.PLATE_IRON)
.build(consumer)
MatteryRecipe(MItems.GRAVITATION_FIELD_LIMITER)
.row(Tags.Items.ENDER_PEARLS, MItemTags.ADVANCED_CIRCUIT, Tags.Items.ENDER_PEARLS)
.row(MItemTags.GOLD_WIRES, null as Ingredient?, MItemTags.GOLD_WIRES)
.rowB(MItemTags.PLATE_TRITANIUM)
.build(consumer)
MatteryRecipe(MItems.BLACK_HOLE_SCANNER)
.row(MItemTags.PLATE_IRON, Tags.Items.GLASS_PANES_COLORLESS, MItemTags.PLATE_IRON)
.row(MItemTags.GOLD_WIRES, MItems.GRAVITATION_FIELD_SENSOR, MItemTags.ADVANCED_CIRCUIT)
.rowAC(Tags.Items.DUSTS_GLOWSTONE, MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItems.GRAVITATION_FIELD_SENSOR)
.build(consumer)
// броня
MatteryRecipe(MItems.TRITANIUM_HELMET)
.row(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_IRON, MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.build(consumer)
MatteryRecipe(MItems.TRITANIUM_PANTS)
.row(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_IRON, MItemTags.PLATE_TRITANIUM)
.rowAC(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.build(consumer)
MatteryRecipe(MItems.TRITANIUM_CHESTPLATE)
.row(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_IRON, MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.build(consumer)
MatteryRecipe(MItems.TRITANIUM_BOOTS)
.rowAC(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_TRITANIUM)
.row(MItemTags.PLATE_TRITANIUM, MItemTags.PLATE_IRON, MItemTags.PLATE_TRITANIUM)
.unlockedBy(MItemTags.PLATE_TRITANIUM)
.build(consumer)
// простые батарейки
MatteryRecipe(MItems.BATTERY_CRUDE)
.rowB(Tags.Items.DUSTS_REDSTONE)
// .rowB(MItems.ELECTRIC_PARTS)
// .rowB(MItemTags.PLATE_IRON)
.rowB(Tags.Items.INGOTS_IRON)
.build(consumer)
MatteryRecipe(MItems.BATTERY_BASIC)
.rowB(Tags.Items.DUSTS_REDSTONE)
.rowB(MItems.ELECTRIC_PARTS)
.rowB(MItemTags.PLATE_IRON)
.build(consumer)
MatteryRecipe(MItems.BATTERY_NORMAL)
.row(Tags.Items.DUSTS_REDSTONE, MItemTags.COPPER_WIRES, Tags.Items.DUSTS_REDSTONE)
.row(MItems.ELECTRIC_PARTS, MItemTags.PLATE_IRON, MItems.ELECTRIC_PARTS)
.build(consumer)
MatteryRecipe(MItems.BATTERY_DENSE)
.row(Tags.Items.DUSTS_REDSTONE, MItems.ENERGY_BUS, Tags.Items.DUSTS_REDSTONE)
.row(MItemTags.GOLD_WIRES, MItemTags.PLATE_TRITANIUM, MItemTags.GOLD_WIRES)
.row(Tags.Items.DUSTS_REDSTONE, Tags.Items.DUSTS_REDSTONE, Tags.Items.DUSTS_REDSTONE)
.build(consumer)
MatteryRecipe(MItems.BATTERY_CAPACITOR)
.row(Tags.Items.DUSTS_REDSTONE, MItems.ENERGY_BUS, Tags.Items.DUSTS_REDSTONE)
.row(MItemTags.GOLD_WIRES, MItemTags.PLATE_TRITANIUM, MItemTags.GOLD_WIRES)
.row(MItemTags.GOLD_WIRES, Tags.Items.DUSTS_REDSTONE, MItemTags.GOLD_WIRES)
.build(consumer)
// накопители материи
MatteryRecipe(MItems.MATTER_CAPACITOR_DENSE)
.row(MItems.MATTER_CAPACITOR_PARTS, Tags.Items.GLASS, MItems.MATTER_CAPACITOR_PARTS)
.row(MItemTags.PLATE_TRITANIUM, Tags.Items.ENDER_PEARLS, MItemTags.PLATE_TRITANIUM)
.rowAC(Tags.Items.GEMS_DIAMOND, Tags.Items.GEMS_DIAMOND)
.build(consumer)
// Напольная плитка
for ((color, unrefinedItem) in MRegistry.UNREFINED_FLOOR_TILES.mappedColoredItems) {
MatteryRecipe(unrefinedItem, 24)
.row(Items.CLAY, Items.SAND, Items.CLAY)
.row(Items.SAND, color.tag, Items.SAND)
.row(Items.CLAY, Items.SAND, Items.CLAY)
.unlockedBy(Items.CLAY)
.build(consumer)
}
for ((color, refinedItem) in MRegistry.FLOOR_TILES.mappedColoredItems) {
SimpleCookingRecipeBuilder.smelting(
Ingredient.of(MRegistry.UNREFINED_FLOOR_TILES.mappedColoredItems[color]!!),
refinedItem,
0.15f,
200
).unlockedBy("has_unrefined_block", has(MRegistry.UNREFINED_FLOOR_TILES.mappedColoredItems[color]!!)).save(consumer)
}
}