The list is defined after the recipe, let’s break that command apart:
aRegistry.add(
aMat.getLocal() + " Cupboard",
"Storage",
4100+aID,
32751,
MultiTileEntityCupboard.class,
aMat.mToolQuality,
16,
aMachine,
UT.NBT.make(
NBT_MATERIAL,
aMat,
NBT_HARDNESS,
aHardness,
NBT_RESISTANCE,
aResistance,
NBT_INV_SIZE,
54
),
"PRP",
"hSw",
"PRP",
'P', OP.plate.dat(aMat),
'R', OP.ring.dat(aMat),
'S', OP.stick.dat(aMat)
);
So the recipe is at the end, this part:
"PRP",
"hSw",
"PRP",
'P', OP.plate.dat(aMat),
'R', OP.ring.dat(aMat),
'S', OP.stick.dat(aMat)
This is not something specific to GT6, this is MC’s normal recipe format, these lines:
'P', OP.plate.dat(aMat),
'R', OP.ring.dat(aMat),
'S', OP.stick.dat(aMat)
Define the mappings. GT6 defines some lower-case ones for ease of use, Greg can tell you where and what they are (but generally oredict things I think?).