@Override
 public void detectAndSendChanges() {
   super.detectAndSendChanges();
   for (int i = 0; i < crafters.size(); i++) {
     ICrafting crafter = (ICrafting) crafters.get(i);
     if (lastColourFamily != tileEntityColourMixer.getColourFamily()) {
       crafter.sendProgressBarUpdate(this, 0, tileEntityColourMixer.getColourFamily().ordinal());
     }
   }
   lastColourFamily = tileEntityColourMixer.getColourFamily();
 }
 @Override
 public void updateProgressBar(int id, int data) {
   if (id == 0) {
     tileEntityColourMixer.setColourFamily(ColourFamily.values()[data]);
   }
 }
 @Override
 public void addCraftingToCrafters(ICrafting crafter) {
   super.addCraftingToCrafters(crafter);
   crafter.sendProgressBarUpdate(this, 0, tileEntityColourMixer.getColourFamily().ordinal());
   lastColourFamily = tileEntityColourMixer.getColourFamily();
 }
 @Override
 public boolean canInteractWith(EntityPlayer player) {
   return tileEntityColourMixer.isUseableByPlayer(player);
 }