From f4bbf54095d011790e4e0ea97b2a27f73075a8b3 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Thu, 4 Jan 2024 19:37:36 +0700 Subject: [PATCH] Android station coloring --- .../advancements/AndroidAdvancementsData.kt | 4 ++-- .../advancements/MachineAdvancementsData.kt | 2 +- .../mc/otm/datagen/blocks/BlockModels.kt | 3 +++ .../mc/otm/datagen/blocks/BlockStates.kt | 2 +- .../mc/otm/datagen/items/ItemModels.kt | 2 +- .../ru/dbotthepony/mc/otm/datagen/lang/English.kt | 2 +- .../ru/dbotthepony/mc/otm/datagen/lang/Russian.kt | 2 +- .../mc/otm/datagen/loot/LootTablesData.kt | 2 +- .../otm/datagen/recipes/CraftingTableRecipes.kt | 2 +- .../mc/otm/datagen/recipes/PainterRecipes.kt | 1 + .../ru/dbotthepony/mc/otm/datagen/tags/Tags.kt | 2 +- .../mc/otm/block/tech/AndroidStationBlock.kt | 3 ++- .../dbotthepony/mc/otm/registry/MBlockEntities.kt | 2 +- .../ru/dbotthepony/mc/otm/registry/MBlocks.kt | 2 +- .../ru/dbotthepony/mc/otm/registry/MItems.kt | 4 ++-- .../textures/block/android_station_base/black.png | Bin 0 -> 593 bytes .../textures/block/android_station_base/blue.png | Bin 0 -> 593 bytes .../textures/block/android_station_base/brown.png | Bin 0 -> 593 bytes .../textures/block/android_station_base/cyan.png | Bin 0 -> 593 bytes .../textures/block/android_station_base/gray.png | Bin 0 -> 593 bytes .../textures/block/android_station_base/green.png | Bin 0 -> 593 bytes .../block/android_station_base/light_blue.png | Bin 0 -> 593 bytes .../block/android_station_base/light_gray.png | Bin 0 -> 593 bytes .../textures/block/android_station_base/lime.png | Bin 0 -> 593 bytes .../block/android_station_base/magenta.png | Bin 0 -> 593 bytes .../block/android_station_base/orange.png | Bin 0 -> 593 bytes .../textures/block/android_station_base/pink.png | Bin 0 -> 593 bytes .../block/android_station_base/purple.png | Bin 0 -> 593 bytes .../textures/block/android_station_base/red.png | Bin 0 -> 593 bytes .../textures/block/android_station_base/white.png | Bin 0 -> 607 bytes .../block/android_station_base/yellow.png | Bin 0 -> 593 bytes 31 files changed, 20 insertions(+), 15 deletions(-) create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/black.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/blue.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/brown.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/cyan.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/gray.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/green.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/light_blue.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/light_gray.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/lime.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/magenta.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/orange.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/pink.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/purple.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/red.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/white.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/android_station_base/yellow.png 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 0000000000000000000000000000000000000000..222b526b5599f9ec57d29040433ddf25a5e481eb GIT binary patch literal 593 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvmUKs7M+SzC{oH>NSwWJ?9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fgp&Q^6;tHfgLP8P}68``H zfBW`rZEbB+Q&TA^S!ro`IXNYHd1Wy%F*P+cQBesA32CE%H3~otj3q&S!3+-1Zlr-Y zN#5=*%z`{VpMV_B0*}aI1_r+UAk1jN8ms~oWH0gbb!C6S$il-;rl^bsOH-_0JmAqg zv1n2SL;UB-(`TNnDY&D1bgK89x!E@a1U|W(unKcJx{=G7ar*1r2U)^XI(VIKv3wK= zTD5rtXPlSiQKjvi|CznLogH8AdS4QL-61$dhC57A$@Pok&f>#%D<=ucd&#g&JL}Cd z;p4;=Q5^YVKUJivm4AyJe|jWQY;EjJmn;8ve5}iv7qLf<=PA!JnWu9MdF)cptHiB=`NSwWJ?9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fgp&Q^6;tHfgLP8P}68``H zfBW`rZEbB+Q&TOSCO!RbL*wbjrnAMw#MIQ(lvQ)oH7nG&Enop^U@Qsp3ubV5b|VeM zN%D4gVHV`^`2^%}7I;J!GcfS&2Vq7F)?gK&AbW|YuPgftMiw4U_CvK%K&LUB_H=O! z(Kvs#-;l4#LBRDn&ygcl=NrTg<|S?ud{LHp;ZU0SM~2g)Hcj7-F-2u8Sejz};sKA| ziA9qt7~(%qo<8$rO~D=Aqf@=-%+0kh#wGTdQ`O0HiNcNQPETRBNk-b;pM+F5Uw z2_Gk}h~mf>`>7&Tt^8Z;_|qeaVrye(x?K6U<6~XUyofz=JWqL+$vmB7$Yb{^`|kHB zd&Y%#4u^^}_nZKFOSQx`q9i4;B-JXpC>2OC7#SFu=o%OTQHY_Ll>rE88yHv_7*tK3 z{}x3NSwWJ?9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fgp&Q^6;tHfgLP8P}68``H zfBW`rZEbB+Q`2~B#WV+%d{^}%cMUNyF*P-{07IDwb9u8{TK|C>7)yfuf*Bm1-ADs* zlDyqrm<4%!J^?wL1s;*b3=DkxL735kHCP2G$X?><>&pIuk%fno{ZMTb&}j^(JzX3_ zG|pe`H{@$_5O96YbL2?X`37-=d5PNuUzBBDIFx4ok>RwcP1CnyOi>vNmZn(0c)+7~ zV$q}uhWO8ur_VfDQ*cN3=v41HbF*&<2z+umVHM_dbR(BD_mW|mcGjC^ z!pDg#qB!!!eyT`SEB_Wd{`5$q*xJ~cE?55T_*j=SFJg}z&r_adGEe6i^4Pt~zWY7O zo^j!w!=d8LJtu(PQY~?fC`m~yNwrEYN(E93Mg~SEx(0?o6k=#*WdK6j1_o9J233>i zzeUlIo1c=IR*72!_c`@Ipau=N4JDbmsl_FUxdjM4CLxAKRtA<<2Ide;Ho8AF2kK$) MboFyt=akR{09pFLr2qf` literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..b9f3d1f0e96661ac33e1e2f605beab6d2effdc3e GIT binary patch literal 593 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvmUKs7M+SzC{oH>NSwWJ?9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fgp&Q^6;tHfgLP8P}68``H zfBW`rZEbB+Q&XXWO5uto(WYLpwuxe5Vrpt?{Bfy*83oe%NA?3XFqQ=Q1v5B2yO9Rs zBze2LFbnedd;)Sf3p^r=85sD0s`&OZTCfJI00r4gJbhi+Uof)paIzn&jRHE2;k2iV zV~EE2tNn(2O%4LC&v}jmc8n=1W5LoC>lY7r z^iC|ARKXDcdGhp`Cu<7s=pLQwJ!fwA4FQ2qE+?$QoQ`hfa%P-oP2>WqDL-JLi99Z*OPE*Sp@AgkN_EPLbgbQ&e*OqPVm8u-(c@g7RK6EYr?< zvrPCnaYYnIzSvI{scPllV#l8zNfcWfJJaRLza1aza^^+sk>h#FvrOjc977(vSJ`*J zN7*wjymL5IoVn)&&|9h{t`Q|Ei6yC4$wjF^iowXh$VAt`5Qsty&8!SSNZY``%D|v% z^8B|b8glbfGSez?Yv4Yo9thN+0k@$fGdH!kBr&%Dp~ob|(8$Wb(#pUbV#!ALhvq;% N44$rjF6*2UngCm}!NC9k literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..b2e51a6dacff691b71f2f0eb7739871f2bec5bbc GIT binary patch literal 593 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvmUKs7M+SzC{oH>NSwWJ?9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fgp&Q^6;tHfgLP8P}68``H zfBW`rZEbB+Q&SUjD|2gm8wVFVCpR%MF*P+cZ9PK+W3#^k>OMdXj3q&S!3+-1Zlr-Y zN#5=*%z`{VpMV_B0*}aI1_r+UAk1jN8ms~oWH0gbb!C6S$il-;rl^bsOH-_0JmAqg zv1n2SL;UB-(`TNnDY&D1bgK89x!E@a1U|W(unKcJx{=G7ar*1r2U)^XI(VIKv3wK= zTD5rtXPlSiQKjvi|CznLogH8AdS4QL-61$dhC57A$@Pok&f>#%D<=ucd&#g&JL}Cd z;p4;=Q5^YVKUJivm4AyJe|jWQY;EjJmn;8ve5}iv7qLf<=PA!JnWu9MdF)cptHiB=`NSwWJ?9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fgp&Q^6;tHfgLP8P}68``H zfBW`rZEbB+Q&YESaqlF_pe*T-Tp2MjF*P+cD<5IU5Ya_zUdjM9FqQ=Q1v5B2yO9Rs zBze2LFbnedd;)Sf3p^r=85sEXgD|57Yp@DXkiEpy*OmPRBMT2F`=Qz>pwk#md%8G= zXq>;=Z^+l=AmI9(=g5(&^9|w#^AfiSz9`GQa460EBg1J?o2GBan4&TkEKRX~@qkC~ z#G*+R4Dp{QPoH_Rrr?h5(W%~Z=4Rgz5cuSB!Ya(^=teGQ#_6wfA7lwn>ELy`#qv=g zXw~KooN->3N0qj7{%7{~c6NNd>wQW1b%)>-8SXGeCD$*CJBtt7t(+t%?$YVheO4gdrknorCQ<|QIe8al4_M)lnSI6j0}uSbPWuFD8$gr$^eA44GgRd45}v2 ze~Y3aH$NpatrE8e?sMvaKn)sj8%i>BQ;SOya|;l9OhOEetPCuz49p>xY;=EU4%EZo M>FVdQ&MBb@0AB~dr~m)} literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..b54f916ec84b62199ca2db3b2ae020111dd8d5ce GIT binary patch literal 593 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvmUKs7M+SzC{oH>NSwWJ?9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fgp&Q^6;tHfgLP8P}68``H zfBW`rZEbB+Q&Yp~+f5f8wOoJIddqDwF)=kYHO;!2y4|a0v$!?_H87S0`2{mLJiCzw z;v{*yyD$s#_{XE)7O>#1tSX&C;Oq=D4^3APJ6mI zhG?9>+Hc6$6%6s8Cr_VwvZmmU?$N25D@s}a>6Ri>F7o-XU6HTb01_0PwC)wy2bKQ zAZXR*4V-aamPeJgbN*-c_I7rBz3Y8R_;rWi6dCR?MJ3lSiaU!B+pU}=DDNf1GVQE4 z%Y=^;S445-i~UrQs#g9jcKqp)M6tE8GhMFy+wrk3XI{h}Ii9CH%VeI;G32p(m3{Yn zls)6ZJBLHXnR`wEy`@^>8c~vxSdwa$T$Bo=7>o>zOmqzlfhfe#%*p_Sv<(cb3=FC! z&wq=eAvZrIGp!Q02JUm}fj|u!a2rZ8b5n~;5_1a>dQ3tLjjRkTtqjZ|mTYu?Xb#lF N;OXk;vd$@?2>@j_#EAd^ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..86085a64d7b78f1a304f511b89e417d1120a608a GIT binary patch literal 593 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvmUKs7M+SzC{oH>NSwWJ?9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fgp&Q^6;tHfgLP8P}68``H zfBW`rZEbB+Q`6GY+`785j*j}Co@OyIF*P-{q@?JaoYZ9A8Y!R##*!evUYWv7iF0j4yBoYWH>Eq)Aa2aQ&h%+r76}g9`NX$ zSTw1EA^!8^=`&B(6x`80I@Np5-0T|y0-sz?ScN$q-N@z4IQ@0*gDl}G9lTDrSUw5_ zt=hbSGtSHMsM2=M|IFUr&W^8ly)OyB?hu?J!yTrmUO_QmvAUQh^kMk%5tku7M#Cg&3My8Gw+sfq|8QLDl5> zZ&5Vl=BH$)RpQpbeNH_Ps6hj6LrG?CYH>+oZUI7%Nr<75m4T&|fjPvIjqVT4fqED` MUHx3vIVCg!017I@H2?qr literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..335330cdc087f88da56f934a9bec147c77611e13 GIT binary patch literal 593 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvmUKs7M+SzC{oH>NSwWJ?9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fgp&Q^6;tHfgLP8P}68``H zfBW`rZEbB+Q`6WvA}K3GbGC`+@0Jh~6H`-D^KBLgn_!@h zljQC0!Ys(+^9jh|EbxddW?K;VL`h0wNvc(HQ7VvPFfuSQ(KRpxq7XwfD+3VHHZZUxX-Bv0ySvBZ79jiO)V}-%q>9ZF$pm=vNEu=GBAf&veEsaIZzLS Mr>mdKI;Vst0E3Fb(EtDd literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..ba1b1484e5da1b09c2cc6cf2fe10534b70a66e8a GIT binary patch literal 593 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvmUKs7M+SzC{oH>NSwWJ?9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fgp&Q^6;tHfgLP8P}68``H zfBW`rZEbB+Q`0#nla^b|-D{XE)7O>#1tSX&C;Oq=D4^3APJ6mI zhG?9>+Hc6$6%6s8Cr_VwvZmmU?$N25D@s}a>6Ri>F7o-XU6HTb01_0PwC)wy2bKQ zAZXR*4V-aamPeJgbN*-c_I7rBz3Y8R_;rWi6dCR?MJ3lSiaU!B+pU}=DDNf1GVQE4 z%Y=^;S445-i~UrQs#g9jcKqp)M6tE8GhMFy+wrk3XI{h}Ii9CH%VeI;G32p(m3{Yn zls)6ZJBLHXnR`wEy`@^>8c~vxSdwa$T$Bo=7>o>zOmqzlfhfe#%*p_Sv<(cb3=FC! z&wq=eAvZrIGp!Q02JUm}fj|u!a2rZ8b5n~;5_1a>dQ3tLjjRkTtqjZ|mTYu?Xb#lF N;OXk;vd$@?2>_(L#2)|v literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..f06305347175047b8286444cd0661649817d1456 GIT binary patch literal 593 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvmUKs7M+SzC{oH>NSwWJ?9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fgp&Q^6;tHfgLP8P}68``H zfBW`rZEbB+Q`57FymvDA-WT$JEfEkC6H`-DTOG)~FN$Zmv{n&N17k^$UoeBivm0q3 zPLj8~3$q}P&nF;T1w5N+> zh{pM={f2x^4g#*vd5#>ZI^Q5}FfVbN;ES@%3y0FoKQf#awQ2fxj43K(!O|4#7Y}&! zPAr;K!4Us>^7NS}YYOh@9-ZnvXKwZl0fA30C#=Gpj&9^~W}N;y_d%BMln!2}TPz<1 zf>v$bz!~Rdc~ogT=YM8zZ)eBXyWW?CUv~&jk>L(gRC4{IxU=}M-O5RV@?J75)6ROc zO!zo)MHENA*iRLyYUSTz$DbZa6k8iR)8)#)9Utp*=0)t0<9W)nOy=nvLms}H3 z*)uM@b2wC-x#tAXTdF0l5hW>!C8<`)MX5lF!N|bKMAyI&h(Zj_tPDU%+rYrez@TdK z{I@6?a`RI%(<*Um;6A4w2-Khfx1l66H?_DVF}DDr$0Wqi$jZRd%D^0A$wv2w=0H6R Mp00i_>zopr0BnoG-T(jq literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a034976ea680423a036ff684c1781c1645eda733 GIT binary patch literal 593 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvmUKs7M+SzC{oH>NSwWJ?9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fgp&Q^6;tHfgLP8P}68``H zfBW`rZEbB+Q`6HWeYb08zHMLjxqFqEn3$TH+N#9zJ=raDBR4+-YG5o0@(X5gcy=QV z#7XjYcVQOf@%aSga29w(7BevL?FV5-3)Wy2pdfpRr>`sf3q}?mPWD5!Q9!3Loc45a z4AD4$wcn7h$w9#NInR+JRp%ST4dx|o6MRvYdEro+`A3G+qBc$6jxj}LELfUi{o(x-J?^z=giH%At3O{<%Ct3)6tDw&WzJv=RU|1p3=eVbc^Mq zK+vkq8#v>X0T N!PC{xWt~$(69C}a$D9BF literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..fdd4eb91269b5d8f238dc08aa1b77c3d6e461ff4 GIT binary patch literal 593 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvmUKs7M+SzC{oH>NSwWJ?9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fgp&Q^6;tHfgLP8P}68``H zfBW`rZEbB+Q`1EG-VCJ~g{n(S)K-d#iK(fn1xl4g$u>V^@16kEz*rLG7tG-B>_!@h zljQC0!Ys(+^9jh|EbxddW?K;VL`h0wNvc(HQ7VvPFfuSQ(KRpxq7XwfD+3VHHZZUxX-Bv0ySvBZ79jiO)V}-%q>9ZF$pm=vNEu=GBAf&veEsaIZzLS Mr>mdKI;Vst0F9HvYXATM literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..705ef47c17424a136d6847d79ce501b666851666 GIT binary patch literal 593 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvmUKs7M+SzC{oH>NSwWJ?9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fgp&Q^6;tHfgLP8P}68``H zfBW`rZEbB+Q`07SnI1*C87hi%RF%ZU#MIQ(awWwpWu$VSw&?>kFqQ=Q1v5B2yO9Rs zBze2LFbnedd;)Sf3p^r=85sEXgD|57Yp@DXkiEpy*OmPRBMT2F`=Qz>pwk#md%8G= zXq>;=Z^+l=AmI9(=g5(&^9|w#^AfiSz9`GQa460EBg1J?o2GBan4&TkEKRX~@qkC~ z#G*+R4Dp{QPoH_Rrr?h5(W%~Z=4Rgz5cuSB!Ya(^=teGQ#_6wfA7lwn>ELy`#qv=g zXw~KooN->3N0qj7{%7{~c6NNd>wQW1b%)>-8SXGeCD$*CJBtt7t(+t%?$YVheO4gdrknorCQ<|QIe8al4_M)lnSI6j0}uSbPWuFD8$gr$^eA44GgRd45}v2 ze~Y3aH$NpatrE8e?sMvaKn)sj8%i>BQ;SOya|;l9OhOEetPCuz49p>xY;=EU4%EZo M>FVdQ&MBb@029u@djJ3c literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..2f53ec0709b94a6e08c670ec27f4de60d65e28a8 GIT binary patch literal 607 zcmeAS@N?(olHy`uVBq!ia0vp^3Lwk@BpAX3RW*PVOS+@4BLl<6e(pbstRTr`k04(L zhAK4%hK3dfhF?ITh8GMBr3MTPuM!v-tY$DUh!@P+6=(yLU@8gn3ua&_n|#&+#7pva zcVYP7-hXC4kjGiz5n0T@zz1aW?Ps)L4ORgPvX^-Jy0X7uWZ~gtKU5n9w1ZK=)5S5w z;`G~z8@*TzMO@GG%+!@*W;=An>~_c2z4D3se~5P_D0Xz)EB+47-hB3&^8?Pq%;vpE z&-EEgZrt=G%+m8+t@)B2EAQX9yT7~epB>(&BuC;E>SLRIR zeuoAR1ttsO6#~LNEfVE_Qw2OC7#SFu z=o%OTQHY_Ll>rE88yHv_7*tK3{}x3NSwWJ?9znhg z3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fgp&Q^6;tHfgLP8P}68``H zfBW`rZEbB+Q`5`K