@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 saveConfig(Configuration config) { if (config.getCategory("addshapedore") != null) config.getCategory("addshapedore").clear(); if (config.getCategory("addshapelessore") != null) config.getCategory("addshapelessore").clear(); for (int zahl = 0; zahl < addedRecipes.size(); zahl++) { IRecipe recipeO = (IRecipe) addedRecipes.get(zahl); if (recipeO != null) config.get( "add" + WorkbenchHelper.getRecipeCategoryString(recipeO), WorkbenchHelper.RecipeToString(recipeO), true); } }
@Override public void loadConfig(Configuration config) { addedRecipes.clear(); // items|result|x|y Map<String, Property> shaped = config.getCategory("addshapedore").getValues(); for (int zahl = 0; zahl < shaped.size(); zahl++) { Property RecipeData = (Property) shaped.values().toArray()[zahl]; String Data = RecipeData.getName(); IRecipe recipe = WorkbenchHelper.StringToRecipe(true, Data); if (recipe != null) addedRecipes.add(recipe); } Map<String, Property> shapless = config.getCategory("addshapelessore").getValues(); for (int zahl = 0; zahl < shapless.size(); zahl++) { Property RecipeData = (Property) shapless.values().toArray()[zahl]; String Data = RecipeData.getName(); IRecipe recipe = WorkbenchHelper.StringToRecipe(false, Data); if (recipe != null) addedRecipes.add(recipe); } CraftingManager.getInstance().getRecipeList().addAll(addedRecipes); }
@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); }