From 60429c35b240c9343e4b5aac7d6c4a9bd940bf30 Mon Sep 17 00:00:00 2001 From: YuRaNnNzZZ Date: Wed, 28 Aug 2024 12:00:26 +0300 Subject: [PATCH] Condensed Shit --- build.gradle.kts | 21 ++++ gradle.properties | 2 + .../CondensedCreativeCompat.kt | 104 ++++++++++++++++++ 3 files changed, 127 insertions(+) create mode 100644 src/main/kotlin/ru/dbotthepony/mc/otm/compat/condensed_creative/CondensedCreativeCompat.kt diff --git a/build.gradle.kts b/build.gradle.kts index e0b4d0b74..cbbf1cda4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -166,6 +166,8 @@ dependencies { val botarium_id: String by project val ad_astra_id: String by project val worldedit_id: String by project + val cloth_config_version: String by project + val condensed_creative_version: String by project compileOnly("top.theillusivec4.curios:curios-neoforge:${curios_version}+${curios_mc_version}") compileOnly("curse.maven:cosmetic-armor-reworked-237307:$cosmetic_armor_reworked_id") @@ -185,6 +187,9 @@ dependencies { compileOnly("curse.maven:ad-astra-635042:${ad_astra_id}") runtimeOnly("curse.maven:worldedit-225608:${worldedit_id}") + runtimeOnly("me.shedaniel.cloth:cloth-config-neoforge:${cloth_config_version}") + implementation("io.wispforest:condensed_creative-neoforge:${condensed_creative_version}") + // runtimeOnly("curse.maven:worldedit-225608:${worldedit_fileid}") // runtimeOnly("at.ridgo8.moreoverlays:MoreOverlays-updated:${more_overlays_version}") @@ -309,6 +314,22 @@ repositories { } } + maven { + url = uri("https://maven.shedaniel.me/") + + content { + includeGroup("me.shedaniel.cloth") + } + } + + maven { + url = uri("https://maven.wispforest.io") + + content { + includeGroup("io.wispforest") + } + } + // mavenCentral() } diff --git a/gradle.properties b/gradle.properties index 05970b0c2..0e354d875 100644 --- a/gradle.properties +++ b/gradle.properties @@ -32,6 +32,8 @@ resourceful_config_id=4576455 jade_id=5591256 configured_id=4462894 worldedit_id=4807512 +cloth_config_version=15.0.130 +condensed_creative_version=3.4.1+1.21 kotlin_for_forge_version=5.5.0 kotlin_version=2.0.10 diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/compat/condensed_creative/CondensedCreativeCompat.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/condensed_creative/CondensedCreativeCompat.kt new file mode 100644 index 000000000..9904ef4c6 --- /dev/null +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/compat/condensed_creative/CondensedCreativeCompat.kt @@ -0,0 +1,104 @@ +package ru.dbotthepony.mc.otm.compat.condensed_creative + +import io.wispforest.condensed_creative.entry.impl.CondensedItemEntry +import io.wispforest.condensed_creative.registry.CondensedCreativeInitializer +import io.wispforest.condensed_creative.registry.CondensedEntryRegistry +import net.minecraft.core.RegistryAccess +import net.minecraft.world.item.CreativeModeTab +import net.minecraft.world.item.DyeColor +import net.minecraft.world.item.Item +import ru.dbotthepony.mc.otm.core.registryName +import ru.dbotthepony.mc.otm.registry.MCreativeTabs +import ru.dbotthepony.mc.otm.registry.MItems +import ru.dbotthepony.mc.otm.registry.MRegistry + +@CondensedCreativeInitializer.InitializeCondensedEntries +class CondensedCreativeCompat : CondensedCreativeInitializer { + override fun registerCondensedEntries(refreshed: Boolean, access: RegistryAccess?) { + addByBase(MItems.TWIN_PLATE_PRESS, MCreativeTabs.MAIN) + addByBase(MItems.POWERED_FURNACE, MCreativeTabs.MAIN) + addByBase(MItems.POWERED_BLAST_FURNACE, MCreativeTabs.MAIN) + addByBase(MItems.POWERED_SMOKER, MCreativeTabs.MAIN) + + addByBase(MItems.ANDROID_STATION, MCreativeTabs.MAIN) + addByBase(MItems.ANDROID_CHARGER, MCreativeTabs.MAIN) + addByBase(MItems.BATTERY_BANK, MCreativeTabs.MAIN) + addByBase(MItems.ENERGY_COUNTER, MCreativeTabs.MAIN) + addByBase(MItems.CHEMICAL_GENERATOR, MCreativeTabs.MAIN) + addByBase(MItems.ENERGY_SERVO, MCreativeTabs.MAIN) + + addByBase(MItems.COBBLESTONE_GENERATOR, MCreativeTabs.MAIN) + addByBase(MItems.ESSENCE_STORAGE, MCreativeTabs.MAIN) + + addByBase(MItems.MATTER_DECOMPOSER, MCreativeTabs.MAIN) + addByBase(MItems.MATTER_CAPACITOR_BANK, MCreativeTabs.MAIN) + addByBase(MItems.MATTER_SCANNER, MCreativeTabs.MAIN) + addByBase(MItems.MATTER_PANEL, MCreativeTabs.MAIN) + addByBase(MItems.MATTER_REPLICATOR, MCreativeTabs.MAIN) + addByBase(MItems.MATTER_BOTTLER, MCreativeTabs.MAIN) + addByBase(MItems.MATTER_RECYCLER, MCreativeTabs.MAIN) + addByBase(MItems.MATTER_RECONSTRUCTOR, MCreativeTabs.MAIN) + + addByBase(MItems.DRIVE_VIEWER, MCreativeTabs.MAIN) + addByBase(MItems.ITEM_MONITOR, MCreativeTabs.MAIN) + addByBase(MItems.STORAGE_POWER_SUPPLIER, MCreativeTabs.MAIN) + + addByBase(MItems.TRITANIUM_DOOR, MCreativeTabs.DECORATIVE) + addByBase(MItems.TRITANIUM_TRAPDOOR, MCreativeTabs.DECORATIVE) + addByBase(MRegistry.TRITANIUM_PRESSURE_PLATE.allItems, MCreativeTabs.DECORATIVE) + + addByBase(MRegistry.CARGO_CRATES.allItems, MCreativeTabs.DECORATIVE) + addByBase(MItems.CARGO_CRATE_MINECARTS, MCreativeTabs.DECORATIVE) + + addByFirst(MItems.TRITANIUM_ANVIL, MCreativeTabs.DECORATIVE) + + addByBase(MRegistry.COMPUTER_TERMINAL.allItems, MCreativeTabs.DECORATIVE) + + addByBase(MRegistry.DECORATIVE_CRATE.allItems, MCreativeTabs.DECORATIVE) + + addByBase(MRegistry.TRITANIUM_BLOCK.allItems, MCreativeTabs.DECORATIVE) + addByBase(MRegistry.TRITANIUM_STAIRS.allItems, MCreativeTabs.DECORATIVE) + addByBase(MRegistry.TRITANIUM_SLAB.allItems, MCreativeTabs.DECORATIVE) + addByBase(MRegistry.TRITANIUM_WALL.allItems, MCreativeTabs.DECORATIVE) + + addByBase(MRegistry.INDUSTRIAL_GLASS.allItems, MCreativeTabs.DECORATIVE) + addByBase(MRegistry.INDUSTRIAL_GLASS_PANE.allItems, MCreativeTabs.DECORATIVE) + + addByWhite(MRegistry.UNREFINED_FLOOR_TILES.items, MCreativeTabs.DECORATIVE) + addByWhite(MRegistry.FLOOR_TILES.items, MCreativeTabs.DECORATIVE) + addByWhite(MRegistry.FLOOR_TILES_STAIRS.items, MCreativeTabs.DECORATIVE) + addByWhite(MRegistry.FLOOR_TILES_SLAB.items, MCreativeTabs.DECORATIVE) + + addByBase(MRegistry.VENT.allItems, MCreativeTabs.DECORATIVE) + addByBase(MRegistry.VENT_ALTERNATIVE.allItems, MCreativeTabs.DECORATIVE) + + addByFirst(MRegistry.TRITANIUM_STRIPED_BLOCK.flatItems, MCreativeTabs.DECORATIVE) + addByFirst(MRegistry.TRITANIUM_STRIPED_STAIRS.flatItems, MCreativeTabs.DECORATIVE) + addByFirst(MRegistry.TRITANIUM_STRIPED_SLAB.flatItems, MCreativeTabs.DECORATIVE) + addByFirst(MRegistry.TRITANIUM_STRIPED_WALL.flatItems, MCreativeTabs.DECORATIVE) + } + + private fun addByBase(map: Map, vararg tabs: CreativeModeTab): CondensedItemEntry.Builder? { + val base = map[null] + + val builder = CondensedEntryRegistry.fromItems(base!!.registryName, base, map.values) + tabs.forEach { builder.addToItemGroup(it) } + return builder + } + + private fun addByWhite(map: Map, vararg tabs: CreativeModeTab): CondensedItemEntry.Builder? { + val base = map[DyeColor.WHITE] + + val builder = CondensedEntryRegistry.fromItems(base!!.registryName, base, map.values) + tabs.forEach { builder.addToItemGroup(it) } + return builder + } + + private fun addByFirst(list: Collection, vararg tabs: CreativeModeTab): CondensedItemEntry.Builder? { + val base = list.first() + + val builder = CondensedEntryRegistry.fromItems(base.registryName, base, list) + tabs.forEach { builder.addToItemGroup(it) } + return builder + } +}