package advancedsystemsmanager.compatibility.lua.events;
import advancedsystemsmanager.compatibility.ModCompat;
import advancedsystemsmanager.reference.Mods;
import cpw.mods.fml.common.Optional;
import dan200.computercraft.api.peripheral.IComputerAccess;
import java.util.List;
public abstract class LuaEvent
{
private String name;
public LuaEvent(String name)
{
this.name = name;
}
public void announce(List<IComputerAccess> computers, Object... message)
{
if (ModCompat.COMPUTERCRAFT.isLoaded())
computerCraftAnnounce(computers, message);
// if (ModList.opencomputers.isLoaded())
// openComputersAnnounce(cTE, message);
}
@Optional.Method(modid = Mods.COMPUTERCRAFT)
public void computerCraftAnnounce(List<IComputerAccess> computerList, Object... message)
{
for (IComputerAccess computer : computerList)
{
computer.queueEvent(name, message);
}
}
// @Optional.Method(modid = Mods.OPENCOMPUTERS)
// public void openComputersAnnounce(TilePeripheralBase te, Object... message)
// {
// for (Object context : te.getContext())
// {
// ((Context)context).signal(name, message);
// }
// }
}