-
Notifications
You must be signed in to change notification settings - Fork 753
/
TConstructLoaderContainer.java
136 lines (112 loc) · 3.83 KB
/
TConstructLoaderContainer.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
package tconstruct.preloader;
/*
* TConstructLoaderContainer is derived from code graciously provided by AlgorithmX2 of Applied Energistics.
* The code was adapted for this loader by Sunstrike. Any queries should be directed to him, not AlgorithmX2.
*/
import java.util.Arrays;
import java.util.Map;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import tconstruct.preloader.helpers.PropertyManager;
import tconstruct.preloader.helpers.PropertyManager.PropAccessException;
import com.google.common.eventbus.EventBus;
import cpw.mods.fml.common.DummyModContainer;
import cpw.mods.fml.common.LoadController;
import cpw.mods.fml.common.ModMetadata;
import cpw.mods.fml.relauncher.IFMLLoadingPlugin;
public class TConstructLoaderContainer extends DummyModContainer implements IFMLLoadingPlugin
{
private final String[] asmTransformers = new String[] { "tconstruct.preloader.ASMInterfaceRepair", "tconstruct.preloader.AccessTransformers" };
private final ModMetadata md = new ModMetadata();
public static Logger logger = LogManager.getLogger("TCorestruct");
public TConstructLoaderContainer()
{
//logger.setParent(FMLLog.getLogger());
logger.info("Scalpel. Suction. Lumber axe. CLEAR! *zap*");
logger.info("Constructing preloader (Modules: " + Arrays.toString(asmTransformers) + ")");
try
{
PropertyManager.getOrCreateProps();
}
catch (PropAccessException ex)
{
logger.error("Could not get or create properties file! Assuming defaults.");
logger.error(Arrays.toString(ex.getStackTrace()));
}
if (PropertyManager.preloaderContainer_verboseLog)
{
// Log ALL the things.
logger.warn("The preloader will now log absolutely everything. To disable this, either change preloaderContainer_verboseLog");
logger.warn("in (or delete the config file) '" + PropertyManager.propFileName + "'.");
//logger.setLevel(Level.ALL);
}
if (PropertyManager.asmInterfaceRepair_verboseLog)
{
logger.warn("ASM Interface Repair is set to be verbose, this is NOT GOOD FOR SERVERS, as it will spam the logs!");
logger.warn("The debug mode is for debug use only. Turn it off unless instructed otherwise by a TCon developer.");
logger.warn("To reset advanced settings to default, delete the '" + PropertyManager.propFileName + "' file from the config folder.");
}
md.autogenerated = true;
md.credits = "AlgorithmX2 and Sunstrike";
md.modId = getModId();
md.version = getVersion();
md.name = getName();
md.authorList = Arrays.asList("AlgorithmX2", "Sunstrike");
}
@Override
public String getModId ()
{
return "TConstruct-Preloader";
}
@Override
public String getName ()
{
return "Tinkers Corestruct";
}
@Override
public String getVersion ()
{
return "0.1.1";
}
@Override
public String getDisplayVersion ()
{
return getVersion();
}
@Override
public ModMetadata getMetadata ()
{
return md;
}
@Override
public boolean registerBus (EventBus bus, LoadController controller)
{
bus.register(this);
return true;
}
@Override
public String[] getASMTransformerClass ()
{
return asmTransformers;
}
@Override
public String getModContainerClass ()
{
return "tconstruct.preloader.TConstructLoaderContainer";
}
@Override
public String getSetupClass ()
{
return null;
}
@Override
public void injectData (Map<String, Object> data)
{
}
//TODO IMPLEMENT THIS
@Override
public String getAccessTransformerClass ()
{
return null;
}
}