package li.cil.oc.common.asm.template; import li.cil.oc.api.network.Environment; import li.cil.oc.api.network.SimpleComponent; import net.minecraft.nbt.NBTTagCompound; /** * This interface defines the names to which existing or placeholders for * existing methods will be moved. This allows transparent injection of our * functionality, i.e. existing validate() etc. methods will be called as * if we didn't inject our code. * <p/> * Yes, the names are not "conventional", but that is by design, to avoid * naming collisions. */ public interface SimpleComponentImpl extends Environment, SimpleComponent { public static final String PostFix = "_OpenComputers"; void validate_OpenComputers(); void invalidate_OpenComputers(); void onChunkUnload_OpenComputers(); void readFromNBT_OpenComputers(NBTTagCompound nbt); void writeToNBT_OpenComputers(NBTTagCompound nbt); }