diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt index c98f1a51a..2493db9b2 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt @@ -4,7 +4,9 @@ import net.minecraft.core.Direction import net.minecraft.data.recipes.ShapedRecipeBuilder import net.minecraft.data.recipes.ShapelessRecipeBuilder import net.minecraft.resources.ResourceLocation +import net.minecraft.world.item.DyeColor import net.minecraft.world.item.ItemStack +import net.minecraft.world.item.crafting.Ingredient import net.minecraft.world.level.block.Block import net.minecraft.world.level.block.IronBarsBlock import net.minecraftforge.client.model.generators.ModelFile @@ -390,6 +392,57 @@ object DataGen { tile(MBlocks.MATTER_BOTTLER, TileNbtCopy("energy"), TileNbtCopy("battery_container"), TileNbtCopy("work_slots"), TileNbtCopy("work_flow"), TileNbtCopy("matter")) } + with(lootTableProvider) { + for (glass in MBlocks.INDUSTRIAL_GLASS_LIST) { + simpleBlock(glass) + } + + for (glass in MBlocks.INDUSTRIAL_GLASS_PANE_LIST) { + simpleBlock(glass) + } + } + + with(recipeProvider) { + val crates = arrayOf( + DyeColor.WHITE to MBlocks.CARGO_CRATE_WHITE, + DyeColor.ORANGE to MBlocks.CARGO_CRATE_ORANGE, + DyeColor.MAGENTA to MBlocks.CARGO_CRATE_MAGENTA, + DyeColor.LIGHT_BLUE to MBlocks.CARGO_CRATE_LIGHT_BLUE, + DyeColor.YELLOW to MBlocks.CARGO_CRATE_YELLOW, + DyeColor.LIME to MBlocks.CARGO_CRATE_LIME, + DyeColor.PINK to MBlocks.CARGO_CRATE_PINK, + DyeColor.GRAY to MBlocks.CARGO_CRATE_GRAY, + DyeColor.LIGHT_GRAY to MBlocks.CARGO_CRATE_LIGHT_GRAY, + DyeColor.CYAN to MBlocks.CARGO_CRATE_CYAN, + DyeColor.PURPLE to MBlocks.CARGO_CRATE_PURPLE, + DyeColor.BLUE to MBlocks.CARGO_CRATE_BLUE, + DyeColor.BROWN to MBlocks.CARGO_CRATE_BROWN, + DyeColor.GREEN to MBlocks.CARGO_CRATE_GREEN, + DyeColor.RED to MBlocks.CARGO_CRATE_RED, + DyeColor.BLACK to MBlocks.CARGO_CRATE_BLACK, + ) + + for ((dye, crate) in crates) { + lambda { _, consumer -> + 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") + } + } + } + with(recipeProvider) { val baselineMetals = arrayOf("iron", "silver", "bronze", "lead", "constantan") val softMetals = arrayOf("gold", "aluminum", "aluminium", "brass", "copper", "electrum") diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt index 0961cf185..368300822 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt @@ -37,7 +37,7 @@ class IndustrialGlassProperties(val color: DyeColor?, val name: String, val name fun makeBlock(): Block { val properties = BlockBehaviour.Properties.of(Material.GLASS, if (color != null) color.materialColor else MaterialColor.NONE) - .strength(1.5f, 5.0f) + .strength(1.5f, 35.0f) .requiresCorrectToolForDrops() .sound(SoundType.GLASS) .noOcclusion() diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/Tags.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/Tags.kt index 27237d276..a3cc9115d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/Tags.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/Tags.kt @@ -4,8 +4,11 @@ import net.minecraft.resources.ResourceLocation import net.minecraft.tags.ItemTags import net.minecraft.tags.TagKey import net.minecraft.world.item.Item +import ru.dbotthepony.mc.otm.OverdriveThatMatters object MItemTags { val INGOT_TRITANIUM: TagKey = ItemTags.create(ResourceLocation("forge", "ingots/tritanium")) val PLATE_TRITANIUM: TagKey = ItemTags.create(ResourceLocation("forge", "plates/tritanium")) + val TRITANIUM_CRATES: TagKey = ItemTags.create(ResourceLocation(OverdriveThatMatters.MOD_ID, "tritanium_crates")) + val INDUSTRIAL_GLASS: TagKey = ItemTags.create(ResourceLocation(OverdriveThatMatters.MOD_ID, "industrial_glass")) } diff --git a/src/main/resources/assets/overdrive_that_matters/lang/en_us.json b/src/main/resources/assets/overdrive_that_matters/lang/en_us.json index 9f11755e4..bb687dd1e 100644 --- a/src/main/resources/assets/overdrive_that_matters/lang/en_us.json +++ b/src/main/resources/assets/overdrive_that_matters/lang/en_us.json @@ -246,6 +246,61 @@ "block.overdrive_that_matters.storage_importer": "Storage Importer", "block.overdrive_that_matters.storage_exporter": "Storage Exporter", + "block.overdrive_that_matters.cargo_crate_white": "White Cargo Crate", + "block.overdrive_that_matters.cargo_crate_orange": "Orange Cargo Crate", + "block.overdrive_that_matters.cargo_crate_magenta": "Magenta Cargo Crate", + "block.overdrive_that_matters.cargo_crate_light_blue": "Light Blue Cargo Crate", + "block.overdrive_that_matters.cargo_crate_yellow": "Yellow Cargo Crate", + "block.overdrive_that_matters.cargo_crate_lime": "Lime Cargo Crate", + "block.overdrive_that_matters.cargo_crate_pink": "Pink Cargo Crate", + "block.overdrive_that_matters.cargo_crate_gray": "Gray Cargo Crate", + "block.overdrive_that_matters.cargo_crate_light_gray": "Light Gray Cargo Crate", + "block.overdrive_that_matters.cargo_crate_cyan": "Cyan Cargo Crate", + "block.overdrive_that_matters.cargo_crate_purple": "Purple Cargo Crate", + "block.overdrive_that_matters.cargo_crate_blue": "Blue Cargo Crate", + "block.overdrive_that_matters.cargo_crate_brown": "Brown Cargo Crate", + "block.overdrive_that_matters.cargo_crate_green": "Green Cargo Crate", + "block.overdrive_that_matters.cargo_crate_red": "Red Cargo Crate", + "block.overdrive_that_matters.cargo_crate_black": "Black Cargo Crate", + + "block.overdrive_that_matters.industrial_glass": "Clear Industrial Glass", + + "block.overdrive_that_matters.industrial_glass_white": "White Industrial Glass", + "block.overdrive_that_matters.industrial_glass_orange": "Orange Industrial Glass", + "block.overdrive_that_matters.industrial_glass_magenta": "Magenta Industrial Glass", + "block.overdrive_that_matters.industrial_glass_light_blue": "Light Blue Industrial Glass", + "block.overdrive_that_matters.industrial_glass_yellow": "Yellow Industrial Glass", + "block.overdrive_that_matters.industrial_glass_lime": "Lime Industrial Glass", + "block.overdrive_that_matters.industrial_glass_pink": "Pink Industrial Glass", + "block.overdrive_that_matters.industrial_glass_gray": "Gray Industrial Glass", + "block.overdrive_that_matters.industrial_glass_light_gray": "Light Gray Industrial Glass", + "block.overdrive_that_matters.industrial_glass_cyan": "Cyan Industrial Glass", + "block.overdrive_that_matters.industrial_glass_purple": "Purple Industrial Glass", + "block.overdrive_that_matters.industrial_glass_blue": "Blue Industrial Glass", + "block.overdrive_that_matters.industrial_glass_brown": "Brown Industrial Glass", + "block.overdrive_that_matters.industrial_glass_green": "Green Industrial Glass", + "block.overdrive_that_matters.industrial_glass_red": "Red Industrial Glass", + "block.overdrive_that_matters.industrial_glass_black": "Black Industrial Glass", + + "block.overdrive_that_matters.industrial_glass_pane": "Clear Industrial Glass Pane", + + "block.overdrive_that_matters.industrial_glass_pane_white": "White Industrial Glass Pane", + "block.overdrive_that_matters.industrial_glass_pane_orange": "Orange Industrial Glass Pane", + "block.overdrive_that_matters.industrial_glass_pane_magenta": "Magenta Industrial Glass Pane", + "block.overdrive_that_matters.industrial_glass_pane_light_blue": "Light Blue Industrial Glass Pane", + "block.overdrive_that_matters.industrial_glass_pane_yellow": "Yellow Industrial Glass Pane", + "block.overdrive_that_matters.industrial_glass_pane_lime": "Lime Industrial Glass Pane", + "block.overdrive_that_matters.industrial_glass_pane_pink": "Pink Industrial Glass Pane", + "block.overdrive_that_matters.industrial_glass_pane_gray": "Gray Industrial Glass Pane", + "block.overdrive_that_matters.industrial_glass_pane_light_gray": "Light Gray Industrial Glass Pane", + "block.overdrive_that_matters.industrial_glass_pane_cyan": "Cyan Industrial Glass Pane", + "block.overdrive_that_matters.industrial_glass_pane_purple": "Purple Industrial Glass Pane", + "block.overdrive_that_matters.industrial_glass_pane_blue": "Blue Industrial Glass Pane", + "block.overdrive_that_matters.industrial_glass_pane_brown": "Brown Industrial Glass Pane", + "block.overdrive_that_matters.industrial_glass_pane_green": "Green Industrial Glass Pane", + "block.overdrive_that_matters.industrial_glass_pane_red": "Red Industrial Glass Pane", + "block.overdrive_that_matters.industrial_glass_pane_black": "Black Industrial Glass Pane", + "item.overdrive_that_matters.pill_android": "Android Pill", "item.overdrive_that_matters.pill_humane": "Humane Pill", "item.overdrive_that_matters.pill_oblivion": "Android Factory Reset Pill", diff --git a/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json b/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json index 2b3bc3bc4..0a55f034b 100644 --- a/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json +++ b/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json @@ -32,6 +32,59 @@ "overdrive_that_matters:crate_purple", "overdrive_that_matters:cargo_crate", + "overdrive_that_matters:cargo_crate_white", + "overdrive_that_matters:cargo_crate_orange", + "overdrive_that_matters:cargo_crate_magenta", + "overdrive_that_matters:cargo_crate_light_blue", + "overdrive_that_matters:cargo_crate_yellow", + "overdrive_that_matters:cargo_crate_lime", + "overdrive_that_matters:cargo_crate_pink", + "overdrive_that_matters:cargo_crate_gray", + "overdrive_that_matters:cargo_crate_light_gray", + "overdrive_that_matters:cargo_crate_cyan", + "overdrive_that_matters:cargo_crate_purple", + "overdrive_that_matters:cargo_crate_blue", + "overdrive_that_matters:cargo_crate_brown", + "overdrive_that_matters:cargo_crate_green", + "overdrive_that_matters:cargo_crate_red", + "overdrive_that_matters:cargo_crate_black", + + "overdrive_that_matters:industrial_glass", + "overdrive_that_matters:industrial_glass_pane", + + "overdrive_that_matters:industrial_glass_white", + "overdrive_that_matters:industrial_glass_pane_white", + "overdrive_that_matters:industrial_glass_orange", + "overdrive_that_matters:industrial_glass_pane_orange", + "overdrive_that_matters:industrial_glass_magenta", + "overdrive_that_matters:industrial_glass_pane_magenta", + "overdrive_that_matters:industrial_glass_light_blue", + "overdrive_that_matters:industrial_glass_pane_light_blue", + "overdrive_that_matters:industrial_glass_yellow", + "overdrive_that_matters:industrial_glass_pane_yellow", + "overdrive_that_matters:industrial_glass_lime", + "overdrive_that_matters:industrial_glass_pane_lime", + "overdrive_that_matters:industrial_glass_pink", + "overdrive_that_matters:industrial_glass_pane_pink", + "overdrive_that_matters:industrial_glass_gray", + "overdrive_that_matters:industrial_glass_pane_gray", + "overdrive_that_matters:industrial_glass_light_gray", + "overdrive_that_matters:industrial_glass_pane_light_gray", + "overdrive_that_matters:industrial_glass_cyan", + "overdrive_that_matters:industrial_glass_pane_cyan", + "overdrive_that_matters:industrial_glass_purple", + "overdrive_that_matters:industrial_glass_pane_purple", + "overdrive_that_matters:industrial_glass_blue", + "overdrive_that_matters:industrial_glass_pane_blue", + "overdrive_that_matters:industrial_glass_brown", + "overdrive_that_matters:industrial_glass_pane_brown", + "overdrive_that_matters:industrial_glass_green", + "overdrive_that_matters:industrial_glass_pane_green", + "overdrive_that_matters:industrial_glass_red", + "overdrive_that_matters:industrial_glass_pane_red", + "overdrive_that_matters:industrial_glass_black", + "overdrive_that_matters:industrial_glass_pane_black", + "overdrive_that_matters:tritanium_ore", "overdrive_that_matters:deepslate_tritanium_ore", "overdrive_that_matters:tritanium_raw_block" diff --git a/src/main/resources/data/minecraft/tags/blocks/needs_iron_tool.json b/src/main/resources/data/minecraft/tags/blocks/needs_iron_tool.json index 3254611d2..debe5cfea 100644 --- a/src/main/resources/data/minecraft/tags/blocks/needs_iron_tool.json +++ b/src/main/resources/data/minecraft/tags/blocks/needs_iron_tool.json @@ -18,6 +18,59 @@ "overdrive_that_matters:tritanium_striped_block", "overdrive_that_matters:carbon_fibre_block", + "overdrive_that_matters:cargo_crate_white", + "overdrive_that_matters:cargo_crate_orange", + "overdrive_that_matters:cargo_crate_magenta", + "overdrive_that_matters:cargo_crate_light_blue", + "overdrive_that_matters:cargo_crate_yellow", + "overdrive_that_matters:cargo_crate_lime", + "overdrive_that_matters:cargo_crate_pink", + "overdrive_that_matters:cargo_crate_gray", + "overdrive_that_matters:cargo_crate_light_gray", + "overdrive_that_matters:cargo_crate_cyan", + "overdrive_that_matters:cargo_crate_purple", + "overdrive_that_matters:cargo_crate_blue", + "overdrive_that_matters:cargo_crate_brown", + "overdrive_that_matters:cargo_crate_green", + "overdrive_that_matters:cargo_crate_red", + "overdrive_that_matters:cargo_crate_black", + + "overdrive_that_matters:industrial_glass", + "overdrive_that_matters:industrial_glass_pane", + + "overdrive_that_matters:industrial_glass_white", + "overdrive_that_matters:industrial_glass_pane_white", + "overdrive_that_matters:industrial_glass_orange", + "overdrive_that_matters:industrial_glass_pane_orange", + "overdrive_that_matters:industrial_glass_magenta", + "overdrive_that_matters:industrial_glass_pane_magenta", + "overdrive_that_matters:industrial_glass_light_blue", + "overdrive_that_matters:industrial_glass_pane_light_blue", + "overdrive_that_matters:industrial_glass_yellow", + "overdrive_that_matters:industrial_glass_pane_yellow", + "overdrive_that_matters:industrial_glass_lime", + "overdrive_that_matters:industrial_glass_pane_lime", + "overdrive_that_matters:industrial_glass_pink", + "overdrive_that_matters:industrial_glass_pane_pink", + "overdrive_that_matters:industrial_glass_gray", + "overdrive_that_matters:industrial_glass_pane_gray", + "overdrive_that_matters:industrial_glass_light_gray", + "overdrive_that_matters:industrial_glass_pane_light_gray", + "overdrive_that_matters:industrial_glass_cyan", + "overdrive_that_matters:industrial_glass_pane_cyan", + "overdrive_that_matters:industrial_glass_purple", + "overdrive_that_matters:industrial_glass_pane_purple", + "overdrive_that_matters:industrial_glass_blue", + "overdrive_that_matters:industrial_glass_pane_blue", + "overdrive_that_matters:industrial_glass_brown", + "overdrive_that_matters:industrial_glass_pane_brown", + "overdrive_that_matters:industrial_glass_green", + "overdrive_that_matters:industrial_glass_pane_green", + "overdrive_that_matters:industrial_glass_red", + "overdrive_that_matters:industrial_glass_pane_red", + "overdrive_that_matters:industrial_glass_black", + "overdrive_that_matters:industrial_glass_pane_black", + "overdrive_that_matters:energy_counter", "overdrive_that_matters:chemical_generator", "overdrive_that_matters:plate_press", diff --git a/src/main/resources/data/overdrive_that_matters/tags/items/industrial_glass.json b/src/main/resources/data/overdrive_that_matters/tags/items/industrial_glass.json new file mode 100644 index 000000000..84db7d0a1 --- /dev/null +++ b/src/main/resources/data/overdrive_that_matters/tags/items/industrial_glass.json @@ -0,0 +1,40 @@ +{ + "replace": false, + "values": [ + "overdrive_that_matters:industrial_glass", + "overdrive_that_matters:industrial_glass_pane", + + "overdrive_that_matters:industrial_glass_white", + "overdrive_that_matters:industrial_glass_pane_white", + "overdrive_that_matters:industrial_glass_orange", + "overdrive_that_matters:industrial_glass_pane_orange", + "overdrive_that_matters:industrial_glass_magenta", + "overdrive_that_matters:industrial_glass_pane_magenta", + "overdrive_that_matters:industrial_glass_light_blue", + "overdrive_that_matters:industrial_glass_pane_light_blue", + "overdrive_that_matters:industrial_glass_yellow", + "overdrive_that_matters:industrial_glass_pane_yellow", + "overdrive_that_matters:industrial_glass_lime", + "overdrive_that_matters:industrial_glass_pane_lime", + "overdrive_that_matters:industrial_glass_pink", + "overdrive_that_matters:industrial_glass_pane_pink", + "overdrive_that_matters:industrial_glass_gray", + "overdrive_that_matters:industrial_glass_pane_gray", + "overdrive_that_matters:industrial_glass_light_gray", + "overdrive_that_matters:industrial_glass_pane_light_gray", + "overdrive_that_matters:industrial_glass_cyan", + "overdrive_that_matters:industrial_glass_pane_cyan", + "overdrive_that_matters:industrial_glass_purple", + "overdrive_that_matters:industrial_glass_pane_purple", + "overdrive_that_matters:industrial_glass_blue", + "overdrive_that_matters:industrial_glass_pane_blue", + "overdrive_that_matters:industrial_glass_brown", + "overdrive_that_matters:industrial_glass_pane_brown", + "overdrive_that_matters:industrial_glass_green", + "overdrive_that_matters:industrial_glass_pane_green", + "overdrive_that_matters:industrial_glass_red", + "overdrive_that_matters:industrial_glass_pane_red", + "overdrive_that_matters:industrial_glass_black", + "overdrive_that_matters:industrial_glass_pane_black" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/overdrive_that_matters/tags/items/tritanium_crates.json b/src/main/resources/data/overdrive_that_matters/tags/items/tritanium_crates.json new file mode 100644 index 000000000..4d54802b8 --- /dev/null +++ b/src/main/resources/data/overdrive_that_matters/tags/items/tritanium_crates.json @@ -0,0 +1,21 @@ +{ + "replace": false, + "values": [ + "overdrive_that_matters:cargo_crate_white", + "overdrive_that_matters:cargo_crate_orange", + "overdrive_that_matters:cargo_crate_magenta", + "overdrive_that_matters:cargo_crate_light_blue", + "overdrive_that_matters:cargo_crate_yellow", + "overdrive_that_matters:cargo_crate_lime", + "overdrive_that_matters:cargo_crate_pink", + "overdrive_that_matters:cargo_crate_gray", + "overdrive_that_matters:cargo_crate_light_gray", + "overdrive_that_matters:cargo_crate_cyan", + "overdrive_that_matters:cargo_crate_purple", + "overdrive_that_matters:cargo_crate_blue", + "overdrive_that_matters:cargo_crate_brown", + "overdrive_that_matters:cargo_crate_green", + "overdrive_that_matters:cargo_crate_red", + "overdrive_that_matters:cargo_crate_black" + ] +} \ No newline at end of file