2012-03-28 16:44:36 -04:00
|
|
|
package fml.server;
|
|
|
|
|
|
2012-03-30 01:12:59 -04:00
|
|
|
import net.minecraft.src.BaseMod;
|
|
|
|
|
|
2012-03-28 16:44:36 -04:00
|
|
|
public class ModLoaderModContainer implements ModContainer {
|
2012-03-30 01:12:59 -04:00
|
|
|
private Class<? extends BaseMod> modClazz;
|
|
|
|
|
private BaseMod mod;
|
|
|
|
|
private boolean isTicking;
|
|
|
|
|
public ModLoaderModContainer(Class<? extends BaseMod> modClazz) {
|
|
|
|
|
this.modClazz=modClazz;
|
|
|
|
|
}
|
|
|
|
|
|
2012-03-28 16:44:36 -04:00
|
|
|
public boolean wantsPreInit() {
|
2012-03-30 01:12:59 -04:00
|
|
|
return true;
|
2012-03-28 16:44:36 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean wantsPostInit() {
|
2012-03-30 01:12:59 -04:00
|
|
|
return true;
|
2012-03-28 16:44:36 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void preInit() {
|
2012-03-30 01:12:59 -04:00
|
|
|
try {
|
|
|
|
|
mod=modClazz.newInstance();
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
throw new LoaderException(e);
|
|
|
|
|
}
|
2012-03-28 16:44:36 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void init() {
|
2012-03-30 01:12:59 -04:00
|
|
|
mod.load();
|
2012-03-28 16:44:36 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void postInit() {
|
2012-03-30 01:12:59 -04:00
|
|
|
mod.modsLoaded();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void tickStart(float tickTime) {
|
|
|
|
|
if (isTicking) {
|
|
|
|
|
isTicking=mod.onTickInGame(tickTime);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public void tickEnd(float tickTime) {
|
|
|
|
|
// NOOP for modloader
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String getName() {
|
|
|
|
|
return mod!=null?mod.getName():null;
|
|
|
|
|
}
|
2012-03-28 16:44:36 -04:00
|
|
|
|
2012-03-30 01:12:59 -04:00
|
|
|
public static ModContainer findContainerFor(BaseMod mod) {
|
|
|
|
|
for (ModContainer mc :Loader.getModList()) {
|
|
|
|
|
if (mc.matches(mod)) {
|
|
|
|
|
return mc;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return null;
|
2012-03-28 16:44:36 -04:00
|
|
|
}
|
|
|
|
|
|
2012-03-30 01:12:59 -04:00
|
|
|
@Override
|
|
|
|
|
public boolean matches(Object mod) {
|
|
|
|
|
return modClazz.isInstance(mod);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void setTicking(boolean enable) {
|
|
|
|
|
isTicking=enable;
|
|
|
|
|
}
|
2012-03-28 16:44:36 -04:00
|
|
|
}
|