Well, let's just ignore almost everything and stick to your only change. You don't have to loop through all the weapons in order to get the item name. You also don't have to change your weapons map from temporary variable to a constant (public static). Since your only concern is the item name you can just make it like
final Item itemTemplate = ItemData.getInstance().getTemplate(id here);
final String itemName = itemTemplate.getName();