// Brass & Sigil — JEI hides
//
// Hides all Waystones items + all Numismatics coin items from the JEI
// item list. Combined with the server-side recipe removal in
// economy_policy.js, players don't see crafting recipes OR the item
// icons in the JEI ingredient list -- they only ever encounter these
// items through the welcome grant or the bank exchange.

const COLORS = [
    'white', 'orange', 'magenta', 'light_blue', 'yellow', 'lime',
    'pink', 'gray', 'light_gray', 'cyan', 'purple', 'blue',
    'brown', 'green', 'red', 'black',
];

const WAYSTONE_ITEMS = [
    // regular waystone variants
    'waystones:waystone',
    'waystones:mossy_waystone',
    'waystones:sandy_waystone',
    'waystones:blackstone_waystone',
    'waystones:deepslate_waystone',
    'waystones:end_stone_waystone',
    // handheld + plate
    'waystones:warp_stone',
    'waystones:warp_scroll',
    'waystones:bound_scroll',
    'waystones:return_scroll',
    'waystones:warp_plate',
    // sharestones (16 colors) + shards
    'waystones:sharestone',  // base id if registered
];
COLORS.forEach(c => {
    WAYSTONE_ITEMS.push(`waystones:${c}_sharestone`);
    WAYSTONE_ITEMS.push(`waystones:${c}_portstone`);
});

const COIN_ITEMS = [
    'numismatics:spur',
    'numismatics:bevel',
    'numismatics:cog',
    'numismatics:crown',
    'numismatics:sun',
];

JEIEvents.hideItems(event => {
    [...WAYSTONE_ITEMS, ...COIN_ITEMS].forEach(id => {
        try { event.hide(id); } catch (e) {
            // Some IDs may not exist (e.g. base 'waystones:sharestone' isn't
            // registered if only colored variants are). Swallow per-item
            // failures so one bad id doesn't break the whole pass.
        }
    });
});
