un-bundle Mod Menu

This commit is contained in:
octarine-noise
2020-02-17 15:55:14 +01:00
parent 4c439dccd2
commit 01f697d2d3
5 changed files with 38 additions and 29 deletions

View File

@@ -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

View File

@@ -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
modMenuVersion=1.7.6+build.115
fiberVersion=0.8.0-2

View File

@@ -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()

View File

@@ -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()
}
}

View File

@@ -29,7 +29,7 @@
"modmenu": [
{
"adapter": "kotlin",
"value": "mods.betterfoliage.BetterFoliage"
"value": "mods.betterfoliage.integration.ModMenu"
}
]
},