Add the ability to add custom records with sound files in custom domains

Also fixing the issue with the record playing message not appearing due to itemrecord being null at runtime

Without this, it is impossible to play a record. without putting it in the minecraft domain and hence it will throw an error:[Client thread/WARN]: Unable to play unknown soundEvent: minecraft:records.song (given that the name of the record is "song"