Skip to content

Commit b8d0e5f

Browse files
committed
Merge remote-tracking branch 'origin/1.16' into 1.18
2 parents 8875710 + e2aa482 commit b8d0e5f

File tree

2 files changed

+22
-3
lines changed

2 files changed

+22
-3
lines changed

common/src/main/resources/assets/modernfix/lang/en_us.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"modernfix.perf_mod_warning": "It is recommended to install the mods, but the warning(s) can be disabled in the ModernFix config.",
88
"modernfix.config": "ModernFix mixin config",
99
"modernfix.config.done_restart": "Done (restart required)",
10+
"modernfix.message.reload_config": "Run /mfrc after changing configs on disk for them to take effect.",
1011
"modernfix.option.on": "on",
1112
"modernfix.option.off": "off",
1213
"modernfix.option.disabled": "disabled",

forge/src/main/java/org/embeddedt/modernfix/forge/config/NightConfigFixer.java

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import com.electronwill.nightconfig.core.file.FileWatcher;
44
import cpw.mods.modlauncher.api.LamdbaExceptionUtils;
5+
import net.minecraft.client.Minecraft;
6+
import net.minecraft.network.chat.TranslatableComponent;
57
import net.minecraftforge.fml.loading.FMLLoader;
68
import net.minecraftforge.fml.util.ObfuscationReflectionHelper;
79
import org.embeddedt.modernfix.ModernFix;
@@ -14,6 +16,7 @@
1416
import java.util.LinkedHashSet;
1517
import java.util.List;
1618
import java.util.concurrent.ConcurrentHashMap;
19+
import java.util.concurrent.TimeUnit;
1720
import java.util.function.Function;
1821

1922
public class NightConfigFixer {
@@ -48,10 +51,10 @@ public static void runReloads() {
4851
ModernFix.LOGGER.info("Processed {} config reloads", runnablesToRun.size());
4952
}
5053

51-
private static final Class<?> WATCHED_FILE = LamdbaExceptionUtils.uncheck(() -> Class.forName("com.electronwill.nightconfig.core.file.FileWatcher$WatchedFile"));
52-
private static final Field CHANGE_HANDLER = ObfuscationReflectionHelper.findField(WATCHED_FILE, "changeHandler");
53-
5454
static class MonitoringMap extends ConcurrentHashMap<Path, Object> {
55+
private static final Class<?> WATCHED_FILE = LamdbaExceptionUtils.uncheck(() -> Class.forName("com.electronwill.nightconfig.core.file.FileWatcher$WatchedFile"));
56+
private static final Field CHANGE_HANDLER = ObfuscationReflectionHelper.findField(WATCHED_FILE, "changeHandler");
57+
5558
public MonitoringMap(ConcurrentHashMap<Path, ?> oldMap) {
5659
super(oldMap);
5760
}
@@ -71,6 +74,19 @@ public Object computeIfAbsent(Path key, Function<? super Path, ?> mappingFunctio
7174
}
7275
}
7376

77+
private static long lastConfigTrigger = System.nanoTime();
78+
79+
private static void triggerConfigMessage() {
80+
if((System.nanoTime() - lastConfigTrigger) >= TimeUnit.SECONDS.toNanos(5)) {
81+
lastConfigTrigger = System.nanoTime();
82+
Minecraft.getInstance().execute(() -> {
83+
if(Minecraft.getInstance().level != null) {
84+
Minecraft.getInstance().gui.getChat().addMessage(new TranslatableComponent("modernfix.message.reload_config"));
85+
}
86+
});
87+
}
88+
}
89+
7490
static class MonitoringConfigTracker implements Runnable {
7591
private final Runnable configTracker;
7692

@@ -84,6 +100,8 @@ static class MonitoringConfigTracker implements Runnable {
84100
@Override
85101
public void run() {
86102
synchronized(configsToReload) {
103+
if(FMLLoader.getDist().isClient())
104+
triggerConfigMessage();
87105
if(configsToReload.size() == 0)
88106
ModernFixMixinPlugin.instance.logger.info("Please use /{} to reload any changed mod config files", FMLLoader.getDist().isDedicatedServer() ? "mfsrc" : "mfrc");
89107
configsToReload.add(configTracker);

0 commit comments

Comments
 (0)