EMI

EMI

1M Downloads

[1.20.1] JEIEvents.hideItems kubejs event doesn't hide items with NBT data in EMI

lonevox opened this issue ยท 1 comments

commented

I have a JEIEvents.hideItems event in a kube script:

JEIEvents.hideItems(event => {
    for (const item of global.ItemsToRemove) {
        // Need to expand RegExps, since you cant use a RegExp to hide items
        global.Util.forEachItemRegExp(item, itemId => {
            console.log(itemId)
            event.hide(itemId)
        })
    }
})

The console.log(itemId) produces this:

[15:51:20] [INFO] jei_hide.js#6: create:unprocessed_obsidian_sheet
[15:51:20] [INFO] jei_hide.js#6: create:golden_sheet
[15:51:20] [INFO] jei_hide.js#6: create:sturdy_sheet
[15:51:20] [INFO] jei_hide.js#6: create:copper_sheet

The golden sheet, sturdy sheet, and copper sheet are all correctly hidden in EMI. However, the unprocessed obsidian sheet is still visible as seen here:
image

If I run with only JEI and not EMI, create:unprocessed_obsidian_sheet is correctly hidden. I suspect this is because create:unprocessed_obsidian_sheet has a damage NBT, whereas the three other sheets have no NBT data.

commented

kubejs's JEI events interact with JEI's API and not all that information can be conveyed to EMI. You'll have to use the c:hidden_from_recipe_viewers tag supported by every recipe viewer, or use EMI's resource formats for hiding https://github.com/emilyploszaj/emi/wiki/Hiding-and-Adding-Index-Stacks