2

Minecraft 1.7.10 用の小さなユーティリティ mod を作成しようとしています。この mod では、ID のリストを構成ファイルに配置すると、mod がゲームからレシピを削除します。構成ファイルは機能していますが、レシピを削除できないようです。

レシピを削除する私の方法は、他のいくつかのフォーラムスレッドで見たもので、構成ファイルで動作するようにわずかに変更されています (または私の場合は動作しません)。

メソッドは次のとおりです。

private void removeRecipes(String toDelete)
{

    ArrayList<?> recipes = (ArrayList<?>) CraftingManager.getInstance().getRecipeList();

    ItemStack recipeResult = null;

    ItemStack resultItem = new ItemStack((Item)Item.itemRegistry.getObject(toDelete));
    resultItem.stackSize = 1;
    resultItem.setItemDamage(0);

    for (int scan = 0; scan < recipes.size(); scan++)
    {
         IRecipe tmpRecipe = (IRecipe) recipes.get(scan);
         if (tmpRecipe instanceof ShapedRecipes)
       {
             ShapedRecipes recipe = (ShapedRecipes)tmpRecipe;
             recipeResult = recipe.getRecipeOutput();

             recipeResult.stackSize = 1;
             recipeResult.setItemDamage(0);
       }
         if (tmpRecipe instanceof ShapelessRecipes)
         {
             ShapelessRecipes recipe = (ShapelessRecipes)tmpRecipe;
             recipeResult = recipe.getRecipeOutput();

             recipeResult.stackSize = 1;
             recipeResult.setItemDamage(0);
         }
         if (ItemStack.areItemStacksEqual(resultItem, recipeResult))
         {
             System.out.println("[RecipeRemover] Removed Recipe: " + recipes.get(scan) + " -> " + recipeResult);
             recipes.remove(scan);
         }
    }
}
4

1 に答える 1