From 8a6e8afa6132eb51dbe15b8cdb56df8c4bb3df03 Mon Sep 17 00:00:00 2001 From: YuRaNnNzZZ Date: Mon, 13 Nov 2023 21:54:10 +0300 Subject: [PATCH] machine upgrades --- .../ru/dbotthepony/mc/otm/datagen/DataGen.kt | 12 +- .../mc/otm/datagen/items/ItemModels.kt | 52 +++++-- .../datagen/items/MatteryItemModelProvider.kt | 6 + .../mc/otm/datagen/lang/English.kt | 52 +++++-- .../mc/otm/datagen/lang/Russian.kt | 52 +++++-- .../datagen/recipes/MachineUpgradeRecipes.kt | 83 +++++++++++ .../dbotthepony/mc/otm/datagen/tags/Tags.kt | 6 +- .../dbotthepony/mc/otm/capability/Upgrades.kt | 25 ++++ .../dbotthepony/mc/otm/core/math/Decimal.kt | 6 + .../mc/otm/registry/MCreativeTabs.kt | 5 +- .../ru/dbotthepony/mc/otm/registry/MItems.kt | 131 +++++++++++++----- .../ru/dbotthepony/mc/otm/registry/MNames.kt | 7 + .../dbotthepony/mc/otm/registry/MRegistry.kt | 3 + .../item/machine_upgrade_creative.png | Bin 0 -> 249 bytes .../item/machine_upgrade_icon_capacity.png | Bin 0 -> 158 bytes .../item/machine_upgrade_icon_energy.png | Bin 0 -> 176 bytes .../item/machine_upgrade_icon_failure.png | Bin 0 -> 183 bytes .../item/machine_upgrade_icon_matter.png | Bin 0 -> 195 bytes .../item/machine_upgrade_icon_processing.png | Bin 0 -> 192 bytes .../item/machine_upgrade_icon_speed.png | Bin 0 -> 169 bytes .../textures/item/machine_upgrade_tier0.png | Bin 0 -> 239 bytes .../textures/item/machine_upgrade_tier1.png | Bin 0 -> 248 bytes .../textures/item/machine_upgrade_tier2.png | Bin 0 -> 248 bytes .../textures/item/machine_upgrade_tier3.png | Bin 0 -> 248 bytes .../textures/item/machine_upgrade_tier4.png | Bin 0 -> 248 bytes .../textures/item/upgrade_capacity.png | Bin 251 -> 0 bytes .../textures/item/upgrade_energy.png | Bin 257 -> 0 bytes .../textures/item/upgrade_failure.png | Bin 260 -> 0 bytes .../textures/item/upgrade_matter.png | Bin 263 -> 0 bytes .../textures/item/upgrade_processing.png | Bin 266 -> 0 bytes .../textures/item/upgrade_speed.png | Bin 257 -> 0 bytes 31 files changed, 350 insertions(+), 90 deletions(-) create mode 100644 src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MachineUpgradeRecipes.kt create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_creative.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_icon_capacity.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_icon_energy.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_icon_failure.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_icon_matter.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_icon_processing.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_icon_speed.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_tier0.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_tier1.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_tier2.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_tier3.png create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_tier4.png delete mode 100644 src/main/resources/assets/overdrive_that_matters/textures/item/upgrade_capacity.png delete mode 100644 src/main/resources/assets/overdrive_that_matters/textures/item/upgrade_energy.png delete mode 100644 src/main/resources/assets/overdrive_that_matters/textures/item/upgrade_failure.png delete mode 100644 src/main/resources/assets/overdrive_that_matters/textures/item/upgrade_matter.png delete mode 100644 src/main/resources/assets/overdrive_that_matters/textures/item/upgrade_processing.png delete mode 100644 src/main/resources/assets/overdrive_that_matters/textures/item/upgrade_speed.png 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 f8715acf2..29d749ca5 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/DataGen.kt @@ -31,7 +31,6 @@ import ru.dbotthepony.mc.otm.datagen.blocks.MatteryBlockStateProvider import ru.dbotthepony.mc.otm.datagen.items.MatteryItemModelProvider import ru.dbotthepony.mc.otm.datagen.lang.AddEnglishLanguage import ru.dbotthepony.mc.otm.datagen.models.MatteryBlockModelProvider -import ru.dbotthepony.mc.otm.datagen.recipes.MatteryRecipeProvider import ru.dbotthepony.mc.otm.registry.* import ru.dbotthepony.mc.otm.core.registryName import ru.dbotthepony.mc.otm.datagen.advancements.addAdvancements @@ -45,15 +44,7 @@ import ru.dbotthepony.mc.otm.datagen.lang.MatteryLanguageProvider import ru.dbotthepony.mc.otm.datagen.loot.* import ru.dbotthepony.mc.otm.datagen.loot.LootModifiers import ru.dbotthepony.mc.otm.datagen.models.addBlockModels -import ru.dbotthepony.mc.otm.datagen.recipes.addBlastingRecipes -import ru.dbotthepony.mc.otm.datagen.recipes.addCraftingTableRecipes -import ru.dbotthepony.mc.otm.datagen.recipes.addDecorativesRecipes -import ru.dbotthepony.mc.otm.datagen.recipes.addMatterEntanglerRecipes -import ru.dbotthepony.mc.otm.datagen.recipes.addMicrowaveRecipes -import ru.dbotthepony.mc.otm.datagen.recipes.addPlatePressRecipes -import ru.dbotthepony.mc.otm.datagen.recipes.addShapelessRecipes -import ru.dbotthepony.mc.otm.datagen.recipes.addOreSmeltingRecipes -import ru.dbotthepony.mc.otm.datagen.recipes.addPainterRecipes +import ru.dbotthepony.mc.otm.datagen.recipes.* import ru.dbotthepony.mc.otm.datagen.tags.TagsProvider import ru.dbotthepony.mc.otm.datagen.tags.addTags import ru.dbotthepony.mc.otm.matter.MatterDataProvider @@ -563,6 +554,7 @@ object DataGen { addCraftingTableRecipes(consumer) addBlastingRecipes(consumer) addDecorativesRecipes(recipeProvider, consumer) + addMachineUpgradeRecipes(consumer) addShapelessRecipes(consumer) addOreSmeltingRecipes(consumer) addPainterRecipes(consumer) 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 ec6a56c07..e29bed539 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 @@ -100,25 +100,49 @@ fun addItemModels(provider: MatteryItemModelProvider) { provider.generated(MItems.MATTER_CAPACITOR_DENSE, modLocation("item/matter_capacitor_tier3")) provider.generated(MItems.MATTER_CAPACITOR_CREATIVE) - provider.generated(MItems.CreativeUpgrades.SPEED, modLocation("item/upgrade_speed")) + provider.generated(MItems.MachineUpgrades.Basic.BLANK, modLocation("item/machine_upgrade_tier1")) + provider.upgrade(MItems.MachineUpgrades.Basic.SPEED, "speed", "tier1") + provider.upgrade(MItems.MachineUpgrades.Basic.ENERGY_CONSUMPTION, "energy", "tier1") + provider.upgrade(MItems.MachineUpgrades.Basic.FAILSAFE, "failure", "tier1") + provider.upgrade(MItems.MachineUpgrades.Basic.ENERGY_STORAGE, "capacity", "tier1") + provider.upgrade(MItems.MachineUpgrades.Basic.MATTER_STORAGE, "matter", "tier1") + provider.upgrade(MItems.MachineUpgrades.Basic.PROCESSING_ITEMS, "processing", "tier1") - provider.generated(MItems.CreativeUpgrades.ENERGY_CONSUMPTION, modLocation("item/upgrade_energy")) - provider.generated(MItems.CreativeUpgrades.ENERGY_THROUGHPUT, modLocation("item/upgrade_energy")) - provider.generated(MItems.CreativeUpgrades.ENERGY_THROUGHPUT_FLAT, modLocation("item/upgrade_energy")) - provider.generated(MItems.CreativeUpgrades.ENERGY_THROUGHPUT_FLAT_SMALL, modLocation("item/upgrade_energy")) + provider.generated(MItems.MachineUpgrades.Normal.BLANK, modLocation("item/machine_upgrade_tier2")) + provider.upgrade(MItems.MachineUpgrades.Normal.SPEED, "speed", "tier2") + provider.upgrade(MItems.MachineUpgrades.Normal.ENERGY_CONSUMPTION, "energy", "tier2") + provider.upgrade(MItems.MachineUpgrades.Normal.FAILSAFE, "failure", "tier2") + provider.upgrade(MItems.MachineUpgrades.Normal.ENERGY_STORAGE, "capacity", "tier2") + provider.upgrade(MItems.MachineUpgrades.Normal.MATTER_STORAGE, "matter", "tier2") + provider.upgrade(MItems.MachineUpgrades.Normal.PROCESSING_ITEMS, "processing", "tier2") - provider.generated(MItems.CreativeUpgrades.ENERGY_STORAGE, modLocation("item/upgrade_capacity")) - provider.generated(MItems.CreativeUpgrades.ENERGY_STORAGE_FLAT, modLocation("item/upgrade_capacity")) - provider.generated(MItems.CreativeUpgrades.ENERGY_STORAGE_FLAT_SMALL, modLocation("item/upgrade_capacity")) + provider.generated(MItems.MachineUpgrades.Advanced.BLANK, modLocation("item/machine_upgrade_tier3")) + provider.upgrade(MItems.MachineUpgrades.Advanced.SPEED, "speed", "tier3") + provider.upgrade(MItems.MachineUpgrades.Advanced.ENERGY_CONSUMPTION, "energy", "tier3") + provider.upgrade(MItems.MachineUpgrades.Advanced.FAILSAFE, "failure", "tier3") + provider.upgrade(MItems.MachineUpgrades.Advanced.ENERGY_STORAGE, "capacity", "tier3") + provider.upgrade(MItems.MachineUpgrades.Advanced.MATTER_STORAGE, "matter", "tier3") + provider.upgrade(MItems.MachineUpgrades.Advanced.PROCESSING_ITEMS, "processing", "tier3") - provider.generated(MItems.CreativeUpgrades.FAILSAFE, modLocation("item/upgrade_failure")) - provider.generated(MItems.CreativeUpgrades.FAILURE, modLocation("item/upgrade_failure")) + provider.upgrade(MItems.MachineUpgrades.Creative.SPEED, "speed", "creative") - provider.generated(MItems.CreativeUpgrades.PROCESSING_ITEMS, modLocation("item/upgrade_processing")) + provider.upgrade(MItems.MachineUpgrades.Creative.ENERGY_CONSUMPTION, "energy", "creative") + provider.upgrade(MItems.MachineUpgrades.Creative.ENERGY_THROUGHPUT, "energy", "creative") + provider.upgrade(MItems.MachineUpgrades.Creative.ENERGY_THROUGHPUT_FLAT, "energy", "creative") + provider.upgrade(MItems.MachineUpgrades.Creative.ENERGY_THROUGHPUT_FLAT_SMALL, "energy", "creative") - provider.generated(MItems.CreativeUpgrades.MATTER_STORAGE, modLocation("item/upgrade_matter")) - provider.generated(MItems.CreativeUpgrades.MATTER_STORAGE_FLAT, modLocation("item/upgrade_matter")) - provider.generated(MItems.CreativeUpgrades.MATTER_STORAGE_FLAT_SMALL, modLocation("item/upgrade_matter")) + provider.upgrade(MItems.MachineUpgrades.Creative.ENERGY_STORAGE, "capacity", "creative") + provider.upgrade(MItems.MachineUpgrades.Creative.ENERGY_STORAGE_FLAT, "capacity", "creative") + provider.upgrade(MItems.MachineUpgrades.Creative.ENERGY_STORAGE_FLAT_SMALL, "capacity", "creative") + + provider.upgrade(MItems.MachineUpgrades.Creative.FAILSAFE, "failure", "creative") + provider.upgrade(MItems.MachineUpgrades.Creative.FAILURE, "failure", "creative") + + provider.upgrade(MItems.MachineUpgrades.Creative.PROCESSING_ITEMS, "processing", "creative") + + provider.upgrade(MItems.MachineUpgrades.Creative.MATTER_STORAGE, "matter", "creative") + provider.upgrade(MItems.MachineUpgrades.Creative.MATTER_STORAGE_FLAT, "matter", "creative") + provider.upgrade(MItems.MachineUpgrades.Creative.MATTER_STORAGE_FLAT_SMALL, "matter", "creative") provider.generated(MItems.QUANTUM_BATTERY) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/MatteryItemModelProvider.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/MatteryItemModelProvider.kt index 649117b21..ceeb59adf 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/MatteryItemModelProvider.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/items/MatteryItemModelProvider.kt @@ -113,6 +113,12 @@ class MatteryItemModelProvider(event: GatherDataEvent) : ItemModelProvider(event fun armorColored(vararg items: Item) = items.forEach { armorColored(it) } fun armorColored(items: Collection) = items.forEach { armorColored(it) } + fun upgrade(item: Item, upgradeType: String, tier: String = "tier0") = exec { + withExistingParent(item.registryName!!.path, GENERATED) + .texture("layer0", modLocation("item/machine_upgrade_$tier")) + .texture("layer1", modLocation("item/machine_upgrade_icon_$upgradeType")) + } + companion object { val ARMOR_TRIM_MATERIALS = listOf("quartz", "iron", "netherite", "redstone", "copper", "gold", "emerald", "diamond", "lapis", "amethyst") val GENERATED = ResourceLocation("minecraft", "item/generated") 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 b30813a5d..e8e558903 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 @@ -658,20 +658,44 @@ private fun items(provider: MatteryLanguageProvider) { add(MItems.ZPM_BATTERY, "Zero Point Module") add(MItems.ZPM_BATTERY, "description", "Can be found in hands of those who travel between dimensions, if they ever reached different reality of origin of these constructs...") - add(MItems.CreativeUpgrades.SPEED, "Creative Speed Upgrade") - add(MItems.CreativeUpgrades.ENERGY_CONSUMPTION, "Creative Energy Consumption Upgrade") - add(MItems.CreativeUpgrades.ENERGY_STORAGE, "Creative Energy Storage Upgrade") - add(MItems.CreativeUpgrades.ENERGY_STORAGE_FLAT, "Creative Energy Storage Upgrade (Flat)") - add(MItems.CreativeUpgrades.ENERGY_STORAGE_FLAT_SMALL, "Creative Energy Storage Upgrade (Flat Small)") - add(MItems.CreativeUpgrades.MATTER_STORAGE, "Creative Matter Storage Upgrade") - add(MItems.CreativeUpgrades.MATTER_STORAGE_FLAT, "Creative Matter Storage Upgrade (Flat)") - add(MItems.CreativeUpgrades.MATTER_STORAGE_FLAT_SMALL, "Creative Matter Storage Upgrade (Flat Small)") - add(MItems.CreativeUpgrades.ENERGY_THROUGHPUT, "Creative Energy Throughput Upgrade") - add(MItems.CreativeUpgrades.ENERGY_THROUGHPUT_FLAT, "Creative Energy Throughput Upgrade (Flat)") - add(MItems.CreativeUpgrades.ENERGY_THROUGHPUT_FLAT_SMALL, "Creative Energy Throughput Upgrade (Flat Small)") - add(MItems.CreativeUpgrades.FAILSAFE, "Creative Failsafe Upgrade") - add(MItems.CreativeUpgrades.FAILURE, "Creative Failure Upgrade") - add(MItems.CreativeUpgrades.PROCESSING_ITEMS, "Creative Item Processing Upgrade") + add(MItems.MachineUpgrades.Basic.BLANK, "Basic Upgrade Template") + add(MItems.MachineUpgrades.Basic.SPEED, "Basic Speed Upgrade") + add(MItems.MachineUpgrades.Basic.ENERGY_CONSUMPTION, "Basic Energy Consumption Upgrade") + add(MItems.MachineUpgrades.Basic.FAILSAFE, "Basic Failsafe Upgrade") + add(MItems.MachineUpgrades.Basic.ENERGY_STORAGE, "Basic Energy Storage Upgrade") + add(MItems.MachineUpgrades.Basic.MATTER_STORAGE, "Basic Matter Storage Upgrade") + add(MItems.MachineUpgrades.Basic.PROCESSING_ITEMS, "Basic Item Processing Upgrade") + + add(MItems.MachineUpgrades.Normal.BLANK, "Upgrade Template") + add(MItems.MachineUpgrades.Normal.SPEED, "Speed Upgrade") + add(MItems.MachineUpgrades.Normal.ENERGY_CONSUMPTION, "Energy Consumption Upgrade") + add(MItems.MachineUpgrades.Normal.FAILSAFE, "Failsafe Upgrade") + add(MItems.MachineUpgrades.Normal.ENERGY_STORAGE, "Energy Storage Upgrade") + add(MItems.MachineUpgrades.Normal.MATTER_STORAGE, "Matter Storage Upgrade") + add(MItems.MachineUpgrades.Normal.PROCESSING_ITEMS, "Item Processing Upgrade") + + add(MItems.MachineUpgrades.Advanced.BLANK, "Advanced Upgrade Template") + add(MItems.MachineUpgrades.Advanced.SPEED, "Advanced Speed Upgrade") + add(MItems.MachineUpgrades.Advanced.ENERGY_CONSUMPTION, "Advanced Energy Consumption Upgrade") + add(MItems.MachineUpgrades.Advanced.FAILSAFE, "Advanced Failsafe Upgrade") + add(MItems.MachineUpgrades.Advanced.ENERGY_STORAGE, "Advanced Energy Storage Upgrade") + add(MItems.MachineUpgrades.Advanced.MATTER_STORAGE, "Advanced Matter Storage Upgrade") + add(MItems.MachineUpgrades.Advanced.PROCESSING_ITEMS, "Advanced Item Processing Upgrade") + + add(MItems.MachineUpgrades.Creative.SPEED, "Creative Speed Upgrade") + add(MItems.MachineUpgrades.Creative.ENERGY_CONSUMPTION, "Creative Energy Consumption Upgrade") + add(MItems.MachineUpgrades.Creative.ENERGY_STORAGE, "Creative Energy Storage Upgrade") + add(MItems.MachineUpgrades.Creative.ENERGY_STORAGE_FLAT, "Creative Energy Storage Upgrade (Flat)") + add(MItems.MachineUpgrades.Creative.ENERGY_STORAGE_FLAT_SMALL, "Creative Energy Storage Upgrade (Flat Small)") + add(MItems.MachineUpgrades.Creative.MATTER_STORAGE, "Creative Matter Storage Upgrade") + add(MItems.MachineUpgrades.Creative.MATTER_STORAGE_FLAT, "Creative Matter Storage Upgrade (Flat)") + add(MItems.MachineUpgrades.Creative.MATTER_STORAGE_FLAT_SMALL, "Creative Matter Storage Upgrade (Flat Small)") + add(MItems.MachineUpgrades.Creative.ENERGY_THROUGHPUT, "Creative Energy Throughput Upgrade") + add(MItems.MachineUpgrades.Creative.ENERGY_THROUGHPUT_FLAT, "Creative Energy Throughput Upgrade (Flat)") + add(MItems.MachineUpgrades.Creative.ENERGY_THROUGHPUT_FLAT_SMALL, "Creative Energy Throughput Upgrade (Flat Small)") + add(MItems.MachineUpgrades.Creative.FAILSAFE, "Creative Failsafe Upgrade") + add(MItems.MachineUpgrades.Creative.FAILURE, "Creative Failure Upgrade") + add(MItems.MachineUpgrades.Creative.PROCESSING_ITEMS, "Creative Item Processing Upgrade") add(MItems.CHEST_UPGRADER, "Crate-r") add(MItems.CHEST_UPGRADER, "desc", "Replaces placed chests and barrels with cargo crates while keeping storage contents") 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 ebb2bd9c3..f29ed4aaf 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 @@ -660,20 +660,44 @@ private fun items(provider: MatteryLanguageProvider) { add(MItems.ZPM_BATTERY, "Модуль нулевой точки") add(MItems.ZPM_BATTERY, "description", "Может быть найден у тех, кто путешествует между измерениями, если, конечно, они смогли достигнуть вселенной, где данные устройства были созиданы...") - add(MItems.CreativeUpgrades.SPEED, "Творческое улучшение скорости") - add(MItems.CreativeUpgrades.ENERGY_CONSUMPTION, "Творческое улучшение энергоэффективности") - add(MItems.CreativeUpgrades.ENERGY_STORAGE, "Творческое улучшение энергохраналища") - add(MItems.CreativeUpgrades.ENERGY_STORAGE_FLAT, "Творческое улучшение энергохраналища (простое)") - add(MItems.CreativeUpgrades.ENERGY_STORAGE_FLAT_SMALL, "Творческое улучшение энергохраналища (малое простое)") - add(MItems.CreativeUpgrades.MATTER_STORAGE, "Творческое улучшение хранилища материи") - add(MItems.CreativeUpgrades.MATTER_STORAGE_FLAT, "Творческое улучшение хранилища материи (простое)") - add(MItems.CreativeUpgrades.MATTER_STORAGE_FLAT_SMALL, "Творческое улучшение хранилища материи (малое простое)") - add(MItems.CreativeUpgrades.ENERGY_THROUGHPUT, "Творческое улучшение энергоканала") - add(MItems.CreativeUpgrades.ENERGY_THROUGHPUT_FLAT, "Творческое улучшение энергоканала (простое)") - add(MItems.CreativeUpgrades.ENERGY_THROUGHPUT_FLAT_SMALL, "Творческое улучшение энергоканала (малое простое)") - add(MItems.CreativeUpgrades.FAILSAFE, "Творческое улучшение отказоустойчивости") - add(MItems.CreativeUpgrades.FAILURE, "Творческое улучшение краха") - add(MItems.CreativeUpgrades.PROCESSING_ITEMS, "Творческое улучшение обработки") + add(MItems.MachineUpgrades.Basic.BLANK, "Шаблон простого улучшения") + add(MItems.MachineUpgrades.Basic.SPEED, "Простое улучшение скорости") + add(MItems.MachineUpgrades.Basic.ENERGY_CONSUMPTION, "Простое улучшение энергоэффективности") + add(MItems.MachineUpgrades.Basic.FAILSAFE, "Простое улучшение отказоустойчивости") + add(MItems.MachineUpgrades.Basic.ENERGY_STORAGE, "Простое улучшение энергохранилища") + add(MItems.MachineUpgrades.Basic.MATTER_STORAGE, "Простое улучшение хранилища материи") + add(MItems.MachineUpgrades.Basic.PROCESSING_ITEMS, "Простое улучшение обработки") + + add(MItems.MachineUpgrades.Normal.BLANK, "Шаблон улучшения") + add(MItems.MachineUpgrades.Normal.SPEED, "Улучшение скорости") + add(MItems.MachineUpgrades.Normal.ENERGY_CONSUMPTION, "Улучшение энергоэффективности") + add(MItems.MachineUpgrades.Normal.FAILSAFE, "Улучшение отказоустойчивости") + add(MItems.MachineUpgrades.Normal.ENERGY_STORAGE, "Улучшение энергохранилища") + add(MItems.MachineUpgrades.Normal.MATTER_STORAGE, "Улучшение хранилища материи") + add(MItems.MachineUpgrades.Normal.PROCESSING_ITEMS, "Улучшение обработки") + + add(MItems.MachineUpgrades.Advanced.BLANK, "Шаблон продвинутого улучшения") + add(MItems.MachineUpgrades.Advanced.SPEED, "Продвинутое улучшение скорости") + add(MItems.MachineUpgrades.Advanced.ENERGY_CONSUMPTION, "Продвинутое улучшение энергоэффективности") + add(MItems.MachineUpgrades.Advanced.FAILSAFE, "Продвинутое улучшение отказоустойчивости") + add(MItems.MachineUpgrades.Advanced.ENERGY_STORAGE, "Продвинутое улучшение энергохранилища") + add(MItems.MachineUpgrades.Advanced.MATTER_STORAGE, "Продвинутое улучшение хранилища материи") + add(MItems.MachineUpgrades.Advanced.PROCESSING_ITEMS, "Продвинутое улучшение обработки") + + add(MItems.MachineUpgrades.Creative.SPEED, "Творческое улучшение скорости") + add(MItems.MachineUpgrades.Creative.ENERGY_CONSUMPTION, "Творческое улучшение энергоэффективности") + add(MItems.MachineUpgrades.Creative.ENERGY_STORAGE, "Творческое улучшение энергохранилища") + add(MItems.MachineUpgrades.Creative.ENERGY_STORAGE_FLAT, "Творческое улучшение энергохранилища (простое)") + add(MItems.MachineUpgrades.Creative.ENERGY_STORAGE_FLAT_SMALL, "Творческое улучшение энергохранилища (малое простое)") + add(MItems.MachineUpgrades.Creative.MATTER_STORAGE, "Творческое улучшение хранилища материи") + add(MItems.MachineUpgrades.Creative.MATTER_STORAGE_FLAT, "Творческое улучшение хранилища материи (простое)") + add(MItems.MachineUpgrades.Creative.MATTER_STORAGE_FLAT_SMALL, "Творческое улучшение хранилища материи (малое простое)") + add(MItems.MachineUpgrades.Creative.ENERGY_THROUGHPUT, "Творческое улучшение энергоканала") + add(MItems.MachineUpgrades.Creative.ENERGY_THROUGHPUT_FLAT, "Творческое улучшение энергоканала (простое)") + add(MItems.MachineUpgrades.Creative.ENERGY_THROUGHPUT_FLAT_SMALL, "Творческое улучшение энергоканала (малое простое)") + add(MItems.MachineUpgrades.Creative.FAILSAFE, "Творческое улучшение отказоустойчивости") + add(MItems.MachineUpgrades.Creative.FAILURE, "Творческое улучшение краха") + add(MItems.MachineUpgrades.Creative.PROCESSING_ITEMS, "Творческое улучшение обработки") add(MItems.CHEST_UPGRADER, "Ящикатор") add(MItems.CHEST_UPGRADER, "desc", "Заменяет установленные сундуки и бочки грузовыми ящиками с сохранением содержимого") diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MachineUpgradeRecipes.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MachineUpgradeRecipes.kt new file mode 100644 index 000000000..f11d03911 --- /dev/null +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/recipes/MachineUpgradeRecipes.kt @@ -0,0 +1,83 @@ +package ru.dbotthepony.mc.otm.datagen.recipes + +import net.minecraft.data.recipes.RecipeOutput +import net.minecraft.world.item.Items +import net.minecraftforge.common.Tags +import ru.dbotthepony.mc.otm.registry.MItemTags +import ru.dbotthepony.mc.otm.registry.MItems + +fun addMachineUpgradeRecipes(consumer: RecipeOutput) { + MatteryRecipe(MItems.MachineUpgrades.Basic.BLANK, 4) + .rowB(Items.REDSTONE) + .rowAC(MItemTags.IRON_PLATES, MItemTags.IRON_PLATES) + .rowB(MItems.ELECTRIC_PARTS) + .unlockedBy(MItemTags.IRON_PLATES) + .unlockedBy(MItems.ELECTRIC_PARTS) + .build(consumer) + + MatteryRecipe(MItems.MachineUpgrades.Normal.BLANK, 4) + .row(MItemTags.COPPER_WIRES, Items.REDSTONE, MItemTags.COPPER_WIRES) + .row(MItemTags.IRON_PLATES, Items.REDSTONE, MItemTags.IRON_PLATES) + .rowB(MItems.ELECTRIC_PARTS) + .unlockedBy(MItemTags.IRON_PLATES) + .unlockedBy(MItems.ELECTRIC_PARTS) + .build(consumer) + + MatteryRecipe(MItems.MachineUpgrades.Advanced.BLANK, 4) + .row(MItemTags.GOLD_WIRES, Items.REDSTONE, MItemTags.GOLD_WIRES) + .row(MItemTags.TRITANIUM_PLATES, MItemTags.COPPER_WIRES, MItemTags.TRITANIUM_PLATES) + .row(MItems.ELECTRIC_PARTS, Items.REDSTONE, MItems.ELECTRIC_PARTS) + .unlockedBy(MItemTags.TRITANIUM_PLATES) + .unlockedBy(MItems.ELECTRIC_PARTS) + .build(consumer) + + for (tier in MItems.MachineUpgrades.CRAFTABLE_TIERS) { + MatteryRecipe(tier.SPEED, 1) + .rowB(Items.REDSTONE) + .row(Items.SUGAR, MItemTags.COPPER_WIRES, Items.SUGAR) + .rowB(tier.BLANK) + .unlockedBy(tier.BLANK) + .unlockedBy(MItemTags.COPPER_WIRES) + .build(consumer) + + MatteryRecipe(tier.ENERGY_CONSUMPTION, 1) + .rowB(Items.REDSTONE) + .row(MItemTags.COPPER_WIRES, MItemTags.GOLD_WIRES, MItemTags.COPPER_WIRES) + .rowB(tier.BLANK) + .unlockedBy(tier.BLANK) + .unlockedBy(MItemTags.GOLD_WIRES) + .build(consumer) + + MatteryRecipe(tier.FAILSAFE, 1) + .rowB(MItems.ELECTRIC_PARTS) + .row(MItemTags.COPPER_WIRES, MItems.QUANTUM_TRANSCEIVER, MItemTags.COPPER_WIRES) + .rowB(tier.BLANK) + .unlockedBy(tier.BLANK) + .unlockedBy(MItems.QUANTUM_TRANSCEIVER) + .build(consumer) + + MatteryRecipe(tier.ENERGY_STORAGE, 1) + .rowB(Items.REDSTONE) + .row(Items.REDSTONE, MItems.ENERGY_BUS, Items.REDSTONE) + .rowB(tier.BLANK) + .unlockedBy(tier.BLANK) + .unlockedBy(MItems.ENERGY_BUS) + .build(consumer) + + MatteryRecipe(tier.MATTER_STORAGE, 1) + .rowB(Tags.Items.GLASS) + .row(Tags.Items.GLASS, MItems.MATTER_CAPACITOR_PARTS, Tags.Items.GLASS) + .rowB(tier.BLANK) + .unlockedBy(tier.BLANK) + .unlockedBy(MItems.MATTER_CAPACITOR_PARTS) + .build(consumer) + + MatteryRecipe(tier.PROCESSING_ITEMS, 1) + .rowB(MItems.ELECTRIC_PARTS) + .row(MItems.ELECTROMAGNET, MItemTags.TRITANIUM_PLATES, MItems.ELECTROMAGNET) + .rowB(tier.BLANK) + .unlockedBy(tier.BLANK) + .unlockedBy(MItems.ELECTROMAGNET) + .build(consumer) + } +} 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 dd78fad3a..ad9a24614 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 @@ -133,7 +133,11 @@ fun addTags(tagsProvider: TagsProvider) { tagsProvider.items.Appender(MItemTags.TOOLS_HAMMERS).add(MItems.EXPLOSIVE_HAMMER) tagsProvider.items.forge("tools").add(MItemTags.TOOLS_HAMMERS) - tagsProvider.items.Appender(MItemTags.UPGRADES).add(MItems.CreativeUpgrades.LIST) + tagsProvider.items.Appender(MItemTags.UPGRADES) + .add(MItems.MachineUpgrades.Basic.LIST) + .add(MItems.MachineUpgrades.Normal.LIST) + .add(MItems.MachineUpgrades.Advanced.LIST) + .add(MItems.MachineUpgrades.Creative.LIST) tagsProvider.blocks.Appender(BlockTags.STAIRS) .add(MRegistry.FLOOR_TILES_STAIRS.blocks.values) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/Upgrades.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/Upgrades.kt index 9ae1d54fe..2669485f4 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/capability/Upgrades.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/capability/Upgrades.kt @@ -2,10 +2,12 @@ package ru.dbotthepony.mc.otm.capability import net.minecraft.ChatFormatting import net.minecraft.network.chat.Component +import net.minecraft.world.item.Item import ru.dbotthepony.mc.otm.client.ShiftPressedCond import ru.dbotthepony.mc.otm.config.MachinesConfig import ru.dbotthepony.mc.otm.core.TextComponent import ru.dbotthepony.mc.otm.core.TranslatableComponent +import ru.dbotthepony.mc.otm.core.collect.SupplierList import ru.dbotthepony.mc.otm.core.immutableSet import ru.dbotthepony.mc.otm.core.math.Decimal import ru.dbotthepony.mc.otm.core.util.formatMatter @@ -153,6 +155,29 @@ fun IMatteryUpgrade.getUpgradeTooltipLines(): MutableList { return ArrayList().also { addUpgradeTooltipLines(it) } } +interface ITieredUpgradeSet { + val BLANK: Item + + val SPEED: Item + val ENERGY_CONSUMPTION: Item + val FAILSAFE: Item + + val ENERGY_STORAGE: Item + val MATTER_STORAGE: Item + + val PROCESSING_ITEMS: Item + + val LIST: SupplierList + get() = SupplierList( + ::SPEED, + ::ENERGY_CONSUMPTION, + ::FAILSAFE, + ::ENERGY_STORAGE, + ::MATTER_STORAGE, + ::PROCESSING_ITEMS, + ) +} + enum class UpgradeType { SPEED, PROCESSING, diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/core/math/Decimal.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/core/math/Decimal.kt index 2794c2565..3c1c12f09 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/core/math/Decimal.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/core/math/Decimal.kt @@ -682,7 +682,13 @@ class Decimal private constructor(val mag: BigInteger, marker: Nothing?) : Numbe @JvmField val MINUS_TWO = valueOf(-2) @JvmField val MINUS_TEN = valueOf(-10) @JvmField val ONE_TENTH = valueOf("0.1") + @JvmField val ONE_QUARTER = valueOf("0.25") + @JvmField val ONE_EIGHTH = valueOf("0.125") + @JvmField val ONE_HALF = valueOf("0.5") @JvmField val MINUS_ONE_TENTH = valueOf("-0.1") + @JvmField val MINUS_ONE_EIGHTH = valueOf("-0.125") + @JvmField val MINUS_ONE_QUARTER = valueOf("-0.25") + @JvmField val MINUS_ONE_HALF = valueOf("-0.5") @JvmField val INT_MAX_VALUE = Decimal(BI_INT_MAX) @JvmField val INT_MIN_VALUE = Decimal(BI_INT_MIN) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MCreativeTabs.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MCreativeTabs.kt index e0d083627..ef32d75bc 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MCreativeTabs.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MCreativeTabs.kt @@ -130,7 +130,10 @@ private fun CreativeModeTab.Output.fluids(value: Item) { private fun addMainCreativeTabItems(consumer: CreativeModeTab.Output) { with(consumer) { accept(MItems.MACHINES) - accept(MItems.CreativeUpgrades.LIST) + accept(MItems.MachineUpgrades.Basic.LIST) + accept(MItems.MachineUpgrades.Normal.LIST) + accept(MItems.MachineUpgrades.Advanced.LIST) + accept(MItems.MachineUpgrades.Creative.LIST) accept(MRegistry.CARGO_CRATES.item) accept(MItems.DEV_CHEST) 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 100f61660..c914e5f4a 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MItems.kt @@ -14,6 +14,7 @@ import net.minecraftforge.eventbus.api.IEventBus import net.minecraftforge.registries.DeferredRegister import net.minecraftforge.registries.ForgeRegistries import ru.dbotthepony.mc.otm.OverdriveThatMatters +import ru.dbotthepony.mc.otm.capability.ITieredUpgradeSet import ru.dbotthepony.mc.otm.capability.MatteryPlayerCapability import ru.dbotthepony.mc.otm.capability.UpgradeType import ru.dbotthepony.mc.otm.config.ItemsConfig @@ -181,43 +182,97 @@ object MItems { TRITANIUM_ANVIL = SupplierList(props) } - object CreativeUpgrades { - val SPEED: SimpleUpgrade by registry.register("creative_speed_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.SPEED.set(), speedBonus = 1.0) } - val ENERGY_CONSUMPTION: SimpleUpgrade by registry.register("creative_energy_consumption_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.ENERGY_CONSUMPTION.set(), energyConsumed = Decimal.MINUS_ONE) } - val ENERGY_STORAGE: SimpleUpgrade by registry.register("creative_energy_storage_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.ENERGY_STORAGE.set(), energyStorage = Decimal.ONE) } - val ENERGY_STORAGE_FLAT: SimpleUpgrade by registry.register("creative_energy_storage_flat_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.ENERGY_STORAGE.set(), energyStorageFlat = Decimal.LONG_MAX_VALUE) } - val ENERGY_STORAGE_FLAT_SMALL: SimpleUpgrade by registry.register("creative_energy_storage_flat2_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.ENERGY_STORAGE.set(), energyStorageFlat = Decimal.INT_MAX_VALUE) } - val ENERGY_THROUGHPUT: SimpleUpgrade by registry.register("creative_energy_throughput_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.ENERGY_THROUGHPUT.set(), energyThroughput = Decimal.ONE) } - val ENERGY_THROUGHPUT_FLAT: SimpleUpgrade by registry.register("creative_energy_throughput_flat_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.ENERGY_THROUGHPUT.set(), energyThroughputFlat = Decimal.LONG_MAX_VALUE) } - val ENERGY_THROUGHPUT_FLAT_SMALL: SimpleUpgrade by registry.register("creative_energy_throughput_flat2_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.ENERGY_THROUGHPUT.set(), energyThroughputFlat = Decimal.INT_MAX_VALUE) } - val FAILSAFE: SimpleUpgrade by registry.register("creative_failsafe_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.FAILSAFE.set(), failureMultiplier = 0.0) } - val FAILURE: SimpleUpgrade by registry.register("creative_failure_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.FAILSAFE.set(), failureMultiplier = 2.0) } - val PROCESSING_ITEMS: SimpleUpgrade by registry.register("creative_processing_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.PROCESSING.set(), processingItems = 1) } + object MachineUpgrades { + object Basic : ITieredUpgradeSet { + override val BLANK: Item by registry.register("blank_machine_upgrade_basic") { Item(DEFAULT_PROPERTIES) } - val MATTER_STORAGE: SimpleUpgrade by registry.register("creative_matter_storage_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.MATTER_STORAGE.set(), matterStorage = Decimal.ONE) } - val MATTER_STORAGE_FLAT: SimpleUpgrade by registry.register("creative_matter_storage_flat_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.MATTER_STORAGE.set(), matterStorageFlat = Decimal.LONG_MAX_VALUE) } - val MATTER_STORAGE_FLAT_SMALL: SimpleUpgrade by registry.register("creative_matter_storage_flat2_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.MATTER_STORAGE.set(), matterStorageFlat = Decimal.INT_MAX_VALUE) } + override val SPEED: SimpleUpgrade by registry.register("speed_upgrade_basic") { SimpleUpgrade(Item.Properties(), UpgradeType.SPEED.set(), speedBonus = 0.125, failureMultiplier = 1.125, energyConsumed = Decimal.ONE_EIGHTH) } + override val ENERGY_CONSUMPTION: SimpleUpgrade by registry.register("energy_consumption_upgrade_basic") { SimpleUpgrade(Item.Properties(), UpgradeType.ENERGY_CONSUMPTION.set(), speedBonus = -0.25, failureMultiplier = 1.125, energyConsumed = Decimal.MINUS_ONE_EIGHTH) } + override val FAILSAFE: SimpleUpgrade by registry.register("failsafe_upgrade_basic") { SimpleUpgrade(Item.Properties(), UpgradeType.FAILSAFE.set(), speedBonus = -0.125, failureMultiplier = 0.75, energyConsumed = Decimal.ONE_EIGHTH) } - val LIST = SupplierList( - ::SPEED, - ::ENERGY_CONSUMPTION, - ::ENERGY_STORAGE, - ::ENERGY_STORAGE_FLAT, - ::ENERGY_STORAGE_FLAT_SMALL, - ::ENERGY_THROUGHPUT, - ::ENERGY_THROUGHPUT_FLAT, - ::ENERGY_THROUGHPUT_FLAT_SMALL, - ::FAILSAFE, - ::FAILURE, - ::PROCESSING_ITEMS, - ::MATTER_STORAGE, - ::MATTER_STORAGE_FLAT, - ::MATTER_STORAGE_FLAT_SMALL, + override val ENERGY_STORAGE: SimpleUpgrade by registry.register("energy_storage_upgrade_basic") { SimpleUpgrade(Item.Properties(), UpgradeType.ENERGY_STORAGE.set(), energyStorage = Decimal.ONE_HALF) } + override val MATTER_STORAGE: SimpleUpgrade by registry.register("matter_storage_upgrade_basic") { SimpleUpgrade(Item.Properties(), UpgradeType.MATTER_STORAGE.set(), matterStorage = Decimal.ONE_HALF) } + + override val PROCESSING_ITEMS: SimpleUpgrade by registry.register("processing_upgrade_basic") { SimpleUpgrade(Item.Properties(), UpgradeType.PROCESSING.set(), processingItems = 1, speedBonus = -0.25, failureMultiplier = 1.25, energyConsumed = Decimal.ONE_QUARTER) } + } + + object Normal : ITieredUpgradeSet { + override val BLANK: Item by registry.register("blank_machine_upgrade_normal") { Item(DEFAULT_PROPERTIES) } + + override val SPEED: SimpleUpgrade by registry.register("speed_upgrade_normal") { SimpleUpgrade(Item.Properties(), UpgradeType.SPEED.set(), speedBonus = 0.25, failureMultiplier = 1.25, energyConsumed = Decimal.ONE_QUARTER) } + override val ENERGY_CONSUMPTION: SimpleUpgrade by registry.register("energy_consumption_upgrade_normal") { SimpleUpgrade(Item.Properties(), UpgradeType.ENERGY_CONSUMPTION.set(), speedBonus = -0.5, failureMultiplier = 1.25, energyConsumed = Decimal.MINUS_ONE_QUARTER) } + override val FAILSAFE: SimpleUpgrade by registry.register("failsafe_upgrade_normal") { SimpleUpgrade(Item.Properties(), UpgradeType.FAILSAFE.set(), speedBonus = -0.25, failureMultiplier = 0.5, energyConsumed = Decimal.ONE_QUARTER) } + + override val ENERGY_STORAGE: SimpleUpgrade by registry.register("energy_storage_upgrade_normal") { SimpleUpgrade(Item.Properties(), UpgradeType.ENERGY_STORAGE.set(), energyStorage = Decimal.ONE) } + override val MATTER_STORAGE: SimpleUpgrade by registry.register("matter_storage_upgrade_normal") { SimpleUpgrade(Item.Properties(), UpgradeType.MATTER_STORAGE.set(), matterStorage = Decimal.ONE) } + + override val PROCESSING_ITEMS: SimpleUpgrade by registry.register("processing_upgrade_normal") { SimpleUpgrade(Item.Properties(), UpgradeType.PROCESSING.set(), processingItems = 1, speedBonus = -0.125, failureMultiplier = 1.125, energyConsumed = Decimal.ONE_EIGHTH) } + } + + object Advanced : ITieredUpgradeSet { + override val BLANK: Item by registry.register("blank_machine_upgrade_advanced") { Item(DEFAULT_PROPERTIES) } + + override val SPEED: SimpleUpgrade by registry.register("speed_upgrade_advanced") { SimpleUpgrade(Item.Properties().rarity(Rarity.UNCOMMON), UpgradeType.SPEED.set(), speedBonus = 0.25, failureMultiplier = 1.125, energyConsumed = Decimal.ONE_EIGHTH) } + override val ENERGY_CONSUMPTION: SimpleUpgrade by registry.register("energy_consumption_upgrade_advanced") { SimpleUpgrade(Item.Properties().rarity(Rarity.UNCOMMON), UpgradeType.ENERGY_CONSUMPTION.set(), speedBonus = -0.25, failureMultiplier = 1.125, energyConsumed = Decimal.MINUS_ONE_QUARTER) } + override val FAILSAFE: SimpleUpgrade by registry.register("failsafe_upgrade_advanced") { SimpleUpgrade(Item.Properties().rarity(Rarity.UNCOMMON), UpgradeType.FAILSAFE.set(), speedBonus = -0.125, failureMultiplier = 0.5, energyConsumed = Decimal.ONE_EIGHTH) } + + override val ENERGY_STORAGE: SimpleUpgrade by registry.register("energy_storage_upgrade_advanced") { SimpleUpgrade(Item.Properties(), UpgradeType.ENERGY_STORAGE.set(), energyStorage = Decimal.TWO) } + override val MATTER_STORAGE: SimpleUpgrade by registry.register("matter_storage_upgrade_advanced") { SimpleUpgrade(Item.Properties(), UpgradeType.MATTER_STORAGE.set(), matterStorage = Decimal.TWO) } + + override val PROCESSING_ITEMS: SimpleUpgrade by registry.register("processing_upgrade_advanced") { SimpleUpgrade(Item.Properties().rarity(Rarity.UNCOMMON), UpgradeType.PROCESSING.set(), processingItems = 2, speedBonus = -0.125, failureMultiplier = 1.125, energyConsumed = Decimal.ONE_EIGHTH) } + } + + object Creative { + val SPEED: SimpleUpgrade by registry.register("creative_speed_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.SPEED.set(), speedBonus = 1.0) } + val ENERGY_CONSUMPTION: SimpleUpgrade by registry.register("creative_energy_consumption_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.ENERGY_CONSUMPTION.set(), energyConsumed = Decimal.MINUS_ONE) } + val ENERGY_STORAGE: SimpleUpgrade by registry.register("creative_energy_storage_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.ENERGY_STORAGE.set(), energyStorage = Decimal.ONE) } + val ENERGY_STORAGE_FLAT: SimpleUpgrade by registry.register("creative_energy_storage_flat_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.ENERGY_STORAGE.set(), energyStorageFlat = Decimal.LONG_MAX_VALUE) } + val ENERGY_STORAGE_FLAT_SMALL: SimpleUpgrade by registry.register("creative_energy_storage_flat2_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.ENERGY_STORAGE.set(), energyStorageFlat = Decimal.INT_MAX_VALUE) } + val ENERGY_THROUGHPUT: SimpleUpgrade by registry.register("creative_energy_throughput_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.ENERGY_THROUGHPUT.set(), energyThroughput = Decimal.ONE) } + val ENERGY_THROUGHPUT_FLAT: SimpleUpgrade by registry.register("creative_energy_throughput_flat_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.ENERGY_THROUGHPUT.set(), energyThroughputFlat = Decimal.LONG_MAX_VALUE) } + val ENERGY_THROUGHPUT_FLAT_SMALL: SimpleUpgrade by registry.register("creative_energy_throughput_flat2_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.ENERGY_THROUGHPUT.set(), energyThroughputFlat = Decimal.INT_MAX_VALUE) } + val FAILSAFE: SimpleUpgrade by registry.register("creative_failsafe_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.FAILSAFE.set(), failureMultiplier = 0.0) } + val FAILURE: SimpleUpgrade by registry.register("creative_failure_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.FAILSAFE.set(), failureMultiplier = 2.0) } + val PROCESSING_ITEMS: SimpleUpgrade by registry.register("creative_processing_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.PROCESSING.set(), processingItems = 1) } + + val MATTER_STORAGE: SimpleUpgrade by registry.register("creative_matter_storage_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.MATTER_STORAGE.set(), matterStorage = Decimal.ONE) } + val MATTER_STORAGE_FLAT: SimpleUpgrade by registry.register("creative_matter_storage_flat_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.MATTER_STORAGE.set(), matterStorageFlat = Decimal.LONG_MAX_VALUE) } + val MATTER_STORAGE_FLAT_SMALL: SimpleUpgrade by registry.register("creative_matter_storage_flat2_upgrade") { SimpleUpgrade(Item.Properties().rarity(Rarity.EPIC), UpgradeType.MATTER_STORAGE.set(), matterStorageFlat = Decimal.INT_MAX_VALUE) } + + val LIST = SupplierList( + ::SPEED, + ::ENERGY_CONSUMPTION, + ::ENERGY_STORAGE, + ::ENERGY_STORAGE_FLAT, + ::ENERGY_STORAGE_FLAT_SMALL, + ::ENERGY_THROUGHPUT, + ::ENERGY_THROUGHPUT_FLAT, + ::ENERGY_THROUGHPUT_FLAT_SMALL, + ::FAILSAFE, + ::FAILURE, + ::PROCESSING_ITEMS, + ::MATTER_STORAGE, + ::MATTER_STORAGE_FLAT, + ::MATTER_STORAGE_FLAT_SMALL, + ) + } + + init { + Basic + Normal + Advanced + Creative + } + + val CRAFTABLE_TIERS = listOf( + Basic, + Normal, + Advanced, ) } init { - CreativeUpgrades + MachineUpgrades } val MATTER_DUST: MatterDustItem by registry.register(MNames.MATTER_DUST) { MatterDustItem() } @@ -450,11 +505,11 @@ object MItems { } } } - val QUANTUM_TRANSCEIVER: Item by registry.register("quantum_transceiver") { Item(DEFAULT_PROPERTIES) } - val ELECTROMAGNET: Item by registry.register("electromagnet") { Item(DEFAULT_PROPERTIES) } - val ELECTROMOTOR: Item by registry.register("electromotor") { Item(DEFAULT_PROPERTIES) } - val MIRROR_COMPOUND: Item by registry.register("mirror_compound") { Item(DEFAULT_PROPERTIES) } - val MIRROR: Item by registry.register("mirror") { object : Item(DEFAULT_PROPERTIES) { + val QUANTUM_TRANSCEIVER: Item by registry.register(MNames.QUANTUM_TRANSCEIVER) { Item(DEFAULT_PROPERTIES) } + val ELECTROMAGNET: Item by registry.register(MNames.ELECTROMAGNET) { Item(DEFAULT_PROPERTIES) } + val ELECTROMOTOR: Item by registry.register(MNames.ELECTROMOTOR) { Item(DEFAULT_PROPERTIES) } + val MIRROR_COMPOUND: Item by registry.register(MNames.MIRROR_COMPOUND) { Item(DEFAULT_PROPERTIES) } + val MIRROR: Item by registry.register(MNames.MIRROR) { object : Item(DEFAULT_PROPERTIES) { override fun appendHoverText( p_41421_: ItemStack, p_41422_: Level?, @@ -495,6 +550,10 @@ object MItems { ::CARBON_MESH, ::REINFORCED_TRITANIUM_PLATE, + + MachineUpgrades.Basic::BLANK, + MachineUpgrades.Normal::BLANK, + MachineUpgrades.Advanced::BLANK, ) /** diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt index 53e56b58d..258cc69c5 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MNames.kt @@ -173,6 +173,13 @@ object MNames { const val CARBON_MESH = "carbon_mesh" const val REINFORCED_TRITANIUM_PLATE = "reinforced_tritanium_plate" + const val QUANTUM_TRANSCEIVER = "quantum_transceiver" + const val ELECTROMAGNET = "electromagnet" + const val ELECTROMOTOR = "electromotor" + const val MIRROR_COMPOUND = "mirror_compound" + const val MIRROR = "mirror" + const val BLANK_MACHINE_UPGRADE = "blank_machine_upgrade" + const val ENERGY_BUS = "energy_bus" const val ELECTRIC_PARTS = "electric_parts" 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 aac52447c..c54781d2f 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt @@ -43,6 +43,7 @@ import ru.dbotthepony.mc.otm.capability.matteryEnergy import ru.dbotthepony.mc.otm.client.MatteryGUI import ru.dbotthepony.mc.otm.compat.vanilla.MatteryChestMenu import ru.dbotthepony.mc.otm.core.math.Decimal +import ru.dbotthepony.mc.otm.core.math.RGBAColor import ru.dbotthepony.mc.otm.data.DecimalProvider import ru.dbotthepony.mc.otm.item.weapon.EnergySwordItem import ru.dbotthepony.mc.otm.matter.AbstractRegistryAction @@ -364,6 +365,8 @@ object MRegistry { event.register({ stack, layer -> if (layer == 0) (stack.item as DyeableArmorItem).getColor(stack) else -1 }, *MItems.TRITANIUM_ARMOR.toTypedArray() ) + event.register({ _, layer -> if (layer == 1) RGBAColor.AQUA.toARGB() else -1 }, + *MItems.MachineUpgrades.Creative.LIST.toTypedArray()) } private fun registerItemDecorators(event: RegisterItemDecorationsEvent) { diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_creative.png b/src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_creative.png new file mode 100644 index 0000000000000000000000000000000000000000..56a36411a8632970f2489866ae92dbb8c1319afc GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}H0G|-o4XMKa|30`iUHI?U_!12kQ&Uqu3n9q_`TsY7Dj1^X$%0JdDhcun z{tp8To6hK*2a0kQctjR6F!1dMVMYtqU=^UCpQnpsh(>Vkd2g`>1rCS6I?p%thZ&1{ ztZdYaQk8D#8~hMyXgP60Zexyx=#gYo=ewILo3lP-IA^o$jNIBbfjI literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_icon_energy.png b/src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_icon_energy.png new file mode 100644 index 0000000000000000000000000000000000000000..461d774e84b1bcb6d65aacacd52a1ddd93c80528 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXgD|57Yp@DX(ACq$F~q_@S%P&6vztaQ<3DD`DV%IQ4h*S_ z7}PX;%?@N~ZQRz(5Xg3b!K}Gp77x=2wueQmfr$;?#*PiAwHGr;8W=DzEL9ZYocAnZ Q0nk7OPgg&ebxsLQ0FTEkdjJ3c literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_icon_failure.png b/src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_icon_failure.png new file mode 100644 index 0000000000000000000000000000000000000000..6591efe7ffc74f0a9d15f71f45de5b082e8967aa GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXgD|57Yp@DX(8troF~q_@S%TGs?f*iCQ%AXGEHJs*An29M zP%>Mxk>QjIpMrElo`lhXSFAZw1(HoyBP~ReKeDwkY)YHKmXl=AaGfEC;ckN>zk~#X Y7N_>dwN2jFf#x!Jy85}Sb4q9e0Hjti^#A|> literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_icon_matter.png b/src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_icon_matter.png new file mode 100644 index 0000000000000000000000000000000000000000..6f0d1d42739a0cdda4dfaf2c5cf9fca10c4237af GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}E0G|-o|Ns93nW2X+*8wS}k|4j}{|ryJ8+ZYEoCO|{#S9F5`$3q|f;CtL zC}`p7;uxY4oSfjoEW%~bV3EM6zP?C4yTuVtUk$j>y75#J4}nc&9k3=bBHeaJa_Yrw$Kx?(h6J)x7?3sJ9DRBj`7{b j9lMk2Rzzj&SAE2y*y4WCgzda1&;kZeS3j3^P6B! z-R-kET%zaGV!OAj*1qg<8!neTV7h>>_#ouV#erbyJQ({|w-GB3S_beTtNerH@ KelF{r5}E)S4>St^ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_tier0.png b/src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_tier0.png new file mode 100644 index 0000000000000000000000000000000000000000..c9cf18e417237063bf037f86c1739b2c0fb5b488 GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}%0G|-oz`(%z`uc)`0x>Z$Q&Uqu3n9q_`TsY7(hUDzzT5z$I7@>3g8xGS zL$H5^5J<4VBeIx*fp0$uGg`0)s{jQ(JY5_^G=k@zcjRMG8bz#ZoC1wexja99sOXf;C#2z%d+IWPi;^?ED+df@qJbHKk45kH4Q+%1j Uxh5I=1I=XcboFyt=akR{08A!KPyhe` literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_tier1.png b/src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_tier1.png new file mode 100644 index 0000000000000000000000000000000000000000..2922b8866dd04b9c077c618ca9954f61464340f7 GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}T0G|-oz`(%z`g*@<1~Ka`#Kgo33JOe3P5CT@BopNS-vBCN@SnW<2$13~ z3Gxg64+jih{*0f1!kh&jk;M!QeEUI|(SkKt1t{q0>Ealo5j^+2q0j*Z4wpca6)ErQ z6I^GeOy2k@_+uN}LH)*>B9EV4MVDCp8LwzgiEvA0+{(K43X4$b1L3dFkDa{DVq(0z cR;qzd>Ke-=qjMkPfrc`8y85}Sb4q9e0BxdBjsO4v literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_tier2.png b/src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_tier2.png new file mode 100644 index 0000000000000000000000000000000000000000..760cf737e2fea500a9b3a4587420a873403b570d GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}T0G|-oz`(%z`ueqVeU5Dj7ZVdJC@3&BHRZDql1z~Qe*>t9pEalo5j^+2q0j*Z4wpca6)ErQ z6I^GeOy2k@_+uN}LH)*>B9EV4MVDCp8LwzgiEvA0+{(K43X4$b1L3dFkDa{DVq(0z cR;qzd>Ke-=qjMkPfrc`8y85}Sb4q9e0QzuIRsaA1 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_tier3.png b/src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_tier3.png new file mode 100644 index 0000000000000000000000000000000000000000..ffef41a20c4cc460ba12954b52acf4765f5f29a8 GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}T0G|-oz`(%z`ucgMrrYi8#Kgo33JOe3P5CT@BopNS-vBCNSaAG^Jdolp z3Gxg64+jih{*0f1!kh&jk;M!QeEUI|(SkKt1t{q0>Ealo5j^+2q0j*Z4wpca6)ErQ z6I^GeOy2k@_+uN}LH)*>B9EV4MVDCp8LwzgiEvA0+{(K43X4$b1L3dFkDa{DVq(0z cR;qzd>Ke-=qjMkPfrc`8y85}Sb4q9e08n61TL1t6 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_tier4.png b/src/main/resources/assets/overdrive_that_matters/textures/item/machine_upgrade_tier4.png new file mode 100644 index 0000000000000000000000000000000000000000..de42fdf3800b878872fdd49075bce40d0c302e10 GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}T0G|-oz`(%z`ueHf+c!kq5EBzCC@3&BHRZDql1z~Qe*>t9;V}EUjX;XK zB*-uLKO8W4`7?e33Ud~CL>4nJ@a+d-Mhn(p6`-J}r;B5VM)2J8hC&AvI9vivR;0YI zPjH=?GI`^t;E!!=2lX3kiadUH6 cTB!y;scS5gjLvFVdQ&MBb@01VYpb^rhX literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/upgrade_capacity.png b/src/main/resources/assets/overdrive_that_matters/textures/item/upgrade_capacity.png deleted file mode 100644 index 6eb8335b6e43196a7de21a039279c9cce8bb4cb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}H0G|-oz`(%z`uc)`0x>bM|NsA+nws)i2uUW$|GxoL!7#VK@;i{?Dhcun z2FgMJ!=^Jj=YgV}1s;*b3=DkxL735kHCP2G7~tvR7@`qedOnh`!GOc{B2!e&@B15k z1Wi7EDrd^v^&vBHZ;`^XE>EF(TyFIRDa=JaOgkEdclf=T*>ukFT;KtL!Wr6+=5L;= h#}FN=KcDvj+x;%)ADb1{9|xMv;OXk;vd$@?2>{W`REhuq diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/upgrade_energy.png b/src/main/resources/assets/overdrive_that_matters/textures/item/upgrade_energy.png deleted file mode 100644 index 6403f04c2d03bb2e05444c51e85266a0bd6d8320..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}H0G|-oz`(%z`uc)`0x>bM|NsA+nws)i2uUW$|GxoL!7#VK@;i{?Dhcun z2FgMJ!=^Jj=YgV}1s;*b3=DkxL735kHCP2G80P8X7@`qed;THU0R;}Xz_X`*{?oUy z-+Jv^vbl#9i{MRlqbk-1$3l}mZ-~m|zPP8qrnt$TiD4_tlk^_pB!-j)a=$q|I#~k3 nl@31tb1JyOH+1iYWi#*I-^={1@}_n;&;|xiS3j3^P6f diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/upgrade_failure.png b/src/main/resources/assets/overdrive_that_matters/textures/item/upgrade_failure.png deleted file mode 100644 index c9dca5ab939f9ff2a67ec1f27a04188559a97937..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}H0G|-oz`(%z`uc)`0x>bM|NsA+nws)i2uUW$|GxoL!7#VK@;i{?Dhcun z2FgMJ!=^Jj=YgV}1s;*b3=DkxL735kHCP2G80qQa7@`qedcK#hL4m_9@QM55zws7! zDqFYZUH;Uw*7INIoH$0Q?On5dB1C0!1I}Kz&)C9X-znUnZm{}XDT9{4W{WG+6n>oZ qVUVa4iqUf`NS%G}H0G|-oz`(%z`uc)`0x>bM|NsA+nws)i2uUW$|GxoL!7#VK@;i{?Dhcun z2FgMJ!=^Jj=YgV}1s;*b3=DkxL735kHCP2G7~|>U7@`pzd)}MxfC2|gz|YK`|6946 zFWuPa_MBB*_TT9bg{qA+%4RHCu=%0OSBE=~b}!KSD(quoVAaAMVX4^1e3vmPZPixZ u2|-s?7?rIj*^4X3GuT~^@?ZDzo&MV$EIiEJ7taFiVeoYIb6Mw<&;$T;5?T2G diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/upgrade_processing.png b/src/main/resources/assets/overdrive_that_matters/textures/item/upgrade_processing.png deleted file mode 100644 index 39bfd8aa673b539123df87f13e46be4a626b904a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}H0G|-oz`(%z`uc)`0x>bM|NsA+nws)i2uUW$|GxoL!7#VK@;i{?Dhcun z2FgMJ!=^Jj=YgV}1s;*b3=DkxL735kHCP2G81L!g7@`pzd!Cc;fC2}L!_x_${_{^~ zjmo_)km_W@_doT=4;F*WvW%jGv)h#UJ6v)FzNp#;GI%bq_{t$V;Q{NxGA2*v)vH`G x@2ut2y{N@pwB+!Qn4UK(Ka4hWXYc&Yd+i|e6Bu diff --git a/src/main/resources/assets/overdrive_that_matters/textures/item/upgrade_speed.png b/src/main/resources/assets/overdrive_that_matters/textures/item/upgrade_speed.png deleted file mode 100644 index 0a1af7fd93baeb6c179a4a0dccad0070070b3f0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}H0G|-oz`(%z`uc)`0x>bM|NsA+nws)i2uUW$|GxoL!7#VK@;i{?Dhcun z2FgMJ!=^Jj=YgV}1s;*b3=DkxL735kHCP2G80P8X7@`qedOn)#fC7(8;92Lh|IF|B zm}GJ9{ruEXpu1KpERIp@s%YrE4bcT(*_%$Xx-)$^AvEg&r`i_9^Nee>W~>l@Fv*Z1 o-00ZzKc_SgM7^&~ID1C!>U!qq%h!F`0