2017-06-28 1 views

Répondre

1

Le code ci-dessous devrait gérer la plupart des recettes, mais pas toutes. Si vous en avez besoin de plus, je peux écrire plus.

 /** 
    * Determines the input of a IRecipe. 
    * This method handles most of the IRecipes, but not all of them. 
    * @param Item 
    * @return Null if not handled. 
    */ 
    private List<ItemStack> Test(IRecipe Item) 
    { 
     try 
     { 
      if (Item instanceof ShapelessRecipes) 
      { 
       ShapelessRecipes a = (ShapelessRecipes)Item; 
       return a.recipeItems; 
      } 

      if (Item instanceof ShapedRecipes) 
      { 
       ShapedRecipes a = (ShapedRecipes)Item; 
       return Arrays.asList(a.recipeItems); 
      } 

      if (Item instanceof ShapedOreRecipe) 
      { 
       ShapedOreRecipe a = (ShapedOreRecipe)Item; 

       ItemStack Item2; 
       NonNullList<ItemStack> Item1 = NonNullList.create(); 

       for (Object b: a.getInput()) 
       { 
        if (b instanceof ItemStack) 
        { 
         Item2 = (ItemStack)b; 
         Item1.add(Item2); 
        } 

        if (b instanceof NonNullList) 
        { 
         NonNullList<ItemStack> NonNull1 = (NonNullList<ItemStack>)b; 
         Item1.addAll(NonNull1); 
        } 

        return Item1; 
       } 
      } 

      if (Item instanceof ShapelessOreRecipe) 
      { 
       ShapelessOreRecipe a = (ShapelessOreRecipe)Item; 

       ItemStack Item2; 
       NonNullList<ItemStack> Item1 = NonNullList.create(); 

       for (Object b: a.getInput()) 
       { 
        if (b instanceof ItemStack) 
        { 
         Item2 = (ItemStack)b; 
         Item1.add(Item2); 
        } 

        if (b instanceof NonNullList) 
        { 
         NonNullList<ItemStack> NonNull1 = (NonNullList<ItemStack>)b; 
         Item1.addAll(NonNull1); 
        } 
       } 

       return Item1; 
      } 
     } 
     catch (Exception e) 
     { 
      //Handle the error 
     } 

     return null; 
    } 
+0

merci, mais il ya toujours le problème avec les classes personnalisées 'IRecipe' –

+0

Custom? Permettez-moi de lancer à nouveau éclipse ...... Lesquels? – SneakyTactician

+0

Ou faites-vous référence à quelqu'un qui crée sa propre recette qui implémente IRecipe? – SneakyTactician