diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/AndroidAdvancementsData.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/AndroidAdvancementsData.kt index 2a9ed3bdf..b9e4a4e01 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/AndroidAdvancementsData.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/AndroidAdvancementsData.kt @@ -148,7 +148,7 @@ fun addAndroidAdvancements(serializer: Consumer, lang: Matter val researchAnything = AdvancementBuilder() .parent(root) .display( - itemStack = ItemStack(MItems.ANDROID_STATION), + itemStack = ItemStack(MItems.ANDROID_STATION[null]!!), title = translation.add("research_anything", "New Trick") { russian("Новый фокус") }, @@ -300,7 +300,7 @@ fun addAndroidAdvancements(serializer: Consumer, lang: Matter AdvancementBuilder() .parent(researchAnything) .display( - itemStack = ItemStack(MItems.ANDROID_STATION), + itemStack = ItemStack(MItems.ANDROID_STATION[null]!!), title = translation.add("research_all", "Mecha-Agnomination") { russian("Меха-зумие") }, diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/MachineAdvancementsData.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/MachineAdvancementsData.kt index 002648a46..7b2d4d3b7 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/MachineAdvancementsData.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/advancements/MachineAdvancementsData.kt @@ -177,7 +177,7 @@ fun addMachineAdvancements(serializer: Consumer, lang: Matter battery.make(serializer, it, translation) } - val station = CraftEntry(MItems.ANDROID_STATION, "Android Home Page", + val station = CraftEntry(MItems.ANDROID_STATION.values, "Android Home Page", russianName = "Домашняя страница андроидов", russianSuffix = "Только пользоваться этим устройством могут вёдра с болтами", englishSuffix = "Except only buckets of bolts can use this thing") diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt index ab24c2edf..56051f317 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockModels.kt @@ -42,5 +42,8 @@ fun addBlockModels(provider: MatteryBlockModelProvider) { colored("powered_blast_furnace", "_idle", mapOf("texture" to "induction_furnace_offline", "particle" to "induction_furnace_offline")) colored("powered_blast_furnace", "_error", mapOf("texture" to "induction_furnace_offline", "particle" to "induction_furnace_offline")) colored("powered_blast_furnace", "_working", mapOf("texture" to "induction_furnace", "particle" to "induction_furnace")) + + colored("android_station", "_idle", mapOf("1" to "android_station_base", "particle" to "android_station_base")) + colored("android_station", "_working", mapOf("2" to "android_station_base", "particle" to "android_station_base")) } } diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt index 0bee7200b..5d1e53aca 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/blocks/BlockStates.kt @@ -21,7 +21,7 @@ import ru.dbotthepony.mc.otm.registry.MRegistry fun addBlockStates(provider: MatteryBlockStateProvider) { provider.block(MBlocks.BLACK_HOLE) - provider.block(MBlocks.ANDROID_STATION) + provider.block(MBlocks.ANDROID_STATION.values) provider.ore(MBlocks.DEEPSLATE_TRITANIUM_ORE) provider.ore(MBlocks.TRITANIUM_ORE) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt index d0dce2d4b..24c4e1784 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/ItemModels.kt @@ -7,7 +7,7 @@ import ru.dbotthepony.mc.otm.registry.MItems import ru.dbotthepony.mc.otm.registry.MRegistry fun addItemModels(provider: MatteryItemModelProvider) { - provider.block(MItems.ANDROID_STATION, "android_station_working") + provider.coloredWithBaseBlock(MItems.ANDROID_STATION, "android_station", "_working") provider.coloredWithBaseBlock(MItems.BATTERY_BANK, "matter_capacitor_bank") provider.coloredWithBaseBlock(MItems.MATTER_CAPACITOR_BANK, "matter_capacitor_bank") provider.block(MItems.PATTERN_STORAGE) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt index 54bb3166d..912698d02 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/English.kt @@ -416,7 +416,7 @@ private fun death(provider: MatteryLanguageProvider) { private fun blocks(provider: MatteryLanguageProvider) { with(provider.english) { - add(MBlocks.ANDROID_STATION, "Android Station") + addBlock(MBlocks.ANDROID_STATION.values, "Android Station") add(MBlocks.ANDROID_CHARGER, "Wireless Charger") add(MBlocks.ANDROID_CHARGER, "desc", "Charges nearby androids and exopacks") addBlock(MBlocks.BATTERY_BANK.values, "Battery Bank") diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt index 203d09438..33373595b 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/lang/Russian.kt @@ -418,7 +418,7 @@ private fun death(provider: MatteryLanguageProvider) { private fun blocks(provider: MatteryLanguageProvider) { with(provider.russian) { - add(MBlocks.ANDROID_STATION, "Станция андроидов") + addBlock(MBlocks.ANDROID_STATION.values, "Станция андроидов") add(MBlocks.ANDROID_CHARGER, "Беспроводной зарядник") add(MBlocks.ANDROID_CHARGER, "desc", "Заряжает ближайших андроидов и экзопаки") addBlock(MBlocks.BATTERY_BANK.values, "Банк аккумуляторов") diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesData.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesData.kt index 7867002b7..ae5ead785 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesData.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/loot/LootTablesData.kt @@ -143,7 +143,7 @@ fun addLootTables(lootTables: LootTables) { lootTables.tile(MBlocks.CHEMICAL_GENERATOR) lootTables.tile(MBlocks.HOLO_SIGN, "isLocked") lootTables.tile(MBlocks.STORAGE_CABLE) - lootTables.tile(MBlocks.ANDROID_STATION) + lootTables.tile(MBlocks.ANDROID_STATION.values) lootTables.tile(MBlocks.ANDROID_CHARGER) lootTables.tile(MBlocks.BATTERY_BANK.values) lootTables.tile(MBlocks.DRIVE_VIEWER) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt index 3e51f424a..179217e2f 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/CraftingTableRecipes.kt @@ -321,7 +321,7 @@ fun addCraftingTableRecipes(consumer: RecipeOutput) { .build(consumer) // станция андроида - MatteryRecipe(MItems.ANDROID_STATION, category = machinesCategory) + MatteryRecipe(MItems.ANDROID_STATION[null]!!, category = machinesCategory) .row(MItems.ELECTRIC_PARTS, MItemTags.ADVANCED_CIRCUIT, MItems.ELECTRIC_PARTS) .row(MItemTags.TRITANIUM_PLATES, MItems.MACHINE_FRAME, MItemTags.TRITANIUM_PLATES) .row(MItemTags.TRITANIUM_PLATES, MItems.ELECTRIC_PARTS, MItemTags.TRITANIUM_PLATES) 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 98ba05da7..88e9b0fd9 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 @@ -288,6 +288,7 @@ fun addPainterRecipes(consumer: RecipeOutput) { MItems.POWERED_FURNACE, MItems.POWERED_BLAST_FURNACE, MItems.MATTER_RECYCLER, + MItems.ANDROID_STATION, ) for (list in blocks) { diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/Tags.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/Tags.kt index 760ccb2e7..5042d8d1c 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/Tags.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/tags/Tags.kt @@ -180,7 +180,7 @@ fun addTags(tagsProvider: TagsProvider) { tagsProvider.requiresPickaxe(MBlocks.ENERGY_CABLES.values, Tiers.STONE) tagsProvider.requiresPickaxe(listOf( - MBlocks.ANDROID_STATION, + *MBlocks.ANDROID_STATION.values.toTypedArray(), *MBlocks.BATTERY_BANK.values.toTypedArray(), *MBlocks.MATTER_DECOMPOSER.values.toTypedArray(), *MBlocks.MATTER_CAPACITOR_BANK.values.toTypedArray(), diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/AndroidStationBlock.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/AndroidStationBlock.kt index fcc2b1996..49ac0670d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/AndroidStationBlock.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/block/tech/AndroidStationBlock.kt @@ -5,6 +5,7 @@ import net.minecraft.network.chat.Component import net.minecraft.world.InteractionHand import net.minecraft.world.InteractionResult import net.minecraft.world.entity.player.Player +import net.minecraft.world.item.DyeColor import net.minecraft.world.item.ItemStack import net.minecraft.world.item.TooltipFlag import net.minecraft.world.level.BlockGetter @@ -29,7 +30,7 @@ import ru.dbotthepony.mc.otm.core.orNull import ru.dbotthepony.mc.otm.registry.MBlockEntities import ru.dbotthepony.mc.otm.shapes.BlockShapes -class AndroidStationBlock : MatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { +class AndroidStationBlock(val color: DyeColor?) : MatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { override fun use( blockState: BlockState, level: Level, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockEntities.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockEntities.kt index 37a6b2d81..d79c1d9a9 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockEntities.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockEntities.kt @@ -44,7 +44,7 @@ object MBlockEntities { return registry.register(name) { BlockEntityType.Builder.of(factory, *blocks.map { it.get() }.toTypedArray()).build(null) } } - val ANDROID_STATION by register(MNames.ANDROID_STATION, ::AndroidStationBlockEntity, MBlocks::ANDROID_STATION) + val ANDROID_STATION by register(MNames.ANDROID_STATION, ::AndroidStationBlockEntity, *MBlocks.ANDROID_STATION.asSupplierArray()) val BATTERY_BANK by register(MNames.BATTERY_BANK, ::BatteryBankBlockEntity, *MBlocks.BATTERY_BANK.asSupplierArray()) val MATTER_DECOMPOSER by register(MNames.MATTER_DECOMPOSER, ::MatterDecomposerBlockEntity, *MBlocks.MATTER_DECOMPOSER.asSupplierArray()) val MATTER_CAPACITOR_BANK by register(MNames.MATTER_CAPACITOR_BANK, ::MatterCapacitorBankBlockEntity, *MBlocks.MATTER_CAPACITOR_BANK.asSupplierArray()) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlocks.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlocks.kt index 89ad44bb2..828c32f80 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlocks.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlocks.kt @@ -86,7 +86,7 @@ object MBlocks { registry.register(bus) } - val ANDROID_STATION: Block by registry.register(MNames.ANDROID_STATION) { AndroidStationBlock() } + val ANDROID_STATION = registry.coloredWithBase(MNames.ANDROID_STATION) { color, _ -> AndroidStationBlock(color) } val ANDROID_CHARGER: Block by registry.register(MNames.ANDROID_CHARGER) { AndroidChargerBlock() } val BATTERY_BANK = registry.coloredWithBase(MNames.BATTERY_BANK) { color, _ -> BatteryBankBlock(color) } val MATTER_DECOMPOSER = registry.coloredWithBase(MNames.MATTER_DECOMPOSER) { color, _ -> MatterDecomposerBlock(color) } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt index c1ac8781c..edbe1b5a5 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt @@ -55,7 +55,7 @@ object MItems { conf to registry.register("${conf.name.lowercase()}_energy_cable") { BlockItem(MBlocks.ENERGY_CABLES[conf]!!, DEFAULT_PROPERTIES) } }) - val ANDROID_STATION: BlockItem by registry.register(MNames.ANDROID_STATION) { BlockItem(MBlocks.ANDROID_STATION, DEFAULT_PROPERTIES) } + val ANDROID_STATION = registry.coloredWithBase(MNames.ANDROID_STATION) { color, _ -> BlockItem(MBlocks.ANDROID_STATION[color]!!, DEFAULT_PROPERTIES) } val ANDROID_CHARGER: BlockItem by registry.register(MNames.ANDROID_CHARGER) { BlockItem(MBlocks.ANDROID_CHARGER, DEFAULT_PROPERTIES) } val BATTERY_BANK = registry.coloredWithBase(MNames.BATTERY_BANK) { color, _ -> BlockItem(MBlocks.BATTERY_BANK[color]!!, DEFAULT_PROPERTIES) } val MATTER_DECOMPOSER = registry.coloredWithBase(MNames.MATTER_DECOMPOSER) { color, _ -> BlockItem(MBlocks.MATTER_DECOMPOSER[color]!!, DEFAULT_PROPERTIES) } @@ -114,7 +114,7 @@ object MItems { machines.addAll(POWERED_BLAST_FURNACE.asSupplierArray()) machines.addAll(POWERED_SMOKER.asSupplierArray()) - machines.add(::ANDROID_STATION) + machines.addAll(ANDROID_STATION.asSupplierArray().iterator()) machines.add(::ANDROID_CHARGER) machines.addAll(BATTERY_BANK.asSupplierArray().iterator()) machines.add(::ENERGY_COUNTER) diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/black.png b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/black.png new file mode 100644 index 000000000..222b526b5 Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/black.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/blue.png b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/blue.png new file mode 100644 index 000000000..e90afb2f2 Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/blue.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/brown.png b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/brown.png new file mode 100644 index 000000000..7ae6da5dc Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/brown.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/cyan.png b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/cyan.png new file mode 100644 index 000000000..b9f3d1f0e Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/cyan.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/gray.png b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/gray.png new file mode 100644 index 000000000..b2e51a6da Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/gray.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/green.png b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/green.png new file mode 100644 index 000000000..17dc90a55 Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/green.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/light_blue.png b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/light_blue.png new file mode 100644 index 000000000..b54f916ec Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/light_blue.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/light_gray.png b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/light_gray.png new file mode 100644 index 000000000..86085a64d Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/light_gray.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/lime.png b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/lime.png new file mode 100644 index 000000000..335330cdc Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/lime.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/magenta.png b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/magenta.png new file mode 100644 index 000000000..ba1b1484e Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/magenta.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/orange.png b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/orange.png new file mode 100644 index 000000000..f06305347 Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/orange.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/pink.png b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/pink.png new file mode 100644 index 000000000..a034976ea Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/pink.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/purple.png b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/purple.png new file mode 100644 index 000000000..fdd4eb912 Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/purple.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/red.png b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/red.png new file mode 100644 index 000000000..705ef47c1 Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/red.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/white.png b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/white.png new file mode 100644 index 000000000..2f53ec070 Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/white.png differ diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/yellow.png b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/yellow.png new file mode 100644 index 000000000..bde9f710b Binary files /dev/null and b/src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/yellow.png differ