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

View File

@@ -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
midnightlib_version = 0.5.2

View File

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

View File

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

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;
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<String> whitelist = new ArrayList<>();
public boolean blacklist = false;
public class TimeChangerConfig extends MidnightConfig {
@Entry public static int custom_time = -1;
@Entry public static List<String> allowlist = new ArrayList<>();
@Entry public static boolean blocklist = false;
}

View File

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

View File

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

View File

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