Le fichier de config se créer bien + le temps ne se reset pas à chaque update.
This commit is contained in:
parent
bdad98669b
commit
3a70986336
@ -13,7 +13,10 @@ import net.minecraftforge.fml.common.event.FMLInitializationEvent;
|
|||||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.File;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author M4TH1EU_#0001
|
* @author M4TH1EU_#0001
|
||||||
@ -23,6 +26,10 @@ public class Main {
|
|||||||
public static final String MODID = "richpresence";
|
public static final String MODID = "richpresence";
|
||||||
public static final String NAME = "Discord Rich Presence";
|
public static final String NAME = "Discord Rich Presence";
|
||||||
public static final String VERSION = "1.2";
|
public static final String VERSION = "1.2";
|
||||||
|
|
||||||
|
@Mod.Instance(Main.MODID)
|
||||||
|
public static Main instance;
|
||||||
|
|
||||||
@SidedProxy(clientSide = "ch.m4th1eu.richpresence.proxy.ClientProxy", serverSide = "ch.m4th1eu.richpresence.proxy.CommonProxy")
|
@SidedProxy(clientSide = "ch.m4th1eu.richpresence.proxy.ClientProxy", serverSide = "ch.m4th1eu.richpresence.proxy.CommonProxy")
|
||||||
public static CommonProxy proxy;
|
public static CommonProxy proxy;
|
||||||
|
|
||||||
@ -35,33 +42,20 @@ public class Main {
|
|||||||
public static Logger logger;
|
public static Logger logger;
|
||||||
public EventPresence rpcClient;
|
public EventPresence rpcClient;
|
||||||
|
|
||||||
|
|
||||||
public Main() {
|
|
||||||
MinecraftForge.EVENT_BUS.register(new AdvancedStatusEvent());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void preInit(FMLPreInitializationEvent event) {
|
public void preInit(FMLPreInitializationEvent event) {
|
||||||
logger = event.getModLog();
|
logger = event.getModLog();
|
||||||
proxy.preInit(event.getSuggestedConfigurationFile());
|
proxy.preInit(event.getSuggestedConfigurationFile());
|
||||||
|
|
||||||
|
|
||||||
//Configuration
|
//Configuration
|
||||||
event.getModConfigurationDirectory().mkdir();
|
event.getModConfigurationDirectory().mkdir();
|
||||||
File config_file = new File(event.getModConfigurationDirectory(), "\\" + Main.MODID + ".json");
|
File config_file = new File(event.getModConfigurationDirectory(), "\\" + Main.MODID + ".json");
|
||||||
if (!config_file.exists()) {
|
|
||||||
|
if (!config_file.exists() || config_file.length() < 10) {
|
||||||
try {
|
try {
|
||||||
event.getModLog().warn("Impossible de charger la configuration du mod : " + Main.MODID);
|
event.getModLog().warn("Impossible de charger la configuration du mod : " + Main.MODID);
|
||||||
event.getModLog().warn("Création du fichier de configuration");
|
event.getModLog().warn("Création du fichier de configuration");
|
||||||
config_file.createNewFile();
|
|
||||||
} catch (IOException ex) {
|
|
||||||
ex.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (config_file.length() < 10) {
|
|
||||||
try {
|
|
||||||
PrintWriter writer = new PrintWriter(config_file, "UTF-8");
|
PrintWriter writer = new PrintWriter(config_file, "UTF-8");
|
||||||
writer.println("{\n" +
|
writer.println("{\n" +
|
||||||
" \"_comment\": \"Variables disponibles :\",\n" +
|
" \"_comment\": \"Variables disponibles :\",\n" +
|
||||||
@ -105,28 +99,27 @@ public class Main {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
JSONObject config = new JSONObject(Utils.readFileToString(config_file));
|
|
||||||
|
|
||||||
applicationId = config.getJSONObject("application-settings").getString("applicationID");
|
|
||||||
largeimage = config.getJSONObject("application-settings").getString("large-image-name");
|
|
||||||
largeimagetext = Utils.replaceArgsString(config.getJSONObject("application-settings").getString("large-image-text"));
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void init(FMLInitializationEvent event) {
|
public void init(FMLInitializationEvent event) {
|
||||||
|
MinecraftForge.EVENT_BUS.register(instance);
|
||||||
|
MinecraftForge.EVENT_BUS.register(new AdvancedStatusEvent());
|
||||||
|
|
||||||
JSONObject config = new JSONObject(Utils.readFileToString(new File(Minecraft.getMinecraft().mcDataDir, "\\config\\" + Main.MODID + ".json")));
|
JSONObject config = new JSONObject(Utils.readFileToString(new File(Minecraft.getMinecraft().mcDataDir, "\\config\\" + Main.MODID + ".json")));
|
||||||
|
|
||||||
|
applicationId = config.getJSONObject("application-settings").getString("applicationID");
|
||||||
|
largeimage = config.getJSONObject("application-settings").getString("large-image-name");
|
||||||
|
largeimagetext = Utils.replaceArgsString(config.getJSONObject("application-settings").getString("large-image-text"));
|
||||||
|
|
||||||
proxy.init();
|
proxy.init();
|
||||||
rpcClient = new EventPresence();
|
rpcClient = new EventPresence();
|
||||||
|
|
||||||
|
|
||||||
proxy.rpcinit();
|
proxy.rpcinit();
|
||||||
|
|
||||||
if (config.getJSONObject("advanced-status-custom").getJSONObject("inMainMenu").getBoolean("enable")) {
|
if (config.getJSONObject("advanced-status-custom").getJSONObject("inMainMenu").getBoolean("enable")) {
|
||||||
proxy.rpcupdate(config.getJSONObject("advanced-status-custom").getJSONObject("inMainMenu").getString("message"), null, false);
|
proxy.rpcupdate(config.getJSONObject("advanced-status-custom").getJSONObject("inMainMenu").getString("message"), null, true);
|
||||||
} else {
|
} else {
|
||||||
proxy.rpcupdate("", null, false);
|
proxy.rpcupdate("", null, false);
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,6 @@ package ch.m4th1eu.richpresence;
|
|||||||
|
|
||||||
import ch.m4th1eu.json.JSONObject;
|
import ch.m4th1eu.json.JSONObject;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.network.INetHandler;
|
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
@ -14,12 +13,13 @@ public class Utils {
|
|||||||
/**
|
/**
|
||||||
* @author Nathanaël#4314
|
* @author Nathanaël#4314
|
||||||
*/
|
*/
|
||||||
public static String readFileToString(final File file) {
|
public static String readFileToString(File file) {
|
||||||
try {
|
try {
|
||||||
final BufferedReader reader = new BufferedReader(new FileReader(file));
|
BufferedReader reader = new BufferedReader(new FileReader(file));
|
||||||
final StringBuilder stringBuilder = new StringBuilder();
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
String line;
|
String line;
|
||||||
final String ls = System.getProperty("line.separator");
|
|
||||||
|
String ls = System.getProperty("line.separator");
|
||||||
while ((line = reader.readLine()) != null) {
|
while ((line = reader.readLine()) != null) {
|
||||||
stringBuilder.append(line);
|
stringBuilder.append(line);
|
||||||
stringBuilder.append(ls);
|
stringBuilder.append(ls);
|
||||||
|
@ -7,9 +7,7 @@ import net.minecraft.client.Minecraft;
|
|||||||
import net.minecraft.client.gui.GuiIngameMenu;
|
import net.minecraft.client.gui.GuiIngameMenu;
|
||||||
import net.minecraft.client.gui.GuiMainMenu;
|
import net.minecraft.client.gui.GuiMainMenu;
|
||||||
import net.minecraft.client.gui.inventory.GuiInventory;
|
import net.minecraft.client.gui.inventory.GuiInventory;
|
||||||
import net.minecraft.entity.player.EntityPlayerMP;
|
|
||||||
import net.minecraftforge.client.event.GuiOpenEvent;
|
import net.minecraftforge.client.event.GuiOpenEvent;
|
||||||
import net.minecraftforge.fml.client.FMLClientHandler;
|
|
||||||
import net.minecraftforge.fml.common.Mod;
|
import net.minecraftforge.fml.common.Mod;
|
||||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.common.network.FMLNetworkEvent;
|
import net.minecraftforge.fml.common.network.FMLNetworkEvent;
|
||||||
|
@ -10,6 +10,7 @@ import net.arikia.dev.drpc.DiscordRichPresence;
|
|||||||
*/
|
*/
|
||||||
public class EventPresence {
|
public class EventPresence {
|
||||||
|
|
||||||
|
public static long oldTime;
|
||||||
private static Thread callbackRunner;
|
private static Thread callbackRunner;
|
||||||
|
|
||||||
public synchronized static void init() {
|
public synchronized static void init() {
|
||||||
@ -35,6 +36,11 @@ public class EventPresence {
|
|||||||
|
|
||||||
if (changeTime) {
|
if (changeTime) {
|
||||||
presence.startTimestamp = System.currentTimeMillis() / 1000L;
|
presence.startTimestamp = System.currentTimeMillis() / 1000L;
|
||||||
|
oldTime = presence.startTimestamp;
|
||||||
|
} else {
|
||||||
|
System.out.println(presence.startTimestamp);
|
||||||
|
System.out.println(oldTime);
|
||||||
|
presence.startTimestamp = oldTime;
|
||||||
}
|
}
|
||||||
} else if (action != null) {
|
} else if (action != null) {
|
||||||
presence.state = action;
|
presence.state = action;
|
||||||
|
Reference in New Issue
Block a user