Only remove plank recipe if the ingredients are logs #23

Closed
opened 2020-05-01 00:44:10 +00:00 by import_user_oitsjustjose_95mQ · 11 comments
import_user_oitsjustjose_95mQ commented 2020-05-01 00:44:10 +00:00 (Migrated from git.oitsjustjose.com)

You should be able to do this by checking the #minecraft:logs tag.

This should fix the issue where things like Quark's and other mods' Vertical Planks, Buzzier Bees's Hive Planks, and Quark's dyed planks lose their recipes even though they're not the standard logs-to-planks recipe replaced by the mod.

You should be able to do this by checking the `#minecraft:logs` tag. This should fix the issue where things like Quark's and other mods' Vertical Planks, Buzzier Bees's Hive Planks, and Quark's dyed planks lose their recipes even though they're not the standard logs-to-planks recipe replaced by the mod.
import_user_oitsjustjose_95mQ commented 2020-05-04 21:16:59 +00:00 (Migrated from git.oitsjustjose.com)

Thanks to someone who has been great help contributing to compatibility data packs, I think this may be a non-issue. I'll test this though to be certain.

Thanks to someone who has been great help contributing to compatibility data packs, I think this may be a non-issue. I'll test this though to be certain.
import_user_oitsjustjose_95mQ commented 2020-05-04 21:24:41 +00:00 (Migrated from git.oitsjustjose.com)

It's still an issue even with the data packs I contributed. Those add the custom log->plank flow but they can't replace the other plank stuff like dying planks or creating vertical planks.

Filtering recipe removal for only loglike ingredients will ensure only the log->plank progression is replaced while other plank recipes remain.

Unrelated: Yesterday I realized that compatibility data pack used the wrong tool tag for stripping logs; I'll PR a fix for that tonight.

It's still an issue even with the data packs I contributed. Those add the custom log->plank flow but they can't replace the other plank stuff like dying planks or creating vertical planks. Filtering recipe removal for only loglike ingredients will ensure only the log->plank progression is replaced while other plank recipes remain. Unrelated: Yesterday I realized that compatibility data pack used the wrong tool tag for stripping logs; I'll PR a fix for that tonight.
import_user_oitsjustjose_95mQ commented 2020-05-04 22:42:00 +00:00 (Migrated from git.oitsjustjose.com)

I have an idea then. How about we redesign the to recipe overlap with the original recipe so that it inherently disables the old recipe only if the new recipe works, instead of disabling every way to get planks?

I have an idea then. How about we redesign the to recipe overlap with the original recipe so that it inherently disables the old recipe only if the new recipe works, instead of disabling every way to get planks?
import_user_oitsjustjose_95mQ commented 2020-05-04 23:19:53 +00:00 (Migrated from git.oitsjustjose.com)

I can also do something like this:

    private static void removePlankRecipes(final RecipeManager recipeManager)
    {
        final int recipesRemoved = removeRecipes(recipeManager, recipe -> {
            final ItemStack recipeOutput = recipe.getRecipeOutput();

            for (Ingredient ingredient : recipe.getIngredients())
            {
                for (ItemStack stack : ingredient.getMatchingStacks())
                {
                    if (ItemTags.LOGS.contains(stack.getItem()))
                    {
                        return !recipeOutput.isEmpty() && recipeOutput.getItem().isIn(ItemTags.PLANKS)
                                && !(recipe.getSerializer() instanceof DamageItemRecipe.Serializer);
                    }
                }
            }

            return false;
        });

        NaturalProgression.getInstance().LOGGER.info("Removed {} recipe(s) for planks", recipesRemoved);
  }
I can also do something like this: ```java private static void removePlankRecipes(final RecipeManager recipeManager) { final int recipesRemoved = removeRecipes(recipeManager, recipe -> { final ItemStack recipeOutput = recipe.getRecipeOutput(); for (Ingredient ingredient : recipe.getIngredients()) { for (ItemStack stack : ingredient.getMatchingStacks()) { if (ItemTags.LOGS.contains(stack.getItem())) { return !recipeOutput.isEmpty() && recipeOutput.getItem().isIn(ItemTags.PLANKS) && !(recipe.getSerializer() instanceof DamageItemRecipe.Serializer); } } } return false; }); NaturalProgression.getInstance().LOGGER.info("Removed {} recipe(s) for planks", recipesRemoved); } ```
import_user_oitsjustjose_95mQ commented 2020-05-04 23:23:49 +00:00 (Migrated from git.oitsjustjose.com)

mentioned in issue #20

mentioned in issue #20
import_user_oitsjustjose_95mQ commented 2020-05-04 23:24:04 +00:00 (Migrated from git.oitsjustjose.com)

Overlapping the old recipe is a fantastic idea. That way the mod can simply remove the recipe removal code and allow the data pack to do all the work on its own. I can go through the mod conpat recipes and update their paths to match too.

Overlapping the old recipe is a fantastic idea. That way the mod can simply remove the recipe removal code and allow the data pack to do all the work on its own. I can go through the mod conpat recipes and update their paths to match too.
import_user_oitsjustjose_95mQ commented 2020-05-04 23:24:44 +00:00 (Migrated from git.oitsjustjose.com)

Sounds wonderful, thank you so much for all your help and support!!!

Sounds wonderful, thank you so much for all your help and support!!!
import_user_oitsjustjose_95mQ commented 2020-05-05 02:02:45 +00:00 (Migrated from git.oitsjustjose.com)

mentioned in issue #13

mentioned in issue #13
import_user_oitsjustjose_95mQ commented 2020-05-05 06:55:53 +00:00 (Migrated from git.oitsjustjose.com)

mentioned in merge request !127

mentioned in merge request !127
import_user_oitsjustjose_95mQ commented 2020-10-10 18:09:15 +00:00 (Migrated from git.oitsjustjose.com)

This issue is making the mod unusable for me. All log->planks have been removed, including those for machinery like Create's saw. I tried adding custom recipes using kubejs for other mods logs, but those get removed too. I'm left with a) no way to get 90% of the planks in my modpack and b) no easy way to automate planks, because I have to use the saw items every time.

This issue is making the mod unusable for me. All log->planks have been removed, including those for machinery like Create's saw. I tried adding custom recipes using kubejs for other mods logs, but those get removed too. I'm left with a) no way to get 90% of the planks in my modpack and b) no easy way to automate planks, because I *have* to use the saw items every time.
import_user_oitsjustjose_95mQ commented 2021-03-14 16:22:25 +00:00 (Migrated from git.oitsjustjose.com)

I've really neglected this PR and I apologize - life has been a bit crazy. I have dedicated myself some time to work on this mod and I've finally looked over and implemented @sargunv's delightful recipe implementation so that this is no longer an issue.

I've really neglected this PR and I apologize - life has been a bit crazy. I have dedicated myself some time to work on this mod and I've finally looked over and implemented `@sargunv`'s delightful recipe implementation so that this is no longer an issue.
import_user_oitsjustjose_95mQ (Migrated from git.oitsjustjose.com) closed this issue 2021-03-14 16:22:25 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
oitsjustjose/Natural-Progression#23
No description provided.