[Feature Request] Easy way to prevent/remove some alloys
MechanosG opened this issue ยท 3 comments
Heya. So, I'm playing around with building a new 1.19.2 quilt modpack that's centered around the Modern Industrialization mod. By default, when using Alloy Forgery (and Mythic Metals) with it, Alloy Forgery ends up making a bunch of alloys easier to obtain than they'd normally be. I still want to use Mythic Metals though, so I'm trying to find a quick way to remove a few things like steel/tungsten/etc from Alloy Forgery. In past modpacks (with other similar mods), I'd do this via config or via minetweaker/kubejs or something.
I've been reading the wiki - are datapacks the only option with this mod? In theory I could use something like kubejs/global data to create a global override.. but that seems kinda complex for what I'm trying to accomplish, and I'm not certain I'd be able to easily remove specific recipes? I could be wrong..
I'd like to request that an easier method be added, intended for modpack usage. Random idea off the top of my head, some kinda blacklist config file that can be used to list and prevent certain recipes from being added to the forgery? Example, put Steel in the list, and when AF is building it's recipe list for the Forgery, if something with the end result of Steel comes up, it simply skips adding that recipe. Or another option.. future KubeJS support? From what I understand, KubeJS 6 is currently being developed and unstable fabric 1.19.2 builds are available. Dunno how close it is to public release though.
Quick Update: I figured I'd poke around the datapack approach. It's taken me some hours (lol) but I discovered the datapacks in the Alloy Forgery/Mythic Metals jars, and tested clearing out the steel related jsons (leaving {} inside) then applying them with Global Packs. This didn't work repeatedly, until I realized I wasn't structuring the datapack correctly. The tutorial in the wiki is kinda confusing to me for some reason. Anyway, once I got the structure correct (top level folder, mcmeta and data folder inside, then finally the namespace folders inside that data folder), it seems to be working. Which is great. Now that I know how to do it, it's not too hard. But.. that initial step was pretty confusing.
I'll leave this suggestion open in case you haven't seen it. I'm sure it'd probably help someone that doesn't know how to use datapacks.
the Alloy Forgery/Mythic Metals jars, and tested clearing out the steel related jsons (leaving {} inside)
Please do not do edit jars directly like this. It can cause unexpected issues, and we will not provide support for it.
While better KubeJS compat is something we might look into in the future, as currently KubeJS does not understand our JSON format, you are still able to use it to remove recipes. If you know how to use it you should be able to remove all the AF recipes and re-build them from scratch if you please.
Considering this and the fact that datapacks are both documented, and the fact that they let you filter out other datapacks, I see no reason to keep this issue open.
the Alloy Forgery/Mythic Metals jars, and tested clearing out the steel related jsons (leaving {} inside)
Please do not do edit jars directly like this. It can cause unexpected issues, and we will not provide support for it.
You misunderstand. I found the datapack in the jar, then copied the bits I wanted to change and applied it externally via my own datapack, using the Global Packs mod. That way it's just copy->paste->make edits, instead of trying to figure out exact paths and stuff manually, and also so I can see exact examples. That also lets me override a mod's datapack by having the exact same namespace/file structure. This method of overriding a mod's datapack to prevent recipes, was recommended on multiple websites. I did look inside first and didn't notice anything that would seemingly break other things if it goes missing. Mostly ore dictionary checks, or whatever fabric/quilt's equivalent of an ore dictionary is named.
While better KubeJS compat is something we might look into in the future, as currently KubeJS does not understand our JSON format, you are still able to use it to remove recipes. If you know how to use it you should be able to remove all the AF recipes and re-build them from scratch if you please.
Considering this and the fact that datapacks are both documented, and the fact that they let you filter out other datapacks, I see no reason to keep this issue open.
Alright. Btw, the suggestion was made because many people do not like using datapacks and I couldn't remember how they worked. I tried the tutorial, but it's just.. not for me. It's worded in a way many people will struggle to follow. Like a school textbook - the kind some people have trouble learning directly from, and the reason why teachers/professors step in to simplify things and skip unimportant sections. Most mods supply a config of some sort nowadays (nearly every mod in my current modpack as well), so I figured it couldn't hurt to ask. But I understand. Datapacks get the job done. Thanks for reading anyway.