mirror of
https://github.com/chylex/Minecraft-Window-Title.git
synced 2025-05-08 22:34:03 +02:00
Refactor changing window title
This commit is contained in:
parent
43698d23b5
commit
425eb3f380
Fabric/src/main/java/chylex/customwindowtitle/fabric
NeoForge/src/main/java/chylex/customwindowtitle/neoforge
src/main/java/chylex/customwindowtitle
@ -1,7 +1,7 @@
|
||||
package chylex.customwindowtitle.fabric;
|
||||
|
||||
import chylex.customwindowtitle.TitleChanger;
|
||||
import chylex.customwindowtitle.TitleConfig;
|
||||
import chylex.customwindowtitle.TitleParser;
|
||||
import chylex.customwindowtitle.data.CommonTokenData;
|
||||
import net.fabricmc.api.ClientModInitializer;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
@ -17,10 +17,6 @@ public class CustomWindowTitle implements ClientModInitializer {
|
||||
@Override
|
||||
public void onInitializeClient() {
|
||||
CommonTokenData.register(new TokenProvider());
|
||||
Minecraft.getInstance().execute(this::updateTitle);
|
||||
}
|
||||
|
||||
private void updateTitle() {
|
||||
Minecraft.getInstance().getWindow().setTitle(TitleParser.parse(config.getTitle()));
|
||||
Minecraft.getInstance().execute(() -> TitleChanger.setTitle(config));
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,8 @@
|
||||
package chylex.customwindowtitle.neoforge;
|
||||
|
||||
import chylex.customwindowtitle.TitleChanger;
|
||||
import chylex.customwindowtitle.TitleConfig;
|
||||
import chylex.customwindowtitle.TitleParser;
|
||||
import chylex.customwindowtitle.data.CommonTokenData;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.neoforged.bus.api.IEventBus;
|
||||
import net.neoforged.bus.api.SubscribeEvent;
|
||||
import net.neoforged.fml.common.Mod;
|
||||
@ -18,15 +17,11 @@ public class CustomWindowTitle {
|
||||
public CustomWindowTitle(IEventBus eventBus) {
|
||||
config = TitleConfig.load(FMLPaths.CONFIGDIR.get().toString());
|
||||
eventBus.addListener(this::onClientSetup);
|
||||
CommonTokenData.register(new TokenProvider());
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onClientSetup(final FMLClientSetupEvent e) {
|
||||
e.enqueueWork(this::updateTitle);
|
||||
}
|
||||
|
||||
private void updateTitle() {
|
||||
Minecraft.getInstance().getWindow().setTitle(TitleParser.parse(config.getTitle()));
|
||||
CommonTokenData.register(new TokenProvider());
|
||||
e.enqueueWork(() -> TitleChanger.setTitle(config));
|
||||
}
|
||||
}
|
||||
|
11
src/main/java/chylex/customwindowtitle/TitleChanger.java
Normal file
11
src/main/java/chylex/customwindowtitle/TitleChanger.java
Normal file
@ -0,0 +1,11 @@
|
||||
package chylex.customwindowtitle;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
|
||||
public final class TitleChanger {
|
||||
private TitleChanger() {}
|
||||
|
||||
public static void setTitle(TitleConfig config) {
|
||||
Minecraft.getInstance().getWindow().setTitle(TitleParser.parse(config.getTitle()));
|
||||
}
|
||||
}
|
@ -7,7 +7,7 @@ import org.apache.logging.log4j.Logger;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public final class TitleParser {
|
||||
final class TitleParser {
|
||||
private static final Pattern tokenRegex = Pattern.compile("\\{([a-z]+)(?::([^}]+))?}");
|
||||
private static final Logger logger = LogManager.getLogger("CustomWindowTitle");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user