001 package cpw.mods.fml.common.event; 002 003 import java.io.File; 004 005 import cpw.mods.fml.common.LoaderState.ModState; 006 import cpw.mods.fml.common.ModContainer; 007 import cpw.mods.fml.common.ModMetadata; 008 import cpw.mods.fml.common.discovery.ASMDataTable; 009 010 public class FMLPreInitializationEvent extends FMLStateEvent 011 { 012 private ModMetadata modMetadata; 013 private File sourceFile; 014 private File configurationDir; 015 private File suggestedConfigFile; 016 private ASMDataTable asmData; 017 018 public FMLPreInitializationEvent(Object... data) 019 { 020 super(data); 021 this.asmData = (ASMDataTable)data[0]; 022 this.configurationDir = (File)data[1]; 023 } 024 025 @Override 026 public ModState getModState() 027 { 028 return ModState.PREINITIALIZED; 029 } 030 031 @Override 032 public void applyModContainer(ModContainer activeContainer) 033 { 034 this.modMetadata = activeContainer.getMetadata(); 035 this.sourceFile = activeContainer.getSource(); 036 this.suggestedConfigFile = new File(configurationDir, activeContainer.getModId()+".cfg"); 037 } 038 039 public File getSourceFile() 040 { 041 return sourceFile; 042 } 043 044 public ModMetadata getModMetadata() 045 { 046 return modMetadata; 047 } 048 049 public File getModConfigurationDirectory() 050 { 051 return configurationDir; 052 } 053 054 public File getSuggestedConfigurationFile() 055 { 056 return suggestedConfigFile; 057 } 058 059 public ASMDataTable getAsmData() 060 { 061 return asmData; 062 } 063 }