Oreberries

Oreberries

6M Downloads

Not able to remove ingot recipes even with crafttweaker

OceanSnipe17 opened this issue ยท 3 comments

commented

I have setup crafttweaker scripts to remove the way to make ingots with Oreberry nuggets and the recipes still create. They are probably created after the scripts are ran for crafttweaker. Can you create an option to turn off the crafting of ingots in the config or json? I have a hardcore modpack and everything is done via the TinkCon Smeltery or Ender IO Alloy Smelter.

commented

For technical reasons, I need to create recipes late if the output item is specified as an oredict name rather than an individual item, which my mod needs to do by default so that its stock config is compatible with all packs. Since you're making a pack, though, you can switch it to use specific items instead, which will then cause them to be made earlier so that CraftTweaker will be able to remove them. To do this, for each oreberry you want to apply this to, look at smeltingResult:

  • If it's not set, it will default to the oredict entry of nugget followed by the ore name, such as nuggetIron. Find the exact item that it's supposed to correspond to and add an entry for it, such as "smeltingResult": "minecraft:iron_nugget".
  • If it's set to null, then it isn't smeltable at all and there should be nothing to do.
  • If it's set to a string that contains a :, such as minecraft:iron_nugget, then it's already treated as an exact item, and CraftTweaker should already be able to remove it.
  • If it's set to a string that doesn't contain a :, such as nuggetIron, then it's treated as an oredict name. Find the exact item that it's supposed to correspond to and change it to that, such as minecraft:iron_nugget.
  • If it's set to a JSON object, then look at each entry of ingotNames inside of it:
    • If ingotNames isn't set at all, it will default to a list with one element: the oredict entry of ingot followed by the ore name, such as ingotIron. Find the exact item that it's supposed to correspond to and add an entry for it, such as "ingotNames": ["minecraft:iron_ingot"].
    • Otherwise, for each element in the list:
      • If it's set to a string that contains a :, such as minecraft:iron_ingot, then it's already treated as an exact item, and CraftTweaker should already be able to remove it.
      • If it's set to a string that doesn't contain a :, such as ingotIron, then it's treated as an oredict name. Find the exact item that it's supposed to correspond to and change it to that, such as minecraft:iron_ingot.

Let me know if this works for you. If not, then post your oreberries.json file here and I'll post one with the fixes applied.

commented

That has corrected it. Thank you for the help with this issue.

commented

Good to hear. You're welcome!