BCLib Jsonifier
Record scratch freeze frame So, yeah. You're probably wondering right now how I ended up here? It's a long story. Well, not that long. Basically, BCLib is set up incorrectly when it comes to registering tags and recipes, which leads to a very annoying problem—KubeJS can't interact with its recipes and tags. I still wanted to include BetterEnd and BetterNether in my modpack, so I did the reasonable thing anyone in my position would do... Wrote a whole mod that hijacks the BCLib registry system, grabs it by the throat, and forces it to work correctly! Hope it's as useful for you as it is for me!
Not the Best News
Before you get too happy, let me share some not-so-great news. As it stands, this isn't a one-size-fits-all solution. Yes, it does fix recipes in all their messiness. However, tags are still a bit weird. BCLib Jsonifier comes with a configuration, though it's not extremely extensive. It only lets you define which tags BCLib shouldn't add to any items, blocks, biomes, and so on. If this works for you—great. If not—I'm really sorry. I tried my hardest to get tags working fully like recipes, but I gave up, lol.
Here's the default configuration. It's located at ./config/bclib-jsonifier.yml.
blocked_tags:
- c:iron_ingots
It does exactly what you'd think. It blocks BCLib from adding c:iron_ingots to anything (item, block, etc.). This works very well for people who want to keep things like Cincinnasite Ingots from BetterNether or Thallasium Ingots from BetterEnd but don't want them to be used as an iron equivalent. Works in my case, hope it works in yours.