From 07e80749d6f88c97bb7eef3272c6b12e39fb9c3e Mon Sep 17 00:00:00 2001 From: Motschen Date: Sat, 18 Jun 2022 12:04:00 +0200 Subject: [PATCH] TimeChanger 1.2.0 - Update to 1.19, Migrate to MidnightLib --- build.gradle | 11 +++-------- gradle.properties | 4 +--- .../timechanger/TimeChangerClient.java | 14 +++++--------- .../timechanger/command/CTimeCommand.java | 8 +++----- .../timechanger/config/ModMenuIntegration.java | 16 ---------------- .../timechanger/config/TimeChangerConfig.java | 16 +++++----------- .../timechanger/mixin/MixinClientWorld.java | 16 ++++++++-------- .../resources/assets/timechanger/lang/en_us.json | 9 +++++---- src/main/resources/fabric.mod.json | 5 +---- 9 files changed, 31 insertions(+), 68 deletions(-) delete mode 100644 src/main/java/eu/midnightdust/timechanger/config/ModMenuIntegration.java diff --git a/build.gradle b/build.gradle index b81fca1..b3559d3 100644 --- a/build.gradle +++ b/build.gradle @@ -11,8 +11,7 @@ version = project.mod_version group = project.maven_group repositories { - maven { url "https://maven.terraformersmc.com" } - maven { url "https://maven.shedaniel.me" } + maven { url "https://api.modrinth.com/maven" } } dependencies { @@ -23,12 +22,8 @@ dependencies { modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - modImplementation ("me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config_version}"){ - exclude module: "fabric-api" - } - modImplementation ("com.terraformersmc:modmenu:${project.mod_menu_version}"){ - exclude module: "fabric-api" - } + modImplementation "maven.modrinth:midnightlib:${project.midnightlib_version}" + include "maven.modrinth:midnightlib:${project.midnightlib_version}" } processResources { diff --git a/gradle.properties b/gradle.properties index 114da41..a2c5fd8 100755 --- a/gradle.properties +++ b/gradle.properties @@ -14,6 +14,4 @@ org.gradle.jvmargs=-Xmx1G # Dependencies fabric_version=0.56.0+1.19 - - cloth_config_version = 7.0.72 - mod_menu_version = 4.0.0 \ No newline at end of file + midnightlib_version = 0.5.2 \ No newline at end of file diff --git a/src/main/java/eu/midnightdust/timechanger/TimeChangerClient.java b/src/main/java/eu/midnightdust/timechanger/TimeChangerClient.java index fb09c39..3b43345 100755 --- a/src/main/java/eu/midnightdust/timechanger/TimeChangerClient.java +++ b/src/main/java/eu/midnightdust/timechanger/TimeChangerClient.java @@ -2,21 +2,17 @@ package eu.midnightdust.timechanger; import eu.midnightdust.timechanger.command.CTimeCommand; import eu.midnightdust.timechanger.config.TimeChangerConfig; -import me.shedaniel.autoconfig.AutoConfig; -import me.shedaniel.autoconfig.serializer.JanksonConfigSerializer; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; public class TimeChangerClient implements ClientModInitializer { - public static TimeChangerConfig TC_CONFIG; - @Override public void onInitializeClient() { - AutoConfig.register(TimeChangerConfig.class, JanksonConfigSerializer::new); - TC_CONFIG = AutoConfig.getConfigHolder(TimeChangerConfig.class).getConfig(); - ClientCommandManager.getActiveDispatcher().register(ClientCommandManager.literal("ctime") - .then(CTimeCommand.command()) - ); + TimeChangerConfig.init("timechanger", TimeChangerConfig.class); + if (ClientCommandManager.getActiveDispatcher() != null) + ClientCommandManager.getActiveDispatcher().register(ClientCommandManager.literal("ctime") + .then(CTimeCommand.command()) + ); } } diff --git a/src/main/java/eu/midnightdust/timechanger/command/CTimeCommand.java b/src/main/java/eu/midnightdust/timechanger/command/CTimeCommand.java index b445a88..28b3d55 100755 --- a/src/main/java/eu/midnightdust/timechanger/command/CTimeCommand.java +++ b/src/main/java/eu/midnightdust/timechanger/command/CTimeCommand.java @@ -2,9 +2,7 @@ package eu.midnightdust.timechanger.command; import com.mojang.brigadier.arguments.IntegerArgumentType; import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import eu.midnightdust.timechanger.TimeChangerClient; import eu.midnightdust.timechanger.config.TimeChangerConfig; -import me.shedaniel.autoconfig.AutoConfig; import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; import net.minecraft.text.Text; @@ -15,14 +13,14 @@ public class CTimeCommand { public static LiteralArgumentBuilder command() { return ClientCommandManager.literal("set").then( - argument("time", IntegerArgumentType.integer(0)) + argument("time", IntegerArgumentType.integer(-1)) .executes(ctx -> setTime(ctx.getSource(), IntegerArgumentType.getInteger(ctx, "time"))) ); } private static int setTime(FabricClientCommandSource source, int time) { - TimeChangerClient.TC_CONFIG.custom_time = time; - AutoConfig.getConfigHolder(TimeChangerConfig.class).save(); + TimeChangerConfig.custom_time = time; + TimeChangerConfig.write("timechanger"); source.sendFeedback(Text.translatable("command.timechanger.ctime.success").append(String.valueOf(time))); return 1; diff --git a/src/main/java/eu/midnightdust/timechanger/config/ModMenuIntegration.java b/src/main/java/eu/midnightdust/timechanger/config/ModMenuIntegration.java deleted file mode 100644 index a6211ba..0000000 --- a/src/main/java/eu/midnightdust/timechanger/config/ModMenuIntegration.java +++ /dev/null @@ -1,16 +0,0 @@ -package eu.midnightdust.timechanger.config; - -import com.terraformersmc.modmenu.api.ConfigScreenFactory; -import com.terraformersmc.modmenu.api.ModMenuApi; -import me.shedaniel.autoconfig.AutoConfig; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; - -@Environment(EnvType.CLIENT) -public class ModMenuIntegration implements ModMenuApi { - - @Override - public ConfigScreenFactory getModConfigScreenFactory() { - return parent -> AutoConfig.getConfigScreen(TimeChangerConfig.class, parent).get(); - } -} \ No newline at end of file diff --git a/src/main/java/eu/midnightdust/timechanger/config/TimeChangerConfig.java b/src/main/java/eu/midnightdust/timechanger/config/TimeChangerConfig.java index 2c67015..8c66e69 100644 --- a/src/main/java/eu/midnightdust/timechanger/config/TimeChangerConfig.java +++ b/src/main/java/eu/midnightdust/timechanger/config/TimeChangerConfig.java @@ -1,18 +1,12 @@ package eu.midnightdust.timechanger.config; -import me.shedaniel.autoconfig.ConfigData; -import me.shedaniel.autoconfig.annotation.Config; -import me.shedaniel.cloth.clothconfig.shadowed.blue.endless.jankson.Comment; +import eu.midnightdust.lib.config.MidnightConfig; import java.util.ArrayList; import java.util.List; -@Config(name = "timechanger") -public class TimeChangerConfig implements ConfigData { - - @Comment(value = "Set the Custom Time (-1 to disable)") - public int custom_time = -1; - @Comment(value = "Whitelist/Blacklist servers") - public List whitelist = new ArrayList<>(); - public boolean blacklist = false; +public class TimeChangerConfig extends MidnightConfig { + @Entry public static int custom_time = -1; + @Entry public static List allowlist = new ArrayList<>(); + @Entry public static boolean blocklist = false; } diff --git a/src/main/java/eu/midnightdust/timechanger/mixin/MixinClientWorld.java b/src/main/java/eu/midnightdust/timechanger/mixin/MixinClientWorld.java index 755fb7b..7eece60 100644 --- a/src/main/java/eu/midnightdust/timechanger/mixin/MixinClientWorld.java +++ b/src/main/java/eu/midnightdust/timechanger/mixin/MixinClientWorld.java @@ -1,6 +1,6 @@ package eu.midnightdust.timechanger.mixin; -import eu.midnightdust.timechanger.TimeChangerClient; +import eu.midnightdust.timechanger.config.TimeChangerConfig; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.MinecraftClient; @@ -23,13 +23,13 @@ public abstract class MixinClientWorld { @Environment(EnvType.CLIENT) public void setTimeOfDay(long time, CallbackInfo ci) { if (client.getCurrentServerEntry() != null) { - if (TimeChangerClient.TC_CONFIG.custom_time >= 0 && TimeChangerClient.TC_CONFIG.whitelist.isEmpty()) { - this.clientWorldProperties.setTimeOfDay(TimeChangerClient.TC_CONFIG.custom_time); - } else if (TimeChangerClient.TC_CONFIG.custom_time >= 0 && client.getCurrentServerEntry().address != null) { - if (!TimeChangerClient.TC_CONFIG.blacklist && TimeChangerClient.TC_CONFIG.whitelist.contains(client.getCurrentServerEntry().address)) { - this.clientWorldProperties.setTimeOfDay(TimeChangerClient.TC_CONFIG.custom_time); - } else if (TimeChangerClient.TC_CONFIG.blacklist && !TimeChangerClient.TC_CONFIG.whitelist.contains(client.getCurrentServerEntry().address)) { - this.clientWorldProperties.setTimeOfDay(TimeChangerClient.TC_CONFIG.custom_time); + if (TimeChangerConfig.custom_time >= 0 && TimeChangerConfig.allowlist.isEmpty()) { + this.clientWorldProperties.setTimeOfDay(TimeChangerConfig.custom_time); + } else if (TimeChangerConfig.custom_time >= 0 && client.getCurrentServerEntry().address != null) { + if (!TimeChangerConfig.blocklist && TimeChangerConfig.allowlist.contains(client.getCurrentServerEntry().address)) { + this.clientWorldProperties.setTimeOfDay(TimeChangerConfig.custom_time); + } else if (TimeChangerConfig.blocklist && !TimeChangerConfig.allowlist.contains(client.getCurrentServerEntry().address)) { + this.clientWorldProperties.setTimeOfDay(TimeChangerConfig.custom_time); } else {ci.cancel();} } diff --git a/src/main/resources/assets/timechanger/lang/en_us.json b/src/main/resources/assets/timechanger/lang/en_us.json index 7f2d116..ee770f9 100755 --- a/src/main/resources/assets/timechanger/lang/en_us.json +++ b/src/main/resources/assets/timechanger/lang/en_us.json @@ -1,7 +1,8 @@ { - "text.autoconfig.timechanger.title":"Time Changer Config", - "text.autoconfig.timechanger.option.custom_time":"Custom Time", - "text.autoconfig.timechanger.option.whitelist":"Server Allowlist", - "text.autoconfig.timechanger.option.blacklist":"Use Allowlist as Blocklist?", + "timechanger.midnightconfig.title":"Time Changer Config", + "timechanger.midnightconfig.custom_time":"Custom Time", + "timechanger.midnightconfig.custom_time.tooltip": "Set the Custom Time (-1 to disable)", + "timechanger.midnightconfig.allowlist":"Server Allowlist", + "timechanger.midnightconfig.blocklist":"Use Allowlist as Blocklist?", "command.timechanger.ctime.success": "Successfully set the client time to " } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 1d31439..3134c4c 100755 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -22,9 +22,6 @@ "entrypoints": { "client": [ "eu.midnightdust.timechanger.TimeChangerClient" - ], - "modmenu": [ - "eu.midnightdust.timechanger.config.ModMenuIntegration" ] }, @@ -33,6 +30,6 @@ ], "depends": { - "cloth-config2": "*" + "midnightlib": "*" } }