@Override
 public ArrayList<PacketEntry> getPacketInformation() {
   ArrayList<PacketEntry> entries = new ArrayList<PacketEntry>();
   String[] recipes = new String[addedRecipes.size()];
   for (int zahl = 0; zahl < recipes.length; zahl++)
     recipes[zahl] =
         StringUtils.ObjectsToString(
             WorkbenchHelper.getRecipeCategoryString(addedRecipes.get(zahl)),
             WorkbenchHelper.RecipeToString((IRecipe) addedRecipes.get(zahl)));
   entries.addAll(ArrayPacketEntry.getPacketArray(recipes));
   return entries;
 }
 @Override
 public void UpdateInformation(ArrayList<PacketEntry> Packet) {
   addedRecipes.clear();
   String[] input = ArrayPacketEntry.getArray(Packet);
   for (int zahl = 0; zahl < input.length; zahl++) {
     Object[] objects = StringUtils.StringToObjects(input[zahl]);
     if (objects.length == 2 && objects[0] instanceof String && objects[1] instanceof String) {
       IRecipe recipe =
           WorkbenchHelper.StringToRecipe(objects[0].equals("shapedore"), (String) objects[1]);
       if (recipe != null && !addedRecipes.contains(recipe)) addedRecipes.add(recipe);
     }
   }
   List mcRecipes = CraftingManager.getInstance().getRecipeList();
   List newRecipes = new ArrayList();
   for (int i = 0; i < mcRecipes.size(); i++) {
     if (!(mcRecipes.get(i) instanceof BetterShapedRecipe)
         && !(mcRecipes.get(i) instanceof BetterShapelessRecipe)) newRecipes.add(mcRecipes.get(i));
   }
   newRecipes.addAll(addedRecipes);
   mcRecipes.clear();
   mcRecipes.addAll(newRecipes);
 }