Also listen to RuinGenerateEvent