TimeChanger 1.2.0 - Update to 1.19, Migrate to MidnightLib

This commit is contained in:
Motschen
2022-06-18 12:04:00 +02:00
parent 3776d7f36e
commit 07e80749d6
9 changed files with 31 additions and 68 deletions

View File

@@ -11,8 +11,7 @@ version = project.mod_version
group = project.maven_group group = project.maven_group
repositories { repositories {
maven { url "https://maven.terraformersmc.com" } maven { url "https://api.modrinth.com/maven" }
maven { url "https://maven.shedaniel.me" }
} }
dependencies { dependencies {
@@ -23,12 +22,8 @@ dependencies {
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
modImplementation ("me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config_version}"){ modImplementation "maven.modrinth:midnightlib:${project.midnightlib_version}"
exclude module: "fabric-api" include "maven.modrinth:midnightlib:${project.midnightlib_version}"
}
modImplementation ("com.terraformersmc:modmenu:${project.mod_menu_version}"){
exclude module: "fabric-api"
}
} }
processResources { processResources {

View File

@@ -14,6 +14,4 @@ org.gradle.jvmargs=-Xmx1G
# Dependencies # Dependencies
fabric_version=0.56.0+1.19 fabric_version=0.56.0+1.19
midnightlib_version = 0.5.2
cloth_config_version = 7.0.72
mod_menu_version = 4.0.0

View File

@@ -2,21 +2,17 @@ package eu.midnightdust.timechanger;
import eu.midnightdust.timechanger.command.CTimeCommand; import eu.midnightdust.timechanger.command.CTimeCommand;
import eu.midnightdust.timechanger.config.TimeChangerConfig; 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.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
public class TimeChangerClient implements ClientModInitializer { public class TimeChangerClient implements ClientModInitializer {
public static TimeChangerConfig TC_CONFIG;
@Override @Override
public void onInitializeClient() { public void onInitializeClient() {
AutoConfig.register(TimeChangerConfig.class, JanksonConfigSerializer::new); TimeChangerConfig.init("timechanger", TimeChangerConfig.class);
TC_CONFIG = AutoConfig.getConfigHolder(TimeChangerConfig.class).getConfig(); if (ClientCommandManager.getActiveDispatcher() != null)
ClientCommandManager.getActiveDispatcher().register(ClientCommandManager.literal("ctime") ClientCommandManager.getActiveDispatcher().register(ClientCommandManager.literal("ctime")
.then(CTimeCommand.command()) .then(CTimeCommand.command())
); );
} }
} }

View File

@@ -2,9 +2,7 @@ package eu.midnightdust.timechanger.command;
import com.mojang.brigadier.arguments.IntegerArgumentType; import com.mojang.brigadier.arguments.IntegerArgumentType;
import com.mojang.brigadier.builder.LiteralArgumentBuilder; import com.mojang.brigadier.builder.LiteralArgumentBuilder;
import eu.midnightdust.timechanger.TimeChangerClient;
import eu.midnightdust.timechanger.config.TimeChangerConfig; 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.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
import net.minecraft.text.Text; import net.minecraft.text.Text;
@@ -15,14 +13,14 @@ public class CTimeCommand {
public static LiteralArgumentBuilder<FabricClientCommandSource> command() { public static LiteralArgumentBuilder<FabricClientCommandSource> command() {
return ClientCommandManager.literal("set").then( return ClientCommandManager.literal("set").then(
argument("time", IntegerArgumentType.integer(0)) argument("time", IntegerArgumentType.integer(-1))
.executes(ctx -> setTime(ctx.getSource(), IntegerArgumentType.getInteger(ctx, "time"))) .executes(ctx -> setTime(ctx.getSource(), IntegerArgumentType.getInteger(ctx, "time")))
); );
} }
private static int setTime(FabricClientCommandSource source, int time) { private static int setTime(FabricClientCommandSource source, int time) {
TimeChangerClient.TC_CONFIG.custom_time = time; TimeChangerConfig.custom_time = time;
AutoConfig.getConfigHolder(TimeChangerConfig.class).save(); TimeChangerConfig.write("timechanger");
source.sendFeedback(Text.translatable("command.timechanger.ctime.success").append(String.valueOf(time))); source.sendFeedback(Text.translatable("command.timechanger.ctime.success").append(String.valueOf(time)));
return 1; return 1;

View File

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

View File

@@ -1,18 +1,12 @@
package eu.midnightdust.timechanger.config; package eu.midnightdust.timechanger.config;
import me.shedaniel.autoconfig.ConfigData; import eu.midnightdust.lib.config.MidnightConfig;
import me.shedaniel.autoconfig.annotation.Config;
import me.shedaniel.cloth.clothconfig.shadowed.blue.endless.jankson.Comment;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@Config(name = "timechanger") public class TimeChangerConfig extends MidnightConfig {
public class TimeChangerConfig implements ConfigData { @Entry public static int custom_time = -1;
@Entry public static List<String> allowlist = new ArrayList<>();
@Comment(value = "Set the Custom Time (-1 to disable)") @Entry public static boolean blocklist = false;
public int custom_time = -1;
@Comment(value = "Whitelist/Blacklist servers")
public List<String> whitelist = new ArrayList<>();
public boolean blacklist = false;
} }

View File

@@ -1,6 +1,6 @@
package eu.midnightdust.timechanger.mixin; 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.EnvType;
import net.fabricmc.api.Environment; import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
@@ -23,13 +23,13 @@ public abstract class MixinClientWorld {
@Environment(EnvType.CLIENT) @Environment(EnvType.CLIENT)
public void setTimeOfDay(long time, CallbackInfo ci) { public void setTimeOfDay(long time, CallbackInfo ci) {
if (client.getCurrentServerEntry() != null) { if (client.getCurrentServerEntry() != null) {
if (TimeChangerClient.TC_CONFIG.custom_time >= 0 && TimeChangerClient.TC_CONFIG.whitelist.isEmpty()) { if (TimeChangerConfig.custom_time >= 0 && TimeChangerConfig.allowlist.isEmpty()) {
this.clientWorldProperties.setTimeOfDay(TimeChangerClient.TC_CONFIG.custom_time); this.clientWorldProperties.setTimeOfDay(TimeChangerConfig.custom_time);
} else if (TimeChangerClient.TC_CONFIG.custom_time >= 0 && client.getCurrentServerEntry().address != null) { } else if (TimeChangerConfig.custom_time >= 0 && client.getCurrentServerEntry().address != null) {
if (!TimeChangerClient.TC_CONFIG.blacklist && TimeChangerClient.TC_CONFIG.whitelist.contains(client.getCurrentServerEntry().address)) { if (!TimeChangerConfig.blocklist && TimeChangerConfig.allowlist.contains(client.getCurrentServerEntry().address)) {
this.clientWorldProperties.setTimeOfDay(TimeChangerClient.TC_CONFIG.custom_time); this.clientWorldProperties.setTimeOfDay(TimeChangerConfig.custom_time);
} else if (TimeChangerClient.TC_CONFIG.blacklist && !TimeChangerClient.TC_CONFIG.whitelist.contains(client.getCurrentServerEntry().address)) { } else if (TimeChangerConfig.blocklist && !TimeChangerConfig.allowlist.contains(client.getCurrentServerEntry().address)) {
this.clientWorldProperties.setTimeOfDay(TimeChangerClient.TC_CONFIG.custom_time); this.clientWorldProperties.setTimeOfDay(TimeChangerConfig.custom_time);
} }
else {ci.cancel();} else {ci.cancel();}
} }

View File

@@ -1,7 +1,8 @@
{ {
"text.autoconfig.timechanger.title":"Time Changer Config", "timechanger.midnightconfig.title":"Time Changer Config",
"text.autoconfig.timechanger.option.custom_time":"Custom Time", "timechanger.midnightconfig.custom_time":"Custom Time",
"text.autoconfig.timechanger.option.whitelist":"Server Allowlist", "timechanger.midnightconfig.custom_time.tooltip": "Set the Custom Time (-1 to disable)",
"text.autoconfig.timechanger.option.blacklist":"Use Allowlist as Blocklist?", "timechanger.midnightconfig.allowlist":"Server Allowlist",
"timechanger.midnightconfig.blocklist":"Use Allowlist as Blocklist?",
"command.timechanger.ctime.success": "Successfully set the client time to " "command.timechanger.ctime.success": "Successfully set the client time to "
} }

View File

@@ -22,9 +22,6 @@
"entrypoints": { "entrypoints": {
"client": [ "client": [
"eu.midnightdust.timechanger.TimeChangerClient" "eu.midnightdust.timechanger.TimeChangerClient"
],
"modmenu": [
"eu.midnightdust.timechanger.config.ModMenuIntegration"
] ]
}, },
@@ -33,6 +30,6 @@
], ],
"depends": { "depends": {
"cloth-config2": "*" "midnightlib": "*"
} }
} }