Advertisement
TitanChase

Untitled

Mar 7th, 2017
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.09 KB | None | 0 0
  1. @Override
  2.     public IRecipeTransferError transferRecipe(Container container, IRecipeLayout recipeLayout, EntityPlayer player, boolean maxTransfer, boolean doTransfer)
  3.     {
  4.         if (!FactionsSettings.Edit.ExportJsonJEI.Value || !doTransfer)
  5.             return null;
  6.         Map<Integer, ? extends IGuiIngredient<ItemStack>> inputs = recipeLayout.getItemStacks().getGuiIngredients();
  7.         Map<Item, Integer> items = new HashMap<Item, Integer>();
  8.         for (Slot slot : container.inventorySlots)
  9.         {
  10.             if (slot.inventory instanceof InventoryCrafting)
  11.             {
  12.                 IGuiIngredient<ItemStack> ingredient = inputs.get(slot.getSlotIndex() + 1);
  13.  
  14.                 if (ingredient != null)
  15.                 {
  16.                     List<ItemStack> itemStacks = ingredient.getAllIngredients();
  17.                     if (itemStacks.size() > 0)
  18.                     {                        
  19.                         Item item = itemStacks.get(0).getItem();
  20.                         if (!items.containsKey(item))
  21.                         {
  22.                             items.put(item, 1);
  23.                         }
  24.                         else
  25.                         {
  26.                             items.replace(item, items.get(item) + 1);
  27.                         }
  28.                     }
  29.                 }
  30.             }
  31.         }
  32.         if (!items.isEmpty())
  33.         {
  34.             List<ItemStack> stacks = new ArrayList<ItemStack>();
  35.             for(int i =0; i < items.size(); i++)
  36.             {
  37.                 stacks.add(new ItemStack((Item)items.keySet().toArray()[i], (int) items.values().toArray()[i]));
  38.             }
  39.             File file = new File("config/" + References.Mod.Id + "/recipeExport.json");
  40.             FileIOHelper.CreateFile(file);
  41.             try (Writer writer = new FileWriter(file))
  42.             {
  43.                 Gson gson = new GsonBuilder().create();
  44.                 gson.toJson(stacks, writer);
  45.             }
  46.             catch (IOException e)
  47.             {
  48.                 e.printStackTrace();
  49.             }
  50.         }
  51.         return null;
  52.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement