Mystical World

Mystical World

19M Downloads

Ore block and item gem, ingot, etc, registration is conditional

katubug opened this issue ยท 5 comments

commented
  • Minecraft version: 1.12.2
  • Forge version: forge-1.12.2-14.23.5.2846-universal
  • Modpack version (links to current modlist): 1.x.x
  • Mod versions: MysticWorld-1.12.2-1.4.4

Here is a link to my mystic world config: https://pastebin.com/3kxvcCsP

As you can see, I have everything regarding Amethyst disabled (I have several other mods that add Amethysts but the tool recipes don't seem to use OreDict so I opted to disable them until I had the chance to alter the recipes).

However, here is a screenshot of my JEI:
ss+(2019-09-15+at+08 20 28)

And here is the entry in the guidebook:
ss+(2019-09-15+at+08 20 56)

As you can see, the items don't seem to be hidden properly.

Thanks for your time, and for the excellent mod! I'm really happy to see how far it's come. :)

commented

hello.
the current configs for tools do not disable the tools, they only remove the recipe for the tool.
if you would like to hide the tool entirely, i recommend using crafttweaker to hide it from JEI.

to my knowledge, the tools should respect oredict. what mod's amethyst are you trying to use? what oredict entry does it have?

commented

For the first part, here's the recipe for an amethyst axe:

{
  "type": "forge:ore_shaped",
  "pattern": [
    "CC ",
    "CS ",
    " S "
    ],
  "key": {
    "C": [
      {
        "type": "forge:ore_dict",
        "ore": "gemAmethyst"
      }
    ],
    "S": [
      {
        "type": "forge:ore_dict",
        "ore": "stickWood"
      }
    ]
  },
  "result": {
    "item": "mysticalworld:amethyst_axe",
    "data": 0,
    "count": 1
  },
  "conditions": [
    {
      "type": "mysticalworld:config",
      "config": "amethyst"
    },
    {
      "type": "mysticalworld:config",
      "config": "amethyst_axe"
    }
  ]
}

As you can see, it uses the Forge ore dictionary to look for gemAmethyst which is the standard (gemEmerald, gemDiamond, etc). I know for a fact that this works (on the Arcane Archives test server) with NetherEx's Nether Amethyst Ore/Amethyst gems, so I would use some kind of tool that displays ore dictionary entries (such as CraftTweaker's /ct hand or EnderCore's F3 + H advanced mode allowing you to press shift to see ore dictionary entries on item tooltips) to confirm that the amethyst you're using conforms to this standard.

As far as I was aware, there was no conditional registration of blocks. However, having a look through the code now, it appears as though there might actually be some conditional registration going on, which is entirely not the intent of the mod.

Disabling things should disable the generation and registration (in ore dictionary, for example) of blocks, and for items it should disable the recipe for them. If you wish them hidden, I recommend either using CraftTweaker, again, with its in-built JEI support to remove those recipes, or use hide mode to specifically hide them.

I'll look into why the amethyst gem/ore/block/etc appear to be registering conditionally.

commented

(Re: the book, that's just something I've yet to adapt from Roots, but I know how to conditionally disable entries when the items/blocks/etc aren't enabled.)

commented

You're very kind to explain that all so clearly for me, I appreciate that! As it turns out, I am a fool. I think when I checked the recipes, it was after I'd disabled some things via config, so it just made it appear to not use OreDict (I was previewing the recipe and JEI usually tags a slot with "accepts all gemAmethyst" when OreDict is use). I apologize for the false flag there.

And yep, I'll happily disable them via CT, it's no problem. I just wanted to alert you in case it was unintended.

Thanks again for the speedy response and the fantastic mods!

commented

Registration is no longer conditional, although OreDictionary registration and recipes are.