Takes a little bit of regex but it's simple to do.
Instead of adding the item name to a list, in my loop() I do if valuableLootName !empty then force loot the one item, then resume normal function.
String tmpLootName = "";
if (msg.contains("aluable drop")) {
tmpLootName = msg.replace("<col=ef1020>", "").replace("</col>", "")
.replaceFirst("(.{0,15})", "").replaceFirst("(\\d x)", "")
.replaceFirst("\\(([^\\)]+)\\)", "").trim();
log("DROP MESSAGE: " + tmpLootName);
valuableLootName = tmpLootName;
}