LoaderEnvironment.java
2.23 KB
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
package com.mumfrey.liteloader.launch;
import java.io.File;
import com.mumfrey.liteloader.api.manager.APIAdapter;
import com.mumfrey.liteloader.api.manager.APIProvider;
import com.mumfrey.liteloader.core.EnabledModsList;
import com.mumfrey.liteloader.core.LiteLoaderVersion;
import com.mumfrey.liteloader.interfaces.LoaderEnumerator;
/**
* The Loader Environment, contains accessors for getting information about the
* current Loader session such as the game directories, profile, and API
* management classes.
*
* Launch namespace, so loaded by the AppClassLoader
*
* @author Adam Mummery-Smith
*/
public interface LoaderEnvironment extends GameEnvironment
{
public enum EnvironmentType
{
CLIENT,
DEDICATEDSERVER
}
public abstract EnvironmentType getType();
/**
* Get the API Adapter, the API Adapter provides functionality for working
* with all loaded APIs.
*/
public abstract APIAdapter getAPIAdapter();
/**
* Get the API Provider, the API Provider contains API instances for the
* current session.
*/
public abstract APIProvider getAPIProvider();
/**
* The enabled mods list is a serialisable class which contains information
* about which mods are enabled/disabled.
*/
public abstract EnabledModsList getEnabledModsList();
/**
* The enumerator manages mod container and class discovery
*/
public abstract LoaderEnumerator getEnumerator();
/**
* Get the version-specific mods folder
*/
public abstract File getVersionedModsFolder();
/**
* Get the configuration base folder
*/
public abstract File getConfigBaseFolder();
/**
* Get the version-agnostic mod config folder
*/
public abstract File getCommonConfigFolder();
/**
* Get the version-specific config folder
*/
public abstract File getVersionedConfigFolder();
/**
* Inflect a versioned configuration path for a specific version
*
* @param version
*/
public abstract File inflectVersionedConfigPath(LiteLoaderVersion version);
public abstract boolean addCascadedTweaker(String tweakClass, int priority);
public abstract ClassTransformerManager getTransformerManager();
}