From: shedaniel Date: Mon, 15 Feb 2021 14:53:57 +0000 (+0800) Subject: Update Cloth Config and architectury X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=a0d901209e02a790f7ffc261c49128c0254911f9;p=LightOverlay.git Update Cloth Config and architectury Signed-off-by: shedaniel --- diff --git a/.gitignore b/.gitignore index d74b152..911e421 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,7 @@ logs/ .idea *.ipr *.iws +.vscode # Sekrit files private.properties diff --git a/build.gradle b/build.gradle index 861026f..06d5686 100644 --- a/build.gradle +++ b/build.gradle @@ -18,11 +18,11 @@ import java.util.zip.ZipInputStream import java.util.zip.ZipOutputStream plugins { - id "architectury-plugin" version "1.3.39" - id "forgified-fabric-loom" version "0.5.16" apply false + id "architectury-plugin" version "3.0.76" + id "forgified-fabric-loom" version "0.6.67" apply false } -architect { +architectury { minecraft = minecraft_version } diff --git a/common/build.gradle b/common/build.gradle index 8c3d1b6..377b4f2 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -1,10 +1,13 @@ dependencies { - minecraft "com.mojang:minecraft:${rootProject.architect.minecraft}" + minecraft "com.mojang:minecraft:${rootProject.architectury.minecraft}" mappings minecraft.officialMojangMappings() modCompile "me.shedaniel:architectury:${rootProject.architectury_version}" modCompile "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}" + modCompileOnly("me.shedaniel.cloth:cloth-config:${rootProject.cloth_config_version}") { + exclude(group: "net.fabricmc.fabric-api") + } } -architect { +architectury { common() } \ No newline at end of file diff --git a/common/src/main/java/me/shedaniel/lightoverlay/common/ClothScreen.java b/common/src/main/java/me/shedaniel/lightoverlay/common/ClothScreen.java new file mode 100644 index 0000000..42021c3 --- /dev/null +++ b/common/src/main/java/me/shedaniel/lightoverlay/common/ClothScreen.java @@ -0,0 +1,50 @@ +package me.shedaniel.lightoverlay.common; + +import me.shedaniel.clothconfig2.api.ConfigBuilder; +import me.shedaniel.clothconfig2.api.ConfigCategory; +import me.shedaniel.clothconfig2.api.ConfigEntryBuilder; +import me.shedaniel.clothconfig2.gui.entries.IntegerSliderEntry; +import net.minecraft.client.gui.screens.Screen; +import net.minecraft.client.resources.language.I18n; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; +import net.minecraft.network.chat.TranslatableComponent; +import net.minecraft.util.Mth; + +import java.util.Optional; + +public class ClothScreen { + public static Screen getConfigScreenByCloth(Screen parent) { + ConfigBuilder builder = ConfigBuilder.create().setParentScreen(parent).setTitle(new TranslatableComponent("key.lightoverlay.category")); + + ConfigEntryBuilder eb = builder.entryBuilder(); + ConfigCategory general = builder.getOrCreateCategory(new TranslatableComponent("config.lightoverlay.general")); + general.addEntry(eb.startTextDescription(Component.nullToEmpty("§7" + I18n.get("description.lightoverlay.caching"))).build()); + general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.caching"), LightOverlay.caching).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.caching = bool).build()); + general.addEntry(eb.startIntSlider(new TranslatableComponent("config.lightoverlay.reach"), LightOverlay.reach, 1, 64).setDefaultValue(12).setTextGetter(integer -> Component.nullToEmpty("Reach: " + integer + " Blocks")).setSaveConsumer(integer -> LightOverlay.reach = integer).build()); + IntegerSliderEntry crossLevel = eb.startIntSlider(new TranslatableComponent("config.lightoverlay.crossLevel"), LightOverlay.crossLevel, 0, 15).setDefaultValue(7).setTextGetter(integer -> Component.nullToEmpty("Cross Level: " + integer)).setSaveConsumer(integer -> LightOverlay.crossLevel = integer).build(); + general.addEntry(crossLevel); + general.addEntry(eb.startIntSlider(new TranslatableComponent("config.lightoverlay.secondaryLevel"), LightOverlay.secondaryLevel, -1, 15) + .setErrorSupplier(integer -> { + if (integer >= 0 && integer >= crossLevel.getValue()) + return Optional.of(new TextComponent("Secondary Level cannot be higher than Cross Level!")); + return Optional.empty(); + }).setDefaultValue(-1).setTextGetter(integer -> new TextComponent(integer < 0 ? "Off" : "Level: " + integer)).setSaveConsumer(integer -> LightOverlay.secondaryLevel = integer).build()); + general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.showNumber"), LightOverlay.showNumber).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.showNumber = bool).build()); + general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.smoothLines"), LightOverlay.smoothLines).setDefaultValue(true).setSaveConsumer(bool -> LightOverlay.smoothLines = bool).build()); + general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.underwater"), LightOverlay.underwater).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.underwater = bool).build()); + general.addEntry(eb.startIntSlider(new TranslatableComponent("config.lightoverlay.lineWidth"), Mth.floor(LightOverlay.lineWidth * 100), 100, 700).setDefaultValue(100).setTextGetter(integer -> new TextComponent("Light Width: " + LightOverlay.FORMAT.format(integer / 100d))).setSaveConsumer(integer -> LightOverlay.lineWidth = integer / 100f).build()); + general.addEntry(eb.startColorField(new TranslatableComponent("config.lightoverlay.yellowColor"), LightOverlay.yellowColor).setDefaultValue(0xFFFF00).setSaveConsumer(color -> LightOverlay.yellowColor = color).build()); + general.addEntry(eb.startColorField(new TranslatableComponent("config.lightoverlay.redColor"), LightOverlay.redColor).setDefaultValue(0xFF0000).setSaveConsumer(color -> LightOverlay.redColor = color).build()); + general.addEntry(eb.startColorField(new TranslatableComponent("config.lightoverlay.secondaryColor"), LightOverlay.secondaryColor).setDefaultValue(0x0000FF).setSaveConsumer(color -> LightOverlay.secondaryColor = color).build()); + + return builder.setSavingRunnable(() -> { + try { + LightOverlay.saveConfig(LightOverlay.configFile); + } catch (Exception e) { + e.printStackTrace(); + } + LightOverlay.loadConfig(LightOverlay.configFile); + }).build(); + } +} diff --git a/fabric/build.gradle b/fabric/build.gradle index 5f297e7..4a3be61 100755 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -8,6 +8,7 @@ minecraft { architectury { platformSetupLoomIde() + fabric() } processResources { @@ -22,29 +23,26 @@ configurations { } dependencies { - minecraft "com.mojang:minecraft:${rootProject.architect.minecraft}" + minecraft "com.mojang:minecraft:${rootProject.architectury.minecraft}" mappings minecraft.officialMojangMappings() modCompile "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}" modCompile "net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}" - modImplementation("me.shedaniel.cloth:config-2:${rootProject.cloth_config_version}") { + modImplementation("me.shedaniel.cloth:cloth-config-fabric:${rootProject.cloth_config_version}") { exclude(group: "net.fabricmc.fabric-api") } modImplementation("io.github.prospector:modmenu:${rootProject.modmenu_version}") { transitive = false } - include("me.shedaniel.cloth:config-2:${rootProject.cloth_config_version}") { - transitive = false - } modCompile("me.shedaniel:architectury:${rootProject.architectury_version}:fabric") - compileOnly(project(path: ":common")) { + implementation(project(path: ":common")) { transitive = false } - runtimeOnly(project(path: ":common", configuration: "transformedRuntime")) { + developmentFabric(project(path: ":common")) { transitive = false } - shadow(project(path: ":common", configuration: "transformed")) { + shadow(project(path: ":common", configuration: "transformProductionFabric")) { transitive = false } } diff --git a/fabric/src/main/java/me/shedaniel/lightoverlay/fabric/LOModMenuEntry.java b/fabric/src/main/java/me/shedaniel/lightoverlay/fabric/LOModMenuEntry.java index ee3cc50..2a40df1 100644 --- a/fabric/src/main/java/me/shedaniel/lightoverlay/fabric/LOModMenuEntry.java +++ b/fabric/src/main/java/me/shedaniel/lightoverlay/fabric/LOModMenuEntry.java @@ -2,57 +2,11 @@ package me.shedaniel.lightoverlay.fabric; import io.github.prospector.modmenu.api.ConfigScreenFactory; import io.github.prospector.modmenu.api.ModMenuApi; -import me.shedaniel.clothconfig2.api.ConfigBuilder; -import me.shedaniel.clothconfig2.api.ConfigCategory; -import me.shedaniel.clothconfig2.api.ConfigEntryBuilder; -import me.shedaniel.clothconfig2.gui.entries.IntegerSliderEntry; -import me.shedaniel.lightoverlay.common.LightOverlay; -import net.minecraft.client.gui.screens.Screen; -import net.minecraft.client.resources.language.I18n; -import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.TextComponent; -import net.minecraft.network.chat.TranslatableComponent; -import net.minecraft.util.Mth; - -import java.util.Optional; +import me.shedaniel.lightoverlay.common.ClothScreen; public class LOModMenuEntry implements ModMenuApi { @Override public ConfigScreenFactory getModConfigScreenFactory() { - return this::getConfigScreenByCloth; - } - - public Screen getConfigScreenByCloth(Screen parent) { - ConfigBuilder builder = ConfigBuilder.create().setParentScreen(parent).setTitle(new TranslatableComponent("key.lightoverlay.category")); - - ConfigEntryBuilder eb = builder.entryBuilder(); - ConfigCategory general = builder.getOrCreateCategory(new TranslatableComponent("config.lightoverlay.general")); - general.addEntry(eb.startTextDescription(Component.nullToEmpty("§7" + I18n.get("description.lightoverlay.caching"))).build()); - general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.caching"), LightOverlay.caching).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.caching = bool).build()); - general.addEntry(eb.startIntSlider(new TranslatableComponent("config.lightoverlay.reach"), LightOverlay.reach, 1, 64).setDefaultValue(12).setTextGetter(integer -> Component.nullToEmpty("Reach: " + integer + " Blocks")).setSaveConsumer(integer -> LightOverlay.reach = integer).build()); - IntegerSliderEntry crossLevel = eb.startIntSlider(new TranslatableComponent("config.lightoverlay.crossLevel"), LightOverlay.crossLevel, 0, 15).setDefaultValue(7).setTextGetter(integer -> Component.nullToEmpty("Cross Level: " + integer)).setSaveConsumer(integer -> LightOverlay.crossLevel = integer).build(); - general.addEntry(crossLevel); - general.addEntry(eb.startIntSlider(new TranslatableComponent("config.lightoverlay.secondaryLevel"), LightOverlay.secondaryLevel, -1, 15) - .setErrorSupplier(integer -> { - if (integer >= 0 && integer >= crossLevel.getValue()) - return Optional.of(new TextComponent("Secondary Level cannot be higher than Cross Level!")); - return Optional.empty(); - }).setDefaultValue(-1).setTextGetter(integer -> new TextComponent(integer < 0 ? "Off" : "Level: " + integer)).setSaveConsumer(integer -> LightOverlay.secondaryLevel = integer).build()); - general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.showNumber"), LightOverlay.showNumber).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.showNumber = bool).build()); - general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.smoothLines"), LightOverlay.smoothLines).setDefaultValue(true).setSaveConsumer(bool -> LightOverlay.smoothLines = bool).build()); - general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.underwater"), LightOverlay.underwater).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.underwater = bool).build()); - general.addEntry(eb.startIntSlider(new TranslatableComponent("config.lightoverlay.lineWidth"), Mth.floor(LightOverlay.lineWidth * 100), 100, 700).setDefaultValue(100).setTextGetter(integer -> new TextComponent("Light Width: " + LightOverlay.FORMAT.format(integer / 100d))).setSaveConsumer(integer -> LightOverlay.lineWidth = integer / 100f).build()); - general.addEntry(eb.startColorField(new TranslatableComponent("config.lightoverlay.yellowColor"), LightOverlay.yellowColor).setDefaultValue(0xFFFF00).setSaveConsumer(color -> LightOverlay.yellowColor = color).build()); - general.addEntry(eb.startColorField(new TranslatableComponent("config.lightoverlay.redColor"), LightOverlay.redColor).setDefaultValue(0xFF0000).setSaveConsumer(color -> LightOverlay.redColor = color).build()); - general.addEntry(eb.startColorField(new TranslatableComponent("config.lightoverlay.secondaryColor"), LightOverlay.secondaryColor).setDefaultValue(0x0000FF).setSaveConsumer(color -> LightOverlay.secondaryColor = color).build()); - - return builder.setSavingRunnable(() -> { - try { - LightOverlay.saveConfig(LightOverlay.configFile); - } catch (Exception e) { - e.printStackTrace(); - } - LightOverlay.loadConfig(LightOverlay.configFile); - }).build(); + return ClothScreen::getConfigScreenByCloth; } } diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index d715a6a..93a18f6 100755 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -32,6 +32,7 @@ }, "depends": { "fabric": ">=0.29.1", - "architectury": ">=1.2.67" + "architectury": ">=1.5.112", + "cloth-config2": ">=4.10.13" } } diff --git a/forge/build.gradle b/forge/build.gradle index c90d7b3..36ed12a 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -8,10 +8,11 @@ configurations { architectury { platformSetupLoomIde() + forge() } loom { - mixinConfig = "lightoverlay-forge.mixins.json" + mixinConfig "lightoverlay-forge.mixins.json" } repositories { @@ -27,19 +28,19 @@ processResources { } dependencies { - minecraft("com.mojang:minecraft:${rootProject.architect.minecraft}") + minecraft("com.mojang:minecraft:${rootProject.architectury.minecraft}") mappings(minecraft.officialMojangMappings()) - forge("net.minecraftforge:forge:${rootProject.architect.minecraft}-${project.forge_version}") - modCompile("me.shedaniel.cloth:cloth-config-forge:${rootProject.cloth_config_forge}") + forge("net.minecraftforge:forge:${rootProject.architectury.minecraft}-${project.forge_version}") + modCompile("me.shedaniel.cloth:cloth-config-forge:${rootProject.cloth_config_version}") modCompile("me.shedaniel:architectury:${rootProject.architectury_version}:forge") - compileOnly(project(path: ":common")) { + implementation(project(path: ":common")) { transitive = false } - runtimeOnly(project(path: ":common", configuration: "transformForgeFakeMod")) { + developmentForge(project(path: ":common")) { transitive = false } - shadow(project(path: ":common", configuration: "transformForge")) { + shadow(project(path: ":common", configuration: "transformProductionForge")) { transitive = false } } diff --git a/forge/src/main/java/me/shedaniel/lightoverlay/forge/LightOverlayCloth.java b/forge/src/main/java/me/shedaniel/lightoverlay/forge/LightOverlayCloth.java index 2efb4c1..ed6fea3 100644 --- a/forge/src/main/java/me/shedaniel/lightoverlay/forge/LightOverlayCloth.java +++ b/forge/src/main/java/me/shedaniel/lightoverlay/forge/LightOverlayCloth.java @@ -1,53 +1,13 @@ package me.shedaniel.lightoverlay.forge; -import me.shedaniel.clothconfig2.forge.api.ConfigBuilder; -import me.shedaniel.clothconfig2.forge.api.ConfigCategory; -import me.shedaniel.clothconfig2.forge.api.ConfigEntryBuilder; -import me.shedaniel.clothconfig2.forge.gui.entries.IntegerSliderEntry; -import me.shedaniel.lightoverlay.common.LightOverlay; -import net.minecraft.client.resources.language.I18n; -import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.TranslatableComponent; -import net.minecraft.util.Mth; +import me.shedaniel.lightoverlay.common.ClothScreen; import net.minecraftforge.fml.ExtensionPoint; import net.minecraftforge.fml.ModLoadingContext; -import java.util.Optional; - public class LightOverlayCloth { public static void register() { ModLoadingContext.get().registerExtensionPoint(ExtensionPoint.CONFIGGUIFACTORY, () -> (client, parent) -> { - ConfigBuilder builder = ConfigBuilder.create().setParentScreen(parent).setTitle(new TranslatableComponent("key.lightoverlay.category")); - - ConfigEntryBuilder eb = builder.entryBuilder(); - ConfigCategory general = builder.getOrCreateCategory(new TranslatableComponent("config.lightoverlay.general")); - general.addEntry(eb.startTextDescription(Component.nullToEmpty("§7" + I18n.get("description.lightoverlay.caching"))).build()); - general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.caching"), LightOverlay.caching).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.caching = bool).build()); - general.addEntry(eb.startIntSlider(new TranslatableComponent("config.lightoverlay.reach"), LightOverlay.reach, 1, 64).setDefaultValue(12).setTextGetter(integer -> Component.nullToEmpty("Reach: " + integer + " Blocks")).setSaveConsumer(integer -> LightOverlay.reach = integer).build()); - IntegerSliderEntry crossLevel = eb.startIntSlider(new TranslatableComponent("config.lightoverlay.crossLevel"), LightOverlay.crossLevel, 0, 15).setDefaultValue(7).setTextGetter(integer -> Component.nullToEmpty("Cross Level: " + integer)).setSaveConsumer(integer -> LightOverlay.crossLevel = integer).build(); - general.addEntry(crossLevel); - general.addEntry(eb.startIntSlider(new TranslatableComponent("config.lightoverlay.secondaryLevel"), LightOverlay.secondaryLevel, -1, 15) - .setErrorSupplier(integer -> { - if (integer >= 0 && integer >= crossLevel.getValue()) - return Optional.of(Component.nullToEmpty("Secondary Level cannot be higher than Cross Level!")); - return Optional.empty(); - }).setDefaultValue(-1).setTextGetter(integer -> Component.nullToEmpty(integer < 0 ? "Off" : "Level: " + integer)).setSaveConsumer(integer -> LightOverlay.secondaryLevel = integer).build()); - general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.showNumber"), LightOverlay.showNumber).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.showNumber = bool).build()); - general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.smoothLines"), LightOverlay.smoothLines).setDefaultValue(true).setSaveConsumer(bool -> LightOverlay.smoothLines = bool).build()); - general.addEntry(eb.startBooleanToggle(new TranslatableComponent("config.lightoverlay.underwater"), LightOverlay.underwater).setDefaultValue(false).setSaveConsumer(bool -> LightOverlay.underwater = bool).build()); - general.addEntry(eb.startIntSlider(new TranslatableComponent("config.lightoverlay.lineWidth"), Mth.floor(LightOverlay.lineWidth * 100), 100, 700).setDefaultValue(100).setTextGetter(integer -> Component.nullToEmpty("Light Width: " + LightOverlay.FORMAT.format(integer / 100d))).setSaveConsumer(integer -> LightOverlay.lineWidth = integer / 100f).build()); - general.addEntry(eb.startColorField(new TranslatableComponent("config.lightoverlay.yellowColor"), LightOverlay.yellowColor).setDefaultValue(0xFFFF00).setSaveConsumer(color -> LightOverlay.yellowColor = color).build()); - general.addEntry(eb.startColorField(new TranslatableComponent("config.lightoverlay.redColor"), LightOverlay.redColor).setDefaultValue(0xFF0000).setSaveConsumer(color -> LightOverlay.redColor = color).build()); - general.addEntry(eb.startColorField(new TranslatableComponent("config.lightoverlay.secondaryColor"), LightOverlay.secondaryColor).setDefaultValue(0x0000FF).setSaveConsumer(color -> LightOverlay.secondaryColor = color).build()); - - return builder.setSavingRunnable(() -> { - try { - LightOverlay.saveConfig(LightOverlay.configFile); - } catch (Exception e) { - e.printStackTrace(); - } - LightOverlay.loadConfig(LightOverlay.configFile); - }).build(); + return ClothScreen.getConfigScreenByCloth(parent); }); } } diff --git a/forge/src/main/resources/META-INF/mods.toml b/forge/src/main/resources/META-INF/mods.toml index 5f7f7da..d4f372d 100755 --- a/forge/src/main/resources/META-INF/mods.toml +++ b/forge/src/main/resources/META-INF/mods.toml @@ -15,13 +15,13 @@ To provide users with NEI-like light overlay. [[dependencies.lightoverlay]] modId = "cloth-config" mandatory = true -versionRange = "[4.1.3,)" +versionRange = "[4.10.13,)" ordering = "NONE" side = "CLIENT" [[dependencies.lightoverlay]] modId = "architectury" mandatory = true -versionRange = "[1.2.67,)" +versionRange = "[1.5.112,)" ordering = "NONE" side = "CLIENT" \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 8535874..ca7eb3d 100755 --- a/gradle.properties +++ b/gradle.properties @@ -1,17 +1,16 @@ org.gradle.jvmargs=-Xmx3G org.gradle.daemon=false -mod_version=5.6.1 +mod_version=5.7.0 minecraft_version=1.16.4 -architectury_version=1.2.67 +architectury_version=1.5.112 # fabric fabric_loader_version=0.10.8 fabric_api_version=0.29.1+1.16 -cloth_config_version=4.8.3 +cloth_config_version=4.10.13 modmenu_version=1.14.6+build.31 # forge -forge_version=35.1.7 -cloth_config_forge=4.1.3 \ No newline at end of file +forge_version=35.1.7 \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index a28885a..a232ac9 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,8 +1,7 @@ pluginManagement { repositories { - jcenter() maven { url "https://maven.fabricmc.net/" } - maven { url "https://dl.bintray.com/shedaniel/cloth" } + maven { url "https://maven.shedaniel.me/" } maven { url "https://files.minecraftforge.net/maven/" } gradlePluginPortal() }