package net.minecraftforkage.instsetup.depsort;
public interface DependencySortedObject {
/**
* The name of this object, so that other objects can reference it in their dependency list.
* Conventionally, this is your mod ID, but this is not a hard requirement.
*
* These must be unique.
*/
public String getID();
/**
* Dependency list, in the same format originally used by ModLoader - that is, a semicolon-separated list of the following:
* <ul>
* <li><tt>requires:OBJECTNAME</tt> - crash if OBJECTNAME is not present.
* <li><tt>after:OBJECTNAME</tt> - load after OBJECTNAME, if OBJECTNAME is present. (Otherwise, do nothing)
* <li><tt>before:OBJECTNAME</tt> - load after OBJECTNAME, if OBJECTNAME is present. (Otherwise, do nothing)
* <li><tt>after:*</tt> - load after everything that does not specify <tt>after:*</tt>. More asterisks can be added to load even later.
* Some Minecraft Forkage built-in setup components that run "last" use <tt>after:**</tt>; any objects with two or more asterisks
* should not expect to run before them.
* <li><tt>before:*</tt> - load before everything that does not specify <tt>before:*</tt>. More asterisks can be added to load even earlier.
* Some Minecraft Forkage built-in setup components that run "first" use <tt>before:**</tt>; any objects with two or more asterisks
* may experience an unpredictable environment (as the system is currently not designed for this).
* </ul>
*/
public String getDependencies();
}