StartupEvents.registry("item", event => {
  // Lunar Selunite – Desh prep (Moon)
  event.create('chemlib:lunar_selunite', 'chemlib:compound')
    .compoundColor("7fa8ff")
    .description("Lunar selunium salt crystallized in hard vacuum conditions.")
    .matterState("solid")
    .withComponent("selunium", 1)
    .withComponent("photyl", 2)
    .withComponent("cryogenic_oxygen", 4)
    .hasDust(true)
    .withEffect("minecraft:slow_falling", 6, 0);

  // Photyl Flux – high-energy liquid catalyst
  event.create('chemlib:photyl_flux', 'chemlib:compound')
    .compoundColor("ffd86b")
    .description("A high-energy photyl hydride used to kickstart exotic reactions.")
    .matterState("liquid")
    .withComponent("photyl", 1)
    .withComponent("hydrogen", 2)
    // liquids/gases can't have dust items
    .withEffect("minecraft:haste", 8, 1);

  // Martian Magnalite Slurry – Calorite prep (Mars)
  event.create('chemlib:martian_magnalite_slurry', 'chemlib:compound')
    .compoundColor("ff7150")
    .description("Hyperheated magnalite slurry saturated with Martian dust.")
    .matterState("liquid")
    .withComponent("magnalite", 2)
    .withComponent("pyrion", 1)
    .withComponent("silicon", 3)
    .withEffect("minecraft:fire_resistance", 10, 0);

  // Pyrionic Carbide – high-temp structural ceramic
  event.create('chemlib:pyrionic_carbide', 'chemlib:compound')
    .compoundColor("b84732")
    .description("A dense pyrion-carbon ceramic that laughs at re-entry temperatures.")
    .matterState("solid")
    .withComponent("pyrion", 3)
    .withComponent("carbon", 2)
    .hasDust(true)
    .withEffect("minecraft:strength", 6, 0);

  // Caelyth–Veskor Lattice – exotic core for Ostrum
  event.create('chemlib:caelyth_veskor_lattice', 'chemlib:compound')
    .compoundColor("5cf4ff")
    .description("Interlocked caelyth and veskor atoms forming a self-stabilizing void lattice.")
    .matterState("solid")
    .withComponent("caelyth", 2)
    .withComponent("veskor", 2)
    .withComponent("origen", 1)
    .hasDust(true)
    .withEffect("minecraft:jump_boost", 8, 1);

  // Noctydic Mass – sculk-reactive biomass
  event.create('chemlib:noctydic_mass', 'chemlib:compound')
    .compoundColor("201036")
    .description("A pulsating noctyde-based organic compound that seems to respond to sound and fear.")
    .matterState("solid")
    .withComponent("noctyde", 2)
    .withComponent("origen", 1)
    .withComponent("nitrogen", 3)
    .hasDust(true)
    .withEffect("minecraft:night_vision", 12, 0)
    .withEffect("minecraft:slowness", 4, 0);

  event.create('chemlib:methanol', 'chemlib:compound')
    .compoundColor("ffcb02")
    .description("A light, volatile, colorless and flammable liquid with a distinctive alcoholic odor similar to that of ethanol, but is more acutely toxic than the latter.")
    .matterState("liquid")
    .withComponent("methane", 1)
    .withComponent("oxygen", 1)
    .hasDust(false)
    .withEffect("minecraft:poison", 12, 0)
    .withEffect("minecraft:slowness", 4, 0);

  event.create('chemlib:benzene', 'chemlib:compound')
    .compoundColor("3c861e")
    .description("A natural constituent of petroleum and one of the elementary petrochemical hydrocarbon compounds.")
    .matterState("liquid")
    .withComponent("carbon", 6)
    .withComponent("hydrogen", 6)
    .hasDust(false);

  event.create('chemlib:nitro-methane', 'chemlib:compound')
    .compoundColor("ce3c00")
    .description("The simplest organic nitro compound and a polar liquid. Used widely in the manufacture of pesticides, explosives, fibers, and coatings.")
    .matterState("liquid")
    .withComponent("methanol", 1)
    .withComponent("nitrogen_dioxide", 1)
    .hasDust(false);

  event.create('chemlib:petroleum', 'chemlib:compound')
    .compoundColor("ffcb02")
    .description("A naturally occurring mixture of hydrocarbons formed from ancient organic matter, refined into fuels and chemicals through chemical processes")
    .matterState("liquid")
    .withComponent("propane", 16)
    .withComponent("benzene", 14)
    .withComponent("nitro-methane", 20)
    .hasDust(false);
});
