1.12 also has CraftTweaker support, which you can use to add Uncrafting recipes of your own to the game. I recommend using the guide.
The methods added are:
#1 ".addRecipe(boolean Replace, int Cost, IIngredient[][] Output, IIngredient Input)" lets you add a new recipe for uncrafting an item.
-Replace dictates if the new recipe will prevent the player from uncrafting the item in any other way.
-Cost dictates how many levels the recipe will consume to uncraft
-Output is a two dimensional array of ingredients that you get from unrafting this recipe
-Input is the item that needs to be uncrafted
Example: This will make a new uncrafting recipe that lets the player uncraft 3 apples into 9 carrots at the cost of 2 levels.
import crafttweaker.item.IIngredient;
val appleInput = <minecraft:apple> * 3;
val carrotOutput = [[<minecraft:carrot>, <minecraft:carrot>, <minecraft:carrot>],
[<minecraft:carrot>, <minecraft:carrot>, <minecraft:carrot>],
[<minecraft:carrot>, <minecraft:carrot>, <minecraft:carrot>]] as IIngredient[][];
mods.twilighttweaks.uncrafting.addRecipe(false, 2, carrotOutput, appleInput);
#2 ".removeDefaultRecipes(boolean[] toKeep)" lets you remove any of the 5 default uncrafting recipes that are unique to this mod, I've added this just in case, since the #1 method can not replace them
-toKeep is an array of 5 bolleans. Each one represents a default uncrafting recipe. True means the recipe is enabled and false disables it. The recipes are, in the same order:
Slightly Damaged Anvil uncrafting recipe
Very Damaged Anvil uncrafting recipe
Knightmetal Ingot uncrafting recipe
Tipped Arrow uncrafting recipe
Written Book uncrafting recipe
Example: This will disable the second and third default recipe. You have to list all 5 booleans, or else it won't work.
val boolArray = [true, false, false, true, true] as bool[];
mods.twilighttweaks.uncrafting.removeDefaultRecipes(boolArray);
#3 ".banUncraft(IItemStack input)" This let's you ban an item from being uncrafted. Any recipe that you add with #1 will ignore this ban.
-input is the item you don't want players to uncraft.
Example: This will prevent the Magic Map Focus from being uncraftable.
import crafttweaker.item.IIngredient;
mods.twilighttweaks.uncrafting.banUncraft(<twilightforest:magic_map_focus>);