ServerEvents.recipes(event => {
  const GEMS = {
    blue:  'xycraft_world:xychorium_gem_blue',
    green: 'xycraft_world:xychorium_gem_green',
    red:   'xycraft_world:xychorium_gem_red',
    dark:  'xycraft_world:xychorium_gem_dark',
    light: 'xycraft_world:xychorium_gem_light'
  };
  const KIVI = 'xycraft_world:kivi_block'; // change to 'xycraft_world:kivi_block' if that’s your namespace

  event.shaped('minecraft:end_portal_frame', [
    'KBK',
    'ROG',
    'DTL'
  ], {
    K: KIVI,
    B: GEMS.blue,
    R: GEMS.red,
    G: GEMS.green,
    D: GEMS.dark,
    L: GEMS.light,
    O: 'minecraft:eye_of_ender',
    T: 'chemlib:thorium'
  }).id('custom:end_portal_frame/xychorium_kivi_elements');
});