So `CanRepairWithItem` only checks for the raw material? It doesn't check to combine two same items into a single one with less damage? Perhaps rename the function then to `CanRepairWithRawMaterial` or something similar.