Created
May 30, 2013 20:32
-
-
Save Vazkii/5680948 to your computer and use it in GitHub Desktop.
The Mod Lister mod, it lists the mods you are using, because reporting bugs with mods is good.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package vazkii.modlister; | |
import java.io.BufferedWriter; | |
import java.io.File; | |
import java.io.FileWriter; | |
import java.io.IOException; | |
import java.text.SimpleDateFormat; | |
import java.util.ArrayList; | |
import java.util.Date; | |
import java.util.List; | |
import java.util.logging.Level; | |
import org.lwjgl.Sys; | |
import org.lwjgl.opengl.Display; | |
import cpw.mods.fml.common.FMLLog; | |
import cpw.mods.fml.common.Loader; | |
import cpw.mods.fml.common.Mod; | |
import cpw.mods.fml.common.Mod.PostInit; | |
import cpw.mods.fml.common.Mod.PreInit; | |
import cpw.mods.fml.common.ModContainer; | |
import cpw.mods.fml.common.event.FMLPostInitializationEvent; | |
import cpw.mods.fml.common.event.FMLPreInitializationEvent; | |
@Mod(modid = ModLister.MOD_ID, name = ModLister.MOD_NAME, version = ModLister.VERSION, dependencies = ModLister.DEPENDENCIES) | |
public final class ModLister { | |
public static final String MOD_ID = "ModLister"; | |
public static final String MOD_NAME = "Mod Lister"; | |
public static final String VERSION = "1.0"; | |
public static final String DEPENDENCIES = "after:*"; | |
File mcDir; | |
@PreInit | |
public void preInit(FMLPreInitializationEvent event) { | |
mcDir = event.getModConfigurationDirectory().getParentFile(); | |
} | |
@PostInit | |
public void postInit(FMLPostInitializationEvent event) { | |
List<String> lines = new ArrayList(); | |
for(ModContainer mod : Loader.instance().getModList()) | |
lines.add(createLine(mod)); | |
try { | |
File file = new File(mcDir, "Mod List.txt"); | |
BufferedWriter writer = new BufferedWriter(new FileWriter(file)); | |
for(String s : lines) | |
writer.write(s); | |
writer.write("\r"); | |
writer.write("Mod List generated by ModLister.\r"); | |
writer.write("System Time: " + new SimpleDateFormat("HH:mm MM/dd/yyyy").format(new Date()) + "\r"); | |
writer.write("Minecraft " + Display.getTitle().replaceAll("Minecraft ", "") + "\r"); | |
writer.write("OS: " + System.getProperty("os.name") + "\r"); | |
writer.write("Java: " + System.getProperty("java.version") + "\r"); | |
writer.write("LWJGL: " + Sys.getVersion()); | |
writer.close(); | |
if(!file.exists()) | |
file.createNewFile(); | |
FMLLog.log(Level.INFO, "ModLister wrote mod data properly."); | |
} catch(IOException e) { | |
FMLLog.log(Level.WARNING, "ModLister failed to write mod data!"); | |
e.printStackTrace(); | |
} | |
} | |
private String createLine(ModContainer container) { | |
StringBuilder builder = new StringBuilder(); | |
builder.append(container.getName()); | |
builder.append(" ("); | |
builder.append(container.getModId()); | |
builder.append(") | Version: "); | |
builder.append(container.getVersion()); | |
builder.append(" | Loaded From "); | |
builder.append(container.getSource().getName()); | |
builder.append(" on "); | |
builder.append(container.getSource() == null || container.getSource().getParentFile() == null ? "N/A" : container.getSource().getParentFile().getName()); | |
builder.append(" | Website: "); | |
builder.append(container.getMetadata().url.isEmpty() ? "N/A" : container.getMetadata().url); | |
builder.append("\r"); | |
return builder.toString(); | |
} | |
} |
Hi,
I wanted to use it with 1.7.10 but it looks like it does'nt work. There's no output and the Mod would'nt be loaded.
Can you please update this little helpful file?
Big thank's!
X00LA
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
All in one file :D