Moar recipes!

This commit is contained in:
DBotThePony 2022-08-28 18:56:48 +07:00
parent a34930a310
commit c8f098effb
Signed by: DBot
GPG Key ID: DCC23B5715498507
4 changed files with 134 additions and 23 deletions

View File

@ -168,4 +168,127 @@ fun addCraftingTableRecipes(consumer: Consumer<FinishedRecipe>) {
.unlockedBy(color) .unlockedBy(color)
.build(consumer, "4") .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)
} }

View File

@ -121,13 +121,17 @@ class MatteryRecipe(val result: ItemLike, val count: Int = 1) {
} }
fun build(consumer: Consumer<FinishedRecipe>, name: String? = null) { fun build(consumer: Consumer<FinishedRecipe>, name: String? = null) {
if (index == 0) {
throw NoSuchElementException("No recipe rows were defined")
}
val builder = ShapedRecipeBuilder(result, count) val builder = ShapedRecipeBuilder(result, count)
val pairs = ArrayList<Pair<Char, RecipeCell>>() val pairs = ArrayList<Pair<Char, RecipeCell>>()
val iterator = charlist.iterator() val iterator = charlist.iterator()
for (row in rows) { for (row in rows) {
row ?: continue row ?: break
val a = findOrGetNextChar(iterator, row.a, pairs, builder) val a = findOrGetNextChar(iterator, row.a, pairs, builder)
val b = findOrGetNextChar(iterator, row.b, pairs, builder) val b = findOrGetNextChar(iterator, row.b, pairs, builder)

View File

@ -12,4 +12,10 @@ object MItemTags {
val PLATE_IRON: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "plates/iron")) val PLATE_IRON: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "plates/iron"))
val TRITANIUM_CRATES: TagKey<Item> = ItemTags.create(ResourceLocation(OverdriveThatMatters.MOD_ID, "tritanium_crates")) val TRITANIUM_CRATES: TagKey<Item> = ItemTags.create(ResourceLocation(OverdriveThatMatters.MOD_ID, "tritanium_crates"))
val INDUSTRIAL_GLASS: TagKey<Item> = ItemTags.create(ResourceLocation(OverdriveThatMatters.MOD_ID, "industrial_glass")) val INDUSTRIAL_GLASS: TagKey<Item> = ItemTags.create(ResourceLocation(OverdriveThatMatters.MOD_ID, "industrial_glass"))
val BASIC_CIRCUIT: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "circuits/basic"))
val ADVANCED_CIRCUIT: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "circuits/advanced"))
val COPPER_WIRES: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "wires/copper"))
val GOLD_WIRES: TagKey<Item> = ItemTags.create(ResourceLocation("forge", "wires/gold"))
} }

View File

@ -1,22 +0,0 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"GTG",
"TFT",
"-I-"
],
"key": {
"G": {"tag": "forge:glass"},
"I": {"item": "overdrive_that_matters:matter_io_port"},
"F": {"item": "overdrive_that_matters:machine_frame"},
"-": {"item": "overdrive_that_matters:matter_cable"},
"T": {"tag": "forge:plates/iron"}
},
"result": {
"item": "overdrive_that_matters:matter_capacitor_bank",
"count": 1
}
}