diff --git a/build.gradle.kts b/build.gradle.kts index 1c84d68..1bdd0ab 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -31,10 +31,10 @@ dependencies { "modImplementation"("net.fabricmc.fabric-api:fabric-api:${properties["fabricVersion"]}") "modImplementation"("net.fabricmc:fabric-language-kotlin:${properties["fabricKotlinVersion"]}") - listOf("modImplementation", "include").map { configuration -> - configuration("me.shedaniel.cloth:config-2:${project.properties["clothConfigVersion"]}") - configuration("io.github.prospector:modmenu:${project.properties["modMenuVersion"]}") - configuration("me.zeroeightsix:fiber:0.8.0-2") + "modImplementation"("io.github.prospector:modmenu:${properties["modMenuVersion"]}") + listOf("modImplementation", "include").forEach { configuration -> + configuration("me.shedaniel.cloth:config-2:${properties["clothConfigVersion"]}") + configuration("me.zeroeightsix:fiber:${properties["fiberVersion"]}") } // Canvas Renderer diff --git a/gradle.properties b/gradle.properties index bef8ee7..4468a61 100644 --- a/gradle.properties +++ b/gradle.properties @@ -19,4 +19,5 @@ fabricKotlinVersion=1.3.60+build.1 clothConfigVersion=1.8 autoConfigVersion=1.2.0+mc1.14.4 -modMenuVersion=1.7.6+build.115 \ No newline at end of file +modMenuVersion=1.7.6+build.115 +fiberVersion=0.8.0-2 \ No newline at end of file diff --git a/src/main/kotlin/mods/betterfoliage/BetterFoliage.kt b/src/main/kotlin/mods/betterfoliage/BetterFoliage.kt index 62cc98a..cb388d4 100644 --- a/src/main/kotlin/mods/betterfoliage/BetterFoliage.kt +++ b/src/main/kotlin/mods/betterfoliage/BetterFoliage.kt @@ -1,7 +1,5 @@ package mods.betterfoliage -import io.github.prospector.modmenu.api.ModMenuApi -import me.shedaniel.clothconfig2.api.ConfigBuilder import me.zeroeightsix.fiber.JanksonSettings import mods.betterfoliage.chunk.ChunkOverlayManager import mods.betterfoliage.config.BlockConfig @@ -12,12 +10,9 @@ import mods.betterfoliage.render.particle.RisingSoulParticle import mods.betterfoliage.resource.discovery.BakedModelReplacer import mods.betterfoliage.resource.generated.GeneratedBlockTexturePack import net.fabricmc.api.ClientModInitializer -import net.fabricmc.fabric.api.resource.IdentifiableResourceReloadListener import net.fabricmc.fabric.api.resource.ResourceManagerHelper import net.fabricmc.loader.api.FabricLoader import net.minecraft.client.MinecraftClient -import net.minecraft.client.gui.screen.Screen -import net.minecraft.client.resource.language.I18n import net.minecraft.resource.ResourceType import net.minecraft.util.Identifier import org.apache.logging.log4j.Level @@ -27,11 +22,10 @@ import org.apache.logging.log4j.util.PropertiesUtil import java.io.File import java.io.PrintStream import java.util.* -import java.util.function.Function -object BetterFoliage : ClientModInitializer, ModMenuApi { + +object BetterFoliage : ClientModInitializer { const val MOD_ID = "betterfoliage" - override fun getModId() = MOD_ID var logger = LogManager.getLogger() var logDetail = SimpleLogger( @@ -55,21 +49,6 @@ object BetterFoliage : ClientModInitializer, ModMenuApi { } val blockConfig = BlockConfig() - override fun getConfigScreenFactory() = Function { screen: Screen -> - val builder = ConfigBuilder.create() - .setParentScreen(screen) - .setTitle(I18n.translate("betterfoliage.title")) - config.createClothNode(listOf("betterfoliage")).value.forEach { rootOption -> - builder.getOrCreateCategory("main").addEntry(rootOption) - } - builder.savingRunnable = Runnable { - JanksonSettings().serialize(config.fiberNode, configFile.outputStream(), false) - modelReplacer.invalidate() - MinecraftClient.getInstance().worldRenderer.reload() - } - builder.build() - } - val generatedPack = GeneratedBlockTexturePack(Identifier(MOD_ID, "generated"), "betterfoliage-generated", "Better Foliage", "Generated leaf textures", logDetail) val modelReplacer = BakedModelReplacer() diff --git a/src/main/kotlin/mods/betterfoliage/integration/ModMenu.kt b/src/main/kotlin/mods/betterfoliage/integration/ModMenu.kt new file mode 100644 index 0000000..86ce1be --- /dev/null +++ b/src/main/kotlin/mods/betterfoliage/integration/ModMenu.kt @@ -0,0 +1,29 @@ +package mods.betterfoliage.integration + +import io.github.prospector.modmenu.api.ModMenuApi +import me.shedaniel.clothconfig2.api.ConfigBuilder +import me.zeroeightsix.fiber.JanksonSettings +import mods.betterfoliage.BetterFoliage +import net.minecraft.client.MinecraftClient +import net.minecraft.client.gui.screen.Screen +import net.minecraft.client.resource.language.I18n +import java.util.function.Function + +object ModMenu : ModMenuApi { + override fun getModId() = BetterFoliage.MOD_ID + + override fun getConfigScreenFactory() = Function { screen: Screen -> + val builder = ConfigBuilder.create() + .setParentScreen(screen) + .setTitle(I18n.translate("betterfoliage.title")) + BetterFoliage.config.createClothNode(listOf("betterfoliage")).value.forEach { rootOption -> + builder.getOrCreateCategory("main").addEntry(rootOption) + } + builder.savingRunnable = Runnable { + JanksonSettings().serialize(BetterFoliage.config.fiberNode, BetterFoliage.configFile.outputStream(), false) + BetterFoliage.modelReplacer.invalidate() + MinecraftClient.getInstance().worldRenderer.reload() + } + builder.build() + } +} \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 91d7ecb..74edef0 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -29,7 +29,7 @@ "modmenu": [ { "adapter": "kotlin", - "value": "mods.betterfoliage.BetterFoliage" + "value": "mods.betterfoliage.integration.ModMenu" } ] },