package com.w67clement.mineapi.system.modules;
import com.w67clement.mineapi.MineAPI;
import com.w67clement.mineapi.nms.NmsManager;
import com.w67clement.mineapi.system.ModuleManager;
public abstract class Module
{
protected MineAPI mineapi;
protected boolean enable_startup = false;
private ModuleInformations informations;
private boolean isEnabled;
public String getName()
{
return this.informations.getName();
}
public abstract void onEnable();
public abstract void onDisable();
public ModuleInformations getModuleInformations()
{
return this.informations;
}
public void setModuleInformations(ModuleInformations description)
{
if (this.informations == null)
this.informations = description;
}
public boolean isEnabled()
{
return isEnabled;
}
public void setEnabled(boolean isEnabled)
{
this.isEnabled = isEnabled;
}
protected void setModuleInformations(ModuleInformations description, boolean force)
{
if (this.informations == null || force)
this.informations = description;
}
public void setMineAPI(MineAPI mineapi)
{
this.mineapi = mineapi;
}
public NmsManager getNmsManager()
{
return MineAPI.getNmsManager();
}
public ModuleManager getModuleManager()
{
return MineAPI.getModuleManager();
}
public boolean isEnableStartup()
{
return this.enable_startup;
}
}